Function at 0x422b40
Capabilities:
Check http status code
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a0ba1
mov eax, dword fs:[0]
push eax
mov eax, 0x14a4
call fcn.00470d10
mov eax, dword [0x4c8a00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1488], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x34]
call fcn.00414890
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x1488]
add esi, 0x54
call fcn.004163d0
mov ecx, dword [ebp - 0x1488]
mov dword [ecx + 0x7c], 0xffffffff
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x1488]
mov eax, dword [edx + 0x4c]
mov dword [ebp - 0x12f8], eax
lea ecx, [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x1488]
add ecx, 0x14
call fcn.00420860
lea edx, [ebp + 0xc]
push edx
mov ecx, dword [ebp - 0x1488]
add ecx, 0x30
call fcn.00420860
mov ecx, dword [ebp - 0x1488]
add ecx, 0x30
call fcn.00423cf0
movzx eax, al
test eax, eax
je 0x422d1f
push 0
push 0x4b5e00
mov ecx, dword [ebp - 0x1488]
add ecx, 0x14
call fcn.00423d10
mov dword [ebp - 0x1344], eax
mov ecx, dword [ebp - 0x1344]
cmp ecx, dword [0x4ad11c]
je 0x422d1f
mov edx, dword [0x4ad11c]
push edx
mov eax, dword [ebp - 0x1344]
add eax, 1
push eax
mov ecx, dword [ebp - 0x1488]
add ecx, 0x14
push ecx
lea edx, [ebp - 0x1360]
push edx
call fcn.004399b0
add esp, 0x10
mov dword [ebp - 0x148c], eax
mov eax, dword [ebp - 0x148c]
mov dword [ebp - 0x1490], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1490]
push ecx
mov ecx, dword [ebp - 0x1488]
add ecx, 0x30
call fcn.00420860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1360]
call fcn.004148d0
mov edx, dword [ebp - 0x1344]
push edx
mov eax, dword [ebp - 0x1488]
add eax, 0x14
push eax
lea ecx, [ebp - 0x137c]
push ecx
call fcn.00439960
add esp, 0xc
mov dword [ebp - 0x1494], eax
mov edx, dword [ebp - 0x1494]
mov dword [ebp - 0x1498], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1498]
push eax
mov ecx, dword [ebp - 0x1488]
add ecx, 0x14
call fcn.00420860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x137c]
call fcn.004148d0
mov ecx, dword [ebp - 0x1488]
add ecx, 0x30
call fcn.00423cf0
movzx ecx, al
test ecx, ecx
jne 0x422d3e
mov dword [ebp - 0x12f8], 1
push 0
mov ecx, dword [ebp - 0x1488]
add ecx, 0xc
call fcn.004397c0
test eax, eax
jne 0x422d5e
mov dword [ebp - 0x40], 1
jmp 0x4236b6
lea ecx, [ebp - 0x68]
call fcn.0041fd50
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.0041fd50
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.0041fd50
mov byte [ebp - 4], 6
lea edx, [ebp - 0x1300]
push edx
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
lea edx, [ebp - 0x2b0]
push edx
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x1488]
add ecx, 0x14
push ecx
mov ecx, dword [ebp - 0x1488]
call fcn.00421680
lea ecx, [ebp - 0x1340]
call fcn.00423a40
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x1488]
cmp dword [edx + 8], 0
jne 0x422e2a
mov eax, dword [ebp - 0x1488]
add eax, 0x30
push eax
lea ecx, [ebp - 0x1398]
push ecx
call fcn.004309c0
add esp, 8
mov dword [ebp - 0x149c], eax
mov edx, dword [ebp - 0x149c]
mov dword [ebp - 0x14a0], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x14a0]
push eax
lea ecx, [ebp - 0x1340]
call fcn.00423ab0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1398]
call fcn.00414850
jmp 0x422e86
mov ecx, dword [ebp - 0x1488]
cmp dword [ecx + 8], 1
jne 0x422e86
mov edx, dword [ebp - 0x1488]
add edx, 0x30
push edx
lea eax, [ebp - 0x13b4]
push eax
call fcn.004301e0
add esp, 8
mov dword [ebp - 0x14a4], eax
mov ecx, dword [ebp - 0x14a4]
mov dword [ebp - 0x14a8], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x14a8]
push edx
lea ecx, [ebp - 0x1340]
call fcn.00423ab0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x13b4]
call fcn.00414850
push 0
push 0
push 0
push 0
push 0x4b5e04
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x422ee0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
push 0
mov ecx, dword [ebp - 0x1488]
add ecx, 0xc
call fcn.004397c0
test eax, eax
jne 0x422f39
mov dword [ebp - 0x40], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
push 0
push 0
push 3
push 0
push 0
movzx eax, word [ebp - 0x294]
push eax
lea ecx, [ebp - 0x68]
call fcn.00415510
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jne 0x422fa5
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
push 0
mov ecx, dword [ebp - 0x1488]
add ecx, 0xc
call fcn.004397c0
test eax, eax
jne 0x422ffe
mov dword [ebp - 0x40], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
lea ecx, [ebp - 0x1324]
call fcn.0041fd50
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x12f8], 0
jne 0x423028
push 0x4b5e08
lea ecx, [ebp - 0x1324]
call fcn.00423cd0
jmp 0x423038
push str.POST
lea ecx, [ebp - 0x1324]
call fcn.00423cd0
lea edx, [ebp - 0x2d4]
push edx
lea eax, [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x2f4]
push ecx
call fcn.00424da0
add esp, 0xc
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x2b8], 0x80400002
cmp dword [ebp - 0x1300], 4
jne 0x42307e
mov edx, dword [ebp - 0x2b8]
or edx, 0x800000
mov dword [ebp - 0x2b8], edx
push 0
mov eax, dword [ebp - 0x2b8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x2f4]
call fcn.00415510
push eax
lea ecx, [ebp - 0x1324]
call fcn.00415510
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x423114
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
push 0
mov ecx, dword [ebp - 0x1488]
add ecx, 0xc
call fcn.004397c0
test eax, eax
jne 0x42318b
mov dword [ebp - 0x40], 1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
push str.Content_Type:_application_x_www_form_urlencoded_r_n
lea ecx, [ebp - 0x290]
call fcn.00414890
mov byte [ebp - 4], 0xc
push 0x20000000
lea ecx, [ebp - 0x290]
call fcn.00414900
push eax
lea ecx, [ebp - 0x290]
call fcn.00415510
push eax
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
jne 0x423235
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x290]
call fcn.004148d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
mov ecx, dword [ebp - 0x1488]
add ecx, 0xb8
call fcn.00423cf0
movzx eax, al
test eax, eax
jne 0x42330d
mov ecx, dword [ebp - 0x1488]
add ecx, 0xb8
call fcn.00415510
push eax
push str.Referer:__s_r_n
lea ecx, [ebp - 0x290]
push ecx
call fcn.00439a80
add esp, 0xc
push 0x20000000
lea ecx, [ebp - 0x290]
call fcn.00414900
push eax
lea ecx, [ebp - 0x290]
call fcn.00415510
push eax
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
jne 0x42330d
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x290]
call fcn.004148d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
lea ecx, [ebp - 0x1340]
call fcn.00414900
push eax
lea ecx, [ebp - 0x1340]
call fcn.00414fe0
push eax
push 0
push 0
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x4233a2
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x290]
call fcn.004148d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
jmp 0x4236b6
mov dword [ebp - 0x2b4], 0
xor ecx, ecx
mov word [ebp - 0x274], cx
mov dword [ebp - 0x12fc], 5
mov dword [ebp - 0x4c], 0x13
mov dword [ebp - 0x1308], 0x14
mov dword [ebp - 0x2b4], 0x104
push 0
lea edx, [ebp - 0x2b4]
push edx
lea eax, [ebp - 0x274]
push eax
mov ecx, dword [ebp - 0x12fc]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x423438
xor eax, eax
mov ecx, dword [ebp - 0x2b4]
mov word [ebp + ecx*2 - 0x274], ax
lea edx, [ebp - 0x274]
push edx
push str.Content_length:__s__n
call fcn.0046d987
add esp, 8
lea eax, [ebp - 0x274]
push eax
call fcn.0046cddb
add esp, 4
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2b4], 0x104
push 0
lea ecx, [ebp - 0x2b4]
push ecx
lea edx, [ebp - 0x274]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x4234b6
xor edx, edx
mov eax, dword [ebp - 0x2b4]
mov word [ebp + eax*2 - 0x274], dx
lea ecx, [ebp - 0x274]
push ecx
push str.Status_code:__s__n
call fcn.0046d987
add esp, 8
lea edx, [ebp - 0x274]
push edx
call fcn.0046cddb
add esp, 4
mov ecx, dword [ebp - 0x1488]
mov dword [ecx + 0x7c], eax
mov edx, dword [ebp - 0x1488]
cmp dword [edx + 0x7c], 0xc8
jne 0x4234b6
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x2b4], 0x104
push 0
lea eax, [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x274]
push ecx
mov edx, dword [ebp - 0x1308]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x423509
xor ecx, ecx
mov edx, dword [ebp - 0x2b4]
mov word [ebp + edx*2 - 0x274], cx
lea eax, [ebp - 0x274]
push eax
push str.Status_text:__s__n
call fcn.0046d987
add esp, 8
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x1304], 0
mov ecx, 1
test ecx, ecx
je 0x423610
mov dword [ebp - 0x2b4], 0x1000
lea edx, [ebp - 0x2b4]
push edx
mov eax, dword [ebp - 0x2b4]
push eax
lea ecx, [ebp - 0x12f4]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x423559
jmp 0x423610
cmp dword [ebp - 0x2b4], 0
ja 0x423567
jmp 0x423610
cmp dword [ebp - 0x2d8], 0
jle 0x423583
mov eax, dword [ebp - 0x6c]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x2d8]
mov dword [ebp - 0x1304], eax
mov eax, dword [ebp - 0x1488]
cmp dword [eax + 0x10], 0
je 0x4235c0
sub esp, 8
fldz
fstp qword [esp]
mov ecx, dword [ebp - 0x1304]
push ecx
mov edx, dword [ebp - 0x1488]
push edx
mov eax, dword [ebp - 0x1488]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1488]
mov eax, dword [edx + 0x10]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x6c]
add edi, dword [ebp - 0x2b4]
mov esi, dword [ebp - 0x1488]
add esi, 0x54
call fcn.00415e40
mov ecx, dword [ebp - 0x2b4]
push ecx
lea edx, [ebp - 0x12f4]
push edx
mov eax, dword [ebp - 0x1488]
add eax, 0x54
call fcn.00415820
add eax, dword [ebp - 0x6c]
push eax
call fcn.00479280
add esp, 0xc
mov eax, dword [ebp - 0x6c]
add eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x6c], eax
jmp 0x42351a
mov ecx, dword [ebp - 0x1488]
cmp dword [ecx + 0x10], 0
je 0x423648
sub esp, 8
fldz
fstp qword [esp]
push 0x64
mov edx, dword [ebp - 0x1488]
push edx
mov eax, dword [ebp - 0x1488]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x1488]
mov eax, dword [edx + 0x10]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x290]
call fcn.004148d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2f4]
call fcn.004148d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1324]
call fcn.004148d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1340]
call fcn.00414850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d4]
call fcn.004148d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2b0]
call fcn.004148d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x68]
call fcn.004148d0
xor ecx, ecx
jne 0x422bbf
cmp dword [ebp - 0x3c], 0
je 0x4236cd
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x3c], 0
cmp dword [ebp - 0x48], 0
je 0x4236e4
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x48], 0
cmp dword [ebp - 0x38], 0
je 0x4236fb
mov ecx, dword [ebp - 0x38]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x38], 0
mov edx, dword [ebp - 0x1488]
cmp dword [edx + 0x10], 0
je 0x4237a8
cmp dword [ebp - 0x40], 0
jne 0x4237a8
mov eax, dword [ebp - 0x1488]
add eax, 0xc
push eax
cmp dword [ebp - 0x18], 0
sete cl
movzx edx, cl
push edx
mov eax, dword [ebp - 0x1488]
push eax
lea ecx, [ebp - 0x13d0]
push ecx
mov edx, dword [ebp - 0x1488]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x1488]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax]
mov eax, dword [edx]
call eax
mov dword [ebp - 0x14ac], eax
mov ecx, dword [ebp - 0x14ac]
mov dword [ebp - 0x14b0], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x14b0]
push edx
lea ecx, [ebp - 0x34]
call fcn.00420860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x13d0]
call fcn.004148d0
lea ecx, [ebp - 0x34]
call fcn.00423cf0
movzx eax, al
test eax, eax
jne 0x4237a8
mov ecx, dword [ebp - 0x1488]
add ecx, 0x30
call fcn.0043d390
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0
jne 0x422b9c
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x13d4], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.004148d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.004148d0
mov eax, dword [ebp - 0x13d4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046c016
mov esp, ebp
pop ebp
ret 0x20