Function at 0x140004af0
Capabilities:
Prepare http request
Receive http response
Set http header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x1400a3020]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rsi, r9
mov qword [rsp + 0x40], r9
mov rdi, r8
mov qword [rsp + 0x50], r8
mov r14, rdx
mov r12, rcx
mov qword [rbp + 0x50], r9
cmp qword [rcx + 0x48], 0
je 0x140005333
xor ecx, ecx
call fcn.1400011d0
mov rbx, rax
mov qword [rsp + 0x58], rax
mov rdx, qword [rsi]
mov rcx, qword [rdx + 8]
xor r13d, r13d
cmp qword [rdx], rcx
je 0x140004c63
lea rbx, [r12 + 0x68]
mov qword [rbp - 0x60], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
lea r15, [r12 + 0x50]
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.1400067b0
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140004b9d
lock inc dword [rdi + 8]
mov rdi, qword [rsi + 8]
mov rbx, qword [rbp - 0x60]
mov r13, qword [rsi]
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], rdi
mov rax, qword [r15]
mov qword [rsp + 0x48], rax
movabs rax, 0x3ffffffffffffff
cmp qword [r15 + 8], rax
je 0x140005354
mov qword [rbp], r15
xor edx, edx
mov qword [rbp + 8], rdx
lea ecx, [rdx + 0x40]
call fcn.140047d0c
mov rcx, rax
mov qword [rbp + 8], rax
xor eax, eax
movups xmm0, xmmword [rbp + 0x10]
movups xmmword [rcx + 0x10], xmm0
movups xmm1, xmmword [rbp + 0x20]
movups xmmword [rcx + 0x20], xmm1
movdqa xmm0, xmmword [0x140095740]
movdqu xmmword [rbp + 0x20], xmm0
mov byte [rbp + 0x10], al
mov qword [rcx + 0x30], r13
mov qword [rcx + 0x38], rdi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
inc qword [r15 + 8]
mov rdx, qword [rsp + 0x48]
mov rax, qword [rdx + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov qword [rdx + 8], rcx
mov qword [rax], rcx
lea rcx, [rbp + 0x10]
call fcn.140005400
mov rax, qword [rsi]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
add rax, 6
add rcx, rax
add qword [r12 + 0x60], rcx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x58]
xor r13d, r13d
movzx r15d, byte [rbp + 0x120]
test r15b, r15b
jne 0x140004ccc
cmp byte [rbp + 0x128], r15b
je 0x140004cac
cmp qword [r12 + 0x60], 0x4000000
jae 0x140004cac
lea rdx, str.DbApi::upload__:_added_to_post_buffers
mov rcx, rbx
call fcn.140022090
nop
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x14000530a
mov r15d, 0xffffffff
jmp 0x1400052e0
xor edx, edx
mov rcx, qword [r12 + 0x98]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x140004ccc
lea rdx, str.DbApi::upload__:_flush_cancelled_due_to_upload_delay
jmp 0x140004c8b
lea rdx, str.DbApi::upload__:_flushing_buffers
mov rcx, rbx
call fcn.140022090
lea rdx, str.DbApi::upload__:_WinHttpConnect
mov rcx, rbx
call fcn.140022090
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140004cf9
mov rdx, qword [r12]
xor r9d, r9d
movzx r8d, word [r12 + 0x20]
mov rcx, qword [r12 + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov rsi, rax
mov qword [rbp + 0x90], rax
test rax, rax
je 0x140005361
lea rdx, str.DbApi::upload__:_WinHttpOpenRequest
mov rcx, rbx
call fcn.140022090
lea rcx, [r12 + 0x28]
mov rdx, qword [rcx + 0x10]
movabs rax, 0x7ffffffffffffffe
sub rax, rdx
cmp rax, 0xf
jb 0x14000537a
cmp qword [rcx + 0x18], 8
jb 0x140004d59
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], reloc.WS2_32.dll_ntohs
lea r9, str._api_0_session_
lea rcx, [rbp - 0x58]
call fcn.140007770
nop
mov r8d, 8
lea rdx, str._upload_
lea rcx, [rbp - 0x58]
call fcn.140002500
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
mov r8, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 8
jb 0x140004dd1
mov r14, qword [r14]
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.140002500
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 7
mov word [rax], r13w
lea r8, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae r8, qword [rbp - 0x80]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea rdx, str.POST
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rdi, rax
mov qword [rbp + 0x98], rax
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140004e77
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005380
call fcn.1400477f0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r13w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140004eca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004ec5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005386
call fcn.1400477f0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r13w
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x140004f1e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004f19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000538c
call fcn.1400477f0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], r13w
test rdi, rdi
je 0x140005392
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], 7
mov word [rbp + 0x70], r13w
mov r8d, 0x20
lea rdx, str.Content_Type:_application_dumper
lea rcx, [rbp + 0x70]
call fcn.140002760
lea rdx, str.DbApi::upload__:_WinHttpAddRequestHeaders
mov rcx, rbx
call fcn.140022090
lea rdx, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae rdx, qword [rbp + 0x70]
mov r9d, 0x20000000
mov r8d, 0xffffffff
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
test eax, eax
je 0x1400053ab
mov r8, qword [r12 + 0x60]
lea rdx, str.DbApi::upload__:_making_request_buffer_of_size__d
mov rcx, rbx
call fcn.140022090
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x58], xmm1
mov qword [rbp + 0x68], r13
mov rdx, qword [r12 + 0x60]
add rdx, 1
je 0x140004fda
lea rcx, [rbp + 0x58]
call fcn.140001fb0
mov rax, qword [rbp + 0x58]
mov byte [rax], r15b
lea rcx, [r12 + 0x68]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rbp + 0x58]
inc r13
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x50], rax
mov rbx, qword [rax]
mov r15d, 0xffffffff
cmp rbx, rax
je 0x1400050f1
nop
lea rdx, [rbx + 0x10]
mov rsi, qword [rdx + 0x28]
test rsi, rsi
je 0x140005025
lock inc dword [rsi + 8]
mov rsi, qword [rdx + 0x28]
mov rcx, qword [rdx + 0x20]
mov qword [rsp + 0x48], rcx
lea rdi, [rdx + 0x10]
movzx eax, word [rdi]
mov word [r13], ax
mov rcx, rdx
mov r9, qword [rdx + 0x18]
cmp r9, 0x10
jb 0x14000504a
mov rcx, qword [rdx]
mov r8, qword [rdi]
add r8, rcx
cmp r9, 0x10
jb 0x140005059
mov rdx, qword [rdx]
lea rcx, [r13 + 2]
sub r8, rdx
call fcn.140049c10
mov rdi, qword [rdi]
mov r8, qword [rsp + 0x48]
mov rax, qword [r8 + 8]
sub rax, qword [r8]
mov dword [rdi + r13 + 2], eax
add rdi, 6
lea rcx, [rdi + r13]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
sub r8, rdx
call fcn.140049c10
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + 8]
sub rax, qword [rcx]
add rdi, rax
test rsi, rsi
je 0x1400050cf
mov eax, r15d
lock xadd dword [rsi + 8], eax
cmp eax, 1
jne 0x1400050cf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
mov eax, r15d
lock xadd dword [rsi + 0xc], eax
cmp eax, 1
jne 0x1400050cf
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
add r13, rdi
mov rax, qword [rbx]
mov rbx, rax
cmp rax, qword [rsp + 0x50]
jne 0x140005010
mov rsi, qword [rbp + 0x90]
mov rdi, qword [rbp + 0x98]
mov rcx, qword [r12 + 0x50]
mov rax, qword [rcx + 8]
xor edx, edx
mov qword [rax], rdx
mov r13, qword [rcx]
test r13, r13
je 0x140005132
nop word [rax + rax]
mov rbx, qword [r13]
lea rcx, [r13 + 0x10]
call fcn.140005400
mov edx, 0x40
mov rcx, r13
call fcn.1400477f0
mov r13, rbx
test rbx, rbx
jne 0x140005110
mov rax, qword [r12 + 0x50]
mov qword [rax], rax
mov rax, qword [r12 + 0x50]
mov qword [rax + 8], rax
xor r13d, r13d
mov qword [r12 + 0x58], r13
mov qword [r12 + 0x60], r13
lea rcx, [r12 + 0x68]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8, qword [rbp + 0x60]
sub r8, qword [rbp + 0x58]
lea rdx, str.DbApi::upload__:_sending__d_bytes
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140022090
mov rax, qword [rbp + 0x60]
mov r9, qword [rbp + 0x58]
sub rax, r9
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x1400053c4
mov eax, dword [r12 + 0x90]
imul rdx, rax, 0xffffffffff676980
mov qword [rbp + 0xa0], rdx
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0xa0]
mov rcx, qword [r12 + 0x98]
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
test eax, eax
jne 0x1400051f3
lea rdx, str.DbApi::upload__:_set_hFlushTimer_fail
mov rcx, rbx
call fcn.140022090
lea rdx, str.DbApi::upload__:_WinHttpReceiveResponse
mov rcx, rbx
call fcn.140022090
xor edx, edx
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x1400053dd
mov rdx, rdi
call fcn.1400057e0
nop
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x140005264
mov rdx, qword [rbp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005253
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400053f6
call fcn.1400477f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r13
mov rdx, qword [rbp + 0x88]
cmp rdx, 8
jb 0x1400052a7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000532d
call fcn.1400477f0
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], 7
mov word [rbp + 0x70], r13w
mov rcx, rdi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rbx, qword [rsp + 0x40]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14000530a
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000530a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x14000530a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.1400477d0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14004e14c
nop
lea rdx, str.No_Session
lea rcx, [rbp - 0x38]
call fcn.140004540
lea rdx, [0x1400a13e8]
lea rcx, [rbp - 0x38]
call fcn.140049b34
nop
lea rcx, str.list_too_long
call fcn.140044708
nop
lea rdx, [0x14008c6f0]
lea rcx, [rbp - 0x38]
call fcn.140006750
mov rcx, rax
call fcn.1400046e0
int3
call fcn.140002740
nop
call fcn.14004e14c
nop
call fcn.14004e14c
nop
call fcn.14004e14c
int3
lea rdx, [0x14008c720]
lea rcx, [rbp - 0x38]
call fcn.140006750
mov rcx, rax
call fcn.1400046e0
nop
lea rdx, [0x14008ca08]
lea rcx, [rbp - 0x38]
call fcn.140006750
mov rcx, rax
call fcn.1400046e0
nop
lea rdx, [0x14008c738]
lea rcx, [rbp - 0x38]
call fcn.140006750
mov rcx, rax
call fcn.1400046e0
int3
lea rdx, [0x14008c750]
lea rcx, [rbp - 0x38]
call fcn.140006750
mov rcx, rax
call fcn.1400046e0
nop
call fcn.14004e14c
int3