Function at 0x41f450
Capabilities:
Contain obfuscated stackstrings
Copy file
Download url
Parse pe header
Read .ini file
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44c1f3
mov eax, dword fs:[0]
push eax
mov eax, 0x3b88
call fcn.00436d20
mov eax, dword [0x45d520]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3a4c], ecx
mov dword [ebp - 0x3a48], 0
mov eax, dword [0x45f1e8]
add eax, 0x78
push eax
lea ecx, [ebp - 0x84]
call fcn.00401900
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.00422370
mov byte [ebp - 4], 1
mov dword [ebp - 0x2624], 0
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x2640]
call fcn.004018c0
mov byte [ebp - 4], 2
lea edx, [ebp - 0x2624]
push edx
lea eax, [ebp - 0x2640]
push eax
lea ecx, [ebp - 0x30]
call fcn.004226e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2640]
call fcn.00401940
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x4b0
call fcn.0041d940
push str.SOURCEURL
lea ecx, [ebp - 0x265c]
call fcn.004018c0
mov byte [ebp - 4], 3
push str.OVERRIDE
lea ecx, [ebp - 0x2678]
call fcn.004018c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x265c]
push ecx
lea edx, [ebp - 0x2678]
push edx
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2678]
call fcn.00401940
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x265c]
call fcn.00401940
lea ecx, [ebp - 0x5a0]
call fcn.00416620
cmp eax, 0xa
jbe 0x41f7eb
mov byte [ebp - 0x5a5], 0
mov dword [ebp - 0x15b4], 0
jmp 0x41f5a2
mov ecx, dword [ebp - 0x15b4]
add ecx, 1
mov dword [ebp - 0x15b4], ecx
cmp dword [ebp - 0x15b4], 5
jge 0x41f625
push 0
push 0x10
push 0x104
lea edx, [ebp - 0x484]
push edx
lea ecx, [ebp - 0x5a0]
call fcn.00401960
push eax
push 0
call sub.urlmon.dll_URLDownloadToCacheFileA
test eax, eax
jne 0x41f620
mov dword [ebp - 0x267c], 0
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x2698]
call fcn.004018c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x267c]
push ecx
lea edx, [ebp - 0x2698]
push edx
lea ecx, [ebp - 0x30]
call fcn.004226e0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2698]
call fcn.00401940
mov byte [ebp - 0x5a5], 1
jmp 0x41f625
jmp 0x41f593
movzx eax, byte [ebp - 0x5a5]
test eax, eax
jne 0x41f672
mov dword [ebp - 0x269c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a0]
call fcn.00401940
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004223a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.00401940
mov eax, dword [ebp - 0x269c]
jmp 0x422321
lea ecx, [ebp - 0x5a0]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x4b0
call fcn.00405740
lea edx, [ebp - 0x484]
mov dword [ebp - 0x5a4], edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x15b0], eax
mov ecx, dword [ebp - 0x15b0]
push ecx
push 0x1000
lea edx, [ebp - 0x15ac]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea eax, [ebp - 0x15ac]
mov dword [ebp - 0x15b8], eax
jmp 0x41f6e3
mov ecx, dword [ebp - 0x15b8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [ebp - 0x15b8]
lea eax, [edx + eax + 1]
mov dword [ebp - 0x15b8], eax
mov ecx, dword [ebp - 0x15b8]
movsx edx, byte [ecx]
test edx, edx
je 0x41f7d8
mov eax, dword [ebp - 0x15b0]
push eax
push 0x1000
lea ecx, [ebp - 0x25bc]
push ecx
mov edx, dword [ebp - 0x15b8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionA]
lea eax, [ebp - 0x25bc]
mov dword [ebp - 0x25c0], eax
jmp 0x41f73f
mov ecx, dword [ebp - 0x25c0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [ebp - 0x25c0]
lea eax, [edx + eax + 1]
mov dword [ebp - 0x25c0], eax
mov ecx, dword [ebp - 0x25c0]
movsx edx, byte [ecx]
test edx, edx
je 0x41f7d3
mov eax, dword [ebp - 0x25c0]
mov dword [ebp - 0x25c8], eax
mov dword [ebp - 0x25c4], 0
jmp 0x41f777
mov ecx, dword [ebp - 0x25c0]
add ecx, 1
mov dword [ebp - 0x25c0], ecx
mov edx, dword [ebp - 0x25c0]
movsx eax, byte [edx]
test eax, eax
je 0x41f7ac
mov ecx, dword [ebp - 0x25c0]
movsx edx, byte [ecx]
cmp edx, 0x3d
jne 0x41f7aa
mov eax, dword [ebp - 0x25c0]
mov byte [eax], 0
mov ecx, dword [ebp - 0x25c0]
add ecx, 1
mov dword [ebp - 0x25c4], ecx
jmp 0x41f768
mov edx, dword [ebp - 0x5a4]
push edx
mov eax, dword [ebp - 0x25c4]
push eax
mov ecx, dword [ebp - 0x25c8]
push ecx
mov edx, dword [ebp - 0x15b8]
push edx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x41f722
jmp 0x41f6c6
lea eax, [ebp - 0x484]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00435ff0
add esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5a0]
call fcn.00401940
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.um__d
lea edx, [ebp - 0x584]
push edx
call fcn.00434444
add esp, 0xc
push str..ini
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x26a0], esp
lea eax, [ebp - 0x584]
push eax
call fcn.004018c0
mov dword [ebp - 0x3a50], eax
lea ecx, [ebp - 0x26bc]
push ecx
call fcn.00419ea0
add esp, 0x20
mov dword [ebp - 0x3a54], eax
mov edx, dword [ebp - 0x3a54]
mov dword [ebp - 0x3a58], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x3a58]
push eax
lea ecx, [ebp - 0x4c]
push ecx
call fcn.00405480
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x26bc]
call fcn.00401940
push 0
lea ecx, [ebp - 0x4c]
call fcn.00401960
push eax
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x4c]
call fcn.00401960
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00435ff0
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x4cc
call fcn.0040acc0
push str.SelfInstallerVer
lea ecx, [ebp - 0x26d8]
call fcn.004018c0
mov byte [ebp - 4], 0xc
push 0x451824
lea ecx, [ebp - 0x26f4]
call fcn.004018c0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x26d8]
push edx
lea eax, [ebp - 0x26f4]
push eax
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0xc], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x26f4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x26d8]
call fcn.00401940
push str.SelfInstallerURL
lea ecx, [ebp - 0x2710]
call fcn.004018c0
mov byte [ebp - 4], 0xe
push 0x451840
lea ecx, [ebp - 0x272c]
call fcn.004018c0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x2710]
push edx
lea eax, [ebp - 0x272c]
push eax
lea ecx, [ebp - 0x2748]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a5c], eax
mov edx, dword [ebp - 0x3a5c]
mov dword [ebp - 0x3a60], edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x3a60]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x10
call fcn.00405740
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2748]
call fcn.00401940
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x272c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2710]
call fcn.00401940
push str.SelfInstallerType
lea ecx, [ebp - 0x2764]
call fcn.004018c0
mov byte [ebp - 4], 0x11
push 0x45185c
lea ecx, [ebp - 0x2780]
call fcn.004018c0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2764]
push ecx
lea edx, [ebp - 0x2780]
push edx
lea eax, [ebp - 0x279c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a64], eax
mov ecx, dword [ebp - 0x3a64]
mov dword [ebp - 0x3a68], ecx
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x3a68]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x2c
call fcn.00405740
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x279c]
call fcn.00401940
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2780]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2764]
call fcn.00401940
push str.LatestVersion
lea ecx, [ebp - 0x27b8]
call fcn.004018c0
mov byte [ebp - 4], 0x14
push 0x451874
lea ecx, [ebp - 0x27d4]
call fcn.004018c0
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x27b8]
push eax
lea ecx, [ebp - 0x27d4]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx], eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x27d4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x27b8]
call fcn.00401940
push str.MinimalVersion
lea ecx, [ebp - 0x27f0]
call fcn.004018c0
mov byte [ebp - 4], 0x16
push 0x45188c
lea ecx, [ebp - 0x280c]
call fcn.004018c0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x27f0]
push eax
lea ecx, [ebp - 0x280c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 4], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x280c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x27f0]
call fcn.00401940
push str.FullVersion
lea ecx, [ebp - 0x2828]
call fcn.004018c0
mov byte [ebp - 4], 0x18
push str.VERSION
lea ecx, [ebp - 0x2844]
call fcn.004018c0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x2828]
push eax
lea ecx, [ebp - 0x2844]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 8], eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2844]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2828]
call fcn.00401940
push str.ClientExe
lea ecx, [ebp - 0x2860]
call fcn.004018c0
mov byte [ebp - 4], 0x1a
push 0x4518b4
lea ecx, [ebp - 0x287c]
call fcn.004018c0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x2860]
push eax
lea ecx, [ebp - 0x287c]
push ecx
lea edx, [ebp - 0x2898]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a6c], eax
mov eax, dword [ebp - 0x3a6c]
mov dword [ebp - 0x3a70], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x3a70]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x48
call fcn.00405740
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2898]
call fcn.00401940
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x287c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2860]
call fcn.00401940
push str.PatchRoot
lea ecx, [ebp - 0x28b4]
call fcn.004018c0
mov byte [ebp - 4], 0x1d
push 0x4518c8
lea ecx, [ebp - 0x28d0]
call fcn.004018c0
mov byte [ebp - 4], 0x1e
lea edx, [ebp - 0x28b4]
push edx
lea eax, [ebp - 0x28d0]
push eax
lea ecx, [ebp - 0x28ec]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a74], eax
mov edx, dword [ebp - 0x3a74]
mov dword [ebp - 0x3a78], edx
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x3a78]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x80
call fcn.00405740
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x28ec]
call fcn.00401940
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x28d0]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x28b4]
call fcn.00401940
push str.RegRoot
lea ecx, [ebp - 0x2908]
call fcn.004018c0
mov byte [ebp - 4], 0x20
push 0x4518d8
lea ecx, [ebp - 0x2924]
call fcn.004018c0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2908]
push ecx
lea edx, [ebp - 0x2924]
push edx
lea eax, [ebp - 0x2940]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a7c], eax
mov ecx, dword [ebp - 0x3a7c]
mov dword [ebp - 0x3a80], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x3a80]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x64
call fcn.00405740
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2940]
call fcn.00401940
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x2924]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2908]
call fcn.00401940
push 0x4518e0
lea ecx, [ebp - 0x295c]
call fcn.004018c0
mov byte [ebp - 4], 0x23
push str.PATH
lea ecx, [ebp - 0x2978]
call fcn.004018c0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x295c]
push eax
lea ecx, [ebp - 0x2978]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x9c], eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x2978]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x295c]
call fcn.00401940
push 0x4518ec
lea ecx, [ebp - 0x2994]
call fcn.004018c0
mov byte [ebp - 4], 0x25
push 0x4518f4
lea ecx, [ebp - 0x29b0]
call fcn.004018c0
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x2994]
push eax
lea ecx, [ebp - 0x29b0]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0xa0], eax
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x29b0]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2994]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
add eax, 0xa4
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x29b4], esp
push 0x4518fc
call fcn.004018c0
mov dword [ebp - 0x3a84], eax
mov ecx, dword [ebp - 0x3a84]
mov dword [ebp - 0x3a88], ecx
mov byte [ebp - 4], 0x27
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x29b8], esp
push str.SERVER
call fcn.004018c0
mov dword [ebp - 0x3a8c], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00422b10
push str.PhoneBookURL
lea ecx, [ebp - 0x29d4]
call fcn.004018c0
mov byte [ebp - 4], 0x28
push 0x451918
lea ecx, [ebp - 0x29f0]
call fcn.004018c0
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x29d4]
push edx
lea eax, [ebp - 0x29f0]
push eax
lea ecx, [ebp - 0x2a0c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3a90], eax
mov edx, dword [ebp - 0x3a90]
mov dword [ebp - 0x3a94], edx
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x3a94]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x438
call fcn.00405740
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x2a0c]
call fcn.00401940
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x29f0]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x29d4]
call fcn.00401940
push str.COUNT
lea ecx, [ebp - 0x2a28]
call fcn.004018c0
mov byte [ebp - 4], 0x2b
push 0x451924
lea ecx, [ebp - 0x2a44]
call fcn.004018c0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x2a28]
push ecx
lea edx, [ebp - 0x2a44]
push edx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x454], eax
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2a44]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2a28]
call fcn.00401940
mov edx, dword [ebp - 0x3a4c]
add edx, 0x458
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2a48], esp
push 0x451928
call fcn.004018c0
mov dword [ebp - 0x3a98], eax
mov eax, dword [ebp - 0x3a98]
mov dword [ebp - 0x3a9c], eax
mov byte [ebp - 4], 0x2d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2a4c], esp
push 0x45192c
call fcn.004018c0
mov dword [ebp - 0x3aa0], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30]
call fcn.00422b10
push str.bUsePreDownloader
lea ecx, [ebp - 0x2a68]
call fcn.004018c0
mov byte [ebp - 4], 0x2e
push 0x451944
lea ecx, [ebp - 0x2a84]
call fcn.004018c0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x2a68]
push ecx
lea edx, [ebp - 0x2a84]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x244], eax
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x2a84]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2a68]
call fcn.00401940
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x244], 1
push str.DisableLaunchGame
lea ecx, [ebp - 0x2aa0]
call fcn.004018c0
mov byte [ebp - 4], 0x30
push 0x451964
lea ecx, [ebp - 0x2abc]
call fcn.004018c0
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x2aa0]
push eax
lea ecx, [ebp - 0x2abc]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x248], eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2abc]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2aa0]
call fcn.00401940
push str.IsUseExternalPatch
lea ecx, [ebp - 0x2ad8]
call fcn.004018c0
mov byte [ebp - 4], 0x32
push 0x451984
lea ecx, [ebp - 0x2af4]
call fcn.004018c0
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x2ad8]
push eax
lea ecx, [ebp - 0x2af4]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x24c], eax
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x2af4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2ad8]
call fcn.00401940
push str.ExternalPatchModule
lea ecx, [ebp - 0x2b10]
call fcn.004018c0
mov byte [ebp - 4], 0x34
push 0x4519a4
lea ecx, [ebp - 0x2b2c]
call fcn.004018c0
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x2b10]
push eax
lea ecx, [ebp - 0x2b2c]
push ecx
lea edx, [ebp - 0x2b48]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3aa4], eax
mov eax, dword [ebp - 0x3aa4]
mov dword [ebp - 0x3aa8], eax
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x3aa8]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x250
call fcn.00405740
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x2b48]
call fcn.00401940
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2b2c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2b10]
call fcn.00401940
push str.ExternalPatchCommandLine
lea ecx, [ebp - 0x2b64]
call fcn.004018c0
mov byte [ebp - 4], 0x37
push 0x4519cc
lea ecx, [ebp - 0x2b80]
call fcn.004018c0
mov byte [ebp - 4], 0x38
lea edx, [ebp - 0x2b64]
push edx
lea eax, [ebp - 0x2b80]
push eax
lea ecx, [ebp - 0x2b9c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3aac], eax
mov edx, dword [ebp - 0x3aac]
mov dword [ebp - 0x3ab0], edx
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x3ab0]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x26c
call fcn.00405740
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2b9c]
call fcn.00401940
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x2b80]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2b64]
call fcn.00401940
push str.PreUseCAB
lea ecx, [ebp - 0x2bb8]
call fcn.004018c0
mov byte [ebp - 4], 0x3a
push 0x4519e4
lea ecx, [ebp - 0x2bd4]
call fcn.004018c0
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x2bb8]
push ecx
lea edx, [ebp - 0x2bd4]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x28c], eax
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x2bd4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2bb8]
call fcn.00401940
push str.RecoverSize
lea ecx, [ebp - 0x2bf0]
call fcn.004018c0
mov byte [ebp - 4], 0x3c
push 0x4519fc
lea ecx, [ebp - 0x2c0c]
call fcn.004018c0
mov byte [ebp - 4], 0x3d
lea edx, [ebp - 0x2bf0]
push edx
lea eax, [ebp - 0x2c0c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x288], eax
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2c0c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2bf0]
call fcn.00401940
push str.UseDiffAttrReset
lea ecx, [ebp - 0x2c28]
call fcn.004018c0
mov byte [ebp - 4], 0x3e
push 0x451a1c
lea ecx, [ebp - 0x2c44]
call fcn.004018c0
mov byte [ebp - 4], 0x3f
lea edx, [ebp - 0x2c28]
push edx
lea eax, [ebp - 0x2c44]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x290], eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2c44]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c28]
call fcn.00401940
push str.IsVersionFromFile
lea ecx, [ebp - 0x2c60]
call fcn.004018c0
mov byte [ebp - 4], 0x40
push 0x451a3c
lea ecx, [ebp - 0x2c7c]
call fcn.004018c0
mov byte [ebp - 4], 0x41
lea edx, [ebp - 0x2c60]
push edx
lea eax, [ebp - 0x2c7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x240], eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x2c7c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c60]
call fcn.00401940
push str.CopyIniFile
lea ecx, [ebp - 0x2c98]
call fcn.004018c0
mov byte [ebp - 4], 0x42
push 0x451a54
lea ecx, [ebp - 0x2cb4]
call fcn.004018c0
mov byte [ebp - 4], 0x43
lea edx, [ebp - 0x2c98]
push edx
lea eax, [ebp - 0x2cb4]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x1c0], eax
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x2cb4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2c98]
call fcn.00401940
push str.FullDown
lea ecx, [ebp - 0x2cd0]
call fcn.004018c0
mov byte [ebp - 4], 0x44
push 0x451a6c
lea ecx, [ebp - 0x2cec]
call fcn.004018c0
mov byte [ebp - 4], 0x45
lea edx, [ebp - 0x2cd0]
push edx
lea eax, [ebp - 0x2cec]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x1b4], eax
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2cec]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2cd0]
call fcn.00401940
push str.IsPMangGame
lea ecx, [ebp - 0x2d08]
call fcn.004018c0
mov byte [ebp - 4], 0x46
push 0x451a84
lea ecx, [ebp - 0x2d24]
call fcn.004018c0
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x2d08]
push edx
lea eax, [ebp - 0x2d24]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x1bc], eax
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x2d24]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2d08]
call fcn.00401940
push str.JSErrorFunc
lea ecx, [ebp - 0x2d40]
call fcn.004018c0
mov byte [ebp - 4], 0x48
push 0x451a9c
lea ecx, [ebp - 0x2d5c]
call fcn.004018c0
mov byte [ebp - 4], 0x49
lea edx, [ebp - 0x2d40]
push edx
lea eax, [ebp - 0x2d5c]
push eax
lea ecx, [ebp - 0x2d78]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3ab4], eax
mov edx, dword [ebp - 0x3ab4]
mov dword [ebp - 0x3ab8], edx
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x3ab8]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x1e4
call fcn.00405740
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x2d78]
call fcn.00401940
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x2d5c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2d40]
call fcn.00401940
push str.OnlyWinInet
lea ecx, [ebp - 0x2d94]
call fcn.004018c0
mov byte [ebp - 4], 0x4b
push 0x451ab4
lea ecx, [ebp - 0x2db0]
call fcn.004018c0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x2d94]
push ecx
lea edx, [ebp - 0x2db0]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x1c4], eax
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x2db0]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2d94]
call fcn.00401940
push str.PartialPatch
lea ecx, [ebp - 0x2dcc]
call fcn.004018c0
mov byte [ebp - 4], 0x4d
push 0x451ad0
lea ecx, [ebp - 0x2de8]
call fcn.004018c0
mov byte [ebp - 4], 0x4e
lea edx, [ebp - 0x2dcc]
push edx
lea eax, [ebp - 0x2de8]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x1b8], eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x2de8]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2dcc]
call fcn.00401940
push str.JSGetParamFunc
lea ecx, [ebp - 0x2e04]
call fcn.004018c0
mov byte [ebp - 4], 0x4f
push 0x451aec
lea ecx, [ebp - 0x2e20]
call fcn.004018c0
mov byte [ebp - 4], 0x50
lea edx, [ebp - 0x2e04]
push edx
lea eax, [ebp - 0x2e20]
push eax
lea ecx, [ebp - 0x2e3c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3abc], eax
mov edx, dword [ebp - 0x3abc]
mov dword [ebp - 0x3ac0], edx
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x3ac0]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x200
call fcn.00405740
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x2e3c]
call fcn.00401940
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x2e20]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2e04]
call fcn.00401940
push str.OptionString
lea ecx, [ebp - 0x2e58]
call fcn.004018c0
mov byte [ebp - 4], 0x52
push 0x451b08
lea ecx, [ebp - 0x2e74]
call fcn.004018c0
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x2e58]
push ecx
lea edx, [ebp - 0x2e74]
push edx
lea eax, [ebp - 0x2e90]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3ac4], eax
mov ecx, dword [ebp - 0x3ac4]
mov dword [ebp - 0x3ac8], ecx
mov byte [ebp - 4], 0x54
mov edx, dword [ebp - 0x3ac8]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x1c8
call fcn.00405740
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x2e90]
call fcn.00401940
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x2e74]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2e58]
call fcn.00401940
push str.RemainTimeV4
lea ecx, [ebp - 0x2eac]
call fcn.004018c0
mov byte [ebp - 4], 0x55
push 0x451b24
lea ecx, [ebp - 0x2ec8]
call fcn.004018c0
mov byte [ebp - 4], 0x56
lea eax, [ebp - 0x2eac]
push eax
lea ecx, [ebp - 0x2ec8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x238], eax
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x2ec8]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2eac]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
cmp dword [eax + 0x238], 0x64
jge 0x420890
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x238], 0x21
push str.RemainTimeFullV4
lea ecx, [ebp - 0x2ee4]
call fcn.004018c0
mov byte [ebp - 4], 0x57
push 0x451b44
lea ecx, [ebp - 0x2f00]
call fcn.004018c0
mov byte [ebp - 4], 0x58
lea edx, [ebp - 0x2ee4]
push edx
lea eax, [ebp - 0x2f00]
push eax
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x23c], eax
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x2f00]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2ee4]
call fcn.00401940
mov edx, dword [ebp - 0x3a4c]
cmp dword [edx + 0x23c], 0x64
jge 0x420917
mov eax, dword [ebp - 0x3a4c]
mov dword [eax + 0x23c], 0x21
push str.PatchSystemVersion
lea ecx, [ebp - 0x2f1c]
call fcn.004018c0
mov byte [ebp - 4], 0x59
push 0x451b64
lea ecx, [ebp - 0x2f38]
call fcn.004018c0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x2f1c]
push ecx
lea edx, [ebp - 0x2f38]
push edx
lea eax, [ebp - 0x2f54]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3acc], eax
mov ecx, dword [ebp - 0x3acc]
mov dword [ebp - 0x3ad0], ecx
mov byte [ebp - 4], 0x5b
mov edx, dword [ebp - 0x3ad0]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x21c
call fcn.00405740
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x2f54]
call fcn.00401940
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x2f38]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2f1c]
call fcn.00401940
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x21c
call fcn.004087f0
movzx eax, al
test eax, eax
je 0x420a6c
push str.IsPatchSystemV2
lea ecx, [ebp - 0x2f70]
call fcn.004018c0
mov byte [ebp - 4], 0x5c
push 0x451b80
lea ecx, [ebp - 0x2f8c]
call fcn.004018c0
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x2f70]
push ecx
lea edx, [ebp - 0x2f8c]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov dword [ebp - 0x25cc], eax
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x2f8c]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2f70]
call fcn.00401940
cmp dword [ebp - 0x25cc], 0
je 0x420a56
push 0x451b8c
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x21c
call fcn.0040acc0
jmp 0x420a6c
push 0x451b90
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x21c
call fcn.0040acc0
push 0x451b94
lea ecx, [ebp - 0x2fa8]
call fcn.004018c0
mov byte [ebp - 4], 0x5e
push 0x451b98
lea ecx, [ebp - 0x2fc4]
call fcn.004018c0
mov byte [ebp - 4], 0x5f
lea eax, [ebp - 0x2fa8]
push eax
lea ecx, [ebp - 0x2fc4]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x294], eax
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x2fc4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2fa8]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
add eax, 0x298
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2fc8], esp
push str.ICON
call fcn.004018c0
mov dword [ebp - 0x3ad4], eax
lea ecx, [ebp - 0x30]
call fcn.004227b0
push 0x451ba8
lea ecx, [ebp - 0x2fe4]
call fcn.004018c0
mov byte [ebp - 4], 0x60
push 0x451bac
lea ecx, [ebp - 0x3000]
call fcn.004018c0
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x2fe4]
push ecx
lea edx, [ebp - 0x3000]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x2b0], eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x3000]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x2fe4]
call fcn.00401940
push str.DirectXVersion
lea ecx, [ebp - 0x301c]
call fcn.004018c0
mov byte [ebp - 4], 0x62
push 0x451bc4
lea ecx, [ebp - 0x3038]
call fcn.004018c0
mov byte [ebp - 4], 0x63
lea edx, [ebp - 0x301c]
push edx
lea eax, [ebp - 0x3038]
push eax
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x2b4], eax
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x3038]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x301c]
call fcn.00401940
push str.DXErrorFunc
lea ecx, [ebp - 0x3054]
call fcn.004018c0
mov byte [ebp - 4], 0x64
push str.DIRECTX
lea ecx, [ebp - 0x3070]
call fcn.004018c0
mov byte [ebp - 4], 0x65
lea edx, [ebp - 0x3054]
push edx
lea eax, [ebp - 0x3070]
push eax
lea ecx, [ebp - 0x308c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3ad8], eax
mov edx, dword [ebp - 0x3ad8]
mov dword [ebp - 0x3adc], edx
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x3adc]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x2b8
call fcn.00405740
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x308c]
call fcn.00401940
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x3070]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3054]
call fcn.00401940
push str.FireWallSet
lea ecx, [ebp - 0x30a8]
call fcn.004018c0
mov byte [ebp - 4], 0x67
push 0x451bec
lea ecx, [ebp - 0x30c4]
call fcn.004018c0
mov byte [ebp - 4], 0x68
lea ecx, [ebp - 0x30a8]
push ecx
lea edx, [ebp - 0x30c4]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x2d4], eax
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x30c4]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30a8]
call fcn.00401940
push str.GameExe
lea ecx, [ebp - 0x30e0]
call fcn.004018c0
mov byte [ebp - 4], 0x69
push 0x451c00
lea ecx, [ebp - 0x30fc]
call fcn.004018c0
mov byte [ebp - 4], 0x6a
lea edx, [ebp - 0x30e0]
push edx
lea eax, [ebp - 0x30fc]
push eax
lea ecx, [ebp - 0x3118]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3ae0], eax
mov edx, dword [ebp - 0x3ae0]
mov dword [ebp - 0x3ae4], edx
mov byte [ebp - 4], 0x6b
mov eax, dword [ebp - 0x3ae4]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x2d8
call fcn.00405740
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x3118]
call fcn.00401940
mov byte [ebp - 4], 0x69
lea ecx, [ebp - 0x30fc]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x30e0]
call fcn.00401940
push str.GameName
lea ecx, [ebp - 0x3134]
call fcn.004018c0
mov byte [ebp - 4], 0x6c
push str.FIREWALL
lea ecx, [ebp - 0x3150]
call fcn.004018c0
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x3134]
push ecx
lea edx, [ebp - 0x3150]
push edx
lea eax, [ebp - 0x316c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3ae8], eax
mov ecx, dword [ebp - 0x3ae8]
mov dword [ebp - 0x3aec], ecx
mov byte [ebp - 4], 0x6e
mov edx, dword [ebp - 0x3aec]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x2f4
call fcn.00405740
mov byte [ebp - 4], 0x6d
lea ecx, [ebp - 0x316c]
call fcn.00401940
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x3150]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3134]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
add eax, 0x184
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3170], esp
push str.PREPATCH_RELEASE
call fcn.004018c0
mov dword [ebp - 0x3af0], eax
lea ecx, [ebp - 0x30]
call fcn.00422990
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x19c
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3174], esp
push str.PREPATCHLIST
call fcn.004018c0
mov dword [ebp - 0x3af4], eax
lea ecx, [ebp - 0x30]
call fcn.00422990
push str.SkipChecksum
lea ecx, [ebp - 0x3190]
call fcn.004018c0
mov byte [ebp - 4], 0x6f
push str.FUNCTION
lea ecx, [ebp - 0x31ac]
call fcn.004018c0
mov byte [ebp - 4], 0x70
lea edx, [ebp - 0x3190]
push edx
lea eax, [ebp - 0x31ac]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x310], eax
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x31ac]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3190]
call fcn.00401940
mov edx, dword [ebp - 0x3a4c]
cmp dword [edx + 0x310], 0
jne 0x420f3a
mov eax, dword [ebp - 0x3a4c]
add eax, 0x314
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x31b0], esp
push str.CHECKSUM
call fcn.004018c0
mov dword [ebp - 0x3af8], eax
lea ecx, [ebp - 0x30]
call fcn.00422990
mov dword [ebp - 0x3afc], eax
mov ecx, dword [ebp - 0x3a4c]
mov edx, dword [ebp - 0x3afc]
mov dword [ecx + 0x310], edx
jmp 0x420f4a
mov eax, dword [ebp - 0x3a4c]
mov dword [eax + 0x310], 0
push str.WIN98
lea ecx, [ebp - 0x31cc]
call fcn.004018c0
mov byte [ebp - 4], 0x71
push str.MD5HASH
lea ecx, [ebp - 0x31e8]
call fcn.004018c0
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x31cc]
push ecx
lea edx, [ebp - 0x31e8]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x32c], eax
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x31e8]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x31cc]
call fcn.00401940
push str.Title
lea ecx, [ebp - 0x3204]
call fcn.004018c0
mov byte [ebp - 4], 0x73
push str.WINDOW
lea ecx, [ebp - 0x3220]
call fcn.004018c0
mov byte [ebp - 4], 0x74
lea edx, [ebp - 0x3204]
push edx
lea eax, [ebp - 0x3220]
push eax
lea ecx, [ebp - 0x323c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b00], eax
mov edx, dword [ebp - 0x3b00]
mov dword [ebp - 0x3b04], edx
mov byte [ebp - 4], 0x75
mov eax, dword [ebp - 0x3b04]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x330
call fcn.00405740
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x323c]
call fcn.00401940
mov byte [ebp - 4], 0x73
lea ecx, [ebp - 0x3220]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3204]
call fcn.00401940
push 0x451c90
lea ecx, [ebp - 0x3258]
call fcn.004018c0
mov byte [ebp - 4], 0x76
push 0x451c94
lea ecx, [ebp - 0x3274]
call fcn.004018c0
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x3258]
push ecx
lea edx, [ebp - 0x3274]
push edx
lea eax, [ebp - 0x3290]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b08], eax
mov ecx, dword [ebp - 0x3b08]
mov dword [ebp - 0x3b0c], ecx
mov byte [ebp - 4], 0x78
mov edx, dword [ebp - 0x3b0c]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x34c
call fcn.00405740
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x3290]
call fcn.00401940
mov byte [ebp - 4], 0x76
lea ecx, [ebp - 0x3274]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x3258]
call fcn.00401940
push 0x451c9c
lea ecx, [ebp - 0x32ac]
call fcn.004018c0
mov byte [ebp - 4], 0x79
push 0x451ca4
lea ecx, [ebp - 0x32c8]
call fcn.004018c0
mov byte [ebp - 4], 0x7a
lea eax, [ebp - 0x32ac]
push eax
lea ecx, [ebp - 0x32c8]
push ecx
lea edx, [ebp - 0x32e4]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b10], eax
mov eax, dword [ebp - 0x3b10]
mov dword [ebp - 0x3b14], eax
mov byte [ebp - 4], 0x7b
mov ecx, dword [ebp - 0x3b14]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x368
call fcn.00405740
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x32e4]
call fcn.00401940
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x32c8]
call fcn.00401940
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x32ac]
call fcn.00401940
mov edx, dword [0x45f1e8]
add edx, 0x78
push edx
lea ecx, [ebp - 0x68]
call fcn.00401900
mov byte [ebp - 4], 0x7c
mov eax, dword [0x45f1e8]
mov dword [eax + 0x110], 0
push 0
push 0x451cac
mov ecx, dword [0x45f1e8]
add ecx, 0x78
call fcn.00422340
cmp eax, 0xffffffff
je 0x421418
push 0xffffffffffffffff
push 0
push 0x451cb0
lea ecx, [ebp - 0x68]
call fcn.00422340
push eax
lea ecx, [ebp - 0x2604]
push ecx
lea ecx, [ebp - 0x68]
call fcn.00403e70
mov byte [ebp - 4], 0x7d
push 0x451cb8
lea ecx, [ebp - 0x331c]
call fcn.004018c0
mov byte [ebp - 4], 0x7e
lea edx, [ebp - 0x2604]
push edx
push 0x451cb4
lea eax, [ebp - 0x3300]
push eax
call fcn.004053f0
add esp, 0xc
mov dword [ebp - 0x3b18], eax
mov ecx, dword [ebp - 0x3b18]
mov dword [ebp - 0x3b1c], ecx
mov byte [ebp - 4], 0x7f
mov edx, dword [ebp - 0x3b1c]
push edx
lea eax, [ebp - 0x331c]
push eax
lea ecx, [ebp - 0x25e8]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x3300]
call fcn.00401940
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x331c]
call fcn.00401940
push 0x4517f2
lea edx, [ebp - 0x25e8]
push edx
call fcn.00409f60
add esp, 8
movzx eax, al
test eax, eax
je 0x4212fb
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x34c
call fcn.0041d940
lea ecx, [ebp - 0x25e8]
call fcn.00401960
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x34c
call fcn.0040acc0
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x34c
call fcn.00401960
push eax
lea ecx, [ebp - 0x68]
call fcn.00401960
push eax
push 0x451cc0
call fcn.00401010
add esp, 0xc
mov ecx, dword [0x45f1e8]
mov dword [ecx + 0x110], 1
push str.BANNER
lea ecx, [ebp - 0x3354]
call fcn.004018c0
mov byte [ebp - 4], 0x83
lea edx, [ebp - 0x2604]
push edx
push str.TITLE
lea eax, [ebp - 0x3338]
push eax
call fcn.004053f0
add esp, 0xc
mov dword [ebp - 0x3b20], eax
mov ecx, dword [ebp - 0x3b20]
mov dword [ebp - 0x3b24], ecx
mov byte [ebp - 4], 0x84
mov edx, dword [ebp - 0x3b24]
push edx
lea eax, [ebp - 0x3354]
push eax
lea ecx, [ebp - 0x2620]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x3338]
call fcn.00401940
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x3354]
call fcn.00401940
push 0x4517f3
lea edx, [ebp - 0x2620]
push edx
call fcn.00409f60
add esp, 8
movzx eax, al
test eax, eax
je 0x4213eb
lea ecx, [ebp - 0x2620]
call fcn.00401960
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x368
call fcn.0040acc0
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x368
call fcn.00401960
push eax
lea ecx, [ebp - 0x68]
call fcn.00401960
push eax
push 0x451cf8
call fcn.00401010
add esp, 0xc
mov ecx, dword [0x45f1e8]
mov dword [ecx + 0x110], 1
mov byte [ebp - 4], 0x82
lea ecx, [ebp - 0x2620]
call fcn.00401940
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x25e8]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x2604]
call fcn.00401940
lea ecx, [ebp - 0x68]
call fcn.00401960
push eax
mov edx, dword [0x45f1e8]
mov eax, dword [edx + 0x110]
push eax
push str.bChanneling___d__UserID___s_n
call fcn.00401010
add esp, 0xc
push 0x451d44
lea ecx, [ebp - 0x3370]
call fcn.004018c0
mov byte [ebp - 4], 0x88
push 0x451d48
lea ecx, [ebp - 0x338c]
call fcn.004018c0
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x3370]
push ecx
lea edx, [ebp - 0x338c]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x384], eax
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x338c]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3370]
call fcn.00401940
push str.ExecBeginFunc
lea ecx, [ebp - 0x33a8]
call fcn.004018c0
mov byte [ebp - 4], 0x8a
push 0x451d64
lea ecx, [ebp - 0x33c4]
call fcn.004018c0
mov byte [ebp - 4], 0x8b
lea edx, [ebp - 0x33a8]
push edx
lea eax, [ebp - 0x33c4]
push eax
lea ecx, [ebp - 0x33e0]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b28], eax
mov edx, dword [ebp - 0x3b28]
mov dword [ebp - 0x3b2c], edx
mov byte [ebp - 4], 0x8c
mov eax, dword [ebp - 0x3b2c]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x388
call fcn.00405740
mov byte [ebp - 4], 0x8b
lea ecx, [ebp - 0x33e0]
call fcn.00401940
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x33c4]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x33a8]
call fcn.00401940
push str.ExecFinishFunc
lea ecx, [ebp - 0x33fc]
call fcn.004018c0
mov byte [ebp - 4], 0x8d
push str.EXECEVENT
lea ecx, [ebp - 0x3418]
call fcn.004018c0
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x33fc]
push ecx
lea edx, [ebp - 0x3418]
push edx
lea eax, [ebp - 0x3434]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b30], eax
mov ecx, dword [ebp - 0x3b30]
mov dword [ebp - 0x3b34], ecx
mov byte [ebp - 4], 0x8f
mov edx, dword [ebp - 0x3b34]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x3a4
call fcn.00405740
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x3434]
call fcn.00401940
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x3418]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x33fc]
call fcn.00401940
push 0x451d8c
lea ecx, [ebp - 0x3450]
call fcn.004018c0
mov byte [ebp - 4], 0x90
push str.CRYPTARGS
lea ecx, [ebp - 0x346c]
call fcn.004018c0
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0x3450]
push eax
lea ecx, [ebp - 0x346c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0xbc], eax
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x346c]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3450]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
add eax, 0x3c0
push eax
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x3470], esp
push str.APPEVENT
call fcn.004018c0
mov dword [ebp - 0x3b38], eax
lea ecx, [ebp - 0x30]
call fcn.00422990
push 0x451da8
lea ecx, [ebp - 0x348c]
call fcn.004018c0
mov byte [ebp - 4], 0x92
push 0x451dac
lea ecx, [ebp - 0x34a8]
call fcn.004018c0
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x348c]
push ecx
lea edx, [ebp - 0x34a8]
push edx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x3f8], eax
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0x34a8]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x348c]
call fcn.00401940
push 0x451db8
lea ecx, [ebp - 0x34c4]
call fcn.004018c0
mov byte [ebp - 4], 0x94
push 0x451dbc
lea ecx, [ebp - 0x34e0]
call fcn.004018c0
mov byte [ebp - 4], 0x95
lea edx, [ebp - 0x34c4]
push edx
lea eax, [ebp - 0x34e0]
push eax
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x3f4], eax
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x34e0]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x34c4]
call fcn.00401940
push 0x451dc8
lea ecx, [ebp - 0x34fc]
call fcn.004018c0
mov byte [ebp - 4], 0x96
push str.HACKSHIELD
lea ecx, [ebp - 0x3518]
call fcn.004018c0
mov byte [ebp - 4], 0x97
lea edx, [ebp - 0x34fc]
push edx
lea eax, [ebp - 0x3518]
push eax
lea ecx, [ebp - 0x3534]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b3c], eax
mov edx, dword [ebp - 0x3b3c]
mov dword [ebp - 0x3b40], edx
mov byte [ebp - 4], 0x98
mov eax, dword [ebp - 0x3b40]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x3d8
call fcn.00405740
mov byte [ebp - 4], 0x97
lea ecx, [ebp - 0x3534]
call fcn.00401940
mov byte [ebp - 4], 0x96
lea ecx, [ebp - 0x3518]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x34fc]
call fcn.00401940
push 0x451dd8
lea ecx, [ebp - 0x3550]
call fcn.004018c0
mov byte [ebp - 4], 0x99
push 0x451ddc
lea ecx, [ebp - 0x356c]
call fcn.004018c0
mov byte [ebp - 4], 0x9a
lea ecx, [ebp - 0x3550]
push ecx
lea edx, [ebp - 0x356c]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x3fc], eax
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x356c]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3550]
call fcn.00401940
push 0x451de4
lea ecx, [ebp - 0x3588]
call fcn.004018c0
mov byte [ebp - 4], 0x9b
push 0x451de8
lea ecx, [ebp - 0x35a4]
call fcn.004018c0
mov byte [ebp - 4], 0x9c
lea edx, [ebp - 0x3588]
push edx
lea eax, [ebp - 0x35a4]
push eax
lea ecx, [ebp - 0x35c0]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b44], eax
mov edx, dword [ebp - 0x3b44]
mov dword [ebp - 0x3b48], edx
mov byte [ebp - 4], 0x9d
mov eax, dword [ebp - 0x3b48]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x400
call fcn.00405740
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0x35c0]
call fcn.00401940
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x35a4]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3588]
call fcn.00401940
push str.FileExtension
lea ecx, [ebp - 0x35dc]
call fcn.004018c0
mov byte [ebp - 4], 0x9e
push str.PACKLIB
lea ecx, [ebp - 0x35f8]
call fcn.004018c0
mov byte [ebp - 4], 0x9f
lea ecx, [ebp - 0x35dc]
push ecx
lea edx, [ebp - 0x35f8]
push edx
lea eax, [ebp - 0x3614]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b4c], eax
mov ecx, dword [ebp - 0x3b4c]
mov dword [ebp - 0x3b50], ecx
mov byte [ebp - 4], 0xa0
mov edx, dword [ebp - 0x3b50]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x41c
call fcn.00405740
mov byte [ebp - 4], 0x9f
lea ecx, [ebp - 0x3614]
call fcn.00401940
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0x35f8]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x35dc]
call fcn.00401940
push str.OfflineNotify
lea ecx, [ebp - 0x3630]
call fcn.004018c0
mov byte [ebp - 4], 0xa1
push str.NOTIFY
lea ecx, [ebp - 0x364c]
call fcn.004018c0
mov byte [ebp - 4], 0xa2
lea eax, [ebp - 0x3630]
push eax
lea ecx, [ebp - 0x364c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x470], eax
mov byte [ebp - 4], 0xa1
lea ecx, [ebp - 0x364c]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3630]
call fcn.00401940
push 0x451e20
lea ecx, [ebp - 0x3668]
call fcn.004018c0
mov byte [ebp - 4], 0xa3
push 0x451e24
lea ecx, [ebp - 0x3684]
call fcn.004018c0
mov byte [ebp - 4], 0xa4
lea eax, [ebp - 0x3668]
push eax
lea ecx, [ebp - 0x3684]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x474], eax
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0x3684]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3668]
call fcn.00401940
push str.DownloadRoot
lea ecx, [ebp - 0x36a0]
call fcn.004018c0
mov byte [ebp - 4], 0xa5
push str.P2P_DOWNLOAD
lea ecx, [ebp - 0x36bc]
call fcn.004018c0
mov byte [ebp - 4], 0xa6
lea eax, [ebp - 0x36a0]
push eax
lea ecx, [ebp - 0x36bc]
push ecx
lea edx, [ebp - 0x36d8]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b54], eax
mov eax, dword [ebp - 0x3b54]
mov dword [ebp - 0x3b58], eax
mov byte [ebp - 4], 0xa7
mov ecx, dword [ebp - 0x3b58]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x478
call fcn.00405740
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x36d8]
call fcn.00401940
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0x36bc]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x36a0]
call fcn.00401940
push 0x451e54
lea ecx, [ebp - 0x36f4]
call fcn.004018c0
mov byte [ebp - 4], 0xa8
push 0x451e58
lea ecx, [ebp - 0x3710]
call fcn.004018c0
mov byte [ebp - 4], 0xa9
lea edx, [ebp - 0x36f4]
push edx
lea eax, [ebp - 0x3710]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0xc0], eax
mov byte [ebp - 4], 0xa8
lea ecx, [ebp - 0x3710]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x36f4]
call fcn.00401940
push str.Half
lea ecx, [ebp - 0x372c]
call fcn.004018c0
mov byte [ebp - 4], 0xaa
push 0x451e6c
lea ecx, [ebp - 0x3748]
call fcn.004018c0
mov byte [ebp - 4], 0xab
lea edx, [ebp - 0x372c]
push edx
lea eax, [ebp - 0x3748]
push eax
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0xc4], eax
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x3748]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x372c]
call fcn.00401940
push 0x451e78
lea ecx, [ebp - 0x3764]
call fcn.004018c0
mov byte [ebp - 4], 0xac
push 0x451e84
lea ecx, [ebp - 0x3780]
call fcn.004018c0
mov byte [ebp - 4], 0xad
lea edx, [ebp - 0x3764]
push edx
lea eax, [ebp - 0x3780]
push eax
lea ecx, [ebp - 0x379c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b5c], eax
mov edx, dword [ebp - 0x3b5c]
mov dword [ebp - 0x3b60], edx
mov byte [ebp - 4], 0xae
mov eax, dword [ebp - 0x3b60]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0xe8
call fcn.00405740
mov byte [ebp - 4], 0xad
lea ecx, [ebp - 0x379c]
call fcn.00401940
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x3780]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3764]
call fcn.00401940
push str.LowerLimit
lea ecx, [ebp - 0x37b8]
call fcn.004018c0
mov byte [ebp - 4], 0xaf
push 0x451e9c
lea ecx, [ebp - 0x37d4]
call fcn.004018c0
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0x37b8]
push ecx
lea edx, [ebp - 0x37d4]
push edx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0xc8], eax
mov byte [ebp - 4], 0xaf
lea ecx, [ebp - 0x37d4]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x37b8]
call fcn.00401940
push str.Filesystem
lea ecx, [ebp - 0x37f0]
call fcn.004018c0
mov byte [ebp - 4], 0xb1
push 0x451eb4
lea ecx, [ebp - 0x380c]
call fcn.004018c0
mov byte [ebp - 4], 0xb2
lea edx, [ebp - 0x37f0]
push edx
lea eax, [ebp - 0x380c]
push eax
lea ecx, [ebp - 0x3828]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b64], eax
mov edx, dword [ebp - 0x3b64]
mov dword [ebp - 0x3b68], edx
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0x3b68]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0xcc
call fcn.00405740
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0x3828]
call fcn.00401940
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x380c]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x37f0]
call fcn.00401940
push str.Server
lea ecx, [ebp - 0x3844]
call fcn.004018c0
mov byte [ebp - 4], 0xb4
push 0x451ec8
lea ecx, [ebp - 0x3860]
call fcn.004018c0
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x3844]
push ecx
lea edx, [ebp - 0x3860]
push edx
lea eax, [ebp - 0x387c]
push eax
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b6c], eax
mov ecx, dword [ebp - 0x3b6c]
mov dword [ebp - 0x3b70], ecx
mov byte [ebp - 4], 0xb6
mov edx, dword [ebp - 0x3b70]
push edx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x108
call fcn.00405740
mov byte [ebp - 4], 0xb5
lea ecx, [ebp - 0x387c]
call fcn.00401940
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x3860]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3844]
call fcn.00401940
push str.Port
lea ecx, [ebp - 0x3898]
call fcn.004018c0
mov byte [ebp - 4], 0xb7
push 0x451edc
lea ecx, [ebp - 0x38b4]
call fcn.004018c0
mov byte [ebp - 4], 0xb8
lea eax, [ebp - 0x3898]
push eax
lea ecx, [ebp - 0x38b4]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004224e0
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x104], eax
mov byte [ebp - 4], 0xb7
lea ecx, [ebp - 0x38b4]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3898]
call fcn.00401940
push str.ErrReporting
lea ecx, [ebp - 0x38d0]
call fcn.004018c0
mov byte [ebp - 4], 0xb9
push 0x451ef8
lea ecx, [ebp - 0x38ec]
call fcn.004018c0
mov byte [ebp - 4], 0xba
lea eax, [ebp - 0x38d0]
push eax
lea ecx, [ebp - 0x38ec]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x124], eax
mov byte [ebp - 4], 0xb9
lea ecx, [ebp - 0x38ec]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x38d0]
call fcn.00401940
mov eax, dword [ebp - 0x3a4c]
cmp dword [eax + 0x124], 0
je 0x421f99
push str.ErrReportLevel
lea ecx, [ebp - 0x390c]
call fcn.004018c0
mov byte [ebp - 4], 0xbb
mov ecx, dword [ebp - 0x3a48]
or ecx, 1
mov dword [ebp - 0x3a48], ecx
push 0x451f14
lea ecx, [ebp - 0x3928]
call fcn.004018c0
mov dword [ebp - 4], 0xbc
mov edx, dword [ebp - 0x3a48]
or edx, 2
mov dword [ebp - 0x3a48], edx
lea eax, [ebp - 0x390c]
push eax
lea ecx, [ebp - 0x3928]
push ecx
lea edx, [ebp - 0x3944]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b74], eax
mov eax, dword [ebp - 0x3b74]
mov dword [ebp - 0x3b78], eax
mov dword [ebp - 4], 0xbd
mov ecx, dword [ebp - 0x3a48]
or ecx, 4
mov dword [ebp - 0x3a48], ecx
mov edx, dword [ebp - 0x3b78]
mov dword [ebp - 0x3b7c], edx
jmp 0x421fdd
push 0x451f20
lea ecx, [ebp - 0x3960]
call fcn.004018c0
mov dword [ebp - 0x3b80], eax
mov eax, dword [ebp - 0x3b80]
mov dword [ebp - 0x3b84], eax
mov dword [ebp - 4], 0xbe
mov ecx, dword [ebp - 0x3a48]
or ecx, 8
mov dword [ebp - 0x3a48], ecx
mov edx, dword [ebp - 0x3b84]
mov dword [ebp - 0x3b7c], edx
mov eax, dword [ebp - 0x3b7c]
mov dword [ebp - 0x38f0], eax
mov ecx, dword [ebp - 0x38f0]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x128
call fcn.00405740
mov dword [ebp - 4], 0xbd
mov edx, dword [ebp - 0x3a48]
and edx, 8
je 0x422025
and dword [ebp - 0x3a48], 0xfffffff7
lea ecx, [ebp - 0x3960]
call fcn.00401940
mov dword [ebp - 4], 0xbc
mov eax, dword [ebp - 0x3a48]
and eax, 4
je 0x422049
and dword [ebp - 0x3a48], 0xfffffffb
lea ecx, [ebp - 0x3944]
call fcn.00401940
mov dword [ebp - 4], 0xbb
mov ecx, dword [ebp - 0x3a48]
and ecx, 2
je 0x42206d
and dword [ebp - 0x3a48], 0xfffffffd
lea ecx, [ebp - 0x3928]
call fcn.00401940
mov dword [ebp - 4], 0x7c
mov edx, dword [ebp - 0x3a48]
and edx, 1
je 0x422091
and dword [ebp - 0x3a48], 0xfffffffe
lea ecx, [ebp - 0x390c]
call fcn.00401940
push str.ErrReportURL
lea ecx, [ebp - 0x397c]
call fcn.004018c0
mov byte [ebp - 4], 0xbf
push str.STREAMING
lea ecx, [ebp - 0x3998]
call fcn.004018c0
mov byte [ebp - 4], 0xc0
lea eax, [ebp - 0x397c]
push eax
lea ecx, [ebp - 0x3998]
push ecx
lea edx, [ebp - 0x39b4]
push edx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b88], eax
mov eax, dword [ebp - 0x3b88]
mov dword [ebp - 0x3b8c], eax
mov byte [ebp - 4], 0xc1
mov ecx, dword [ebp - 0x3b8c]
push ecx
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x144
call fcn.00405740
mov byte [ebp - 4], 0xc0
lea ecx, [ebp - 0x39b4]
call fcn.00401940
mov byte [ebp - 4], 0xbf
lea ecx, [ebp - 0x3998]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x397c]
call fcn.00401940
push 0x451f40
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x64
call fcn.00401960
push eax
call fcn.00436150
add esp, 8
test eax, eax
je 0x4221b1
push str.raycity
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x64
call fcn.00401960
push eax
call fcn.00436150
add esp, 8
test eax, eax
je 0x4221b1
push str.slugger
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x64
call fcn.00401960
push eax
call fcn.00436150
add esp, 8
test eax, eax
je 0x4221b1
push str.FIFAONLINE2
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x64
call fcn.00401960
push eax
call fcn.00436150
add esp, 8
test eax, eax
jne 0x4221c3
mov edx, dword [ebp - 0x3a4c]
mov dword [edx + 0x160], 1
jmp 0x4221d3
mov eax, dword [ebp - 0x3a4c]
mov dword [eax + 0x160], 0
push str.DisableAtGameLoad
lea ecx, [ebp - 0x39d0]
call fcn.004018c0
mov byte [ebp - 4], 0xc2
push 0x451f74
lea ecx, [ebp - 0x39ec]
call fcn.004018c0
mov byte [ebp - 4], 0xc3
lea ecx, [ebp - 0x39d0]
push ecx
lea edx, [ebp - 0x39ec]
push edx
lea ecx, [ebp - 0x30]
call fcn.00422520
mov ecx, dword [ebp - 0x3a4c]
mov dword [ecx + 0x164], eax
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0x39ec]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x39d0]
call fcn.00401940
push str.EulaUrl
lea ecx, [ebp - 0x3a08]
call fcn.004018c0
mov byte [ebp - 4], 0xc4
push 0x451f80
lea ecx, [ebp - 0x3a24]
call fcn.004018c0
mov byte [ebp - 4], 0xc5
lea edx, [ebp - 0x3a08]
push edx
lea eax, [ebp - 0x3a24]
push eax
lea ecx, [ebp - 0x3a40]
push ecx
lea ecx, [ebp - 0x30]
call fcn.004223f0
mov dword [ebp - 0x3b90], eax
mov edx, dword [ebp - 0x3b90]
mov dword [ebp - 0x3b94], edx
mov byte [ebp - 4], 0xc6
mov eax, dword [ebp - 0x3b94]
push eax
mov ecx, dword [ebp - 0x3a4c]
add ecx, 0x168
call fcn.00405740
mov byte [ebp - 4], 0xc5
lea ecx, [ebp - 0x3a40]
call fcn.00401940
mov byte [ebp - 4], 0xc4
lea ecx, [ebp - 0x3a24]
call fcn.00401940
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0x3a08]
call fcn.00401940
mov dword [ebp - 0x3a44], 1
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x68]
call fcn.00401940
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
call fcn.00401940
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.004223a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.00401940
mov eax, dword [ebp - 0x3a44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00433b5e
mov esp, ebp
pop ebp
ret 4