Function at 0x405920
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45be4c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x6e8
mov eax, dword [0x474010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6b0], ecx
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x14]
mov dword [ebp - 0x6f4], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x6e8], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x6f0], eax
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x6dc], eax
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x6d8], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x6ec], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x6f8], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x6e0], eax
mov eax, dword [ebx + 0x3c]
mov dword [ebp - 0x660], eax
mov edx, str.Download_Part_1
mov dword [ebp - 4], 0
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
cmp dword [ebx + 0x54], 0x10
lea ecx, [ebx + 0x40]
mov eax, dword [ebx + 0x50]
cmovae ecx, dword [ebx + 0x40]
add eax, ecx
cmp dword [ebx + 0x54], 0x10
lea ecx, [ebx + 0x40]
cmovae ecx, dword [ebx + 0x40]
push eax
push ecx
lea ecx, [ebp - 0x6ac]
call fcn.00419270
lea eax, [ebp - 0x6ac]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x694]
call fcn.004143d0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x694]
cmp dword [ebp - 0x680], 8
xorps xmm0, xmm0
cmovae eax, dword [ebp - 0x694]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x6e4], eax
push 0x5a
movups xmmword [ecx], xmm0
push str.057101100106091100106035074111102091048022087102102098095089087106095101100037096105101100
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x678]
call fcn.0041dc90
add esp, 0x18
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x664]
mov eax, edx
mov ecx, dword [ebp - 0x668]
sub eax, ecx
cmp eax, 2
jb 0x405aba
lea eax, [ecx + 2]
cmp edx, 0x10
mov dword [ebp - 0x668], eax
mov edx, 0xa0d
lea eax, [ebp - 0x678]
cmovae eax, dword [ebp - 0x678]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
jmp 0x405adb
push 2
push 0x46b414
mov byte [ebp - 0x6d0], 0
lea ecx, [ebp - 0x678]
push dword [ebp - 0x6d0]
push 2
call fcn.0041a760
cmp dword [ebp - 0x664], 0x10
lea eax, [ebp - 0x678]
push 0x27
cmovae eax, dword [ebp - 0x678]
push eax
push 0x476cc0
call fcn.00442490
sub esp, 0xc
mov dword [ebp - 0x628], str.text_
mov ecx, esp
mov dword [ebp - 0x624], 0
xorps xmm0, xmm0
push 0x15
movups xmmword [ecx], xmm0
push str.092095104091092101110
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 8
jb 0x405b4f
mov eax, dword [eax]
test edi, edi
je 0x405b62
push 0
push 0
push 0
push 1
push eax
call edi
mov esi, eax
jmp 0x405b64
xor esi, esi
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x405ba8
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x405b9e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406cf3
push ecx
push edx
call fcn.00436385
add esp, 8
xor eax, eax
mov dword [ebp - 0x6bc], 0
mov word [ebp - 0x6cc], ax
mov eax, dword [ebp - 0x6d4]
mov dword [ebp - 0x6b8], 7
test eax, eax
je 0x405bef
push 0
push 0
push 3
push 0
push 0
push 0x1bb
push dword [ebp - 0x6e4]
push esi
call eax
mov dword [ebp - 0x6d0], eax
jmp 0x405bf9
mov dword [ebp - 0x6d0], 0
push 0
push 0
push 0
push 1
push 0x46b544
call edi
mov dword [ebp - 0x6d4], eax
test eax, eax
jne 0x405c34
mov edx, str.The_newspaper_got_wet_in_the_rain.
mov ecx, 0x475f58
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
mov esi, 1
jmp 0x406b95
mov edx, str.Download_Part_2
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
mov dword [ebp - 0x648], 0
xorps xmm0, xmm0
mov dword [ebp - 0x644], 0
lea ecx, [ebp - 0x658]
movups xmmword [ebp - 0x658], xmm0
push 0
push 0x46b344
call fcn.0041a540
xorps xmm0, xmm0
mov dword [ebp - 0x630], 0
xor eax, eax
mov dword [ebp - 0x62c], 7
movups xmmword [ebp - 0x640], xmm0
mov word [ebp - 0x640], ax
mov edx, str.Download_Part_3
mov byte [ebp - 4], 6
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
lea eax, [ebp - 0x220]
xorps xmm0, xmm0
push 0x104
push eax
sub esp, 0x18
mov ecx, esp
push 0x21
movups xmmword [ecx], xmm0
push str.075073059072070072069060063066059
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
jb 0x405d0a
mov eax, dword [eax]
push eax
call dword [ebp - 0x6b4]
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x405d55
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x405d4b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406cf8
push ecx
push edx
call fcn.00436385
add esp, 8
lea ecx, [ebp - 0x220]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405d60
sub ecx, edx
lea eax, [ebp - 0x220]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x640]
call fcn.00416850
mov edx, dword [ebp - 0x62c]
mov eax, edx
mov ecx, dword [ebp - 0x630]
sub eax, ecx
cmp eax, 1
jb 0x405db9
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
mov dword [eax + ecx*2], 0x5c
jmp 0x405dda
push 1
push 0x46b5b4
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push 1
call fcn.0041a270
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x15
movups xmmword [ecx], xmm0
push str.055102102058087106087
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 8
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x405e1e
mov edx, dword [edx]
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
sub eax, ecx
mov dword [ebp - 0x6b4], ecx
cmp edi, eax
ja 0x405e74
cmp dword [ebp - 0x62c], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x640]
mov dword [ebp - 0x630], eax
cmovae esi, dword [ebp - 0x640]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b4]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x405e8f
push edi
push edx
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x405ed3
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x405ec9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406cfd
push ecx
push edx
call fcn.00436385
add esp, 8
mov edx, dword [ebp - 0x62c]
mov eax, edx
mov ecx, dword [ebp - 0x630]
sub eax, ecx
cmp eax, 1
jb 0x405f0a
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
mov dword [eax + ecx*2], 0x5c
jmp 0x405f2b
push 1
push 0x46b5b4
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push 1
call fcn.0041a270
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0xf
movups xmmword [ecx], xmm0
push str.066101089087098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 9
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x405f6f
mov edx, dword [edx]
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
sub eax, ecx
mov dword [ebp - 0x6b4], ecx
cmp edi, eax
ja 0x405fc5
cmp dword [ebp - 0x62c], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x640]
mov dword [ebp - 0x630], eax
cmovae esi, dword [ebp - 0x640]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b4]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x405fe0
push edi
push edx
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x406024
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40601a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d02
push ecx
push edx
call fcn.00436385
add esp, 8
mov edx, dword [ebp - 0x62c]
mov eax, edx
mov ecx, dword [ebp - 0x630]
sub eax, ecx
cmp eax, 1
jb 0x40605b
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
mov dword [eax + ecx*2], 0x5c
jmp 0x40607c
push 1
push 0x46b5b4
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push 1
call fcn.0041a270
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0xc
movups xmmword [ecx], xmm0
push str.074091099102
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xa
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x4060c0
mov edx, dword [edx]
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
sub eax, ecx
mov dword [ebp - 0x6b4], ecx
cmp edi, eax
ja 0x406116
cmp dword [ebp - 0x62c], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x640]
mov dword [ebp - 0x630], eax
cmovae esi, dword [ebp - 0x640]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b4]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x406131
push edi
push edx
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x406175
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40616b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d07
push ecx
push edx
call fcn.00436385
add esp, 8
mov edx, dword [ebp - 0x62c]
mov eax, edx
mov ecx, dword [ebp - 0x630]
sub eax, ecx
cmp eax, 1
jb 0x4061ac
lea eax, [ecx + 1]
cmp edx, 8
mov dword [ebp - 0x630], eax
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
mov dword [eax + ecx*2], 0x5c
jmp 0x4061cd
push 1
push 0x46b5b4
mov byte [ebp - 0x6b4], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b4]
push 1
call fcn.0041a270
mov edx, str.Download_Part_4
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
mov eax, dword [ebp - 0x6b0]
add esp, 4
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x21
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
test eax, eax
jne 0x4063e8
push str.037058101109100098101087090037038
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xb
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x406237
mov edx, dword [edx]
mov ecx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x40628d
cmp dword [ebp - 0x644], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x658]
mov dword [ebp - 0x648], eax
cmovae esi, dword [ebp - 0x658]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4062a8
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x658]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x4062ec
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4062e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d0c
push ecx
push edx
call fcn.00436385
add esp, 8
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x1b
movups xmmword [ecx], xmm0
push str.073070063074070036090098098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xc
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x406330
mov edx, dword [edx]
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x406386
lea eax, [ecx + edi]
cmp dword [ebp - 0x62c], 8
lea esi, [ebp - 0x640]
mov dword [ebp - 0x630], eax
lea eax, [edi + edi]
cmovae esi, dword [ebp - 0x640]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4063a1
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x640]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x4068a7
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40689d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d11
jmp 0x40689d
cmp eax, 1
jne 0x40650d
push str.037058101109100098101087090037039
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xd
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x40641a
mov edx, dword [edx]
mov ecx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x406470
cmp dword [ebp - 0x644], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x658]
mov dword [ebp - 0x648], eax
cmovae esi, dword [ebp - 0x658]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x40648b
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x658]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x4064cf
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4064c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d16
push ecx
push edx
call fcn.00436385
add esp, 8
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x2a
movups xmmword [ecx], xmm0
push str.074087105097060098101109075095036090098098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xe
jmp 0x406325
cmp eax, 2
jne 0x406632
push str.037058101109100098101087090037040
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0xf
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x40653f
mov edx, dword [edx]
mov ecx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x406595
cmp dword [ebp - 0x644], 8
lea eax, [edi + ecx]
lea esi, [ebp - 0x658]
mov dword [ebp - 0x648], eax
cmovae esi, dword [ebp - 0x658]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4065b0
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x658]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x4065f4
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4065ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d1b
push ecx
push edx
call fcn.00436385
add esp, 8
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x2a
movups xmmword [ecx], xmm0
push str.064107099102076095091109075095036090098098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x10
jmp 0x406325
cmp eax, 3
jne 0x406757
push str.037058101109100098101087090037042
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x11
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x406664
mov edx, dword [edx]
mov ecx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x4066ba
cmp dword [ebp - 0x644], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x658]
mov dword [ebp - 0x648], eax
cmovae esi, dword [ebp - 0x658]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4066d5
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x658]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x406719
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40670f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d20
push ecx
push edx
call fcn.00436385
add esp, 8
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x15
movups xmmword [ecx], xmm0
push str.089098102036090098098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x12
jmp 0x406325
push str.037058101109100098101087090037041
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x13
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x406780
mov edx, dword [edx]
mov ecx, dword [ebp - 0x648]
mov eax, dword [ebp - 0x644]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x4067d6
cmp dword [ebp - 0x644], 8
lea eax, [ecx + edi]
lea esi, [ebp - 0x658]
mov dword [ebp - 0x648], eax
cmovae esi, dword [ebp - 0x658]
lea eax, [edi + edi]
push eax
push edx
lea ecx, [esi + ecx*2]
push ecx
call fcn.00437650
mov eax, dword [ebp - 0x6b0]
add esp, 0xc
add eax, edi
xor ecx, ecx
mov word [esi + eax*2], cx
jmp 0x4067f1
push edi
push edx
mov byte [ebp - 0x6b0], 0
lea ecx, [ebp - 0x658]
push dword [ebp - 0x6b0]
push edi
call fcn.0041a270
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6b8]
cmp ecx, 8
jb 0x406835
mov edx, dword [ebp - 0x6cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40682b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d25
push ecx
push edx
call fcn.00436385
add esp, 8
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0x1b
movups xmmword [ecx], xmm0
push str.099108102095105036090098098
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0041a9a0
lea ecx, [ebp - 0x6cc]
call fcn.0041deb0
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x14
cmp dword [edx + 0x14], 8
mov edi, dword [edx + 0x10]
jb 0x406879
mov edx, dword [edx]
mov ecx, dword [ebp - 0x630]
mov eax, dword [ebp - 0x62c]
sub eax, ecx
mov dword [ebp - 0x6b0], ecx
cmp edi, eax
ja 0x406386
lea eax, [edi + ecx]
jmp 0x40634b
push ecx
push edx
call fcn.00436385
add esp, 8
cmp dword [ebp - 0x644], 8
lea edx, [ebp - 0x658]
push dword [ebp - 0x648]
cmovae edx, dword [ebp - 0x658]
mov ecx, 0x475e98
call fcn.0041cbb0
add esp, 4
mov ecx, eax
call fcn.00419380
cmp dword [ebp - 0x62c], 8
lea edx, [ebp - 0x640]
push dword [ebp - 0x630]
cmovae edx, dword [ebp - 0x640]
mov ecx, eax
call fcn.0041cbb0
add esp, 4
push eax
call fcn.00419700
add esp, 4
mov edx, str.Download_Part_5
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
mov ecx, dword [ebp - 0x6e8]
lea eax, [ebp - 0x658]
add esp, 4
cmp dword [ebp - 0x644], 8
cmovae eax, dword [ebp - 0x658]
test ecx, ecx
je 0x40695c
push 0
push 0x800000
lea edx, [ebp - 0x628]
push edx
push 0
push 0
push eax
push 0x46b774
push dword [ebp - 0x6d0]
call ecx
mov edi, eax
jmp 0x40695e
xor edi, edi
push 4
lea eax, [ebp - 0x67c]
mov dword [ebp - 0x67c], 0x3100
push eax
push 0x1f
push edi
call dword [ebp - 0x6ec]
mov ecx, 0x476cc0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406982
mov eax, dword [ebp - 0x6f0]
sub ecx, edx
test eax, eax
je 0x4069a6
push 0
push dword [ebp - 0x6f4]
push ecx
push 0x476cc0
push edi
call eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, str.Download_Part_6
mov ecx, 0x475d98
mov esi, eax
call fcn.00418f30
push esi
mov ecx, eax
call fcn.00413e10
push eax
call fcn.004191d0
add esp, 4
lea eax, [ebp - 0x640]
cmp dword [ebp - 0x62c], 8
cmovae eax, dword [ebp - 0x640]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [ebp - 0x660]
mov esi, eax
cmp esi, 0xffffffff
je 0x406cb6
mov edx, str.Download_Part_7
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
lea eax, [ebp - 0x65c]
push eax
push 0x400
lea eax, [ebp - 0x620]
push eax
push edi
call dword [ebp - 0x6dc]
test eax, eax
je 0x406a88
nop dword [eax]
mov eax, dword [ebp - 0x65c]
test eax, eax
je 0x406a88
push 0
lea ecx, [ebp - 0x660]
push ecx
push eax
lea eax, [ebp - 0x620]
push eax
push esi
call dword [ebp - 0x6f8]
test eax, eax
je 0x406caf
lea eax, [ebp - 0x65c]
push eax
push 0x400
lea eax, [ebp - 0x620]
push eax
push edi
call dword [ebp - 0x6dc]
test eax, eax
jne 0x406a40
mov edx, str.Download_Part_8
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [ebp - 0x6e0]
push dword [ebp - 0x6d4]
call dword [ebp - 0x6d8]
mov edx, str.Download_Part_9
mov ecx, 0x475d98
call fcn.00418f30
push eax
call fcn.004191d0
add esp, 4
mov esi, 1
mov ecx, dword [ebp - 0x62c]
cmp ecx, 8
jb 0x406b1b
mov edx, dword [ebp - 0x640]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x406b11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
push ecx
push edx
call fcn.00436385
add esp, 8
mov ecx, dword [ebp - 0x644]
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
cmp ecx, 8
jb 0x406b78
mov edx, dword [ebp - 0x658]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x406b6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
push ecx
push edx
call fcn.00436385
add esp, 8
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov ecx, dword [ebp - 0x664]
cmp ecx, 0x10
jb 0x406bcf
mov edx, dword [ebp - 0x678]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406bc5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
push ecx
push edx
call fcn.00436385
add esp, 8
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x668], 0
mov dword [ebp - 0x664], 0xf
mov byte [ebp - 0x678], 0
cmp ecx, 8
jb 0x406c2a
mov edx, dword [ebp - 0x694]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x406c20
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
push ecx
push edx
call fcn.00436385
add esp, 8
mov ecx, dword [ebp - 0x698]
xor eax, eax
mov dword [ebp - 0x684], 0
mov dword [ebp - 0x680], 7
mov word [ebp - 0x694], ax
cmp ecx, 8
jb 0x406c87
mov edx, dword [ebp - 0x6ac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x406c7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
push ecx
push edx
call fcn.00436385
add esp, 8
mov ecx, dword [ebx + 0x54]
cmp ecx, 0x10
jb 0x406cd3
mov edx, dword [ebx + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x406cc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406d2a
jmp 0x406cc9
push esi
call dword [ebp - 0x6e0]
push dword [ebp - 0x6d4]
call dword [ebp - 0x6d8]
xor esi, esi
jmp 0x406adb
push ecx
push edx
call fcn.00436385
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00436030
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
call fcn.004432a9
int3