Function at 0x58c2b0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x734760
mov eax, dword fs:[0]
push eax
sub esp, 0xa94
mov eax, dword [0x899944]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
call fcn.00582510
movzx ecx, al
test ecx, ecx
jne 0x58c35a
call fcn.005803b0
mov dword [ebp - 0x808], eax
push 1
push 0
push 0x178f
mov edx, dword [ebp - 0x808]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp - 0x105], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0x105]
jmp 0x58fdf7
push 0x75e933
lea ecx, [ebp - 0x110]
call fcn.00577f20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x110]
push ecx
push ecx
mov esi, esp
mov dword [ebp - 0xa88], esp
mov ecx, dword [ebp - 0xc0]
add ecx, 0x18
call fcn.005785c0
push eax
mov ecx, esi
call fcn.00577f20
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
mov ecx, dword [edx + 0xc]
mov edx, dword [eax + 0x10]
call edx
mov byte [ebp - 0x106], al
movzx eax, byte [ebp - 0x106]
test eax, eax
jne 0x58c424
call fcn.005803b0
mov dword [ebp - 0xa30], eax
push 1
push 0
push 0x178f
mov ecx, dword [ebp - 0xa30]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp - 0x107], 0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x110]
sub eax, 0x10
mov dword [ebp - 0xa34], eax
mov ecx, dword [ebp - 0xa34]
call fcn.00577240
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0x107]
jmp 0x58fdf7
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa38]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
mov dword [eax], 0
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + 4], 0
lea ecx, [ebp - 0xf0]
call fcn.0059b9d0
mov byte [ebp - 4], 2
lea edx, [ebp - 0xf0]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0xa8c], esp
lea eax, [ebp - 0x110]
push eax
call fcn.0057d860
mov ecx, dword [ebp - 0xc0]
call fcn.00593c70
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0xa3c], ecx
cmp dword [ebp - 0xa3c], 0
jbe 0x58c804
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x300], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x300]
push edx
mov eax, dword [ebp - 0x304]
push eax
lea ecx, [ebp - 0x308]
call fcn.00574dd0
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
mov eax, dword [edx]
add eax, 8
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x314], ecx
mov edx, dword [ebp - 0x314]
add edx, 0x58
push edx
lea ecx, [ebp - 0x130]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x40
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x170]
push ecx
call fcn.005ab940
add esp, 4
mov byte [ebp - 4], 4
lea edx, [ebp - 0xa54]
mov dword [ebp - 0x318], edx
mov ecx, dword [ebp - 0x318]
call fcn.00574df0
mov byte [ebp - 4], 5
lea eax, [ebp - 0xa48]
mov dword [ebp - 0x31c], eax
mov ecx, dword [ebp - 0x31c]
call fcn.00574df0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa54]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xa90], esp
push 0x75ec5c
call fcn.00577f20
lea edx, [ebp - 0x130]
push edx
call fcn.0059a440
add esp, 0xc
lea eax, [ebp - 0xa48]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0xa94], esp
push 0x75ecbc
call fcn.00577f20
lea ecx, [ebp - 0x170]
push ecx
call fcn.0059a440
add esp, 0xc
lea edx, [ebp - 0xa48]
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax + 4]
sub edx, dword [ecx]
sar edx, 2
mov dword [ebp - 0x320], edx
cmp dword [ebp - 0x320], 0
jbe 0x58c7aa
lea eax, [ebp - 0xa54]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ecx + 4]
sub eax, dword [edx]
sar eax, 2
mov dword [ebp - 0x324], eax
cmp dword [ebp - 0x324], 0
jbe 0x58c7aa
lea ecx, [ebp - 0xa54]
mov dword [ebp - 0x328], ecx
xor edx, edx
shl edx, 2
mov eax, dword [ebp - 0x328]
add edx, dword [eax]
mov dword [ebp - 0x330], edx
lea ecx, [ebp - 0xa48]
mov dword [ebp - 0x32c], ecx
xor edx, edx
shl edx, 2
mov eax, dword [ebp - 0x32c]
add edx, dword [eax]
mov dword [ebp - 0x338], edx
mov ecx, dword [ebp - 0x330]
mov edx, dword [ecx]
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x338]
call fcn.005818c0
test eax, eax
je 0x58c697
mov dword [ebp - 0x2f4], 1
jmp 0x58c6a1
mov dword [ebp - 0x2f4], 0
movzx ecx, byte [ebp - 0x2f4]
test ecx, ecx
je 0x58c7aa
push str.Version_mismatch_for_download_file
push str.CFTPTask::Execute
push 0xca
push 0x75ecf8
push 3
mov edx, dword [ebp - 0xc0]
push edx
call fcn.00595750
push eax
call fcn.00597650
add esp, 0x1c
call fcn.005803b0
mov dword [ebp - 0x33c], eax
push 1
push 0
push 0x178f
mov eax, dword [ebp - 0x33c]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp - 0x108], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa48]
call fcn.0059c460
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa54]
call fcn.0059c460
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x170]
sub edx, 0x10
mov dword [ebp - 0x340], edx
mov ecx, dword [ebp - 0x340]
call fcn.00577240
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x130]
sub eax, 0x10
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
call fcn.00577240
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
call fcn.005776b0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x110]
sub ecx, 0x10
mov dword [ebp - 0x348], ecx
mov ecx, dword [ebp - 0x348]
call fcn.00577240
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0x108]
jmp 0x58fdf7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xa48]
call fcn.0059c460
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa54]
call fcn.0059c460
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x170]
sub edx, 0x10
mov dword [ebp - 0x34c], edx
mov ecx, dword [ebp - 0x34c]
call fcn.00577240
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x130]
sub eax, 0x10
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
call fcn.00577240
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [eax], 0
mov ecx, dword [ebp - 0x2f8]
mov dword [ecx + 4], 0
lea ecx, [ebp - 0x124]
call fcn.0059ba60
mov byte [ebp - 4], 7
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
mov dword [ebp - 0x35c], ecx
mov edx, dword [ebp - 0x358]
push edx
mov eax, dword [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x128]
call fcn.00574dd0
jmp 0x58c89f
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x360], ecx
mov edx, dword [ebp - 0x128]
mov eax, dword [edx]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x360]
mov dword [ebp - 0xa98], ecx
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x364], edx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x364]
push ecx
mov edx, dword [ebp - 0x368]
push edx
lea ecx, [ebp - 0x36c]
call fcn.00574dd0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x370]
mov edx, dword [ebp - 0x128]
cmp edx, dword [ecx]
jne 0x58c8f8
mov dword [ebp - 0x180], 1
jmp 0x58c902
mov dword [ebp - 0x180], 0
mov al, byte [ebp - 0x180]
mov byte [ebp - 0x109], al
movzx ecx, byte [ebp - 0x109]
test ecx, ecx
jne 0x58c925
mov dword [ebp - 0x184], 1
jmp 0x58c92f
mov dword [ebp - 0x184], 0
mov dl, byte [ebp - 0x184]
mov byte [ebp - 0x10a], dl
movzx eax, byte [ebp - 0x10a]
test eax, eax
je 0x58c9b7
lea ecx, [ebp - 0xac]
call fcn.0057d1b0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x128]
add ecx, 8
mov dword [ebp - 0x374], ecx
mov edx, dword [ebp - 0x374]
mov dword [ebp - 0x378], edx
mov eax, dword [ebp - 0x378]
push eax
lea ecx, [ebp - 0x90]
call fcn.0057f2e0
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0x124]
push edx
lea ecx, [ebp - 0x124]
call fcn.0057a620
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1c]
call fcn.005776b0
lea ecx, [ebp - 0x90]
call fcn.00575420
jmp 0x58c879
lea eax, [ebp - 0x124]
push eax
mov ecx, dword [ebp - 0xc0]
call fcn.005808e0
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0xc0]
mov edx, dword [edx]
mov ecx, dword [eax + 0xc]
mov eax, dword [edx + 0x24]
call eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
je 0x58d06d
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xe0], ecx
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x37c], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x37c]
push edx
mov eax, dword [ebp - 0x380]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00574dd0
jmp 0x58ca5c
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x384]
mov dword [ebp - 0xa9c], ecx
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x388], edx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x38c]
push edx
lea ecx, [ebp - 0x390]
call fcn.00574dd0
lea eax, [ebp - 0x390]
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ecx]
jne 0x58cab5
mov dword [ebp - 0x188], 1
jmp 0x58cabf
mov dword [ebp - 0x188], 0
mov al, byte [ebp - 0x188]
mov byte [ebp - 0x111], al
movzx ecx, byte [ebp - 0x111]
test ecx, ecx
jne 0x58cae2
mov dword [ebp - 0x18c], 1
jmp 0x58caec
mov dword [ebp - 0x18c], 0
mov dl, byte [ebp - 0x18c]
mov byte [ebp - 0x112], dl
movzx eax, byte [ebp - 0x112]
test eax, eax
je 0x58d06d
mov ecx, dword [ebp - 0xe8]
add ecx, 8
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a8], edx
mov eax, dword [ebp - 0x3a8]
add eax, 8
push eax
lea ecx, [ebp - 0x194]
call fcn.0057d860
mov ecx, dword [ebp - 0xb0]
or ecx, 0x80
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x194]
mov dword [ebp - 0x3ac], edx
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x3ac]
call fcn.005785c0
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xe0]
add eax, 0x20
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x134], 0
jne 0x58cbb2
mov dword [ebp - 0x190], 0
jmp 0x58cbc7
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x3b0]
call fcn.005772d0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x194]
sub ecx, 0x10
mov dword [ebp - 0x3b4], ecx
mov ecx, dword [ebp - 0x3b4]
call fcn.00577240
mov edx, dword [ebp - 0xe8]
add edx, 8
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x3c8]
add ecx, 0xc
push ecx
lea ecx, [ebp - 0x19c]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x100
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x3cc], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x3cc]
call fcn.005785c0
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x24
mov dword [ebp - 0x3d0], ecx
cmp dword [ebp - 0x138], 0
jne 0x58cca9
mov dword [ebp - 0x198], 0
jmp 0x58ccbe
mov edx, dword [ebp - 0x138]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x138]
push ecx
mov ecx, dword [ebp - 0x3d0]
call fcn.005772d0
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x19c]
sub edx, 0x10
mov dword [ebp - 0x3d4], edx
mov ecx, dword [ebp - 0x3d4]
call fcn.00577240
mov eax, dword [ebp - 0xe8]
add eax, 8
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e4]
mov dword [ebp - 0x3e8], ecx
mov edx, dword [ebp - 0x3e8]
push edx
lea ecx, [ebp - 0x1a4]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x200
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x3ec], ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x3ec]
call fcn.005785c0
mov dword [ebp - 0x13c], eax
mov edx, dword [ebp - 0xe0]
add edx, 0x28
mov dword [ebp - 0x3f0], edx
cmp dword [ebp - 0x13c], 0
jne 0x58cd9c
mov dword [ebp - 0x1a0], 0
jmp 0x58cdb1
mov eax, dword [ebp - 0x13c]
push eax
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
mov ecx, dword [ebp - 0x3f0]
call fcn.005772d0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1a4]
sub eax, 0x10
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f4]
call fcn.00577240
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x2c], 0
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0x30], 0
mov eax, dword [ebp - 0xe8]
add eax, 8
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x408]
mov eax, dword [edx + 4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0x40c]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0xe0]
add eax, 0x1c
mov dword [ebp - 0x410], eax
mov ecx, 0x75ed54
test ecx, ecx
jne 0x58ce83
mov dword [ebp - 0x1a8], 0
jmp 0x58ce96
push 0x75ed54
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x1a8]
push edx
push 0x75ed54
mov ecx, dword [ebp - 0x410]
call fcn.005772d0
mov eax, dword [ebp - 0xe8]
add eax, 8
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x420]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x424]
add edx, 0x10
push edx
lea ecx, [ebp - 0x1ac]
call fcn.0057bea0
mov eax, dword [ebp - 0xb0]
or eax, 0x400
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x428], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xe0]
add edx, 0x38
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0x42c]
call fcn.0057f1d0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1ac]
sub ecx, 0x10
mov dword [ebp - 0x430], ecx
mov ecx, dword [ebp - 0x430]
call fcn.00577240
mov edx, dword [ebp - 0xe8]
add edx, 8
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x444]
add ecx, 0x14
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.0057bea0
mov edx, dword [ebp - 0xb0]
or edx, 0x800
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x448], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xe0]
add ecx, 0x3c
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x448]
push edx
mov ecx, dword [ebp - 0x44c]
call fcn.0057f1d0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1b0]
sub eax, 0x10
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
call fcn.00577240
call fcn.005803b0
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jne 0x58d036
mov dword [ebp - 0x1b8], 0
jmp 0x58d045
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0x30]
push edx
push 0x178a
mov eax, dword [ebp - 0x1b8]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x58ca36
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
mov dword [eax], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ecx + 4], 0
lea ecx, [ebp - 0x17c]
call fcn.0059ba60
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x1c0]
mov dword [ecx], 0
mov edx, dword [ebp - 0x1c0]
mov dword [edx + 4], 0
lea ecx, [ebp - 0x11c]
call fcn.0059ba60
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x12c], 0
lea eax, [ebp - 0x124]
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x124]
mov edx, dword [ecx]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x45c]
push eax
mov ecx, dword [ebp - 0x460]
push ecx
lea ecx, [ebp - 0xb4]
call fcn.00574dd0
jmp 0x58d152
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x464]
mov dword [ebp - 0xaa0], edx
lea eax, [ebp - 0x124]
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x468]
push edx
mov eax, dword [ebp - 0x46c]
push eax
lea ecx, [ebp - 0x470]
call fcn.00574dd0
lea ecx, [ebp - 0x470]
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x474]
mov eax, dword [ebp - 0xb4]
cmp eax, dword [edx]
jne 0x58d1ab
mov dword [ebp - 0x1c4], 1
jmp 0x58d1b5
mov dword [ebp - 0x1c4], 0
mov cl, byte [ebp - 0x1c4]
mov byte [ebp - 0xf5], cl
movzx edx, byte [ebp - 0xf5]
test edx, edx
jne 0x58d1d8
mov dword [ebp - 0x1c8], 1
jmp 0x58d1e2
mov dword [ebp - 0x1c8], 0
mov al, byte [ebp - 0x1c8]
mov byte [ebp - 0xf6], al
movzx ecx, byte [ebp - 0xf6]
test ecx, ecx
je 0x58dfc8
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xb4]
add eax, 8
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x484], eax
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x488]
add edx, 0x24
push edx
lea ecx, [ebp - 0x1d0]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x1000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x48c], ecx
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x48c]
call fcn.005785c0
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0xd4]
add edx, 0x20
mov dword [ebp - 0x490], edx
cmp dword [ebp - 0x140], 0
jne 0x58d2b3
mov dword [ebp - 0x1cc], 0
jmp 0x58d2c8
mov eax, dword [ebp - 0x140]
push eax
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov ecx, dword [ebp - 0x490]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x1d0]
sub eax, 0x10
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x494]
call fcn.00577240
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x498]
mov dword [ebp - 0x49c], edx
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], edx
mov eax, dword [ebp - 0x4a8]
add eax, 0x28
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0057d860
mov ecx, dword [ebp - 0xb0]
or ecx, 0x2000
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x1d8]
mov dword [ebp - 0x4ac], edx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4ac]
call fcn.005785c0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xd4]
add eax, 0x24
mov dword [ebp - 0x4b0], eax
cmp dword [ebp - 0x160], 0
jne 0x58d3aa
mov dword [ebp - 0x1d4], 0
jmp 0x58d3bf
mov ecx, dword [ebp - 0x160]
push ecx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
push edx
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x4b0]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1d8]
sub ecx, 0x10
mov dword [ebp - 0x4b4], ecx
mov ecx, dword [ebp - 0x4b4]
call fcn.00577240
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x4b8], edx
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
add ecx, 0x1c
push ecx
lea ecx, [ebp - 0x1e0]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x4000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x4cc], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x4cc]
call fcn.005785c0
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x28
mov dword [ebp - 0x4d0], ecx
cmp dword [ebp - 0x144], 0
jne 0x58d4a1
mov dword [ebp - 0x1dc], 0
jmp 0x58d4b6
mov edx, dword [ebp - 0x144]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov ecx, dword [ebp - 0x4d0]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x1e0]
sub edx, 0x10
mov dword [ebp - 0x4d4], edx
mov ecx, dword [ebp - 0x4d4]
call fcn.00577240
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x2c], 0x1f5
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x4e0]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x4ec]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0x4fc], edx
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x500]
movzx edx, byte [ecx + 0x98]
test edx, edx
jne 0x58da09
mov eax, dword [ebp - 0xb4]
add eax, 8
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x514], ecx
mov edx, dword [ebp - 0x514]
movsx eax, word [edx + 0x9a]
cmp eax, 1
jne 0x58d67b
push ecx
mov ecx, esp
mov dword [ebp - 0xa5c], esp
push 0x75ed58
call fcn.00577f20
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0x524], ecx
mov edx, dword [ebp - 0x524]
mov dword [ebp - 0x528], edx
mov ecx, dword [ebp - 0x528]
add ecx, 0x1c
call fcn.00599e70
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x30], 0x64
jmp 0x58da04
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x52c]
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x538]
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x53c]
movsx ecx, word [eax + 0x9a]
cmp ecx, 2
jne 0x58d731
push ecx
mov ecx, esp
mov dword [ebp - 0xa60], esp
push 0x75ed64
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x548], ecx
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x54c]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58da04
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x554], ecx
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x55c], eax
mov ecx, dword [ebp - 0x55c]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x560]
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x564]
movsx ecx, word [eax + 0x9a]
cmp ecx, 3
jne 0x58d7e7
push ecx
mov ecx, esp
mov dword [ebp - 0xa64], esp
push 0x75ed68
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0x568]
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x570]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58da04
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x57c]
mov dword [ebp - 0x580], edx
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x584]
mov dword [ebp - 0x588], ecx
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0x58c], edx
mov eax, dword [ebp - 0x58c]
movsx ecx, word [eax + 0x9a]
cmp ecx, 4
jne 0x58d89d
push ecx
mov ecx, esp
mov dword [ebp - 0xa68], esp
push 0x75ed80
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x590], edx
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x594]
mov dword [ebp - 0x598], ecx
mov edx, dword [ebp - 0x598]
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x59c]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5a0]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58da04
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp - 0x5a4]
mov dword [ebp - 0x5a8], edx
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5ac]
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5b0]
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b4]
movsx ecx, word [eax + 0x9a]
cmp ecx, 5
jne 0x58d953
push ecx
mov ecx, esp
mov dword [ebp - 0xa6c], esp
push 0x75ed94
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c0], ecx
mov edx, dword [ebp - 0x5c0]
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5c8]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58da04
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d4]
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5dc]
movsx ecx, word [eax + 0x9a]
cmp ecx, 6
jne 0x58da04
push ecx
mov ecx, esp
mov dword [ebp - 0xa70], esp
push 0x75edb0
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x5e0], edx
mov eax, dword [ebp - 0x5e0]
mov dword [ebp - 0x5e4], eax
mov ecx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], ecx
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x5f0]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58db1b
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], eax
mov ecx, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], ecx
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0x604], edx
mov eax, dword [ebp - 0x604]
movsx ecx, word [eax + 0x9a]
test ecx, ecx
jne 0x58dabb
push ecx
mov ecx, esp
mov dword [ebp - 0xa74], esp
push str.Downloading.
call fcn.00577f20
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x608]
mov dword [ebp - 0x60c], eax
mov ecx, dword [ebp - 0x60c]
mov dword [ebp - 0x610], ecx
mov edx, dword [ebp - 0x610]
mov dword [ebp - 0x614], edx
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x618]
add ecx, 0x1c
call fcn.00599e70
jmp 0x58db1b
push ecx
mov ecx, esp
mov dword [ebp - 0xa78], esp
push 0x75e946
call fcn.00577f20
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x61c]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 0x628], ecx
mov edx, dword [ebp - 0x628]
mov dword [ebp - 0x62c], edx
mov ecx, dword [ebp - 0x62c]
add ecx, 0x1c
call fcn.00599e70
mov eax, dword [ebp - 0xb4]
add eax, 8
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x630]
mov dword [ebp - 0x634], ecx
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x638]
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x63c]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x640]
add edx, 0x88
push edx
lea ecx, [ebp - 0x1e8]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x8000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x644], ecx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x644]
call fcn.005785c0
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0xd4]
add edx, 0x1c
mov dword [ebp - 0x648], edx
cmp dword [ebp - 0x148], 0
jne 0x58dbc8
mov dword [ebp - 0x1e4], 0
jmp 0x58dbdd
mov eax, dword [ebp - 0x148]
push eax
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
push ecx
mov edx, dword [ebp - 0x148]
push edx
mov ecx, dword [ebp - 0x648]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x1e8]
sub eax, 0x10
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x64c]
call fcn.00577240
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x65c], ecx
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x660], edx
mov eax, dword [ebp - 0x660]
add eax, 0x2c
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0057bea0
mov ecx, dword [ebp - 0xb0]
or ecx, 0x10000
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x1ec]
mov dword [ebp - 0x664], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0xd4]
add eax, 0x38
mov dword [ebp - 0x668], eax
mov ecx, dword [ebp - 0x664]
push ecx
mov ecx, dword [ebp - 0x668]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x1ec]
sub edx, 0x10
mov dword [ebp - 0x66c], edx
mov ecx, dword [ebp - 0x66c]
call fcn.00577240
mov eax, dword [ebp - 0xb4]
add eax, 8
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
mov dword [ebp - 0x674], ecx
mov edx, dword [ebp - 0x674]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x680]
add edx, 0x30
push edx
lea ecx, [ebp - 0x1f0]
call fcn.0057bea0
mov eax, dword [ebp - 0xb0]
or eax, 0x20000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x1f0]
mov dword [ebp - 0x684], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0xd4]
add edx, 0x3c
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x684]
push eax
mov ecx, dword [ebp - 0x688]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1f0]
sub ecx, 0x10
mov dword [ebp - 0x68c], ecx
mov ecx, dword [ebp - 0x68c]
call fcn.00577240
call fcn.005803b0
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
jne 0x58dd9d
mov dword [ebp - 0x1f8], 0
jmp 0x58ddac
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x1f8], eax
mov ecx, dword [ebp - 0xd4]
push ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [edx + 0x30]
push eax
push 0x178a
mov ecx, dword [ebp - 0x1f8]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0x694], eax
mov ecx, dword [ebp - 0x694]
add ecx, 0x30
push ecx
lea ecx, [ebp - 0x200]
call fcn.0057bea0
mov edx, dword [ebp - 0xb0]
or edx, 0x40000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x200]
mov dword [ebp - 0x698], eax
push 0x75eddc
mov ecx, dword [ebp - 0x698]
call fcn.005818c0
test eax, eax
jne 0x58de3d
mov dword [ebp - 0x1fc], 1
jmp 0x58de47
mov dword [ebp - 0x1fc], 0
mov cl, byte [ebp - 0x1fc]
mov byte [ebp - 0xf7], cl
mov edx, dword [ebp - 0x200]
sub edx, 0x10
mov dword [ebp - 0x69c], edx
mov ecx, dword [ebp - 0x69c]
call fcn.00577240
movzx eax, byte [ebp - 0xf7]
test eax, eax
je 0x58df8f
mov ecx, dword [ebp - 0xb4]
add ecx, 8
mov dword [ebp - 0x6a0], ecx
mov edx, dword [ebp - 0x6a0]
mov dword [ebp - 0x6a4], edx
mov eax, dword [ebp - 0x6a4]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
lea ecx, [ebp - 0x17c]
call fcn.0057a620
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x6a8], edx
mov eax, dword [ebp - 0x6a8]
mov dword [ebp - 0x6ac], eax
mov ecx, dword [ebp - 0x6ac]
movzx edx, byte [ecx + 0x98]
cmp edx, 1
jne 0x58df8d
push 0x88
call fcn.005c46fb
add esp, 4
mov dword [ebp - 0x204], eax
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x204], 0
je 0x58df48
mov eax, dword [ebp - 0xb4]
add eax, 8
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x6b0]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
add edx, 0x1c
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0xc]
call fcn.00596970
push eax
mov ecx, dword [ebp - 0x204]
call fcn.0057c800
mov dword [ebp - 0x208], eax
jmp 0x58df52
mov dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x6b8], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x6bc]
push eax
mov ecx, dword [ebp - 0xc0]
mov ecx, dword [ecx + 0x10]
call fcn.005849a0
mov dword [ebp - 0x12c], 0xfffffffe
jmp 0x58dfc3
mov edx, dword [ebp - 0xb4]
add edx, 8
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x6c4], eax
mov ecx, dword [ebp - 0x6c4]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
lea ecx, [ebp - 0x11c]
call fcn.0057a620
jmp 0x58d12c
call fcn.005803b0
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jne 0x58dfe8
mov dword [ebp - 0x210], 0
jmp 0x58dff7
mov eax, dword [ebp - 0x20c]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x210], ecx
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x12c]
push eax
push 0x178b
mov ecx, dword [ebp - 0x210]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0x12c], 0
je 0x58e02d
cmp dword [ebp - 0x12c], 3
jne 0x58e89a
call fcn.005803b0
mov dword [ebp - 0x6c8], eax
push 1
push 0
push 0x178f
mov edx, dword [ebp - 0x6c8]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0xf4], 0
je 0x58e81c
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xcc], ecx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
mov dword [ebp - 0x6d0], ecx
mov edx, dword [ebp - 0x6cc]
push edx
mov eax, dword [ebp - 0x6d0]
push eax
lea ecx, [ebp - 0xe4]
call fcn.00574dd0
jmp 0x58e0c5
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x6d4]
mov dword [ebp - 0xa7c], ecx
lea edx, [ebp - 0x11c]
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x6d8]
push ecx
mov edx, dword [ebp - 0x6dc]
push edx
lea ecx, [ebp - 0x6e0]
call fcn.00574dd0
lea eax, [ebp - 0x6e0]
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x6e4]
mov edx, dword [ebp - 0xe4]
cmp edx, dword [ecx]
jne 0x58e11e
mov dword [ebp - 0x214], 1
jmp 0x58e128
mov dword [ebp - 0x214], 0
mov al, byte [ebp - 0x214]
mov byte [ebp - 0xf8], al
movzx ecx, byte [ebp - 0xf8]
test ecx, ecx
jne 0x58e14b
mov dword [ebp - 0x218], 1
jmp 0x58e155
mov dword [ebp - 0x218], 0
mov dl, byte [ebp - 0x218]
mov byte [ebp - 0xf9], dl
movzx eax, byte [ebp - 0xf9]
test eax, eax
je 0x58e81c
mov ecx, dword [ebp - 0xe4]
add ecx, 8
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6e8]
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6f0]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x6f4]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x6f8]
add eax, 0x24
push eax
lea ecx, [ebp - 0x220]
call fcn.0057d860
mov ecx, dword [ebp - 0xb0]
or ecx, 0x80000
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x220]
mov dword [ebp - 0x6fc], edx
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x6fc]
call fcn.005785c0
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0xcc]
add eax, 0x20
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x14c], 0
jne 0x58e21b
mov dword [ebp - 0x21c], 0
jmp 0x58e230
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x21c], eax
mov edx, dword [ebp - 0x21c]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x700]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x220]
sub ecx, 0x10
mov dword [ebp - 0x704], ecx
mov ecx, dword [ebp - 0x704]
call fcn.00577240
mov edx, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x710]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x718]
add ecx, 0x1c
push ecx
lea ecx, [ebp - 0x228]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x100000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x228]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x71c]
call fcn.005785c0
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x28
mov dword [ebp - 0x720], ecx
cmp dword [ebp - 0x150], 0
jne 0x58e312
mov dword [ebp - 0x224], 0
jmp 0x58e327
mov edx, dword [ebp - 0x150]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
mov ecx, dword [ebp - 0x720]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x228]
sub edx, 0x10
mov dword [ebp - 0x724], edx
mov ecx, dword [ebp - 0x724]
call fcn.00577240
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x2c], 1
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x728], edx
mov eax, dword [ebp - 0x728]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x738]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x73c]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x744], eax
mov ecx, dword [ebp - 0x744]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x748]
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x750]
add ecx, 0x88
push ecx
lea ecx, [ebp - 0x230]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x200000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x230]
mov dword [ebp - 0x754], eax
push 0x75ede0
mov ecx, dword [ebp - 0x754]
call fcn.005818c0
test eax, eax
je 0x58e46a
mov dword [ebp - 0x22c], 1
jmp 0x58e474
mov dword [ebp - 0x22c], 0
mov cl, byte [ebp - 0x22c]
mov byte [ebp - 0xfa], cl
mov edx, dword [ebp - 0x230]
sub edx, 0x10
mov dword [ebp - 0x758], edx
mov ecx, dword [ebp - 0x758]
call fcn.00577240
movzx eax, byte [ebp - 0xfa]
test eax, eax
je 0x58e555
cmp dword [ebp - 0x12c], 3
jne 0x58e502
mov ecx, dword [ebp - 0xcc]
add ecx, 0x1c
mov dword [ebp - 0x75c], ecx
mov edx, str.Download_available.
test edx, edx
jne 0x58e4d6
mov dword [ebp - 0x234], 0
jmp 0x58e4e9
push str.Download_available.
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
push eax
push str.Download_available.
mov ecx, dword [ebp - 0x75c]
call fcn.005772d0
jmp 0x58e550
mov ecx, dword [ebp - 0xcc]
add ecx, 0x1c
mov dword [ebp - 0x760], ecx
mov edx, str.Download_cancelled.
test edx, edx
jne 0x58e526
mov dword [ebp - 0x238], 0
jmp 0x58e539
push str.Download_cancelled.
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
push eax
push str.Download_cancelled.
mov ecx, dword [ebp - 0x760]
call fcn.005772d0
jmp 0x58e65c
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 0x30], 0x64
mov edx, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x76c]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
add ecx, 0x88
push ecx
lea ecx, [ebp - 0x240]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x400000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x240]
mov dword [ebp - 0x778], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x778]
call fcn.005785c0
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x1c
mov dword [ebp - 0x77c], ecx
cmp dword [ebp - 0x154], 0
jne 0x58e610
mov dword [ebp - 0x23c], 0
jmp 0x58e625
mov edx, dword [ebp - 0x154]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x154]
push ecx
mov ecx, dword [ebp - 0x77c]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x240]
sub edx, 0x10
mov dword [ebp - 0x780], edx
mov ecx, dword [ebp - 0x780]
call fcn.00577240
mov eax, dword [ebp - 0xe4]
add eax, 8
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x788], ecx
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x78c], edx
mov eax, dword [ebp - 0x78c]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x790]
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x794]
add edx, 0x2c
push edx
lea ecx, [ebp - 0x244]
call fcn.0057bea0
mov eax, dword [ebp - 0xb0]
or eax, 0x800000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x798], ecx
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0xcc]
add edx, 0x38
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x798]
push eax
mov ecx, dword [ebp - 0x79c]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x244]
sub ecx, 0x10
mov dword [ebp - 0x7a0], ecx
mov ecx, dword [ebp - 0x7a0]
call fcn.00577240
mov edx, dword [ebp - 0xe4]
add edx, 8
mov dword [ebp - 0x7a4], edx
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x7a8], eax
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
add ecx, 0x30
push ecx
lea ecx, [ebp - 0x248]
call fcn.0057bea0
mov edx, dword [ebp - 0xb0]
or edx, 0x1000000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x248]
mov dword [ebp - 0x7b8], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xcc]
add ecx, 0x3c
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7b8]
push edx
mov ecx, dword [ebp - 0x7bc]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x248]
sub eax, 0x10
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x7c0]
call fcn.00577240
call fcn.005803b0
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jne 0x58e7e5
mov dword [ebp - 0x250], 0
jmp 0x58e7f4
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x30]
push edx
push 0x178a
mov eax, dword [ebp - 0x250]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x58e09f
mov byte [ebp - 0xfb], 0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x11c]
call fcn.0059c280
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0059c280
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x124]
call fcn.0059c280
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
call fcn.005776b0
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x110]
sub ecx, 0x10
mov dword [ebp - 0x7c4], ecx
mov ecx, dword [ebp - 0x7c4]
call fcn.00577240
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0xfb]
jmp 0x58fdf7
mov byte [ebp - 0xc5], 0
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x7c8]
push edx
mov eax, dword [ebp - 0x7cc]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00574dd0
jmp 0x58e8fc
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x7d0]
mov dword [ebp - 0xa80], ecx
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x7d4], edx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x7d8], eax
mov ecx, dword [ebp - 0x7d4]
push ecx
mov edx, dword [ebp - 0x7d8]
push edx
lea ecx, [ebp - 0x7dc]
call fcn.00574dd0
lea eax, [ebp - 0x7dc]
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ebp - 0xbc]
cmp edx, dword [ecx]
jne 0x58e955
mov dword [ebp - 0x254], 1
jmp 0x58e95f
mov dword [ebp - 0x254], 0
mov al, byte [ebp - 0x254]
mov byte [ebp - 0xfc], al
movzx ecx, byte [ebp - 0xfc]
test ecx, ecx
jne 0x58e982
mov dword [ebp - 0x258], 1
jmp 0x58e98c
mov dword [ebp - 0x258], 0
mov dl, byte [ebp - 0x258]
mov byte [ebp - 0xfd], dl
movzx eax, byte [ebp - 0xfd]
test eax, eax
je 0x58fcc8
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x7e4], ecx
mov edx, dword [ebp - 0x11c]
mov eax, dword [edx]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x7e4]
push ecx
mov edx, dword [ebp - 0x7e8]
push edx
lea ecx, [ebp - 0xd0]
call fcn.00574dd0
jmp 0x58ea02
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ecx]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0xa84], eax
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x7f0]
push eax
mov ecx, dword [ebp - 0x7f4]
push ecx
lea ecx, [ebp - 0x7f8]
call fcn.00574dd0
lea edx, [ebp - 0x7f8]
mov dword [ebp - 0x7fc], edx
mov eax, dword [ebp - 0x7fc]
mov ecx, dword [ebp - 0xd0]
cmp ecx, dword [eax]
jne 0x58ea5b
mov dword [ebp - 0x2ac], 1
jmp 0x58ea65
mov dword [ebp - 0x2ac], 0
mov dl, byte [ebp - 0x2ac]
mov byte [ebp - 0xfe], dl
movzx eax, byte [ebp - 0xfe]
test eax, eax
jne 0x58ea88
mov dword [ebp - 0x260], 1
jmp 0x58ea92
mov dword [ebp - 0x260], 0
mov cl, byte [ebp - 0x260]
mov byte [ebp - 0x10b], cl
movzx edx, byte [ebp - 0x10b]
test edx, edx
je 0x58fcc3
mov eax, dword [ebp - 0xd0]
add eax, 8
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x800]
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x804]
add edx, 0x1c
push edx
lea ecx, [ebp - 0x288]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x2000000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x810], ecx
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0xb0]
or edx, 1
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xbc]
add eax, 8
mov dword [ebp - 0x94c], eax
mov ecx, dword [ebp - 0x94c]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x80c]
push edx
lea ecx, [ebp - 0x284]
call fcn.0057d860
mov eax, dword [ebp - 0xb0]
or eax, 0x4000000
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x818], ecx
mov dword [ebp - 4], 0x1d
mov edx, dword [ebp - 0xb0]
or edx, 2
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x810]
mov ecx, dword [eax]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
push edx
mov ecx, dword [ebp - 0x818]
call fcn.005818c0
test eax, eax
jne 0x58eb9d
mov dword [ebp - 0x264], 1
jmp 0x58eba7
mov dword [ebp - 0x264], 0
movzx eax, byte [ebp - 0x264]
test eax, eax
je 0x58edd9
mov ecx, dword [ebp - 0xd0]
add ecx, 8
mov dword [ebp - 0x81c], ecx
mov edx, dword [ebp - 0x81c]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
add eax, 0x24
push eax
lea ecx, [ebp - 0x280]
call fcn.0057d860
mov ecx, dword [ebp - 0xb0]
or ecx, 0x8000000
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x280]
mov dword [ebp - 0x82c], edx
mov dword [ebp - 4], 0x1e
mov eax, dword [ebp - 0xb0]
or eax, 4
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x824]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x828]
add eax, 8
push eax
lea ecx, [ebp - 0x27c]
call fcn.0057d860
mov ecx, dword [ebp - 0xb0]
or ecx, 0x10000000
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x27c]
mov dword [ebp - 0x834], edx
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0xb0]
or eax, 8
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x82c]
mov edx, dword [ecx]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x830]
push eax
mov ecx, dword [ebp - 0x834]
call fcn.005818c0
test eax, eax
jne 0x58ecae
mov dword [ebp - 0x268], 1
jmp 0x58ecb8
mov dword [ebp - 0x268], 0
movzx ecx, byte [ebp - 0x268]
test ecx, ecx
je 0x58edd9
mov edx, dword [ebp - 0xd0]
add edx, 8
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x838]
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
add ecx, 0x5c
push ecx
lea ecx, [ebp - 0x278]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x20000000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x278]
mov dword [ebp - 0x848], eax
mov dword [ebp - 4], 0x20
mov ecx, dword [ebp - 0xb0]
or ecx, 0x10
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x844]
add ecx, 0x40
push ecx
lea ecx, [ebp - 0x274]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x40000000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x274]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0xb0]
or ecx, 0x20
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0x848]
mov eax, dword [edx]
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
push ecx
mov ecx, dword [ebp - 0x850]
call fcn.005818c0
test eax, eax
jne 0x58edb8
mov dword [ebp - 0x26c], 1
jmp 0x58edc2
mov dword [ebp - 0x26c], 0
movzx edx, byte [ebp - 0x26c]
test edx, edx
je 0x58edd9
mov dword [ebp - 0x270], 1
jmp 0x58ede3
mov dword [ebp - 0x270], 0
mov al, byte [ebp - 0x270]
mov byte [ebp - 0xff], al
mov ecx, dword [ebp - 0xb0]
and ecx, 0x20
je 0x58ee1b
and dword [ebp - 0xb0], 0xffffffdf
mov edx, dword [ebp - 0x274]
sub edx, 0x10
mov dword [ebp - 0x854], edx
mov ecx, dword [ebp - 0x854]
call fcn.00577240
mov dword [ebp - 4], 0x1f
mov eax, dword [ebp - 0xb0]
and eax, 0x10
je 0x58ee4e
and dword [ebp - 0xb0], 0xffffffef
mov ecx, dword [ebp - 0x278]
sub ecx, 0x10
mov dword [ebp - 0x858], ecx
mov ecx, dword [ebp - 0x858]
call fcn.00577240
mov dword [ebp - 4], 0x1e
mov edx, dword [ebp - 0xb0]
and edx, 8
je 0x58ee81
and dword [ebp - 0xb0], 0xfffffff7
mov eax, dword [ebp - 0x27c]
sub eax, 0x10
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x85c]
call fcn.00577240
mov dword [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xb0]
and ecx, 4
je 0x58eeb4
and dword [ebp - 0xb0], 0xfffffffb
mov edx, dword [ebp - 0x280]
sub edx, 0x10
mov dword [ebp - 0x860], edx
mov ecx, dword [ebp - 0x860]
call fcn.00577240
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0xb0]
and eax, 2
je 0x58eee7
and dword [ebp - 0xb0], 0xfffffffd
mov ecx, dword [ebp - 0x284]
sub ecx, 0x10
mov dword [ebp - 0x864], ecx
mov ecx, dword [ebp - 0x864]
call fcn.00577240
mov dword [ebp - 4], 0xf
mov edx, dword [ebp - 0xb0]
and edx, 1
je 0x58ef1a
and dword [ebp - 0xb0], 0xfffffffe
mov eax, dword [ebp - 0x288]
sub eax, 0x10
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x868]
call fcn.00577240
movzx ecx, byte [ebp - 0xff]
test ecx, ecx
je 0x58fcbe
mov edx, dword [ebp - 0xd0]
add edx, 8
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
movzx edx, byte [ecx + 0x98]
cmp edx, 1
jne 0x58f676
mov eax, dword [ebp - 0xd0]
add eax, 8
mov dword [ebp - 0x874], eax
mov ecx, dword [ebp - 0x874]
mov dword [ebp - 0x878], ecx
mov edx, dword [ebp - 0x878]
mov al, byte [edx + 0x8c]
mov byte [ebp - 0x100], al
movzx ecx, byte [ebp - 0x100]
cmp ecx, 1
jne 0x58f042
push 0x88
call fcn.005c46fb
add esp, 4
mov dword [ebp - 0x28c], eax
mov byte [ebp - 4], 0x21
cmp dword [ebp - 0x28c], 0
je 0x58effb
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], eax
mov ecx, dword [ebp - 0x880]
push ecx
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edx + 0xc]
call fcn.00596970
push eax
mov ecx, dword [ebp - 0x28c]
call fcn.0057c800
mov dword [ebp - 0x290], eax
jmp 0x58f005
mov dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x884], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x884]
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x888]
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
call fcn.005849a0
mov byte [ebp - 0xc5], 1
jmp 0x58f671
cmp dword [ebp - 0xf4], 0
je 0x58f671
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x894]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x898]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x89c]
add ecx, 8
push ecx
lea ecx, [ebp - 0x298]
call fcn.0057d860
mov edx, dword [ebp - 0xb0]
or edx, 0x80000000
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0x298]
mov dword [ebp - 0x8a0], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x8a0]
call fcn.005785c0
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 0x20
mov dword [ebp - 0x8a4], ecx
cmp dword [ebp - 0x158], 0
jne 0x58f106
mov dword [ebp - 0x294], 0
jmp 0x58f11b
mov edx, dword [ebp - 0x158]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
mov ecx, dword [ebp - 0x8a4]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x298]
sub edx, 0x10
mov dword [ebp - 0x8a8], edx
mov ecx, dword [ebp - 0x8a8]
call fcn.00577240
mov eax, dword [ebp - 0xbc]
add eax, 8
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0x8b4]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
mov dword [ebp - 0x8bc], ecx
mov edx, dword [ebp - 0x8bc]
add edx, 0xc
push edx
lea ecx, [ebp - 0x2a0]
call fcn.0057d860
mov eax, dword [ebp - 0xc4]
or eax, 1
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x8c0], ecx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x8c0]
call fcn.005785c0
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0xd8]
add edx, 0x24
mov dword [ebp - 0x8c4], edx
cmp dword [ebp - 0x15c], 0
jne 0x58f1fa
mov dword [ebp - 0x29c], 0
jmp 0x58f20f
mov eax, dword [ebp - 0x15c]
push eax
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x29c]
push ecx
mov edx, dword [ebp - 0x15c]
push edx
mov ecx, dword [ebp - 0x8c4]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x2a0]
sub eax, 0x10
mov dword [ebp - 0x8c8], eax
mov ecx, dword [ebp - 0x8c8]
call fcn.00577240
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d4], eax
mov ecx, dword [ebp - 0x8d4]
mov dword [ebp - 0x8d8], ecx
mov edx, dword [ebp - 0x8d8]
mov dword [ebp - 0x8dc], edx
mov eax, dword [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.0057d860
mov ecx, dword [ebp - 0xc4]
or ecx, 2
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x2a8]
mov dword [ebp - 0x8e0], edx
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x8e0]
call fcn.005785c0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0xd8]
add eax, 0x28
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x174], 0
jne 0x58f2eb
mov dword [ebp - 0x2a4], 0
jmp 0x58f300
mov ecx, dword [ebp - 0x174]
push ecx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2a4], eax
mov edx, dword [ebp - 0x2a4]
push edx
mov eax, dword [ebp - 0x174]
push eax
mov ecx, dword [ebp - 0x8e4]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2a8]
sub ecx, 0x10
mov dword [ebp - 0x8e8], ecx
mov ecx, dword [ebp - 0x8e8]
call fcn.00577240
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x2c], 1
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x30], 0
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x8ec], ecx
mov edx, dword [ebp - 0x8ec]
mov dword [ebp - 0x8f0], edx
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x8f4], eax
mov ecx, dword [ebp - 0x8f4]
mov dword [ebp - 0x8f8], ecx
mov edx, dword [ebp - 0x8f8]
mov dword [ebp - 0x8fc], edx
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x900], ecx
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x900]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 8
mov dword [ebp - 0x904], ecx
mov edx, dword [ebp - 0x904]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
movzx ecx, byte [eax + 0x98]
cmp ecx, 1
jne 0x58f42b
mov edx, dword [ebp - 0xd8]
add edx, 0x1c
mov dword [ebp - 0x90c], edx
mov eax, str.File_not_selected
test eax, eax
jne 0x58f3ff
mov dword [ebp - 0x2fc], 0
jmp 0x58f412
push str.File_not_selected
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
push ecx
push str.File_not_selected
mov ecx, dword [ebp - 0x90c]
call fcn.005772d0
jmp 0x58f479
mov edx, dword [ebp - 0xd8]
add edx, 0x1c
mov dword [ebp - 0x910], edx
mov eax, str.File_Up_to_date
test eax, eax
jne 0x58f44f
mov dword [ebp - 0x2b0], 0
jmp 0x58f462
push str.File_Up_to_date
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
push ecx
push str.File_Up_to_date
mov ecx, dword [ebp - 0x910]
call fcn.005772d0
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x914], edx
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x918], eax
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x91c], ecx
mov edx, dword [ebp - 0x91c]
mov dword [ebp - 0x920], edx
mov eax, dword [ebp - 0x920]
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x924]
mov edx, dword [ecx + 0x10]
sub edx, 0x10
mov dword [ebp - 0x928], edx
mov eax, dword [ebp - 0x928]
push eax
call fcn.00578420
add esp, 4
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x92c]
add ecx, 0x10
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0xc4]
or edx, 4
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x930], eax
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xd8]
add ecx, 0x38
mov dword [ebp - 0x934], ecx
mov edx, dword [ebp - 0x930]
push edx
mov ecx, dword [ebp - 0x934]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x2b4]
sub eax, 0x10
mov dword [ebp - 0x938], eax
mov ecx, dword [ebp - 0x938]
call fcn.00577240
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x93c], ecx
mov edx, dword [ebp - 0x93c]
mov dword [ebp - 0x940], edx
mov eax, dword [ebp - 0x940]
mov dword [ebp - 0x944], eax
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0x948], ecx
mov edx, dword [ebp - 0x948]
mov dword [ebp - 0xa58], edx
mov eax, dword [ebp - 0xa58]
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x950]
push edx
call fcn.00578420
add esp, 4
mov dword [ebp - 0x954], eax
mov eax, dword [ebp - 0x954]
add eax, 0x10
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0xc4]
or ecx, 8
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x2b8]
mov dword [ebp - 0x958], edx
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0xd8]
add eax, 0x3c
mov dword [ebp - 0x95c], eax
mov ecx, dword [ebp - 0x958]
push ecx
mov ecx, dword [ebp - 0x95c]
call fcn.0057f1d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x2b8]
sub edx, 0x10
mov dword [ebp - 0x960], edx
mov ecx, dword [ebp - 0x960]
call fcn.00577240
call fcn.005803b0
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0
jne 0x58f63f
mov dword [ebp - 0x2c0], 0
jmp 0x58f64e
mov eax, dword [ebp - 0x2bc]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x2c0], ecx
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x30]
push ecx
push 0x178a
mov edx, dword [ebp - 0x2c0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x58fcbe
mov eax, dword [ebp - 0xd0]
add eax, 8
mov dword [ebp - 0x964], eax
mov ecx, dword [ebp - 0x964]
mov dword [ebp - 0x968], ecx
mov edx, dword [ebp - 0x968]
mov al, byte [edx + 0x8c]
mov byte [ebp - 0x101], al
movzx ecx, byte [ebp - 0x101]
cmp ecx, 1
jne 0x58f75e
push 0x88
call fcn.005c46fb
add esp, 4
mov dword [ebp - 0x2c4], eax
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x2c4], 0
je 0x58f717
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x96c]
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
push ecx
mov edx, dword [ebp - 0xc0]
mov ecx, dword [edx + 0xc]
call fcn.00596970
push eax
mov ecx, dword [ebp - 0x2c4]
call fcn.0057c800
mov dword [ebp - 0x2c8], eax
jmp 0x58f721
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x974], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x974]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x978]
push edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 0x10]
call fcn.005849a0
mov byte [ebp - 0xc5], 1
jmp 0x58fcbe
cmp dword [ebp - 0xf4], 0
je 0x58fcbe
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xbc]
add edx, 8
mov dword [ebp - 0x97c], edx
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x980], eax
mov ecx, dword [ebp - 0x980]
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x988]
mov dword [ebp - 0x98c], eax
mov ecx, dword [ebp - 0x98c]
add ecx, 8
push ecx
lea ecx, [ebp - 0x2d0]
call fcn.0057d860
mov edx, dword [ebp - 0xc4]
or edx, 0x10
mov dword [ebp - 0xc4], edx
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x990], eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x990]
call fcn.005785c0
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0xdc]
add ecx, 0x20
mov dword [ebp - 0x994], ecx
cmp dword [ebp - 0x164], 0
jne 0x58f81f
mov dword [ebp - 0x2cc], 0
jmp 0x58f834
mov edx, dword [ebp - 0x164]
push edx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
push eax
mov ecx, dword [ebp - 0x164]
push ecx
mov ecx, dword [ebp - 0x994]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x2d0]
sub edx, 0x10
mov dword [ebp - 0x998], edx
mov ecx, dword [ebp - 0x998]
call fcn.00577240
mov eax, dword [ebp - 0xbc]
add eax, 8
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a0]
mov dword [ebp - 0x9a4], edx
mov eax, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a8], eax
mov ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x9ac], ecx
mov edx, dword [ebp - 0x9ac]
add edx, 0xc
push edx
lea ecx, [ebp - 0x2d8]
call fcn.0057d860
mov eax, dword [ebp - 0xc4]
or eax, 0x20
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x2d8]
mov dword [ebp - 0x9b0], ecx
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x9b0]
call fcn.005785c0
mov dword [ebp - 0x168], eax
mov edx, dword [ebp - 0xdc]
add edx, 0x24
mov dword [ebp - 0x9b4], edx
cmp dword [ebp - 0x168], 0
jne 0x58f913
mov dword [ebp - 0x2d4], 0
jmp 0x58f928
mov eax, dword [ebp - 0x168]
push eax
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d4]
push ecx
mov edx, dword [ebp - 0x168]
push edx
mov ecx, dword [ebp - 0x9b4]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x2d8]
sub eax, 0x10
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b8]
call fcn.00577240
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
mov dword [ebp - 0x9c0], edx
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c4]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
mov dword [ebp - 0x9cc], edx
mov eax, dword [ebp - 0x9cc]
push eax
lea ecx, [ebp - 0x2e0]
call fcn.0057d860
mov ecx, dword [ebp - 0xc4]
or ecx, 0x40
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x2e0]
mov dword [ebp - 0x9d0], edx
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x9d0]
call fcn.005785c0
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x28
mov dword [ebp - 0x9d4], eax
cmp dword [ebp - 0x16c], 0
jne 0x58fa04
mov dword [ebp - 0x2dc], 0
jmp 0x58fa19
mov ecx, dword [ebp - 0x16c]
push ecx
call fcn.00710f40
add esp, 4
mov dword [ebp - 0x2dc], eax
mov edx, dword [ebp - 0x2dc]
push edx
mov eax, dword [ebp - 0x16c]
push eax
mov ecx, dword [ebp - 0x9d4]
call fcn.005772d0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2e0]
sub ecx, 0x10
mov dword [ebp - 0x9d8], ecx
mov ecx, dword [ebp - 0x9d8]
call fcn.00577240
mov edx, dword [ebp - 0xdc]
mov dword [edx + 0x2c], 1
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x30], 0
mov ecx, dword [ebp - 0xbc]
add ecx, 8
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e4], eax
mov ecx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9e8], ecx
mov edx, dword [ebp - 0x9e8]
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x9ec]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9f0], ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x9f0]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 8
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa04]
add eax, 0x88
push eax
lea ecx, [ebp - 0x2e8]
call fcn.0057d860
mov ecx, dword [ebp - 0xc4]
or ecx, 0x80
mov dword [ebp - 0xc4], ecx
lea edx, [ebp - 0x2e8]
mov dword [ebp - 0xa08], edx
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xa08]
call fcn.005785c0
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x1c
mov dword [ebp - 0xa0c], eax
mov ecx, dword [ebp - 0x2e4]
push ecx
call fcn.0059a6e0
add esp, 4
push eax
mov edx, dword [ebp - 0x2e4]
push edx
mov ecx, dword [ebp - 0xa0c]
call fcn.005772d0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2e8]
call fcn.005751c0
lea eax, [ebp - 0xa14]
push eax
lea ecx, [ebp - 0xd0]
call fcn.0057fba0
add eax, 0x1c
mov ecx, eax
call fcn.00591ba0
mov dword [ebp - 0xa10], eax
push str.Downloaded.
mov ecx, dword [ebp - 0xa10]
push ecx
call fcn.0057fa80
add esp, 8
mov byte [ebp - 0x102], al
lea ecx, [ebp - 0xa14]
call fcn.005751c0
movzx edx, byte [ebp - 0x102]
test edx, edx
je 0x58fbef
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x30], 0x64
lea ecx, [ebp - 0xa20]
push ecx
lea ecx, [ebp - 0xbc]
call fcn.0057fba0
mov ecx, eax
call fcn.00597470
mov dword [ebp - 0xa18], eax
mov edx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xa1c]
push eax
mov ecx, dword [ebp - 0xdc]
add ecx, 0x38
call fcn.0057f280
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xa20]
call fcn.005751c0
lea ecx, [ebp - 0xa2c]
push ecx
lea ecx, [ebp - 0xbc]
call fcn.0057fba0
mov ecx, eax
call fcn.00596920
mov dword [ebp - 0xa24], eax
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0xa28]
push eax
mov ecx, dword [ebp - 0xdc]
add ecx, 0x3c
call fcn.0057f280
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xa2c]
call fcn.005751c0
mov ecx, dword [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x30]
push eax
push 0x178a
call fcn.005803b0
mov ecx, eax
call fcn.00596bb0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x58e9dc
jmp 0x58e8d6
movzx ecx, byte [ebp - 0xc5]
test ecx, ecx
jne 0x58fce8
push 1
push 0
push 0x178f
call fcn.005803b0
mov ecx, eax
call fcn.00599b00
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0xc0]
mov edx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov eax, dword [edx + 0x14]
call eax
movzx ecx, al
test ecx, ecx
jne 0x58fd8d
push 1
push 0
push 0x178f
call fcn.005803b0
mov ecx, eax
call fcn.00599b00
mov byte [ebp - 0x104], 0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x11c]
call fcn.0057e6b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0057e6b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x124]
call fcn.0057e6b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
call fcn.0057e690
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x110]
call fcn.005751c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0x104]
jmp 0x58fdf7
mov byte [ebp - 0x103], 1
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x11c]
call fcn.0057e6b0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x17c]
call fcn.0057e6b0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x124]
call fcn.0057e6b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xf0]
call fcn.0057e690
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x110]
call fcn.005751c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb5]
call fcn.0057eec0
mov al, byte [ebp - 0x103]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0070bb4c
mov esp, ebp
pop ebp
ret