Function at 0x45ccb7
Capabilities:
Check for peb ntglobalflag flag
Check if file exists
Contain obfuscated stackstrings
Create process on windows
Get number of processors
Get process heap flags
Get process heap force flags
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d4e7e
mov eax, dword fs:[0]
push eax
sub esp, 0x310
push ebx
push esi
push edi
mov eax, dword [0x55c6c0]
xor eax, esp
push eax
lea eax, [esp + 0x320]
mov dword fs:[0], eax
push str.setup.exe
mov ecx, 0x56665c
call fcn.0040276b
push 0x530bbc
lea ecx, [esp + 0x1c]
call fcn.0040255d
mov dword [esp + 0x1ec], eax
and dword [esp + 0x328], 0
push 0x5201c4
lea ecx, [esp + 0xb0]
call fcn.0040255d
mov dword [esp + 0x1e4], eax
mov edi, 0x5201d8
push edi
lea ecx, [esp + 0xdc]
mov byte [esp + 0x32c], 1
call fcn.0040255d
mov dword [esp + 0x1dc], eax
push 0x531010
lea ecx, [esp + 0xd4]
mov byte [esp + 0x32c], 2
call fcn.0040255d
mov dword [esp + 0x1d4], eax
mov ebx, 0x5201d0
push ebx
lea ecx, [esp + 0xcc]
mov byte [esp + 0x32c], 3
call fcn.0040255d
mov dword [esp + 0x1cc], eax
push edi
lea ecx, [esp + 0xc4]
mov byte [esp + 0x32c], 4
call fcn.0040255d
mov dword [esp + 0x1c4], eax
mov esi, 0x5201bc
push esi
lea ecx, [esp + 0xbc]
mov byte [esp + 0x32c], 5
call fcn.0040255d
mov dword [esp + 0x1bc], eax
push 0x5201cc
lea ecx, [esp + 0xb4]
mov byte [esp + 0x32c], 6
call fcn.0040255d
mov dword [esp + 0x1b4], eax
push edi
lea ecx, [esp + 0xac]
mov byte [esp + 0x32c], 7
call fcn.0040255d
mov dword [esp + 0x1ac], eax
push 0x520c98
lea ecx, [esp + 0xa4]
mov byte [esp + 0x32c], 8
call fcn.0040255d
mov dword [esp + 0x1a4], eax
push esi
lea ecx, [esp + 0x9c]
mov byte [esp + 0x32c], 9
call fcn.0040255d
mov dword [esp + 0x19c], eax
mov esi, 0x5201b8
push esi
lea ecx, [esp + 0x94]
mov byte [esp + 0x32c], 0xa
call fcn.0040255d
mov dword [esp + 0x194], eax
mov byte [esp + 0x328], 0xb
push esi
lea ecx, [esp + 0x8c]
call fcn.0040255d
mov dword [esp + 0x18c], eax
push 0x5201c8
lea ecx, [esp + 0x84]
mov byte [esp + 0x32c], 0xc
call fcn.0040255d
mov dword [esp + 0x184], eax
push 0x5201bc
lea ecx, [esp + 0x7c]
mov byte [esp + 0x32c], 0xd
call fcn.0040255d
mov dword [esp + 0x17c], eax
push 0x5201bc
lea ecx, [esp + 0x74]
mov byte [esp + 0x32c], 0xe
call fcn.0040255d
mov dword [esp + 0x174], eax
push 0x5201cc
lea ecx, [esp + 0x6c]
mov byte [esp + 0x32c], 0xf
call fcn.0040255d
mov dword [esp + 0x16c], eax
push edi
lea ecx, [esp + 0x64]
mov byte [esp + 0x32c], 0x10
call fcn.0040255d
mov dword [esp + 0x164], eax
push 0x520c98
lea ecx, [esp + 0x5c]
mov byte [esp + 0x32c], 0x11
call fcn.0040255d
mov dword [esp + 0x15c], eax
push 0x5201bc
lea ecx, [esp + 0x54]
mov byte [esp + 0x32c], 0x12
call fcn.0040255d
mov dword [esp + 0x154], eax
push esi
lea ecx, [esp + 0x4c]
mov byte [esp + 0x32c], 0x13
call fcn.0040255d
mov dword [esp + 0x14c], eax
push 0x5201e4
lea ecx, [esp + 0x44]
mov byte [esp + 0x32c], 0x14
call fcn.0040255d
mov dword [esp + 0x144], eax
push 0x5201ec
lea ecx, [esp + 0x3c]
mov byte [esp + 0x32c], 0x15
call fcn.0040255d
mov dword [esp + 0x13c], eax
push 0x5201bc
lea ecx, [esp + 0x34]
mov byte [esp + 0x32c], 0x16
call fcn.0040255d
mov dword [esp + 0x134], eax
push 0x5201cc
lea ecx, [esp + 0x2c]
mov byte [esp + 0x32c], 0x17
call fcn.0040255d
mov dword [esp + 0x12c], eax
push edi
lea ecx, [esp + 0x24]
mov byte [esp + 0x32c], 0x18
call fcn.0040255d
mov dword [esp + 0x124], eax
push 0x520c98
lea ecx, [esp + 0x80]
mov byte [esp + 0x32c], 0x19
call fcn.0040255d
mov dword [esp + 0x11c], eax
push 0x5201bc
lea ecx, [esp + 0x20]
mov byte [esp + 0x32c], 0x1a
call fcn.0040255d
mov dword [esp + 0x114], eax
push esi
lea ecx, [esp + 0xd0]
mov byte [esp + 0x32c], 0x1b
call fcn.0040255d
mov dword [esp + 0x10c], eax
push 0x5201c8
lea ecx, [esp + 0x78]
mov byte [esp + 0x32c], 0x1c
call fcn.0040255d
mov dword [esp + 0x104], eax
push 0x5201e8
lea ecx, [esp + 0xa8]
mov byte [esp + 0x32c], 0x1d
call fcn.0040255d
mov dword [esp + 0xfc], eax
push 0x5201d4
lea ecx, [esp + 0x70]
mov byte [esp + 0x32c], 0x1e
call fcn.0040255d
mov dword [esp + 0xf4], eax
push ebx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x32c], 0x1f
call fcn.0040255d
mov dword [esp + 0xec], eax
push 0x5201cc
lea ecx, [esp + 0x68]
mov byte [esp + 0x32c], 0x20
call fcn.0040255d
mov dword [esp + 0xe8], eax
push 0x5201e0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x32c], 0x21
call fcn.0040255d
mov dword [esp + 0x250], eax
push 0x5201fc
lea ecx, [esp + 0x60]
mov byte [esp + 0x32c], 0x22
call fcn.0040255d
mov dword [esp + 0x150], eax
push 0x5201c8
lea ecx, [esp + 0xd8]
mov byte [esp + 0x32c], 0x23
call fcn.0040255d
mov dword [esp + 0x14], eax
push 0x520200
lea ecx, [esp + 0x58]
mov byte [esp + 0x32c], 0x24
call fcn.0040255d
push 0x5201c8
push eax
lea eax, [esp + 0x9c]
push eax
mov byte [esp + 0x334], 0x25
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x26
push dword [esp + 0x14]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0xbc]
push eax
mov byte [esp + 0x334], 0x27
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x150]
mov byte [esp + 0x32c], 0x28
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e0
push eax
lea eax, [esp + 0x94]
push eax
mov byte [esp + 0x334], 0x29
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x250]
mov byte [esp + 0x32c], 0x2a
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201ec
push eax
lea eax, [esp + 0xcc]
push eax
mov byte [esp + 0x334], 0x2b
call fcn.004021ba
add esp, 0xc
push dword [esp + 0xe8]
mov byte [esp + 0x32c], 0x2c
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e8
push eax
lea eax, [esp + 0x8c]
push eax
mov byte [esp + 0x334], 0x2d
call fcn.004021ba
add esp, 0xc
push dword [esp + 0xec]
mov byte [esp + 0x32c], 0x2e
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201dc
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x334], 0x2f
call fcn.004021ba
add esp, 0xc
push dword [esp + 0xf4]
mov byte [esp + 0x32c], 0x30
push eax
lea eax, [esp + 0x1b8]
push eax
call fcn.00402163
add esp, 0xc
push 0x530a60
push eax
lea eax, [esp + 0x220]
push eax
mov byte [esp + 0x334], 0x31
call fcn.004021ba
add esp, 0xc
push dword [esp + 0xfc]
mov byte [esp + 0x32c], 0x32
push eax
lea eax, [esp + 0x1b0]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201f0
push eax
lea eax, [esp + 0x270]
push eax
mov byte [esp + 0x334], 0x33
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x104]
mov byte [esp + 0x32c], 0x34
push eax
lea eax, [esp + 0x1a8]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c4
push eax
lea eax, [esp + 0x218]
push eax
mov byte [esp + 0x334], 0x35
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x10c]
mov byte [esp + 0x32c], 0x36
push eax
lea eax, [esp + 0x1a0]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201ec
push eax
lea eax, [esp + 0x250]
push eax
mov byte [esp + 0x334], 0x37
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x114]
mov byte [esp + 0x32c], 0x38
push eax
lea eax, [esp + 0x198]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x210]
push eax
mov byte [esp + 0x334], 0x39
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x11c]
mov byte [esp + 0x32c], 0x3a
push eax
lea eax, [esp + 0x190]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c8
push eax
lea eax, [esp + 0x284]
push eax
mov byte [esp + 0x334], 0x3b
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x124]
mov byte [esp + 0x32c], 0x3c
push eax
lea eax, [esp + 0x188]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x208]
push eax
mov byte [esp + 0x334], 0x3d
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x12c]
mov byte [esp + 0x32c], 0x3e
push eax
lea eax, [esp + 0x180]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x248]
push eax
mov byte [esp + 0x334], 0x3f
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x134]
mov byte [esp + 0x32c], 0x40
push eax
lea eax, [esp + 0x178]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c4
push eax
lea eax, [esp + 0x200]
push eax
mov byte [esp + 0x334], 0x41
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x13c]
mov byte [esp + 0x32c], 0x42
push eax
lea eax, [esp + 0x170]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e8
push eax
lea eax, [esp + 0x268]
push eax
mov byte [esp + 0x334], 0x43
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x144]
mov byte [esp + 0x32c], 0x44
push eax
lea eax, [esp + 0x168]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e0
push eax
lea eax, [esp + 0x1f8]
push eax
mov byte [esp + 0x334], 0x45
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x14c]
mov byte [esp + 0x32c], 0x46
push eax
lea eax, [esp + 0x160]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201ec
push eax
lea eax, [esp + 0x240]
push eax
mov byte [esp + 0x334], 0x47
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x154]
mov byte [esp + 0x32c], 0x48
push eax
lea eax, [esp + 0xec]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x1f0]
push eax
mov byte [esp + 0x334], 0x49
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x15c]
mov byte [esp + 0x32c], 0x4a
push eax
lea eax, [esp + 0x150]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c8
push eax
lea eax, [esp + 0x278]
push eax
mov byte [esp + 0x334], 0x4b
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x164]
mov byte [esp + 0x32c], 0x4c
push eax
lea eax, [esp + 0x148]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x1e8]
push eax
mov byte [esp + 0x334], 0x4d
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x16c]
mov byte [esp + 0x32c], 0x4e
push eax
lea eax, [esp + 0x140]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x238]
push eax
mov byte [esp + 0x334], 0x4f
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x174]
mov byte [esp + 0x32c], 0x50
push eax
lea eax, [esp + 0x138]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e0
push eax
lea eax, [esp + 0x1e0]
push eax
mov byte [esp + 0x334], 0x51
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x17c]
mov byte [esp + 0x32c], 0x52
push eax
lea eax, [esp + 0x130]
push eax
call fcn.00402163
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x260]
push eax
mov byte [esp + 0x334], 0x53
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x184]
mov byte [esp + 0x32c], 0x54
push eax
lea eax, [esp + 0x128]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x1d8]
push eax
mov byte [esp + 0x334], 0x55
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x18c]
mov byte [esp + 0x32c], 0x56
push eax
lea eax, [esp + 0x120]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e0
push eax
lea eax, [esp + 0x230]
push eax
mov byte [esp + 0x334], 0x57
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x194]
mov byte [esp + 0x32c], 0x58
push eax
lea eax, [esp + 0x118]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201ec
push eax
lea eax, [esp + 0x1d0]
push eax
mov byte [esp + 0x334], 0x59
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x19c]
mov byte [esp + 0x32c], 0x5a
push eax
lea eax, [esp + 0x110]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x280]
push eax
mov byte [esp + 0x334], 0x5b
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1a4]
mov byte [esp + 0x32c], 0x5c
push eax
lea eax, [esp + 0x108]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c8
push eax
lea eax, [esp + 0x1c8]
push eax
mov byte [esp + 0x334], 0x5d
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1ac]
mov byte [esp + 0x32c], 0x5e
push eax
lea eax, [esp + 0x100]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x228]
push eax
mov byte [esp + 0x334], 0x5f
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1b4]
mov byte [esp + 0x32c], 0x60
push eax
lea eax, [esp + 0xf8]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x1c0]
push eax
mov byte [esp + 0x334], 0x61
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1bc]
mov byte [esp + 0x32c], 0x62
push eax
lea eax, [esp + 0x264]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201bc
push eax
lea eax, [esp + 0x25c]
push eax
mov byte [esp + 0x334], 0x63
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1c4]
mov byte [esp + 0x32c], 0x64
push eax
lea eax, [esp + 0x254]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201c8
push eax
lea eax, [esp + 0x24c]
push eax
mov byte [esp + 0x334], 0x65
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1cc]
mov byte [esp + 0x32c], 0x66
push eax
lea eax, [esp + 0x244]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x23c]
push eax
mov byte [esp + 0x334], 0x67
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1d4]
mov byte [esp + 0x32c], 0x68
push eax
lea eax, [esp + 0x234]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e8
push eax
lea eax, [esp + 0x22c]
push eax
mov byte [esp + 0x334], 0x69
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1dc]
mov byte [esp + 0x32c], 0x6a
push eax
lea eax, [esp + 0x224]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e4
push eax
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x334], 0x6b
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1e4]
mov byte [esp + 0x32c], 0x6c
push eax
lea eax, [esp + 0x214]
push eax
call fcn.00402163
add esp, 0xc
mov byte [esp + 0x328], 0x6d
push edi
push eax
lea eax, [esp + 0x20c]
push eax
call fcn.004021ba
add esp, 0xc
push dword [esp + 0x1ec]
mov byte [esp + 0x32c], 0x6e
push eax
lea eax, [esp + 0x204]
push eax
call fcn.00402163
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x1fc]
push eax
mov byte [esp + 0x334], 0x6f
call fcn.004021ba
add esp, 0xc
push eax
mov ecx, 0x566658
mov byte [esp + 0x32c], 0x70
call fcn.0040262c
mov ecx, dword [esp + 0x1f4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1fc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x204]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x20c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x214]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x21c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x224]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x22c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x234]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x23c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x244]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x24c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x254]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x25c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1b8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xf0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x220]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xf8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1c0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x100]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x278]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x108]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1c8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x110]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x228]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x118]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1d0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x120]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x258]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x128]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1d8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x130]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x230]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x138]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1e0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x140]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x270]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x148]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1e8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xe4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x238]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x158]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1f0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x160]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x260]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x168]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1f8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x170]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x240]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x178]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x200]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x180]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x27c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x188]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x208]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x190]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x248]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x198]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x210]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1a0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x268]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1a8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x218]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1b0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x84]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xc4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x8c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x94]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xd4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x5c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x9c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x64]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xbc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x6c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xa4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x74]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xcc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x60]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x68]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x70]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x80]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x88]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x90]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x98]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xa0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xa8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xb0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xb8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xc0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xc8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xd0]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xd8]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xac]
add ecx, 0xfffffff0
call fcn.00402883
or dword [esp + 0x328], 0xffffffff
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00402883
call fcn.0048aa29
push eax
lea ecx, [esp + 0x18]
call fcn.00402840
lea eax, [esp + 0x18]
mov dword [esp + 0x328], 0x71
push eax
lea esi, [esp + 0x284]
mov dword [esp + 0x1c], SysReAllocStringLen
call fcn.0040ab14
push 0x522d08
lea ecx, [esp + 0xe4]
mov byte [esp + 0x32c], 0x72
call fcn.0040255d
push 1
mov byte [esp + 0x32c], 0x73
push dword [esp + 0xe4]
mov dword [esp + 0x288], 0x20019
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0040ab30
test eax, eax
je 0x45e12c
mov esi, str.ASOURL
push esi
lea eax, [esp + 0x284]
push eax
call fcn.0040aba1
test eax, eax
je 0x45e120
lea eax, [esp + 0x14]
push eax
push esi
lea edi, [esp + 0x288]
call fcn.0040ac28
mov edi, 0x5201d8
lea esi, [esp + 0x280]
call fcn.0040ab8e
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], 0
je 0x45e145
lea eax, [esp + 0x14]
push eax
mov ecx, 0x566658
call fcn.0040262c
push 0x5201bc
lea ecx, [esp + 0x28]
call fcn.0040255d
mov dword [esp + 0x90], eax
push 0x5201cc
lea ecx, [esp + 0x30]
mov byte [esp + 0x32c], 0x74
call fcn.0040255d
mov dword [esp + 0x98], eax
mov esi, 0x521eec
push esi
lea ecx, [esp + 0x88]
mov byte [esp + 0x32c], 0x75
call fcn.0040255d
mov dword [esp + 0xa0], eax
push 0x5201c8
lea ecx, [esp + 0x38]
mov byte [esp + 0x32c], 0x76
call fcn.0040255d
mov dword [esp + 0xa8], eax
push ebx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x32c], 0x77
call fcn.0040255d
mov dword [esp + 0xb0], eax
push esi
lea ecx, [esp + 0x40]
mov byte [esp + 0x32c], 0x78
call fcn.0040255d
mov dword [esp + 0xb8], eax
push 0x530a54
lea ecx, [esp + 0x90]
mov byte [esp + 0x32c], 0x79
call fcn.0040255d
mov dword [esp + 0xc0], eax
push 0x52ad20
lea ecx, [esp + 0x48]
mov byte [esp + 0x32c], 0x7a
call fcn.0040255d
mov dword [esp + 0xc8], eax
push 0x520c98
lea ecx, [esp + 0xb8]
mov byte [esp + 0x32c], 0x7b
call fcn.0040255d
mov dword [esp + 0xd0], eax
push 0x5201c0
lea ecx, [esp + 0x50]
mov byte [esp + 0x32c], 0x7c
call fcn.0040255d
mov dword [esp + 0xd8], eax
push 0x5201cc
lea ecx, [esp + 0x98]
mov byte [esp + 0x32c], 0x7d
call fcn.0040255d
mov dword [esp + 0xac], eax
push 0x5201f8
lea ecx, [esp + 0x58]
mov byte [esp + 0x32c], 0x7e
call fcn.0040255d
mov dword [esp + 0x18], eax
push 0x5230e8
lea ecx, [esp + 0xd8]
mov byte [esp + 0x32c], 0x7f
call fcn.0040255d
push 0x5201e8
push eax
mov byte [esp + 0x330], 0x80
lea eax, [esp + 0x64]
push eax
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x81
push dword [esp + 0x18]
push eax
lea eax, [esp + 0xa4]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201f0
push eax
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x334], 0x82
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x83
push dword [esp + 0xac]
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201e8
push eax
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x334], 0x84
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x85
push dword [esp + 0xd8]
push eax
lea eax, [esp + 0xac]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201dc
push eax
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0x334], 0x86
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x87
push dword [esp + 0xd0]
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.00402163
add esp, 0xc
push 0x5201f0
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x334], 0x88
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x89
push dword [esp + 0xc8]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.00402163
add esp, 0xc
push esi
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x330], 0x8a
push eax
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x8b
push dword [esp + 0xc0]
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00402163
add esp, 0xc
push 0x530a50
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x334], 0x8c
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x8d
push dword [esp + 0xb8]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00402163
add esp, 0xc
push 0x5230f0
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x334], 0x8e
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x8f
push dword [esp + 0xb0]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00402163
add esp, 0xc
push 0x520c98
push eax
lea eax, [esp + 0x58]
push eax
mov byte [esp + 0x334], 0x90
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x91
push dword [esp + 0xa8]
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00402163
add esp, 0xc
push edi
push eax
lea eax, [esp + 0x68]
push eax
mov byte [esp + 0x334], 0x92
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x93
push dword [esp + 0xa0]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.00402163
add esp, 0xc
push 0x530a54
push eax
lea eax, [esp + 0x78]
push eax
mov byte [esp + 0x334], 0x94
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x95
push dword [esp + 0x98]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.00402163
add esp, 0xc
push ebx
push eax
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x334], 0x96
call fcn.004021ba
add esp, 0xc
mov byte [esp + 0x328], 0x97
push dword [esp + 0x90]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.00402163
add esp, 0xc
mov byte [esp + 0x328], 0x98
mov eax, dword [eax]
push 3
push eax
lea eax, [esp + 0x2a0]
lea ecx, [esp + 0x2a4]
push eax
mov dword [esp + 0x2a4], ecx
call fcn.0040727b
mov byte [esp + 0x328], 0x99
push dword [esp + 0x298]
mov esi, str.Title
push esi
call fcn.0045a01f
lea eax, [esp + 0x2a4]
pop ecx
pop ecx
cmp dword [esp + 0x298], eax
je 0x45e5c1
push dword [esp + 0x298]
call fcn.004aa7c7
pop ecx
mov ecx, dword [esp + 0x88]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x80]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x78]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x70]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x68]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x60]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x58]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x48]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x40]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x38]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xcc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x74]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xa4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x6c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xbc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x64]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x9c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x5c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xd4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x54]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x94]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x4c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xb4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x8c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xc4]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x84]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff0
call fcn.00402883
mov byte [esp + 0x328], 0x73
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00402883
push 0
push 0
call fcn.0045ab92
push str.Downloading
push esi
call fcn.0045a01f
add esp, 0x10
push dword [0x566660]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45e896
mov esi, 0x532990
push esi
lea ecx, [esp + 0x278]
call fcn.0040c6fa
mov edi, eax
push esi
lea ecx, [esp + 0x270]
mov byte [esp + 0x32c], 0x9a
call fcn.0040c6fa
push 0x566660
push eax
lea eax, [esp + 0x26c]
push eax
mov byte [esp + 0x334], 0x9b
call fcn.00402163
add esp, 0xc
push edi
push eax
lea eax, [esp + 0xe4]
push eax
mov byte [esp + 0x334], 0x9c
call fcn.00402163
mov ecx, dword [esp + 0x270]
add esp, 0xc
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x26c]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x274]
add ecx, 0xfffffff0
call fcn.00402883
push 1
push 0x520938
push 0x531e8c
push dword [esp + 0xe8]
push str.open
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov ecx, dword [esp + 0xdc]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0xe0]
add ecx, 0xfffffff0
call fcn.00402883
lea esi, [esp + 0x280]
call fcn.0040ab8e
mov ecx, dword [esp + 0x288]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.00402883
mov ecx, dword [esp + 0x320]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret