Function at 0x432340
Capabilities:
Check http status code
Create http request
Get http content length
Read data from internet
Receive data

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 0x5ffd42
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ecx
mov eax, 0x1284
call fcn.005cb1d0
mov eax, dword [0x6a3000]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1044], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1138], eax
mov dword [ebp - 0x1120], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x102c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x1038], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x103c], eax
mov al, byte [ebx + 0x18]
mov byte [ebp - 0x1034], al
mov dword [ebp - 0x113c], 1
mov dword [ebp - 0x112c], 0
mov dword [ebp - 0x1130], 0
mov dword [ebp - 4], 1
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0
test ecx, ecx
je 0x432b52
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x1024], esi
lea edi, [esi + 0x10]
mov dword [ebp - 0x1040], edi
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x1034]
mov edx, dword [ebp - 0x103c]
push dword [ebp - 0x1034]
mov eax, dword [edx]
cmp dword [eax - 0xc], 0
je 0x4324d1
call fcn.00435450
add esp, 4
mov byte [ebp - 4], 3
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, esi
je 0x432475
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x432460
mov eax, dword [edx]
cmp eax, dword [esi]
je 0x432503
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x1040]
call fcn.00412520
mov edi, dword [ebp - 0x1040]
or esi, 0xffffffff
mov byte [ebp - 4], 2
mov eax, esi
mov edx, dword [ebp - 0x1034]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x432499
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xb0
lea eax, [ebp - 0x1118]
push 0
push eax
call fcn.005d0030
push edi
lea ecx, [ebp - 0x1118]
call fcn.004364e0
mov byte [ebp - 4], 6
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 5
test ecx, ecx
je 0x432b5c
jmp 0x432542
mov edx, dword [ebp - 0x102c]
call fcn.00435000
add esp, 4
mov byte [ebp - 4], 4
mov ecx, dword [eax]
lea edx, [ecx - 0x10]
cmp edx, esi
je 0x432475
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x432460
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x432460
push edx
call fcn.004123f0
or esi, 0xffffffff
mov dword [ebp - 0x103c], eax
add esp, 4
mov eax, esi
lock xadd dword [edi], eax
dec eax
test eax, eax
jg 0x43252e
mov edx, dword [ebp - 0x1024]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x103c]
add edi, 0x10
mov dword [ebp - 0x1040], edi
jmp 0x432478
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1064], eax
mov ecx, 0x66b44d
mov byte [ebp - 4], 7
shr ecx, 0x10
mov eax, 0x66b44d
movzx eax, ax
test ecx, ecx
mov dword [ebp - 0x1124], ecx
lea ecx, [ebp - 0x1064]
mov dword [ebp - 0x1134], eax
jne 0x432584
push eax
call fcn.004100f0
jmp 0x43259a
push 0x66b44d
call fcn.00422c80
mov eax, dword [ebp - 0x1134]
mov dword [ebp - 0x1134], eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1120]
mov byte [eax], 0
mov eax, dword [ebp - 0x1064]
add eax, 0xfffffff0
push eax
mov dword [ebp - 0x103c], eax
call fcn.004123f0
mov ecx, dword [ebp - 0x1120]
add eax, 0x10
add esp, 4
mov dword [ecx + 4], eax
mov dword [ebp - 0x113c], 3
mov edx, dword [ebp - 0x103c]
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4325ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xc
call fcn.00483151
mov ecx, eax
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x432b66
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1024], eax
cmp dword [ebp - 0x1124], 0
lea ecx, [ebp - 0x1024]
mov byte [ebp - 4], 0xd
jne 0x432639
push dword [ebp - 0x1134]
call fcn.004100f0
jmp 0x432643
push 0x66b44d
call fcn.00422c80
push 0
push 0
push 0
mov byte [ebp - 4], 0xb
mov esi, dword [ebp - 0x1024]
push 0
push esi
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ecx, eax
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov dword [ebp - 0x112c], ecx
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x432684
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x112c]
test ecx, ecx
je 0x432b70
mov eax, dword [ebp - 0x102c]
push 0
push SysReAllocStringLen
push 0
push 0
push dword [eax]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov dword [ebp - 0x1130], eax
test eax, eax
je 0x432c04
push 0
lea ecx, [ebp - 0x1048]
mov dword [ebp - 0x1034], 0
push ecx
lea ecx, [ebp - 0x1034]
mov dword [ebp - 0x1048], 4
push ecx
push 0x20000013
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x432ee1
cmp dword [ebp - 0x1034], 0xc8
jne 0x432c98
push 0
lea eax, [ebp - 0x104c]
mov dword [ebp - 0x1064], 0
push eax
lea eax, [ebp - 0x1064]
mov byte [ebp - 0x1119], 1
push eax
push 0x20000005
push dword [ebp - 0x1130]
mov dword [ebp - 0x104c], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x432756
push eax
push eax
push 0x402
push dword [ebp - 0x1038]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 0x1119], 0
mov eax, dword [ebp - 0x1118]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x110c], 6
jne 0x432d2b
xorps xmm0, xmm0
movsd qword [ebp - 0x1128], xmm0
movsd qword [ebp - 0x1030], xmm0
lea eax, [ebp - 0x103c]
push eax
push 0x1000
lea eax, [ebp - 0x1020]
push eax
push dword [ebp - 0x1130]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x43285c
mov eax, dword [ebp - 0x103c]
test eax, eax
je 0x43285c
push 0
push eax
lea eax, [ebp - 0x1020]
push eax
lea ecx, [ebp - 0x1118]
call fcn.00436730
mov eax, dword [ebp - 0x103c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x6763d0]
mov eax, dword [ebp - 0x1064]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x6763d0]
divsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x1128]
movaps xmm0, xmm1
movsd qword [ebp - 0x1128], xmm1
subsd xmm0, qword [ebp - 0x1030]
comisd xmm0, xmmword [0x6762e8]
jbe 0x432780
movaps xmm0, xmm1
mulsd xmm0, qword [0x6762f8]
push 0
call fcn.005cb080
push eax
push 0x401
push dword [ebp - 0x1038]
call dword [sym.imp.USER32.dll_PostMessageW]
movsd xmm0, qword [ebp - 0x1128]
jmp 0x432778
lea ecx, [ebp - 0x1114]
call fcn.00437700
test eax, eax
jne 0x432894
mov eax, dword [ebp - 0x1118]
lea ecx, [ebp - 0x1118]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.0041ff30
cmp byte [ebp - 0x1119], 0
je 0x43292d
xorps xmm0, xmm0
mov dword [ebp - 0x1050], 0
lea ecx, [ebp - 0x1060]
movups xmmword [ebp - 0x1060], xmm0
call fcn.004a4986
push 0
push 0
push edi
lea ecx, [ebp - 0x1060]
mov byte [ebp - 4], 0x1d
call fcn.004a4f7e
test eax, eax
je 0x432dbf
lea ecx, [ebp - 0x1060]
call fcn.004a4e73
lea ecx, [ebp - 0x1060]
mov dword [ebp - 0x1124], eax
mov dword [ebp - 0x102c], edx
call fcn.004a4cdc
mov ecx, dword [ebp - 0x1124]
mov eax, dword [ebp - 0x102c]
cmp ecx, dword [ebp - 0x1064]
jne 0x432e53
test eax, eax
jne 0x432e53
lea ecx, [ebp - 0x1060]
mov byte [ebp - 4], 0xb
call fcn.004a4a0a
mov eax, dword [ebp - 0x1044]
lea edx, [edi - 0x10]
add eax, 4
mov dword [ebp - 0x1024], eax
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x102c], ecx
cmp edx, ecx
je 0x4329b9
cmp dword [ecx + 0xc], 0
lea edx, [ecx + 0xc]
mov dword [ebp - 0x1124], edx
lea edx, [edi - 0x10]
jl 0x4329ae
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4329a8
push edx
call fcn.004123f0
mov ecx, dword [ebp - 0x1124]
add esp, 4
mov dword [ebp - 0x1024], eax
mov eax, esi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x432994
mov edx, dword [ebp - 0x102c]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x1044]
mov eax, dword [ebp - 0x1024]
add eax, 0x10
mov dword [ecx + 4], eax
jmp 0x4329b9
mov eax, dword [ebp - 0x1024]
push dword [edi - 0xc]
mov ecx, eax
push edi
call fcn.00412520
cmp dword [ebp - 0x1064], 0
jbe 0x4329d7
push 0
push 1
push 0x401
push dword [ebp - 0x1038]
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x1120]
mov byte [eax], 1
mov eax, dword [ebp - 0x112c]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x432afb
mov eax, dword [ebp - 0x1130]
test eax, eax
je 0x432b0c
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea ecx, [ebp - 0x1118]
call fcn.00432f80
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], esi
dec esi
test esi, esi
jg 0x432b2c
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x1120]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.005ca888
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x14
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
push 0x80004005
call fcn.0040c5c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x1024]
mov esi, eax
call fcn.0040c760
call fcn.00410470
push ecx
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 0xe
call fcn.0040c760
mov edx, esi
call fcn.00435770
lea ecx, [ebp - 0x1038]
mov byte [ebp - 4], 0xf
call fcn.0040f6a0
push eax
push esi
lea eax, [ebp - 0x1024]
push str.Failed_to_initialize_WinINet::__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1024]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x114c]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x114c]
push eax
call fcn.005d018a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x1024]
mov esi, eax
call fcn.0040c760
call fcn.00410470
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x11
call fcn.0040c760
mov edx, esi
call fcn.00435770
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x12
call fcn.0040f6a0
push eax
push esi
lea eax, [ebp - 0x1024]
push str.Failed_to_open_URL::__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1024]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1158]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x1158]
push eax
call fcn.005d018a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x102c]
call fcn.0040c760
mov edx, eax
call fcn.00435770
push ecx
lea ecx, [ebp - 0x1024]
call fcn.0040c760
call fcn.00410470
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x15
call fcn.0040f6a0
push eax
push dword [ebp - 0x1034]
lea eax, [ebp - 0x1024]
push str.Server_returned_status_code:_HTTP__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1024]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1164]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x1164]
push eax
call fcn.005d018a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x1024]
mov esi, eax
call fcn.0040c760
call fcn.00410470
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x1a
call fcn.0040c760
mov edx, esi
call fcn.00435770
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x1b
call fcn.0040f6a0
push eax
push esi
lea eax, [ebp - 0x1024]
push str.Failed_to_open_file_for_writing:__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1024]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1170]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x1170]
push eax
call fcn.005d018a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x1024]
mov esi, eax
call fcn.0040c760
call fcn.00410470
push ecx
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x1e
call fcn.0040c760
mov edx, esi
call fcn.00435770
lea ecx, [ebp - 0x102c]
mov byte [ebp - 4], 0x1f
call fcn.0040f6a0
push eax
push esi
lea eax, [ebp - 0x1024]
push str.Failed_to_open_downloaded_file:__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1024]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x117c]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x117c]
push eax
call fcn.005d018a
push eax
push ecx
lea ecx, [ebp - 0x1238]
call fcn.00432040
add esp, 8
mov esi, eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1250]
mov edx, dword [ebp - 0x1064]
call fcn.0040d190
push eax
mov edx, str.Download_was_incomplete:_content_length:
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1268]
call fcn.00438110
add esp, 4
push str.__downloaded:
mov edx, eax
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x1280]
call fcn.00437c30
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x1298]
call fcn.00437ca0
add esp, 4
push eax
lea ecx, [ebp - 0x1188]
mov byte [ebp - 4], 0x25
call fcn.0040cb60
push 0x69dc60
lea eax, [ebp - 0x1188]
push eax
call fcn.005d018a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x1038]
mov esi, eax
call fcn.0040c760
call fcn.00410470
push ecx
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 0x17
call fcn.0040c760
mov edx, esi
call fcn.00435770
lea ecx, [ebp - 0x1044]
mov byte [ebp - 4], 0x18
call fcn.0040f6a0
push eax
push esi
lea eax, [ebp - 0x1038]
push str.Failed_to_query_HTTP_status_code:__d____s
push eax
call fcn.00412ed0
add esp, 0x10
lea ecx, [ebp - 0x1038]
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1220]
call fcn.0040f6d0
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.0040f6a0
push eax
lea ecx, [ebp - 0x1194]
call fcn.0040cbc0
push 0x69dc60
lea eax, [ebp - 0x1194]
push eax
call fcn.005d018a
int3