Function at 0x40c9f7
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push 8
call fcn.0040f5a4
add esp, 4
mov dword [ebp - 0x1c], eax
mov edi, eax
mov esi, 0x44428d
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
push 0x448cec
call fcn.0040d716
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40ca97
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x448cec
call fcn.0040dac4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40cabc
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x80000004
push 0
mov eax, dword [0x448cf4]
test eax, eax
jne 0x40cad5
mov eax, 0x444277
push eax
push 1
mov ebx, 0x174
call fcn.00412980
add esp, 0x10
mov dword [ebp - 0x3c], eax
push 0x444277
push dword [ebp - 0x3c]
call fcn.004010b5
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40cb19
push ebx
call fcn.0040f598
add esp, 4
cmp dword [ebp - 0x40], 0
je 0x40cb63
mov dword [ebp - 0x3c], esp
push 0
push 0x444277
push 0x444277
push 1
push 0x44870c
call dword [sym.imp.WININET.DLL_InternetOpenA]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40cb5b
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0xc], eax
jmp 0x40cbcd
push dword [0x448cf4]
push 0x44873f
mov ecx, 2
call fcn.004015bf
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esp
push 0
push 0x444277
push dword [ebp - 0x3c]
push 3
push 0x44870c
call dword [sym.imp.WININET.DLL_InternetOpenA]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40cbb4
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40cbc7
push ebx
call fcn.0040f598
add esp, 4
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40cc1a
push 0x80000301
push 0
push 0
push 1
mov ebx, 0x1bc
call fcn.00410eb0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448d00]
test ebx, ebx
je 0x40cc0f
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448d00], eax
jmp 0x40d67d
mov dword [ebp - 0x3c], esp
push 0
push 0
push 3
push 0x444277
push 0x444277
push 0x50
push dword [ebp - 4]
push dword [ebp - 0xc]
call dword [sym.imp.WININET.DLL_InternetConnectA]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40cc5d
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x40ccad
push 0x80000301
push 0
push 0
push 1
mov ebx, 0x1bc
call fcn.00410eb0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448d00]
test ebx, ebx
je 0x40cca2
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448d00], eax
jmp 0x40d67d
mov dword [ebp - 0x3c], esp
push 0
push 0x80000000
push 0x444277
push 0x444277
push 0x448745
push dword [ebp - 8]
push dword [0x448cf0]
push dword [ebp - 0x10]
call dword [sym.imp.WININET.DLL_HttpOpenRequestA]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40ccf1
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40cd41
push 0x80000301
push 0
push 0
push 1
mov ebx, 0x1bc
call fcn.00410eb0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448d00]
test ebx, ebx
je 0x40cd36
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448d00], eax
jmp 0x40d67d
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push 0x44874e
push 0x80000004
push 0
mov eax, dword [0x448cf8]
test eax, eax
jne 0x40cd7a
mov eax, 0x444277
push eax
push 4
mov ebx, 0x148
call fcn.00411b50
add esp, 0x34
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffff
jne 0x40cdd2
push 0x448757
push dword [0x448cf8]
mov ecx, 2
call fcn.004015bf
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448cf8]
test ebx, ebx
je 0x40cdcc
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448cf8], eax
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push 0x448806
push 0x80000004
push 0
mov eax, dword [0x448cf8]
test eax, eax
jne 0x40ce0b
mov eax, 0x444277
push eax
push 4
mov ebx, 0x148
call fcn.00411b50
add esp, 0x34
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffff
jne 0x40ce6e
push 0x448687
push dword [0x448cec]
push 0x448806
push dword [0x448cf8]
mov ecx, 4
call fcn.004015bf
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448cf8]
test ebx, ebx
je 0x40ce68
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448cf8], eax
push 0x80000002
push 0
push 1
push 0x80000301
push 0
push 1
push 0x80000004
push 0
push 0x448810
push 0x80000004
push 0
mov eax, dword [0x448cf8]
test eax, eax
jne 0x40cea7
mov eax, 0x444277
push eax
push 4
mov ebx, 0x148
call fcn.00411b50
add esp, 0x34
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffff
jne 0x40ceff
push 0x448822
push dword [0x448cf8]
mov ecx, 2
call fcn.004015bf
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448cf8]
test ebx, ebx
je 0x40cef9
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448cf8], eax
push 0x444277
push dword [0x448cf0]
call fcn.004010b5
add esp, 8
cmp eax, 0
je 0x40cf3b
push 0x448420
push dword [0x448cf0]
call fcn.004010b5
add esp, 8
cmp eax, 0
je 0x40cf3b
xor eax, eax
jmp 0x40cf40
mov eax, 1
test eax, eax
je 0x40cfad
push 0x80000004
push 0
mov eax, dword [0x448cf8]
test eax, eax
jne 0x40cf5d
mov eax, 0x444277
push eax
push 1
mov ebx, 0x130
call fcn.0040fb30
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esp
push 0
push 0x444277
push dword [ebp - 0x3c]
push dword [0x448cf8]
push dword [ebp - 0x14]
call dword [sym.imp.WININET.DLL_HttpSendRequestA]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40cfa8
push 6
call fcn.0040f5b0
add esp, 4
jmp 0x40d184
push 0x44883b
push dword [0x448cf0]
call fcn.004010b5
add esp, 8
cmp eax, 0
jne 0x40d141
push 0x444277
push dword [0x448cfc]
call fcn.004010b5
add esp, 8
cmp eax, 0
je 0x40d0b2
push 0x448840
push dword [0x448cf8]
mov ecx, 2
call fcn.004015bf
add esp, 8
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448cf8]
test ebx, ebx
je 0x40d017
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448cf8], eax
push 0x80000004
push 0
mov eax, dword [0x448cfc]
test eax, eax
jne 0x40d032
mov eax, 0x444277
push eax
push 1
mov ebx, 0x130
call fcn.0040fb30
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x168
call fcn.00411270
add esp, 0x10
mov dword [ebp - 0x40], eax
push 0x448687
push dword [ebp - 0x40]
push 0x448872
push dword [0x448cf8]
mov ecx, 4
call fcn.004015bf
add esp, 0x10
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40d095
push ebx
call fcn.0040f598
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [0x448cf8]
test ebx, ebx
je 0x40d0ac
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448cf8], eax
push 0x80000004
push 0
mov eax, dword [0x448cf8]
test eax, eax
jne 0x40d0c7
mov eax, 0x444277
push eax
push 1
mov ebx, 0x130
call fcn.0040fb30
add esp, 0x10
mov dword [ebp - 0x3c], eax
push 0x80000004
push 0
mov eax, dword [0x448cfc]
test eax, eax
jne 0x40d0f2
mov eax, 0x444277
push eax
push 1
mov ebx, 0x130
call fcn.0040fb30
add esp, 0x10
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], esp
push dword [ebp - 0x40]
push dword [0x448cfc]
push dword [ebp - 0x3c]
push dword [0x448cf8]
push dword [ebp - 0x14]
call dword [sym.imp.WININET.DLL_HttpSendRequestA]
nop
nop
nop
nop
cmp dword [ebp - 0x44], esp
je 0x40d13c
push 6
call fcn.0040f5b0
add esp, 4
jmp 0x40d184
push 0x80000301
push 0
push 0
push 1
mov ebx, 0x1bc
call fcn.00410eb0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [0x448d00]
test ebx, ebx
je 0x40d179
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448d00], eax
jmp 0x40d67d
push 0x80000301
push 0
push 0x400
push 1
mov ebx, 0x184
call fcn.00412a10
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40d1b9
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x3c], esp
push 0
mov eax, 0x400
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x18]
push 0x16
push dword [ebp - 0x14]
call dword [sym.imp.WININET.DLL_HttpQueryInfoA]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40d1f8
push 6
call fcn.0040f5b0
add esp, 4
push 0
push 0
push 0
push 0x80000004
push 0
push 0x448687
push 0x80000004
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40d21d
mov eax, 0x444277
push eax
push 3
mov ebx, 0x190
call fcn.004118d0
add esp, 0x28
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40d255
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40d251
imul eax, dword [ebx]
jmp 0x40d246
mov ecx, eax
test ecx, ecx
je 0x40d274
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40d26d
push ebx
push eax
call fcn.0040f598
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40d25b
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x1c]
call fcn.00401011
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40d46b
mov ebx, dword [ebp - 0x1c]
call fcn.0040102a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40d2c2
push 4
call fcn.0040f5b0
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40d2d5
push 1
call fcn.0040f5b0
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
je 0x40d2fb
push eax
mov ebx, eax
call fcn.0040104a
inc eax
push eax
call fcn.0040f5a4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40d30c
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push 0x80000002
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
push 0x448883
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40d341
mov eax, 0x444277
push eax
push 4
mov ebx, 0x148
call fcn.00411b50
add esp, 0x34
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffff
je 0x40d463
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40d374
mov eax, 0x444277
push eax
push 1
mov ebx, 0x130
call fcn.0040fb30
add esp, 0x10
mov dword [ebp - 0x3c], eax
push 0x80000002
push 0
push 1
push 0
push 0
push 0
push 0x80000004
push 0
push 0x4483ee
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40d3bb
mov eax, 0x444277
push eax
push 4
mov ebx, 0x14c
call fcn.00411cb0
add esp, 0x34
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x3c]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x48]
fild dword [ebp - 0x40]
fstp qword [ebp - 0x50]
fsub qword [ebp - 0x50]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
call fcn.00401152
push 0x80000301
push 0
push eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40d409
mov eax, 0x444277
push eax
push 2
mov ebx, 0x138
call fcn.0040fb50
add esp, 0x1c
mov dword [ebp - 0x5c], eax
push 0x80000004
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x40d432
mov eax, 0x444277
push eax
push 1
mov ebx, 0x9dc
call fcn.00411d60
add esp, 0x10
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x40d458
push ebx
call fcn.0040f598
add esp, 4
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2c], eax
jmp 0x40d46b
pop eax
pop ebx
pop ecx
jmp 0x40d297
add esp, 0xc
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x34], 0
cmp dword [ebp - 0x30], 0
je 0x40d60d
push 0x80000301
push 0
push 0x800
push 1
mov ebx, 0x1bc
call fcn.00410eb0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40d4bb
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
push 0
mov ebx, 0x350
call fcn.00411780
add esp, 4
push 0x80000005
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x40d4e4
mov eax, 0x44428d
push eax
push 1
mov ebx, 0x194
call fcn.00411760
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esp
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x40d50e
add eax, 8
push eax
push dword [ebp - 0x14]
call dword [sym.imp.WININET.DLL_InternetReadFile]
nop
nop
nop
nop
cmp dword [ebp - 0x40], esp
je 0x40d52e
push 6
call fcn.0040f5b0
add esp, 4
cmp dword [ebp - 0x34], 0
jne 0x40d544
mov dword [ebp - 0x30], 0
jmp 0x40d5bd
push 0x80000301
push 0
push dword [ebp - 0x34]
push 0x80000005
push 0
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x40d561
mov eax, 0x44428d
push eax
push 2
mov ebx, 0x1a0
call fcn.00412a50
add esp, 0x1c
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
push dword [0x448d00]
mov ecx, 2
call fcn.004083b2
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40d5a0
push ebx
call fcn.0040f598
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [0x448d00]
test ebx, ebx
je 0x40d5b7
push ebx
call fcn.0040f598
add esp, 4
pop eax
mov dword [0x448d00], eax
push 0x80000005
push 0
mov eax, dword [0x448d00]
test eax, eax
jne 0x40d5d2
mov eax, 0x44428d
push eax
push 1
mov ebx, 0x194
call fcn.00411760
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x9dc
call fcn.00411d60
add esp, 0x10
push eax
push dword [ebp - 0x2c]
call fcn.0040dcba
jmp 0x40d47c
mov dword [ebp - 0x3c], esp
push dword [ebp - 0x14]
call dword [sym.imp.WININET.DLL_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40d62f
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0x3c], esp
push dword [ebp - 0x10]
call dword [sym.imp.WININET.DLL_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40d651
push 6
call fcn.0040f5b0
add esp, 4
mov dword [ebp - 0x3c], esp
push dword [ebp - 0xc]
call dword [sym.imp.WININET.DLL_InternetCloseHandle]
nop
nop
nop
nop
cmp dword [ebp - 0x3c], esp
je 0x40d673
push 6
call fcn.0040f5b0
add esp, 4
mov dword [0x448d04], 0
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40d68d
push ebx
call fcn.0040f598
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40d69d
push ebx
call fcn.0040f598
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40d6ad
push ebx
call fcn.0040f598
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40d6cb
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40d6c7
imul eax, dword [ebx]
jmp 0x40d6bc
mov ecx, eax
test ecx, ecx
je 0x40d6ea
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40d6e3
push ebx
push eax
call fcn.0040f598
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40d6d1
call fcn.0040f598
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40d702
push ebx
call fcn.0040f598
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40d712
push ebx
call fcn.0040f598
add esp, 4
mov esp, ebp
pop ebp
ret