Function at 0x10009b30
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10046688
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x1005e068]
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 dword [ebp - 0x8c], ecx
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
push str.___________________________________________________r_n
call fcn.10001e90
add esp, 4
mov edx, 0x10056c34
mov ecx, 0x10115140
call fcn.1000a360
mov edx, esi
mov ecx, eax
call fcn.1000a820
mov edx, 0x10056c30
mov ecx, eax
call fcn.1000a360
mov edx, 0x10056c2c
mov ecx, eax
call fcn.1000a360
push esi
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x88], 0
call fcn.10009660
push 0
push 0
push 0
push 0
push 0x10056c38
mov dword [ebp - 4], 0
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov ecx, eax
mov dword [ebp - 0x98], ecx
test ecx, ecx
jne 0x10009bf5
push 0x10056d2c
call fcn.10001e90
add esp, 4
or esi, 0xffffffff
jmp 0x10009f39
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
push 0
push dword [ebp - 0x44]
cmovae eax, dword [ebp - 0x5c]
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edx, eax
mov dword [ebp - 0x94], edx
test edx, edx
jne 0x10009c2e
push 0x10056d44
call fcn.10001e90
add esp, 4
or esi, 0xffffffff
jmp 0x10009f39
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
mov eax, 0x800000
cmovae ecx, dword [ebp - 0x40]
xor esi, esi
cmp dword [ebp - 0x60], 2
cmovne eax, esi
push eax
push esi
push esi
push esi
push ecx
push str.POST
push edx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
mov dword [ebp - 0x80], edi
test edi, edi
jne 0x10009c76
push 0x10056d68
call fcn.10001e90
add esp, 4
or esi, 0xffffffff
jmp 0x10009f39
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10009c80
sub ecx, edx
mov edx, ebx
push ecx
mov ecx, edi
call fcn.100097b0
add esp, 4
test eax, eax
jne 0x10009d69
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
lea ecx, [ebp - 0x78]
cmovae eax, dword [ebp - 0x5c]
push eax
call fcn.100019b0
lea edx, [ebp - 0x78]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.10015c30
cmp dword [eax + 0x14], 0x10
jb 0x10009cc9
mov eax, dword [eax]
push dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error:SendRequest_failed___d____s:_d_n
call fcn.10001e90
mov edx, dword [ebp - 0x14]
add esp, 0x10
cmp edx, 0x10
jb 0x10009d15
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10009d0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009f73
push edx
push ecx
call fcn.1001f82e
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 8
jb 0x10009d8a
mov ecx, dword [ebp - 0x78]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10009d57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10009f78
push edx
push ecx
call fcn.1001f82e
add esp, 8
or esi, 0xffffffff
jmp 0x10009f39
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x10009d92
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error:EndRequest_failed___d__n
call fcn.10001e90
add esp, 8
or esi, 0xffffffff
jmp 0x10009f39
mov dword [ebp - 0x84], esi
xor ebx, ebx
mov dword [ebp - 0x14], esi
xor esi, esi
mov dword [ebp - 0x20], vtable.CBuffer.0
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 2
push eax
push edi
mov dword [ebp - 0x7c], esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x10009e99
nop word [eax + eax]
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x10009ead
inc eax
push eax
call fcn.1001fd9a
mov edi, eax
add esp, 4
test edi, edi
je 0x10009f61
mov ecx, dword [ebp - 0x7c]
inc ecx
push ecx
push 0
push edi
call fcn.10022540
add esp, 0xc
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x7c]
push edi
push dword [ebp - 0x80]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x10009e2d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error__u_in_WinHttpReadData._n
call fcn.10001e90
add esp, 8
jmp 0x10009e6b
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
sub esi, ebx
mov dword [ebp - 0x90], eax
test ebx, ebx
cmove esi, ecx
lea ecx, [ebp - 0x20]
add eax, esi
push eax
call fcn.10001d80
mov esi, dword [ebp - 0x18]
cmp eax, 0xffffffff
je 0x10009e68
mov ebx, dword [ebp - 0x90]
push ebx
push edi
push esi
call fcn.10021a40
add esp, 0xc
add esi, ebx
mov dword [ebp - 0x18], esi
mov ebx, dword [ebp - 0x1c]
push edi
call fcn.1001fdc6
add esp, 4
cmp dword [ebp - 0x84], 0
je 0x10009ead
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0
push eax
push dword [ebp - 0x80]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x10009dd0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Error__u_in_WinHttpQueryDataAvailable._n
call fcn.10001e90
add esp, 8
push ebx
push str._s_r_n
call fcn.10001e90
mov ecx, dword [ebp - 0x8c]
add esp, 8
mov ecx, dword [ecx]
test ecx, ecx
je 0x10009ee8
test ebx, ebx
je 0x10009ee8
sub esi, ebx
je 0x10009ee8
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 4]
xor ecx, ecx
mov edx, 1
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x88], ecx
push dword [ebp - 0x80]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x94]
call esi
push dword [ebp - 0x98]
call esi
mov esi, dword [ebp - 0x88]
mov ecx, 0x10056e34
cmp esi, 1
mov eax, 0x10056e2c
cmovne eax, ecx
push eax
push str.____________________s__________________________________r_n
call fcn.10001e90
add esp, 8
test ebx, ebx
je 0x10009f39
push 0x8000
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualFree]
lea ecx, [ebp - 0x60]
call fcn.10009f80
mov eax, esi
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.1001f7ed
mov esp, ebp
pop ebp
ret 8
push str.Out_of_memory_n
call fcn.10001e90
add esp, 4
jmp 0x10009ead
call fcn.10027d53
call fcn.10027d53
int3