Function at 0x403d10
Capabilities:
Check http status code
Make an http request with a cookie
Prepare http request
Read http header
Receive http response
Send data
Send http request
Set http header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ab7fb
mov eax, dword fs:[0]
push eax
mov eax, 0x24064
call fcn.0055af50
mov eax, dword [0x62d12c]
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 eax, dword [ebp + 8]
mov edi, dword [ebp + 0x20]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x24038], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2405c], edx
mov edx, dword [ebp + 0x1c]
mov dword [eax], 0
mov dword [ebp - 0x24050], eax
mov dword [edx], 0
mov eax, dword [ecx + 8]
mov dword [ebp - 0x24030], ecx
mov dword [ebp - 0x2404c], edx
mov dword [ebp - 0x24060], edi
mov byte [ebp - 0x24031], 0
test eax, eax
jne 0x403da8
push str._HttpSession::sendRequest__sendGetRequest_failed._No_valid_connection.
push 1
call fcn.005304d0
add esp, 8
xor al, al
jmp 0x4044ac
cmp byte [ebp + 0xc], 0
mov edx, str.POST
jne 0x403db8
mov edx, 0x5e4144
movzx ecx, byte [ecx + 0x81]
neg ecx
sbb ecx, ecx
and ecx, 0x800000
or ecx, 0x100
push ecx
mov ecx, dword [ebp - 0x24038]
push 0
push 0
push 0
push ecx
push edx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov edi, eax
test edi, edi
jne 0x403e06
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpOpenRequest_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x4044a6
push 0
push 0xffffffffffffffff
push 0x402d10
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp eax, 0xffffffff
jne 0x403e31
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpSetStatusCallback_failed_to_set_up_callback____continuing._Error:__d
push 2
call fcn.005304d0
add esp, 0xc
cmp byte [ebp + 0xc], 0
je 0x403e7c
test ebx, ebx
je 0x403e7c
test esi, esi
jne 0x403e53
push str._HttpSession::sendRequest__postContentType_required.
push 1
call fcn.005304d0
add esp, 8
jmp 0x40449f
push 0x20000000
push 0xffffffffffffffff
push esi
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x403e7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpAddRequestHeaders_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
mov ecx, dword [ebp - 0x24030]
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x403eaf
cmp dword [ecx + 0x58], 8
lea eax, [ecx + 0x44]
jb 0x403e94
mov eax, dword [eax]
push 0x20000000
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x403ee7
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x403ed7
push SysReAllocStringLen
push 0xffffffffffffffff
push 0x5e4280
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
jne 0x403ee7
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 0x2f76
je 0x403ee7
call esi
push eax
push str._HttpSession::sendRequest__WinHttpAddRequestHeaders_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push 4
lea edx, [ebp - 0x24058]
push edx
push 0x1f
push edi
mov dword [ebp - 0x24058], 0x3100
call esi
test eax, eax
jne 0x403f24
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpSetOption_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
mov eax, dword [ebp - 0x24030]
mov eax, dword [eax + 0x84]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0x14
push ecx
push eax
push 0x2f
push edi
call esi
test eax, eax
jne 0x403f5a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpSetOption_error_setting_null_client_certificate__initial_try_.__Error:__d
push 4
call fcn.005304d0
add esp, 0xc
cmp byte [ebp + 0xc], 0
je 0x403f6f
test ebx, ebx
je 0x403f6f
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
jmp 0x403f71
xor eax, eax
push 0
push eax
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x404027
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f0c
jne 0x404012
push str._HttpSession::sendRequest__WinHttpSendRequest_requesting_certificate
push 4
call fcn.005304d0
mov ecx, dword [ebp - 0x24030]
mov eax, dword [ecx + 0x84]
add esp, 8
mov edx, eax
neg edx
sbb edx, edx
and edx, 0x14
push edx
push eax
push 0x2f
push edi
call esi
test eax, eax
jne 0x403fe2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpSetOption_error_setting_null_client_certificate.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
xor esi, esi
cmp byte [ebp + 0xc], 0
je 0x403ff9
cmp ebx, esi
je 0x403ff9
mov eax, dword [ebx]
mov edx, dword [eax + 4]
mov ecx, ebx
call edx
jmp 0x403ffb
xor eax, eax
push esi
push eax
push esi
push esi
push esi
push esi
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x404029
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpSendRequest_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
xor esi, esi
cmp byte [ebp + 0xc], 0
je 0x404126
cmp ebx, esi
je 0x404126
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
lea ecx, [ebp - 0x2403c]
push ecx
push 0x20000
lea edx, [ebp - 0x24010]
push edx
mov ecx, ebx
call eax
test al, al
je 0x404126
nop
mov edx, dword [ebp - 0x2403c]
lea ecx, [ebp - 0x24064]
push ecx
push edx
lea eax, [ebp - 0x24010]
push eax
push edi
mov dword [ebp - 0x24064], esi
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
je 0x40414d
mov esi, dword [ebp - 0x2405c]
test esi, esi
je 0x404100
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
test eax, eax
jle 0x4040f1
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
test eax, eax
jle 0x4040f1
mov edx, dword [ebx]
mov eax, dword [edx + 8]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov dword [ebp - 0x24040], eax
fild dword [ebp - 0x24040]
mov eax, dword [edx + 4]
mov ecx, ebx
fmul qword [0x5e9640]
fstp qword [ebp - 0x24070]
call eax
mov dword [ebp - 0x24040], eax
fild dword [ebp - 0x24040]
fdivr qword [ebp - 0x24070]
call fcn.0058fb70
jmp 0x4040f6
mov eax, 0x64
mov edx, dword [esi]
push eax
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov edx, dword [ebx]
mov edx, dword [edx + 0xc]
lea eax, [ebp - 0x2403c]
push eax
push 0x20000
lea ecx, [ebp - 0x24010]
push ecx
mov ecx, ebx
call edx
xor esi, esi
test al, al
jne 0x404060
push esi
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x404168
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpReceiveResponse_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpWriteData_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
mov ebx, dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
lea eax, [ebp - 0x24054]
push eax
lea ecx, [ebp - 0x2403c]
push ecx
lea edx, [ebp - 0x4010]
push edx
push esi
push 0x2b
push edi
mov dword [ebp - 0x24054], esi
mov dword [ebp - 0x2403c], 0x4000
call ebx
test eax, eax
je 0x404255
mov eax, dword [ebp - 0x24030]
add eax, 0x60
mov dword [ebp - 0x24040], eax
xor ecx, ecx
lea eax, [ebp - 0x4010]
mov dword [ebp - 0x24018], 7
mov dword [ebp - 0x2401c], esi
mov word [ebp - 0x2402c], cx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x4041d2
sub eax, edx
sar eax, 1
push eax
lea edx, [ebp - 0x4010]
push edx
lea ecx, [ebp - 0x2402c]
call fcn.00422a20
mov ecx, dword [ebp - 0x24040]
lea eax, [ebp - 0x2402c]
push eax
mov dword [ebp - 4], esi
call fcn.004116e0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x24018], 8
jb 0x404228
mov ecx, dword [ebp - 0x2402c]
push ecx
call fcn.00558723
add esp, 4
lea edx, [ebp - 0x24054]
push edx
lea eax, [ebp - 0x2403c]
push eax
lea ecx, [ebp - 0x4010]
push ecx
push esi
push 0x2b
push edi
mov dword [ebp - 0x2403c], 0x4000
call ebx
test eax, eax
jne 0x4041b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f76
je 0x404272
push eax
push str._HttpSession::sendRequest__WinHttpQueryHeaders_failed.__Error:_0x_X
push 1
call fcn.005304d0
add esp, 0xc
push esi
lea edx, [ebp - 0x24068]
push edx
lea eax, [ebp - 0x24048]
push eax
push esi
push 0x20000013
push edi
mov dword [ebp - 0x24048], esi
mov dword [ebp - 0x24068], 4
call ebx
test eax, eax
jne 0x4042b9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpQueryHeaders_failed_for_retrieving_status_code.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
mov eax, dword [ebp - 0x24048]
cmp eax, 0xc8
je 0x4042e2
mov ecx, dword [ebp - 0x24038]
push eax
push ecx
push str._HttpSession::sendRequest__Bad_Response_Code.__Command:__S_Response:__d
push 1
call fcn.005304d0
add esp, 0x10
jmp 0x40449f
push 0
lea edx, [ebp - 0x24044]
push edx
push 0
push 0
push 1
push edi
mov dword [ebp - 0x24044], esi
call ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x40434c
mov eax, dword [ebp - 0x24044]
xor ecx, ecx
shr eax, 1
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00541cf1
add esp, 4
push 0
mov esi, eax
lea eax, [ebp - 0x24044]
push eax
push esi
push 0
push 1
push edi
call ebx
test eax, eax
jne 0x40434c
push esi
call fcn.00558723
add esp, 4
xor ebx, ebx
xor esi, esi
jmp 0x40434e
xor ebx, ebx
mov edx, dword [ebp - 0x24050]
mov ecx, dword [ebp - 0x24060]
push edx
push 1
push ebx
mov dword [ecx], esi
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
cmp eax, ebx
jge 0x40437f
push eax
push str._HttpSession::sendRequest__CreateStreamOnHGlobal_failed.__Error:_0x_X
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
lea eax, [ebp - 0x24030]
push eax
push edi
mov dword [ebp - 0x24030], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
je 0x404460
jmp 0x4043a0
mov eax, dword [ebp - 0x24030]
cmp eax, ebx
je 0x40448e
inc eax
push eax
call fcn.00541cf1
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x404478
mov ecx, dword [ebp - 0x24030]
inc ecx
push ecx
push ebx
push esi
call fcn.0055aed0
mov eax, dword [ebp - 0x24030]
add esp, 0xc
lea edx, [ebp - 0x24038]
push edx
push eax
push esi
push edi
mov dword [ebp - 0x24038], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
jne 0x40440c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpReadData_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x404433
mov ecx, dword [ebp - 0x24050]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x24038]
mov edx, dword [eax]
mov edx, dword [edx + 0x10]
push ebx
push ecx
push esi
push eax
call edx
mov ecx, dword [ebp - 0x24038]
mov eax, dword [ebp - 0x2404c]
add dword [eax], ecx
push esi
call fcn.0055a04a
add esp, 4
cmp dword [ebp - 0x24038], ebx
je 0x40448e
lea edx, [ebp - 0x24030]
push edx
push edi
mov dword [ebp - 0x24030], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
test eax, eax
jne 0x4043a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._HttpSession::sendRequest__WinHttpQueryDataAvailable_failed.__Error:__d
push 1
call fcn.005304d0
add esp, 0xc
jmp 0x40449f
mov eax, dword [ebp - 0x24030]
push eax
push str._HttpSession::sendRequest__new__d_bytes_failed.
push 1
call fcn.005304d0
add esp, 0xc
mov ecx, dword [ebp - 0x2404c]
cmp dword [ecx], ebx
je 0x40449f
mov byte [ebp - 0x24031], 1
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov al, byte [ebp - 0x24031]
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.00558b78
mov esp, ebp
pop ebp
ret 0x1c