Function at 0x140031ea8
Capabilities:
Check http status code
Connect to http server
Send data
Send http request

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x70
cmp dword [rdx + 0xe4], 4
mov esi, dword [rcx + 0x90]
mov r13b, r9b
mov r12b, r8b
mov rbp, rdx
mov rbx, rcx
jne 0x140031ed7
bts esi, 0x17
mov eax, dword [rdx + 0xe0]
mov r10, qword [rdx + 0x60]
and qword [rsp + 0x38], 0
mov r9, qword [rdx + 0x40]
movzx r8d, word [rdx + 0xe8]
and dword [rsp + 0x30], 0
mov rdx, qword [rdx + 0x20]
mov rcx, qword [rcx + 8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r10
call qword [sym.imp.WININET.dll_InternetConnectW]
mov qword [rbx], rax
test rax, rax
jne 0x140031f42
mov dword [rbx + 0x20], reloc.WSOCK32.dll_inet_ntoa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x24], eax
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x14003216d
call qword [sym.imp.KERNEL32.dll_SetEvent]
jmp 0x14003216d
and qword [rsp + 0x38], 0
mov r8, qword [rbp + 0xc0]
mov dword [rsp + 0x30], esi
and qword [rsp + 0x28], 0
and qword [rsp + 0x20], 0
xor r9d, r9d
xor edx, edx
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov rdi, rax
test rax, rax
jne 0x140031f7e
mov dword [rbx + 0x20], recvfrom
jmp 0x140031f1e
test r12b, r12b
je 0x140031fea
mov ecx, dword [rbp + 0xe0]
lea rax, [rbx + 0x108]
lea r8, [rbx + 0xa0]
cmp ecx, 1
lea rbp, [rbx + 0xc0]
cmove r8, rax
lea rax, [rbx + 0x128]
cmp ecx, 1
cmove rbp, rax
mov rax, qword [r8 + 8]
test rax, rax
je 0x140031fea
mov r8, qword [r8]
lea r9d, [rax + 1]
mov edx, 0x2b
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetSetOptionW]
mov r9d, dword [rbp + 8]
mov r8, qword [rbp]
inc r9d
mov edx, 0x2c
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetSetOptionW]
bt esi, 0xc
jae 0x14003203b
mov esi, SafeArrayAllocDescriptor
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0xa0]
mov rcx, rdi
mov edx, esi
mov dword [rsp + 0xa8], 4
call qword [sym.imp.WININET.dll_InternetQueryOptionW]
bts dword [rsp + 0xa0], 8
lea r9d, [rsi - 0x1b]
lea r8, [rsp + 0xa0]
mov edx, esi
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetSetOptionW]
and dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x140032142
and dword [rsp + 0xa0], 0
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0x40]
mov edx, 0x20000013
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xa8], 4
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
or ecx, 0xffffffff
test eax, eax
cmovne ecx, dword [rsp + 0x40]
cmp ecx, 0xc8
jne 0x140032142
and dword [rsp + 0xa0], 0
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0xa8]
lea r8, [rsp + 0x48]
mov edx, 5
mov rcx, rdi
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xa8], SafeArrayDestroyDescriptor
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
lea rcx, [rsp + 0x48]
call fcn.140076490
mov qword [rbx + 0x18], rax
test r13b, r13b
je 0x14003211f
cmp byte [rbx + 0x48], 0
mov rdx, rdi
mov rcx, rbx
je 0x14003210b
call fcn.140032644
jmp 0x140032110
call fcn.1400324e8
mov rcx, rdi
mov bl, al
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov al, bl
jmp 0x14003216f
and dword [rbx + 0x20], 0
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x140032135
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov al, 1
jmp 0x14003216f
mov dword [rbx + 0x20], reloc.WSOCK32.dll_listen
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x24], eax
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x140032164
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor al, al
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret