Function at 0x4158a4
Capabilities:
Make an http request with a cookie
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push 0x36c
mov eax, 0x436d06
call fcn.0041e3a7
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
xor ebx, ebx
mov dword [eax + 8], ebx
mov eax, dword [eax + 4]
cmp eax, ebx
mov dword [ebp - 0x300], edx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x308], edi
je 0x415f9e
push ebx
push 0x4000000
push ebx
push ebx
push ebx
push ecx
push str.POST
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov ecx, eax
cmp ecx, ebx
mov dword [ebp - 0x2ec], ecx
je 0x415f9e
lea eax, [ebp - 0x2f8]
call fcn.00401ad9
mov eax, str.Content_Type:_application_x_www_form_urlencoded
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], ebx
call fcn.0040102d
mov eax, edi
mov byte [ebp - 4], 1
call fcn.0041496b
test eax, eax
je 0x4159e4
push 0x43ada0
lea eax, [ebp - 0x230]
push eax
call fcn.00401053
push str.Cookie:
lea eax, [ebp - 0x230]
push eax
call fcn.00401053
mov eax, edi
mov dword [ebp - 0x2e0], ebx
call fcn.0041496b
test eax, eax
jbe 0x4159d3
push dword [ebp - 0x2e0]
mov esi, edi
call fcn.00414981
cmp dword [eax + 0x14], ebx
lea ecx, [eax + 0x1c]
mov dword [ebp - 0x310], ecx
je 0x4159be
cmp dword [ecx + 0x14], ebx
je 0x4159be
push 0xffffffffffffffff
push ebx
lea esi, [ebp - 0x230]
call fcn.00401315
push 0x43c0e4
mov eax, esi
push eax
call fcn.00401053
mov eax, dword [ebp - 0x310]
push 0xffffffffffffffff
push ebx
call fcn.00401315
push 0x43c0f8
mov eax, esi
push eax
call fcn.00401053
inc dword [ebp - 0x2e0]
mov eax, edi
call fcn.0041496b
cmp dword [ebp - 0x2e0], eax
jb 0x415968
push str._r_n_r_n
lea eax, [ebp - 0x230]
push eax
call fcn.00401053
cmp dword [ebp - 0x218], 8
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x33c], 0x28
mov dword [ebp - 0x338], ebx
jae 0x415a09
lea eax, [ebp - 0x22c]
mov esi, dword [ebp + 0xc]
push ebx
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x21c]
push ebx
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], eax
push ebx
lea eax, [ebp - 0x33c]
push eax
push dword [ebp - 0x2ec]
mov dword [ebp - 0x328], ebx
mov dword [ebp - 0x324], ebx
mov dword [ebp - 0x320], esi
mov dword [ebp - 0x31c], ebx
mov dword [ebp - 0x318], ebx
call dword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
je 0x415f85
lea eax, [ebp - 0x30c]
push eax
push esi
push dword [ebp - 0x300]
mov dword [ebp - 0x30c], ebx
push dword [ebp - 0x2ec]
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x415f85
cmp dword [ebp - 0x30c], esi
push ebx
jne 0x415f86
push ebx
push ebx
push dword [ebp - 0x2ec]
call dword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
je 0x415f85
mov eax, dword [ebp - 0x2e4]
call fcn.0040648e
lea eax, [ebp - 0x2f0]
push eax
push 0x1ff
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x2ec]
mov dword [ebp - 0x2f0], ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x415f85
mov eax, dword [ebp - 0x2f0]
cmp eax, 0x200
jae 0x415f85
push eax
lea ecx, [ebp - 0x214]
lea edi, [ebp - 0x2a0]
mov byte [ebp + eax - 0x214], bl
call fcn.0040d6bd
pop ecx
mov esi, dword [ebp - 0x2e4]
push 0xffffffffffffffff
push ebx
mov byte [ebp - 4], 2
call fcn.00401315
push ebx
push 1
mov esi, edi
mov byte [ebp - 4], 1
call fcn.00401197
cmp dword [ebp - 0x2f0], ebx
ja 0x415ab6
mov esi, dword [ebp - 0x308]
call fcn.004149ff
xor ecx, ecx
mov eax, 0x200
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e8], eax
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00419196
mov esi, eax
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2fc], ebx
pop ecx
mov eax, dword [ebp - 0x2e0]
mov word [esi], bx
mov edi, dword [ebp - 0x2fc]
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2fc]
push eax
lea eax, [ebp - 0x2e8]
push eax
push esi
push 0x2b
push dword [ebp - 0x2ec]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
setne byte [ebp - 0x2d9]
cmp byte [ebp - 0x2d9], bl
jne 0x415c1c
mov eax, dword [ebp - 0x2e0]
cmp dword [ebp - 0x2e8], eax
jbe 0x415f52
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x415f52
mov eax, dword [ebp - 0x2e8]
inc eax
push esi
mov dword [ebp - 0x2e0], eax
call fcn.0041a1ed
mov eax, dword [ebp - 0x2e0]
pop ecx
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00419196
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2fc], edi
mov esi, eax
jmp 0x415b75
mov eax, dword [ebp - 0x2e8]
cmp eax, dword [ebp - 0x2e0]
ja 0x415f55
mov word [esi + eax*2], bx
mov eax, esi
lea ecx, [ebp - 0x268]
call fcn.0040102d
cmp dword [ebp - 0x254], ebx
je 0x415f38
push 7
pop eax
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2c4], ebx
mov word [ebp - 0x2d4], bx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x238], ebx
mov word [ebp - 0x248], bx
push 1
lea eax, [ebp - 0x300]
push eax
mov byte [ebp - 4], 5
xor eax, eax
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x300], 0x3d
call fcn.0040199d
mov edi, eax
cmp edi, 0xffffffff
je 0x415d11
push edi
lea eax, [ebp - 0x268]
push eax
xor ebx, ebx
lea esi, [ebp - 0x2a0]
call fcn.0040108c
push 0xffffffffffffffff
lea ecx, [ebp - 0x2d8]
push ecx
mov byte [ebp - 4], 6
call fcn.00401276
push ebx
push 1
mov byte [ebp - 4], 5
call fcn.00401197
lea ebx, [edi + 1]
cmp ebx, dword [ebp - 0x254]
jae 0x415d11
push 0xffffffffffffffff
lea eax, [ebp - 0x268]
push eax
lea esi, [ebp - 0x2a0]
call fcn.0040108c
push 0xffffffffffffffff
lea ecx, [ebp - 0x268]
push ecx
xor ebx, ebx
mov byte [ebp - 4], 7
call fcn.00401276
push ebx
push 1
mov byte [ebp - 4], 5
call fcn.00401197
push 1
lea eax, [ebp - 0x300]
push eax
xor eax, eax
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x300], 0x3b
call fcn.0040199d
xor ebx, ebx
cmp eax, 0xffffffff
je 0x415d6b
push eax
lea eax, [ebp - 0x268]
push eax
lea esi, [ebp - 0x2a0]
call fcn.0040108c
push 0xffffffffffffffff
lea ecx, [ebp - 0x24c]
push ecx
mov byte [ebp - 4], 8
call fcn.00401276
push ebx
push 1
mov byte [ebp - 4], 5
call fcn.00401197
jmp 0x415d81
push 0xffffffffffffffff
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x268]
call fcn.00401276
xor ebx, ebx
lea eax, [ebp - 0x2d8]
push eax
call fcn.0040caf2
pop ecx
lea eax, [ebp - 0x24c]
push eax
call fcn.0040caf2
cmp dword [ebp - 0x2c4], ebx
pop ecx
je 0x415f1a
cmp dword [ebp - 0x238], ebx
je 0x415f1a
mov eax, str.http:__www.haozip.com_
lea ecx, [ebp - 0x284]
call fcn.0040102d
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x24c]
lea esi, [ebp - 0x284]
mov byte [ebp - 4], 9
call fcn.00401315
push 0x3c
pop esi
push esi
lea eax, [ebp - 0x378]
push ebx
push eax
call fcn.0041a5f0
add esp, 0xc
mov dword [ebp - 0x378], esi
mov esi, dword [ebp - 0x270]
add esi, 0x20
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00419196
pop ecx
lea ecx, [esi + esi]
push ecx
push ebx
push eax
mov dword [ebp - 0x344], eax
call fcn.0041a5f0
mov eax, dword [ebp - 0x280]
add esp, 0xc
dec esi
cmp dword [ebp - 0x26c], 8
mov dword [ebp - 0x340], esi
jae 0x415e45
lea eax, [ebp - 0x280]
lea ecx, [ebp - 0x378]
push ecx
push SysReAllocString
push dword [ebp - 0x270]
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
cmp eax, ebx
je 0x415ecb
mov eax, dword [ebp - 0x344]
lea ecx, [ebp - 0x2a0]
call fcn.0040102d
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x28c], ebx
je 0x415eb9
lea eax, [ebp - 0x314]
lea ecx, [ebp - 0x2a0]
call fcn.00406c13
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x304]
push eax
lea eax, [ebp - 0x2a0]
call fcn.00415fa8
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x2a0]
call fcn.0040ee86
push ebx
push 1
lea esi, [ebp - 0x2a0]
mov byte [ebp - 4], 9
call fcn.00401197
push dword [ebp - 0x344]
call fcn.0041a1ed
pop ecx
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x2bc]
push eax
call fcn.00414a4b
mov esi, dword [ebp - 0x308]
push eax
mov byte [ebp - 4], 0xb
call fcn.004149a0
lea edi, [ebp - 0x2bc]
call fcn.004128ea
push ebx
push 1
lea esi, [ebp - 0x284]
call fcn.00401197
push ebx
push 1
lea esi, [ebp - 0x24c]
call fcn.00401197
push ebx
push 1
lea esi, [ebp - 0x2d8]
call fcn.00401197
xor ebx, ebx
push ebx
push 1
lea esi, [ebp - 0x268]
mov byte [ebp - 4], 1
call fcn.00401197
mov esi, dword [ebp - 0x2e4]
jmp 0x415f55
mov word [esi], bx
cmp byte [ebp - 0x2d9], bl
jne 0x415b76
push esi
call fcn.0041a1ed
pop ecx
push ebx
push 1
lea esi, [ebp - 0x230]
call fcn.00401197
lea ecx, [ebp - 0x2f8]
call fcn.00401ae3
mov al, 1
jmp 0x415fa0
push ebx
push 1
lea esi, [ebp - 0x230]
call fcn.00401197
lea ecx, [ebp - 0x2f8]
call fcn.00401ae3
xor al, al
call fcn.0041e42a
ret 0x10