Function at 0x4be6e0
Capabilities:
Connect to http server
Create http request
Parse url
Send data
Send http request

Disassembly:
push ebp
lea ebp, [esp - 0x3204]
mov eax, 0x3204
call fcn.004fe1a0
push 0xffffffffffffffff
push 0x51d7cb
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x5a4aa8]
xor eax, ebp
mov dword [ebp + 0x3200], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x3210]
mov dword [ebp - 0x14], eax
mov edi, ecx
mov dword [ebp - 0x40], edi
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 1
mov ebx, dword [ebp + 0x320c]
cmp dword [ebx - 0xc], esi
je 0x4bec77
cmp edi, esi
je 0x4bec77
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4be760
sub eax, edx
sar eax, 1
je 0x4bec77
push edi
push ebx
push str.Request_File___s__to___s_
mov ecx, 0x649e50
call fcn.004918f0
push 0x200
push esi
lea ecx, [ebp + 0x3000]
push ecx
call fcn.004fd670
add esp, 0x18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.DownloadFile__d
lea edx, [ebp + 0x3000]
call fcn.00418d80
add esp, 8
push esi
push esi
push esi
push esi
lea edx, [ebp + 0x3000]
push edx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
cmp ebx, esi
jne 0x4be7f5
push str.Open_Internet_session_fail__
mov ecx, 0x649e50
call fcn.004918f0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x30], eax
push 0x5814b0
lea eax, [ebp - 0x30]
push eax
call fcn.004fd5a3
mov eax, dword [ebp + 0x3214]
cmp eax, esi
je 0x4be80a
imul eax, eax, 0x3e8
mov dword [ebp - 0x18], eax
jmp 0x4be811
mov dword [ebp - 0x18], 0x3e8
push 4
lea ecx, [ebp - 0x18]
push ecx
push 2
push ebx
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
call esi
test eax, eax
je 0x4bec48
mov edx, dword [ebp - 0x18]
push edx
push str.Set_connect_time_out_success_:__d
mov ecx, 0x649e50
call fcn.004918f0
add esp, 8
push 4
lea eax, [ebp - 0x18]
push eax
push 6
push ebx
call esi
test eax, eax
je 0x4bec19
mov ecx, dword [ebp - 0x18]
push ecx
push str.Set_receive_time_out_success_:__d
mov ecx, 0x649e50
call fcn.004918f0
add esp, 8
lea edx, [ebp]
cmp byte [ebp + 0x3218], 0
je 0x4be8d9
push 0x2000
push 0
push edx
call fcn.004fd670
add esp, 0xc
mov dword [ebp - 0x38], 0x1000
push 0x30000000
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp]
push ecx
mov edx, dword [ebp + 0x320c]
push edx
call dword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
jne 0x4be8f3
push str.Encode_Url_fail_
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call esi
mov dword [ebp - 0x4c], eax
push 0x5814b0
lea eax, [ebp - 0x4c]
push eax
call fcn.004fd5a3
push 0xfff
mov ecx, dword [ebp + 0x320c]
push ecx
push 0x1000
push edx
call fcn.004fa71b
add esp, 0x10
lea eax, [ebp]
push eax
push str._koko__URL_to_be_requested_:___s_
mov ecx, 0x649e50
call fcn.004918f0
add esp, 8
push 0
push 0
push 0
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp]
push edx
push ebx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
jne 0x4bebcb
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
push str.Open_URL_fail___Request_again_with_HTTPRequest
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
push 0x3c
push 0
lea eax, [ebp - 0xa0]
push eax
call fcn.004fd670
mov dword [ebp - 0x60], 0x55fe64
mov dword [ebp - 0x5c], str.image_
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x14], 0x4407100
push 0x800
push 0
lea ecx, [ebp + 0x2800]
push ecx
call fcn.004fd670
push 0x800
push 0
lea edx, [ebp + 0x2000]
push edx
call fcn.004fd670
add esp, 0x28
mov dword [ebp - 0xa0], 0x3c
lea eax, [ebp + 0x2800]
mov dword [ebp - 0x90], eax
mov eax, 0x400
mov dword [ebp - 0x8c], eax
lea ecx, [ebp + 0x2000]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x320c]
mov ecx, dword [eax - 0xc]
lea edx, [ebp - 0xa0]
push edx
push 0
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x4bea0d
push str.CrackUrl_fail__
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call esi
mov dword [ebp - 0x54], eax
push 0x5814b0
lea eax, [ebp - 0x54]
push eax
call fcn.004fd5a3
push 0
push 0
push 3
push 0x535a4c
push 0x535a4c
push 0x50
lea ecx, [ebp + 0x2800]
push ecx
push ebx
call dword [sym.imp.WININET.dll_InternetConnectW]
test eax, eax
jne 0x4bea58
push str.InternetConnect_fail__
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call esi
mov dword [ebp - 0x50], eax
push 0x5814b0
lea edx, [ebp - 0x50]
push edx
call fcn.004fd5a3
push 0
cmp byte [ebp + 0x321c], 0
je 0x4bea7d
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x60]
push edx
push 0
push 0
lea ecx, [ebp + 0x2000]
push ecx
push str.POST
jmp 0x4bea95
mov edx, dword [ebp - 0x14]
push edx
lea ecx, [ebp - 0x60]
push ecx
push 0
push 0
lea edx, [ebp + 0x2000]
push edx
push 0x55fe74
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
jne 0x4bead0
push str.HttpOpenRequest_fail__
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x34], eax
push 0x5814b0
lea eax, [ebp - 0x34]
push eax
call fcn.004fd5a3
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x4bebc8
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
mov edi, eax
push str.HttpSendRequest_fail_____1
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x20], 4
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x14]
push edx
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
test eax, eax
jne 0x4beb4d
push str.InternetQueryOption_fail__
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
mov dword [ebp - 0x28], edi
push 0x5814b0
lea eax, [ebp - 0x28]
push eax
call fcn.004fd5a3
or dword [ebp - 0x14], 0x3380
push 4
lea ecx, [ebp - 0x14]
push ecx
push 0x1f
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x4beb8e
push str.InternetSetOption_fail__
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call ebx
mov dword [ebp - 0x48], eax
push 0x5814b0
lea edx, [ebp - 0x48]
push edx
call fcn.004fd5a3
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x4bebc8
push str.HttpSendRequest_fail_____2
mov ecx, edi
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call ebx
mov dword [ebp - 0x3c], eax
push 0x5814b0
lea eax, [ebp - 0x3c]
push eax
call fcn.004fd5a3
mov edi, dword [ebp - 0x40]
push esi
mov ecx, edi
call fcn.004bf200
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x320c]
call fcn.00406150
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x3200]
xor ecx, ebp
call fcn.004fa103
add ebp, 0x3204
mov esp, ebp
pop ebp
ret 0x14
push str.Set_receive_time_out_fail_
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call esi
mov dword [ebp - 0x44], eax
push 0x5814b0
lea ecx, [ebp - 0x44]
push ecx
call fcn.004fd5a3
push str.Set_connect_time_out_fail_
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov ecx, eax
mov edx, 0x649e50
call fcn.004917b0
add esp, 4
call esi
mov dword [ebp - 0x2c], eax
push 0x5814b0
lea edx, [ebp - 0x2c]
push edx
call fcn.004fd5a3
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x320c]
call fcn.00406150
mov eax, 0x57
jmp 0x4bebf2