Code:
' Listing created by VB Decompiler v7.6.295
' Application: C:\Users\james\Desktop\alterMW3.exe
' Compiled to: .NET Assembly
' Compiler version: 0
Object: aIW2.Properties.Resources
.ctor
Code: TinyFormat
Start: 402051
Size: 7
loc_402051: ldarg.0
loc_402052: call .ctor
loc_402057: ret
get_ResourceManager
Code: FatFormat
Start: 402064
Size: 45
Flag: InitLocals
Max Stack: 3
Local Variables: 11000001
loc_402064: ldsfld resourceMan
loc_402069: brtrue.sbrinst.s loc_40208B
loc_40206B: ldstr "aIW2.Properties.Resources"
loc_402070: ldtoken aIW2.Properties.Resources
loc_402075: call GetTypeFromHandle
loc_40207A: callvirt get_Assembly
loc_40207F: newobj .ctor
loc_402084: stloc.0
loc_402085: ldloc.0
loc_402086: stsfld resourceMan
loc_40208B: ldsfld resourceMan
loc_402090: ret
get_Culture
Code: TinyFormat
Start: 402092
Size: 6
loc_402092: ldsfld resourceCulture
loc_402097: ret
set_Culture
Code: TinyFormat
Start: 402099
Size: 7
loc_402099: ldarg.0
loc_40209A: stsfld resourceCulture
loc_40209F: ret
Object: aIW2.Properties.Settings
get_Default
Code: TinyFormat
Start: 4020A1
Size: 6
loc_4020A1: ldsfld defaultInstance
loc_4020A6: ret
.ctor
Code: TinyFormat
Start: 4020BE
Size: 7
loc_4020BE: ldarg.0
loc_4020BF: call .ctor
loc_4020C4: ret
.cctor
Code: TinyFormat
Start: 4020A8
Size: 21
loc_4020A8: newobj .ctor
loc_4020AD: call Synchronized
loc_4020B2: castclass aIW2.Properties.Settings
loc_4020B7: stsfld defaultInstance
loc_4020BC: ret
Object: aIW2.Program
get_Completed
Code: TinyFormat
Start: 4020C6
Size: 6
loc_4020C6: ldsfld <Completed>k__BackingField
loc_4020CB: ret
set_Completed
Code: TinyFormat
Start: 4020CD
Size: 7
loc_4020CD: ldarg.0
loc_4020CE: stsfld <Completed>k__BackingField
loc_4020D3: ret
Main
Code: FatFormat
Start: 4020E0
Size: 378
Flag: InitLocals
Max Stack: 4
Local Variables: 11000002
loc_4020E0: ldc.i4.5
loc_4020E1: newarr System.String
loc_4020E6: stloc.s 4
loc_4020E8: ldloc.s 4
loc_4020EA: ldc.i4.0
loc_4020EB: ldstr "a"
loc_4020F0: stelem.ref
loc_4020F1: ldloc.s 4
loc_4020F3: ldc.i4.1
loc_4020F4: ldstr "b"
loc_4020F9: stelem.ref
loc_4020FA: ldloc.s 4
loc_4020FC: ldc.i4.2
loc_4020FD: ldstr "c"
loc_402102: stelem.ref
loc_402103: ldloc.s 4
loc_402105: ldc.i4.3
loc_402106: ldstr "d"
loc_40210B: stelem.ref
loc_40210C: ldloc.s 4
loc_40210E: ldc.i4.4
loc_40210F: ldstr "e"
loc_402114: stelem.ref
loc_402115: ldloc.s 4
loc_402117: stloc.0
loc_402118: newobj .ctor
loc_40211D: stloc.1
loc_40211E: ldloc.0
loc_40211F: ldloc.1
loc_402120: ldc.i4.0
loc_402121: ldloc.0
loc_402122: ldlen
loc_402123: conv.i4
loc_402124: callvirt Next
loc_402129: ldelem.ref
loc_40212A: stloc.2
loc_40212B: ldc.i4.0
loc_40212C: call set_Completed
loc_402131: newobj .ctor
loc_402136: stloc.3
loc_402137: ldloc.3
loc_402138: call get_CurrentDirectory
loc_40213D: callvirt set_CacheLocation
loc_402142: ldloc.3
loc_402143: ldstr "https://{0}.content.alteriw.net/iw5m/"
loc_402148: ldloc.2
loc_402149: call Format
loc_40214E: callvirt set_WebCacheServer
loc_402153: ldloc.3
loc_402154: ldstr ""
loc_402159: callvirt set_LocalCacheServer
loc_40215E: ldloc.3
loc_40215F: ldc.i4.1
loc_402160: newarr System.String
loc_402165: stloc.s 5
loc_402167: ldloc.s 5
loc_402169: ldc.i4.0
loc_40216A: ldstr "iw5m-client"
loc_40216F: stelem.ref
loc_402170: ldloc.s 5
loc_402172: callvirt set_WantedCaches
loc_402177: ldloc.3
loc_402178: ldc.i4.0
loc_402179: callvirt set_EnableUploading
loc_40217E: ldloc.3
loc_40217F: ldnull
loc_402180: ldftn _core_StatusChanged
loc_402186: newobj .ctor
loc_40218B: callvirt add_StatusChanged
loc_402190: ldloc.3
loc_402191: ldnull
loc_402192: ldftn _core_Failed
loc_402198: newobj .ctor
loc_40219D: callvirt add_Failed
loc_4021A2: ldloc.3
loc_4021A3: ldnull
loc_4021A4: ldftn _core_Completed
loc_4021AA: newobj .ctor
loc_4021AF: callvirt add_Completed
loc_4021B4: ldloc.3
loc_4021B5: callvirt Start
loc_4021BA: call get_UtcNow
loc_4021BF: pop
loc_4021C0: br.s loc_4021C8
loc_4021C2: ldc.i4.1
loc_4021C3: call Sleep
loc_4021C8: call get_Completed
loc_4021CD: brfalse.sbrnull.sbrzero.s loc_4022C2
loc_4021CF: ldsfld openUpdater
loc_4021D4: brfalse.sbrnull.sbrzero.s loc_40223F
loc_4021D6: ldc.i4.0
loc_4021D7: call set_Completed
loc_4021DC: ldsfld Zero
loc_4021E1: newobj .ctor
loc_4021E6: stsfld pdialog
loc_4021EB: ldsfld pdialog
loc_4021F0: ldstr "Updating alterIWnet"
loc_4021F5: callvirt set_Title
loc_4021FA: ldsfld pdialog
loc_4021FF: ldc.i4 1000
loc_402204: callvirt set_Maximum
loc_402209: ldsfld pdialog
loc_40220E: ldc.i4.1
loc_40220F: newarr .PROGDLG
loc_402214: stloc.s 6
loc_402216: ldloc.s 6
loc_402218: callvirt ShowDialog
loc_40221D: br.s loc_40223F
loc_40221F: ldc.i4.1
loc_402220: call Sleep
loc_402225: ldsfld pdialog
loc_40222A: brfalse.sbrnull.sbrzero.s loc_40223F
loc_40222C: ldsfld pdialog
loc_402231: callvirt get_HasUserCancelled
loc_402236: brfalse.sbrnull.sbrzero.s loc_40223F
loc_402238: ldloc.3
loc_402239: callvirt Kill
loc_40223E: ret
loc_40223F: call get_Completed
loc_402244: brfalse.sbrnull.sbrzero.s loc_40231F
loc_402246: ldsfld updaterFinished
loc_40224B: brtrue.sbrinst.s loc_40224E
loc_40224D: ret
loc_40224E: ldstr "iw5mp.exe"
loc_402253: call Start
loc_402258: pop
loc_402259: ret
_core_Completed
Code: TinyFormat
Start: 40225B
Size: 13
loc_40225B: ldc.i4.1
loc_40225C: stsfld updaterFinished
loc_402261: ldc.i4.1
loc_402262: call set_Completed
loc_402267: ret
_core_Failed
Code: TinyFormat
Start: 402269
Size: 38
loc_402269: ldarg.1
loc_40226A: callvirt get_Exception
loc_40226F: callvirt ToString
loc_402274: ldstr "alterIWnet"
loc_402279: ldc.i4.0
loc_40227A: ldc.i4.s 16
loc_40227C: call Show
loc_402281: pop
loc_402282: ldc.i4.1
loc_402283: call set_Completed
loc_402288: ldc.i4.0
loc_402289: stsfld updaterFinished
loc_40228E: ret
_core_StatusChanged
Code: FatFormat
Start: 40229C
Size: 152
Flag:
Max Stack: 5
Local Variables: 0
loc_40229C: ldarg.1
loc_40229D: callvirt get_StatusText
loc_4022A2: ldstr "Downloading"
loc_4022A7: call op_Inequality
loc_4022AC: brfalse.sbrnull.sbrzero.s loc_4022AF
loc_4022AE: ret
loc_4022AF: ldsfld pdialog
loc_4022B4: brfalse.sbrnull.sbrzero.s loc_402320
loc_4022B6: ldsfld pdialog
loc_4022BB: ldarg.1
loc_4022BC: callvirt get_StatusText
loc_4022C1: callvirt set_Line1
loc_4022C6: ldsfld pdialog
loc_4022CB: ldarg.1
loc_4022CC: callvirt get_DetailedStatus
loc_4022D1: ldstr " ({0}%)"
loc_4022D6: ldarg.1
loc_4022D7: callvirt get_ExactPercentage
loc_4022DC: ldc.i4.1
loc_4022DD: call Round
loc_4022E2: box System.Double
loc_4022E7: call Format
loc_4022EC: call Concat
loc_4022F1: callvirt set_Line2
loc_4022F6: ldsfld pdialog
loc_4022FB: ldstr " "
loc_402300: callvirt set_Line3
loc_402305: ldsfld pdialog
loc_40230A: ldarg.1
loc_40230B: callvirt get_ExactPercentage
loc_402310: ldc.r8 10
loc_402319: mul
loc_40231A: conv.u4
loc_40231B: callvirt set_Value
loc_402320: call get_Completed
loc_402325: brtrue.sbrinst.s loc_402333
loc_402327: ldc.i4.1
loc_402328: stsfld openUpdater
loc_40232D: ldc.i4.1
loc_40232E: call set_Completed
loc_402333: ret
.cctor
Code: TinyFormat
Start: 402335
Size: 13
loc_402335: ldc.i4.0
loc_402336: stsfld openUpdater
loc_40233B: ldc.i4.0
loc_40233C: stsfld updaterFinished
loc_402341: ret
Object: aIW2.ProgressDialog
.ctor
Code: FatFormat
Start: 402350
Size: 77
Flag:
Max Stack: 2
Local Variables: 0
loc_402350: ldarg.0
loc_402351: ldsfld Empty
loc_402356: stfld _Title
loc_40235B: ldarg.0
loc_40235C: ldsfld Empty
loc_402361: stfld _CancelMessage
loc_402366: ldarg.0
loc_402367: ldsfld Empty
loc_40236C: stfld _Line1
loc_402371: ldarg.0
loc_402372: ldsfld Empty
loc_402377: stfld _Line2
loc_40237C: ldarg.0
loc_40237D: ldsfld Empty
loc_402382: stfld _Line3
loc_402387: ldarg.0
loc_402388: ldc.i4.s 100
loc_40238A: stfld _maximum
loc_40238F: ldarg.0
loc_402390: call .ctor
loc_402395: ldarg.0
loc_402396: ldarg.1
loc_402397: stfld _parentHandle
loc_40239C: ret
ShowDialog
Code: FatFormat
Start: 4023AC
Size: 190
Flag: InitLocals
Max Stack: 5
Local Variables: 11000003
loc_4023AC: ldarg.0
loc_4023AD: ldfld pd
loc_4023B2: brtruebrinst loc_402469
loc_4023B7: ldarg.0
loc_4023B8: newobj .ctor
loc_4023BD: castclass .Win32IProgressDialog
loc_4023C2: stfld pd
loc_4023C7: ldarg.0
loc_4023C8: ldfld pd
loc_4023CD: ldarg.0
loc_4023CE: ldfld _Title
loc_4023D3: callvirt SetTitle
loc_4023D8: ldarg.0
loc_4023D9: ldfld pd
loc_4023DE: ldarg.0
loc_4023DF: ldfld _CancelMessage
loc_4023E4: ldnull
loc_4023E5: callvirt SetCancelMsg
loc_4023EA: ldarg.0
loc_4023EB: ldfld pd
loc_4023F0: ldc.i4.1
loc_4023F1: ldarg.0
loc_4023F2: ldfld _Line1
loc_4023F7: ldc.i4.0
loc_4023F8: ldsfld Zero
loc_4023FD: callvirt SetLine
loc_402402: ldarg.0
loc_402403: ldfld pd
loc_402408: ldc.i4.2
loc_402409: ldarg.0
loc_40240A: ldfld _Line2
loc_40240F: ldc.i4.0
loc_402410: ldsfld Zero
loc_402415: callvirt SetLine
loc_40241A: ldarg.0
loc_40241B: ldfld pd
loc_402420: ldc.i4.3
loc_402421: ldarg.0
loc_402422: ldfld _Line3
loc_402427: ldc.i4.0
loc_402428: ldsfld Zero
loc_40242D: callvirt SetLine
loc_402432: ldc.i4.0
loc_402433: stloc.0
loc_402434: ldarg.1
loc_402435: ldlen
loc_402436: conv.i4
loc_402437: brfalse.sbrnull.sbrzero.s loc_402451
loc_402439: ldarg.1
loc_40243A: ldc.i4.0
loc_40243B: ldelem.u4
loc_40243C: stloc.0
loc_40243D: ldc.i4.1
loc_40243E: stloc.1
loc_40243F: br.s loc_40244B
loc_402441: ldloc.0
loc_402442: ldarg.1
loc_402443: ldloc.1
loc_402444: ldelem.u4
loc_402445: or
loc_402446: stloc.0
loc_402447: ldloc.1
loc_402448: ldc.i4.1
loc_402449: add
loc_40244A: stloc.1
loc_40244B: ldloc.1
loc_40244C: ldarg.1
loc_40244D: ldlen
loc_40244E: conv.i4
loc_40244F: blt.s loc_402541
loc_402451: ldarg.0
loc_402452: ldfld pd
loc_402457: ldarg.0
loc_402458: ldfld _parentHandle
loc_40245D: ldnull
loc_40245E: ldloc.0
loc_40245F: ldsfld Zero
loc_402464: callvirt StartProgressDialog
loc_402469: ret
CloseDialog
Code: TinyFormat
Start: 40246B
Size: 27
loc_40246B: ldarg.0
loc_40246C: ldfld pd
loc_402471: brfalse.sbrnull.sbrzero.s loc_402485
loc_402473: ldarg.0
loc_402474: ldfld pd
loc_402479: callvirt StopProgressDialog
loc_40247E: ldarg.0
loc_40247F: ldnull
loc_402480: stfld pd
loc_402485: ret
get_Title
Code: TinyFormat
Start: 402487
Size: 7
loc_402487: ldarg.0
loc_402488: ldfld _Title
loc_40248D: ret
set_Title
Code: TinyFormat
Start: 40248F
Size: 33
loc_40248F: ldarg.0
loc_402490: ldarg.1
loc_402491: stfld _Title
loc_402496: ldarg.0
loc_402497: ldfld pd
loc_40249C: brfalse.sbrnull.sbrzero.s loc_4024AF
loc_40249E: ldarg.0
loc_40249F: ldfld pd
loc_4024A4: ldarg.0
loc_4024A5: ldfld _Title
loc_4024AA: callvirt SetTitle
loc_4024AF: ret
get_CancelMessage
Code: TinyFormat
Start: 4024B1
Size: 7
loc_4024B1: ldarg.0
loc_4024B2: ldfld _CancelMessage
loc_4024B7: ret
set_CancelMessage
Code: TinyFormat
Start: 4024B9
Size: 34
loc_4024B9: ldarg.0
loc_4024BA: ldarg.1
loc_4024BB: stfld _CancelMessage
loc_4024C0: ldarg.0
loc_4024C1: ldfld pd
loc_4024C6: brfalse.sbrnull.sbrzero.s loc_4024DA
loc_4024C8: ldarg.0
loc_4024C9: ldfld pd
loc_4024CE: ldarg.0
loc_4024CF: ldfld _CancelMessage
loc_4024D4: ldnull
loc_4024D5: callvirt SetCancelMsg
loc_4024DA: ret
get_Line1
Code: TinyFormat
Start: 4024DC
Size: 7
loc_4024DC: ldarg.0
loc_4024DD: ldfld _Line1
loc_4024E2: ret
set_Line1
Code: TinyFormat
Start: 4024E4
Size: 40
loc_4024E4: ldarg.0
loc_4024E5: ldarg.1
loc_4024E6: stfld _Line1
loc_4024EB: ldarg.0
loc_4024EC: ldfld pd
loc_4024F1: brfalse.sbrnull.sbrzero.s loc_40250B
loc_4024F3: ldarg.0
loc_4024F4: ldfld pd
loc_4024F9: ldc.i4.1
loc_4024FA: ldarg.0
loc_4024FB: ldfld _Line1
loc_402500: ldc.i4.0
loc_402501: ldsfld Zero
loc_402506: callvirt SetLine
loc_40250B: ret
get_Line2
Code: TinyFormat
Start: 40250D
Size: 7
loc_40250D: ldarg.0
loc_40250E: ldfld _Line2
loc_402513: ret
set_Line2
Code: TinyFormat
Start: 402515
Size: 40
loc_402515: ldarg.0
loc_402516: ldarg.1
loc_402517: stfld _Line2
loc_40251C: ldarg.0
loc_40251D: ldfld pd
loc_402522: brfalse.sbrnull.sbrzero.s loc_40253C
loc_402524: ldarg.0
loc_402525: ldfld pd
loc_40252A: ldc.i4.2
loc_40252B: ldarg.0
loc_40252C: ldfld _Line2
loc_402531: ldc.i4.0
loc_402532: ldsfld Zero
loc_402537: callvirt SetLine
loc_40253C: ret
get_Line3
Code: TinyFormat
Start: 40253E
Size: 7
loc_40253E: ldarg.0
loc_40253F: ldfld _Line3
loc_402544: ret
set_Line3
Code: TinyFormat
Start: 402546
Size: 40
loc_402546: ldarg.0
loc_402547: ldarg.1
loc_402548: stfld _Line3
loc_40254D: ldarg.0
loc_40254E: ldfld pd
loc_402553: brfalse.sbrnull.sbrzero.s loc_40256D
loc_402555: ldarg.0
loc_402556: ldfld pd
loc_40255B: ldc.i4.3
loc_40255C: ldarg.0
loc_40255D: ldfld _Line3
loc_402562: ldc.i4.0
loc_402563: ldsfld Zero
loc_402568: callvirt SetLine
loc_40256D: ret
get_Value
Code: TinyFormat
Start: 40256F
Size: 7
loc_40256F: ldarg.0
loc_402570: ldfld _value
loc_402575: ret
set_Value
Code: TinyFormat
Start: 402577
Size: 39
loc_402577: ldarg.0
loc_402578: ldarg.1
loc_402579: stfld _value
loc_40257E: ldarg.0
loc_40257F: ldfld pd
loc_402584: brfalse.sbrnull.sbrzero.s loc_40259D
loc_402586: ldarg.0
loc_402587: ldfld pd
loc_40258C: ldarg.0
loc_40258D: ldfld _value
loc_402592: ldarg.0
loc_402593: ldfld _maximum
loc_402598: callvirt SetProgress
loc_40259D: ret
get_Maximum
Code: TinyFormat
Start: 40259F
Size: 7
loc_40259F: ldarg.0
loc_4025A0: ldfld _maximum
loc_4025A5: ret
set_Maximum
Code: TinyFormat
Start: 4025A7
Size: 39
loc_4025A7: ldarg.0
loc_4025A8: ldarg.1
loc_4025A9: stfld _maximum
loc_4025AE: ldarg.0
loc_4025AF: ldfld pd
loc_4025B4: brfalse.sbrnull.sbrzero.s loc_4025CD
loc_4025B6: ldarg.0
loc_4025B7: ldfld pd
loc_4025BC: ldarg.0
loc_4025BD: ldfld _value
loc_4025C2: ldarg.0
loc_4025C3: ldfld _maximum
loc_4025C8: callvirt SetProgress
loc_4025CD: ret
get_HasUserCancelled
Code: TinyFormat
Start: 4025CF
Size: 22
loc_4025CF: ldarg.0
loc_4025D0: ldfld pd
loc_4025D5: brfalse.sbrnull.sbrzero.s loc_4025E3
loc_4025D7: ldarg.0
loc_4025D8: ldfld pd
loc_4025DD: callvirt HasUserCancelled
loc_4025E2: ret
loc_4025E3: ldc.i4.0
loc_4025E4: ret
Object: -.shlwapi
PathCompactPath
Code: UnknownFormat
Object: -.Win32IProgressDialog
StartProgressDialog
Code: UnknownFormat
StopProgressDialog
Code: UnknownFormat
SetTitle
Code: UnknownFormat
SetAnimation
Code: UnknownFormat
HasUserCancelled
Code: UnknownFormat
SetProgress
Code: UnknownFormat
SetProgress64
Code: UnknownFormat
SetLine
Code: UnknownFormat
SetCancelMsg
Code: UnknownFormat
Timer
Code: UnknownFormat
Object: -.Win32ProgressDialog
.ctor
Code: UnknownFormat