Function at 0x5bf920
Capabilities:
Connect to http server
Create http request
Query remote server for available data
Read and send data from client to server
Read data from internet
Read file on windows
Receive data
Resolve function by parsing pe exports
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x718342
mov eax, dword fs:[0]
push eax
mov eax, 0x3d58
call fcn.006b59e0
mov eax, dword [0x7e6410]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x3d14], 1
mov dword [ebp - 0x3d34], 0x80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x3d30]
mov dword [ebp - 0x3d20], eax
call fcn.00429050
lea ecx, [ebp - 0x3d28]
mov dword [ebp - 4], 0
call fcn.00429050
lea ecx, [ebp - 0x3d2c]
mov byte [ebp - 4], 1
call fcn.00429050
lea eax, [ebp - 0x3d2c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x3d28]
mov ecx, esi
push eax
lea eax, [ebp - 0x3d1c]
push eax
lea eax, [ebp - 0x3d30]
push eax
call fcn.005c0230
test eax, eax
jne 0x5bf9d1
xor edi, edi
jmp 0x5c003c
mov eax, dword [esi + 0x10]
mov ecx, str.HttpGetFile
push 0
push 0
test eax, eax
push 0
cmovne ecx, eax
push 0
push ecx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [esi + 0x70], eax
test eax, eax
jne 0x5bf9fb
xor edi, edi
jmp 0x5c003c
cmp dword [esi + 0x90], 0
lea eax, [esi + 0x90]
mov edi, dword [sym.imp.WININET.dll_InternetSetOptionW]
jl 0x5bfa19
push 4
push eax
push 2
push 0
call edi
cmp dword [esi + 0x94], 0
lea eax, [esi + 0x94]
jl 0x5bfa31
push 4
push eax
push 3
push 0
call edi
cmp dword [esi + 0x98], 0
lea eax, [esi + 0x98]
jl 0x5bfa49
push 4
push eax
push 6
push 0
call edi
push 0
push 0
push 3
push 0
push 0
push dword [ebp - 0x3d1c]
lea ecx, [ebp - 0x3d30]
call fcn.00429100
push eax
push dword [esi + 0x70]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [esi + 0x74], eax
test eax, eax
jne 0x5bfa7c
xor edi, edi
jmp 0x5c003c
cmp dword [esi + 0x88], 1
jne 0x5bfaa8
push 0
push 0x4800000
push 0
push 0
push str.HTTP_1.0
lea ecx, [ebp - 0x3d28]
call fcn.00429100
push eax
push 0x74f540
jmp 0x5bfafa
push str.https
lea ecx, [ebp - 0x3d2c]
call fcn.00429100
push eax
call fcn.006b78e9
add esp, 8
mov ecx, 0x84c00000
test eax, eax
mov eax, 0x84400000
cmove eax, ecx
lea ecx, [ebp - 0x3d28]
push 0
push eax
push 0
push 0
push 0x74f190
call fcn.00429100
cmp dword [esi + 0x78], 0
mov ecx, 0x74f1b0
push eax
mov eax, str.POST
cmove eax, ecx
push eax
push dword [esi + 0x74]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [esi + 0x6c], eax
test eax, eax
jne 0x5bfb11
xor edi, edi
jmp 0x5c003c
cmp dword [esi + 0x24], 0
mov edi, dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
je 0x5bfb72
push dword [esi + 0x34]
lea eax, [ebp - 0x510]
push dword [esi + 0x30]
push dword [esi + 0x2c]
push dword [esi + 0x28]
push str.Range:_bytes_I64d__I64d
push eax
call fcn.006b6675
lea ecx, [ebp - 0x510]
add esp, 0x18
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5bfb46
sub ecx, edx
lea eax, [ebp - 0x510]
push 0x10000000
sar ecx, 1
push ecx
push eax
push dword [esi + 0x6c]
call edi
test eax, eax
jne 0x5bfb72
xor edi, edi
jmp 0x5c003c
cmp dword [esi + 0x88], 1
jne 0x5bfdfa
lea eax, [esi + 0x8c]
push eax
lea ecx, [ebp - 0x3d14]
call fcn.00428690
push 0x786b50
lea ecx, [ebp - 0x3d14]
mov byte [ebp - 4], 3
call fcn.00429100
push eax
call fcn.006b57a3
mov edi, eax
add esp, 8
mov dword [ebp - 0x3d20], edi
test edi, edi
jne 0x5bfbd1
lea ecx, [ebp - 0x3d14]
mov byte [ebp - 4], 2
call fcn.00428810
or edi, 0xffffffff
jmp 0x5c0082
push 2
push 0
push edi
call fcn.006b724c
push edi
call fcn.006b765f
push 0
cdq
push 0
push dword [ebp - 0x3d20]
mov dword [ebp - 0x3d24], eax
mov edi, edx
call fcn.006b724c
add esp, 0x1c
lea ecx, [ebp - 0x3d18]
call fcn.00429050
push str.User_Agent:_MSIE_Gretech_GOMBridge_r_n
lea ecx, [ebp - 0x3d18]
mov byte [ebp - 4], 4
call fcn.00428e00
push str.Accept:___r_n
lea ecx, [ebp - 0x3d18]
call fcn.00428e00
lea ecx, [ebp - 0x3d1c]
call fcn.00429050
push edi
mov edi, dword [ebp - 0x3d24]
lea eax, [ebp - 0x3d1c]
push edi
push str.Content_Length:__I64d_r_n
push eax
mov byte [ebp - 4], 5
call fcn.0042a0e0
add esp, 0x10
lea eax, [ebp - 0x3d1c]
lea ecx, [ebp - 0x3d18]
push eax
call fcn.00428e50
push 0x10000000
lea ecx, [ebp - 0x3d18]
call fcn.004290e0
push eax
lea ecx, [ebp - 0x3d18]
call fcn.00429100
push eax
push dword [esi + 0x6c]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
test eax, eax
jne 0x5bfcc6
lea ecx, [ebp - 0x3d1c]
mov byte [ebp - 4], 4
xor edi, edi
call fcn.00428810
lea ecx, [ebp - 0x3d18]
mov byte [ebp - 4], 3
call fcn.00428810
lea ecx, [ebp - 0x3d14]
mov byte [ebp - 4], 2
call fcn.00428810
jmp 0x5c003c
push 1
push 8
push 0
lea eax, [ebp - 0x3d64]
xorps xmm0, xmm0
push eax
push dword [esi + 0x6c]
movdqu xmmword [ebp - 0x3d64], xmm0
mov dword [ebp - 0x3d64], 0x28
movdqu xmmword [ebp - 0x3d54], xmm0
mov dword [ebp - 0x3d48], edi
movq qword [ebp - 0x3d44], xmm0
call dword [sym.imp.WININET.dll_HttpSendRequestExW]
push edi
push dword [esi + 0x44]
mov ecx, esi
push dword [0x7f8c9c]
call fcn.005c03c0
push esi
lea ecx, [ebp - 0x3d24]
call fcn.00544660
push 0xfff
lea eax, [ebp - 0x150f]
mov byte [ebp - 0x1510], 0
push 0
push eax
call fcn.006b47d0
push dword [ebp - 0x3d20]
lea eax, [ebp - 0x1510]
push 0x1000
push 1
push eax
call fcn.006b6232
add esp, 0x1c
xor edi, edi
test eax, eax
je 0x5bfda6
push eax
add edi, eax
lea ecx, [ebp - 0x3d24]
lea eax, [ebp - 0x1510]
push eax
call fcn.005bf720
push edi
push dword [esi + 0x44]
mov ecx, esi
push dword [0x7f8c94]
call fcn.005c03c0
push dword [ebp - 0x3d20]
lea eax, [ebp - 0x1510]
push 0x1000
push 1
push eax
call fcn.006b6232
add esp, 0x10
test eax, eax
jne 0x5bfd60
push dword [ebp - 0x3d20]
call fcn.006b5369
add esp, 4
push 1
push 0
push 0
push dword [esi + 0x6c]
call dword [sym.imp.WININET.dll_HttpEndRequestW]
lea ecx, [ebp - 0x3d1c]
mov byte [ebp - 4], 4
call fcn.00428810
lea ecx, [ebp - 0x3d18]
mov byte [ebp - 4], 3
call fcn.00428810
lea ecx, [ebp - 0x3d14]
mov byte [ebp - 4], 2
call fcn.00428810
mov edi, 1
jmp 0x5c003c
cmp dword [esi + 0x78], 0
je 0x5bfe56
mov eax, dword [esi + 0x84]
mov ecx, str.application_x_www_form_urlencoded
push dword [esi + 0x80]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x510]
push ecx
push str.Content_Type:__s_r_nContent_Length:__d_r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x510]
push 0x10000000
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
lea eax, [ebp - 0x510]
push eax
push dword [esi + 0x6c]
call edi
test eax, eax
jne 0x5bfe56
xor edi, edi
jmp 0x5c003c
mov edx, dword [esi + 0x14]
test edx, edx
je 0x5bfe9c
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x3d24], eax
jmp 0x5bfe70
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x5bfe70
sub ecx, dword [ebp - 0x3d24]
sar ecx, 1
je 0x5bfe9c
push 0x10000000
push ecx
push edx
push dword [esi + 0x6c]
call edi
test eax, eax
jne 0x5bfe9c
xor edi, edi
jmp 0x5c003c
push dword [esi + 0x80]
push dword [esi + 0x7c]
push 0
push 0
push dword [esi + 0x6c]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x5bfee4
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0x3d20]
add ecx, 0x7d0
cmp ecx, eax
jae 0x5c003c
mov dword [esi + 0x3c], 1
jmp 0x5c003c
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
lea eax, [ebp - 0x3d34]
push 0
push eax
lea eax, [ebp - 0x110]
push eax
push 5
push dword [esi + 0x6c]
call edi
test eax, eax
jne 0x5bff0e
mov dword [esi + 0x40], 0xffffffff
jmp 0x5bff20
lea eax, [ebp - 0x110]
push eax
call fcn.006b3230
add esp, 4
mov dword [esi + 0x40], eax
push dword [esi + 0x40]
mov ecx, esi
push dword [esi + 0x44]
push dword [0x7f8c9c]
call fcn.005c03c0
push 0
lea eax, [ebp - 0x3d34]
push eax
lea eax, [ebp - 0x110]
push eax
push 0x13
push dword [esi + 0x6c]
call edi
test eax, eax
je 0x5bff81
mov eax, dword [esi + 0x38]
test eax, eax
je 0x5bff5e
push eax
call fcn.006b31f8
add esp, 4
lea eax, [ebp - 0x110]
push eax
call fcn.006b9cb4
add esp, 4
mov dword [esi + 0x38], eax
cmp word [ebp - 0x110], 0x32
je 0x5bff81
xor edi, edi
jmp 0x5c003c
mov edi, dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
jmp 0x5bff90
push 0
push 0
lea eax, [ebp - 0x3d3c]
push eax
push dword [esi + 0x6c]
call edi
test eax, eax
je 0x5c002e
lea eax, [ebp - 0x3d38]
push eax
push 0x2800
lea eax, [ebp - 0x3d10]
push eax
push dword [esi + 0x6c]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x5c002e
mov eax, dword [ebp - 0x3d38]
test eax, eax
je 0x5c0036
push eax
lea eax, [ebp - 0x3d10]
mov ecx, esi
push eax
call fcn.005c07e0
test eax, eax
je 0x5c002e
push dword [esi + 0x48]
mov ecx, esi
push dword [esi + 0x44]
push dword [0x7f8c94]
call fcn.005c03c0
cmp dword [esi + 0x5c], 0
jne 0x5c0025
mov eax, dword [0x7f8c8c]
cmp dword [eax + 0x20], 0
jne 0x5c0036
mov eax, dword [esi + 0x18]
cmp eax, 0xffffffff
je 0x5c0016
cmp eax, dword [esi + 0x48]
jle 0x5c0036
cmp dword [ebp - 0x3d38], 0
jne 0x5bff90
jmp 0x5c0036
mov dword [esi + 0x5c], 0
jmp 0x5c0036
xor eax, eax
mov dword [ebp - 0x3d14], eax
mov edi, dword [ebp - 0x3d14]
mov ecx, dword [esi + 0x4c]
test ecx, ecx
je 0x5c005b
cmp dword [ecx + 4], 0
je 0x5c005b
push 1
push 0x783f96
call fcn.005be000
mov eax, dword [esi + 0x4c]
dec dword [eax + 4]
mov eax, dword [esi + 0x50]
cmp eax, 0xffffffff
je 0x5c006a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push dword [esi + 0x44]
mov dword [esi + 0x50], 0xffffffff
mov ecx, esi
push dword [0x7f8ca0]
call fcn.005c03c0
lea ecx, [ebp - 0x3d2c]
mov byte [ebp - 4], 1
call fcn.00428810
lea ecx, [ebp - 0x3d28]
mov byte [ebp - 4], 0
call fcn.00428810
lea ecx, [ebp - 0x3d30]
mov dword [ebp - 4], 0xffffffff
call fcn.00428810
mov eax, edi
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.006b3266
mov esp, ebp
pop ebp
ret