Function at 0x4037d0
Capabilities:
Create http request
Download and write a file
Print debug messages
Read data from internet
Receive and write data from server to client
Receive data
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45140b
mov eax, dword fs:[0]
push eax
mov eax, 0x1244
call fcn.00442260
mov eax, dword [0x467e60]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
push 0
push 0
push 0
push 0
push str._RookIE_1.0
call dword [sym.imp.WININET.dll_InternetOpenW]
mov ebx, eax
test ebx, ebx
je 0x403ab4
push 0
push 0x4000000
push 0
push 0
push esi
push ebx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov esi, eax
test esi, esi
je 0x403a49
push 0xfff
lea eax, [ebp - 0x1217]
push 0
push eax
mov byte [ebp - 0x1218], 0
call fcn.0043f3e0
mov dword [ebp - 0x124c], 1
mov dword [ebp - 0x1234], 0xf
mov dword [ebp - 0x1238], 0
mov byte [ebp - 0x1248], 0
lea edx, [ebp - 0x1248]
mov ecx, edi
mov dword [ebp - 4], 0
call fcn.00403af0
cmp dword [ebp - 0x1234], 0x10
lea eax, [ebp - 0x1248]
cmovae eax, dword [ebp - 0x1248]
push 0x460680
push eax
call fcn.0043e4e1
mov edi, eax
add esp, 0x14
test edi, edi
je 0x403a11
cmp dword [ebp - 0x124c], 0
jbe 0x4039a8
lea esp, [esp]
lea eax, [ebp - 0x124c]
push eax
push 0xfff
lea eax, [ebp - 0x1218]
push eax
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp byte [ebp - 0x1218], 0
mov dword [ebp - 0x121c], 0xf
mov dword [ebp - 0x1220], 0
mov byte [ebp - 0x1230], 0
jne 0x403912
xor ecx, ecx
jmp 0x403929
lea ecx, [ebp - 0x1218]
lea edx, [ecx + 1]
jmp 0x403920
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403920
sub ecx, edx
push ecx
lea eax, [ebp - 0x1218]
push eax
lea ecx, [ebp - 0x1230]
call fcn.00401430
push 0x13
push ecx
push str._h1_
lea ecx, [ebp - 0x1230]
call fcn.00404160
cmp eax, 0xffffffff
je 0x40396c
push 3
push ecx
push 0x460698
lea ecx, [ebp - 0x1230]
call fcn.00404160
cmp eax, 0xffffffff
jne 0x4039b3
push edi
push dword [ebp - 0x124c]
lea eax, [ebp - 0x1218]
push 1
push eax
call fcn.0043e6cc
add esp, 0x10
cmp dword [ebp - 0x121c], 0x10
jb 0x40399b
push dword [ebp - 0x1230]
call fcn.0043d6b8
add esp, 4
cmp dword [ebp - 0x124c], 0
ja 0x4038d0
push edi
call fcn.0043e812
add esp, 4
jmp 0x403a22
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push ebx
call esi
cmp dword [ebp - 0x121c], 0x10
jb 0x4039d6
push dword [ebp - 0x1230]
call fcn.0043d6b8
add esp, 4
cmp dword [ebp - 0x1234], 0x10
mov dword [ebp - 0x121c], 0xf
mov dword [ebp - 0x1220], 0
mov byte [ebp - 0x1230], 0
jb 0x403ac5
push dword [ebp - 0x1248]
call fcn.0043d6b8
add esp, 4
jmp 0x403ac5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x46069c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
cmp dword [ebp - 0x1234], 0x10
jb 0x403a42
push dword [ebp - 0x1248]
call fcn.0043d6b8
add esp, 4
push ebx
call esi
mov al, 1
jmp 0x403ac7
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov dword [ebp - 0x1250], eax
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
call fcn.0043f3e0
add esp, 0xc
lea eax, [ebp - 0x124c]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x1250]
push eax
mov dword [ebp - 0x124c], 0x104
call dword [sym.imp.WININET.dll_InternetGetLastResponseInfoW]
test eax, eax
jne 0x403aa0
call esi
push str.InternetOpenUrl
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x403ac5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.InternetOpen
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043cefb
mov esp, ebp
pop ebp
ret