Function at 0x14003f960
Capabilities:
Prepare http request

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x14016f8a0]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r14, r9
mov r15, r8
mov rsi, rdx
mov rdi, rcx
xor r12d, r12d
mov qword [rsp + 0x50], r12
mov rax, qword [rdx]
mov ecx, 0x100
mov edx, 0x800100
cmp dword [rax + 8], 1
cmove ecx, edx
mov dword [rsp + 0x40], ecx
mov qword [rbp + 0x50], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
lea r8d, [r12 + 3]
lea rdx, [0x1400fbcb8]
lea rcx, [rbp + 0x50]
call fcn.1400305d0
nop
mov rcx, qword [rsi]
mov rax, qword [rcx]
lea rdx, [0x1400fa840]
call qword [rax + 0x40]
test al, al
je 0x14003fadd
mov rcx, qword [rsi]
mov rax, qword [rcx]
lea rdx, [0x1400fa840]
call qword [rax + reloc.WS2_32.dll_recv]
cmp qword [rax + 0x18], 0x10
jb 0x14003fa0b
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140031610
mov rbx, rax
lea rax, [rbp + 0x50]
cmp rax, rbx
je 0x14003fa97
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14003fa66
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fa61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040038
call fcn.1400b91c0
movdqa xmm0, xmmword [0x1400fab00]
movdqu xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x50], r12w
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x50], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x60], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rbp + 0xa8]
cmp rdx, 8
jb 0x14003fadd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fad8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040038
call fcn.1400b91c0
lea rax, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rax, qword [rbp + 0x50]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0xb0]
mov rcx, r14
call fcn.140023880
nop
cmp qword [rax + 0x18], 0x10
jb 0x14003fb0a
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.140031610
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 0x10
jb 0x14003fb58
inc rdx
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fb53
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004003e
call fcn.1400b91c0
movdqa xmm0, xmmword [0x1400f5ae0]
movdqu xmmword [rbp + 0xc0], xmm0
mov byte [rbp + 0xb0], 0
mov rax, qword [rsi]
mov ecx, dword [rax + 0x78]
call fcn.140030560
mov rdx, rax
lea rcx, [rbp + 0x90]
call fcn.140031610
mov rdx, rax
lea r8, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae r8, qword [rbp + 0x70]
cmp qword [rax + 0x18], 8
jb 0x14003fba7
mov rdx, qword [rax]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov rcx, r15
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov rsi, rax
mov rdx, qword [rbp + 0xa8]
cmp rdx, 8
jb 0x14003fc13
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003fc0e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040044
call fcn.1400b91c0
movdqa xmm0, xmmword [0x1400fab00]
movdqu xmmword [rbp + 0xa0], xmm0
mov word [rbp + 0x90], r12w
cmp byte [rdi + 0xc0], 0
je 0x14003fd94
mov rax, qword [rdi + 0xd8]
test rax, rax
je 0x14003fce6
lea r8, [rdi + 0xc8]
cmp qword [r8 + 0x18], 8
jb 0x14003fc59
mov r8, qword [r8]
mov r9d, eax
mov edx, 0x1002
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x14003fce6
call fcn.1400170f0
mov r14, rax
test rax, rax
je 0x14003fce6
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + htons]
cmp eax, 1
jl 0x14003fce6
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140002860
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.Failed_setting_username_for_proxy_with_error_code:
lea rcx, [rsp + 0x60]
call fcn.1400019a0
mov rcx, rax
mov edx, ebx
call fcn.1400105c0
mov rbx, qword [r14]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov r8, rax
lea r9, [rsp + 0x60]
mov edx, 1
mov rcx, r14
call qword [rbx + 0x18]
nop
lea rcx, [rsp + 0x60]
call fcn.140003bc0
mov rax, qword [rdi + 0xf8]
test rax, rax
je 0x14003fd94
lea r8, [rdi + 0xe8]
cmp qword [r8 + 0x18], 8
jb 0x14003fd07
mov r8, qword [r8]
mov r9d, eax
mov edx, 0x1003
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x14003fd94
call fcn.1400170f0
mov r14, rax
test rax, rax
je 0x14003fd94
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + htons]
cmp eax, 1
jl 0x14003fd94
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140002860
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.Failed_setting_password_for_proxy_with_error_code:
lea rcx, [rsp + 0x60]
call fcn.1400019a0
mov rcx, rax
mov edx, ebx
call fcn.1400105c0
mov rbx, qword [r14]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov r8, rax
lea r9, [rsp + 0x60]
mov edx, 1
mov rcx, r14
call qword [rbx + 0x18]
nop
lea rcx, [rsp + 0x60]
call fcn.140003bc0
cmp byte [rdi + 0xc1], 0
jne 0x14003fe2b
mov dword [rsp + 0x44], 0x1100
mov r9d, 4
lea r8, [rsp + 0x44]
lea edx, [r9 + 0x1b]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x14003fe2b
call fcn.1400170f0
mov r14, rax
test rax, rax
je 0x14003fe2b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + htons]
cmp eax, 1
jl 0x14003fe2b
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140002860
nop
lea rdx, str.Failed_to_turn_ssl_cert_ca_verification_off.
lea rcx, [rsp + 0x60]
call fcn.1400019a0
mov rbx, qword [r14]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov r8, rax
lea r9, [rsp + 0x60]
mov edx, 1
mov rcx, r14
call qword [rbx + 0x18]
nop
lea rcx, [rsp + 0x60]
call fcn.140003bc0
mov rax, qword [rdi + 0xb8]
cmp byte [rax + 0x7c], 0
je 0x14003feda
mov eax, dword [rax + 0x80]
mov dword [rsp + 0x44], eax
mov r9d, 4
lea r8, [rsp + 0x44]
lea edx, [r9 + 0x70]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x14003feda
call fcn.1400170f0
mov r14, rax
test rax, rax
je 0x14003feda
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + htons]
cmp eax, 3
jl 0x14003feda
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140002860
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.Failed_setting_TCP_keep_alive_interval_with_error_code:
lea rcx, [rsp + 0x60]
call fcn.1400019a0
mov rcx, rax
mov edx, ebx
call fcn.1400105c0
mov rbx, qword [r14]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov r8, rax
lea r9, [rsp + 0x60]
mov edx, 3
mov rcx, r14
call qword [rbx + 0x18]
nop
lea rcx, [rsp + 0x60]
call fcn.140003bc0
cmp byte [rdi + 0xa8], 0
jne 0x14003ff71
mov dword [rsp + 0x40], 2
mov r9d, 4
lea r8, [rsp + 0x40]
lea edx, [r9 + 0x3b]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpSetOption]
test eax, eax
jne 0x14003ff71
call fcn.1400170f0
mov r14, rax
test rax, rax
je 0x14003ff71
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + htons]
cmp eax, 1
jl 0x14003ff71
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140002860
nop
lea rdx, str.Failed_to_turn_off_redirects_
lea rcx, [rsp + 0x60]
call fcn.1400019a0
mov rbx, qword [r14]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
mov r8, rax
lea r9, [rsp + 0x60]
mov edx, 1
mov rcx, r14
call qword [rbx + 0x18]
nop
lea rcx, [rsp + 0x60]
call fcn.140003bc0
mov rcx, rsi
call fcn.140040050
nop
mov rdx, qword [rbp + 0x88]
cmp rdx, 8
jb 0x14003ffbd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003ffb8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004004a
call fcn.1400b91c0
movdqa xmm0, xmmword [0x1400fab00]
movdqu xmmword [rbp + 0x80], xmm0
mov word [rbp + 0x70], r12w
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x14004000e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140040009
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140040032
call fcn.1400b91c0
mov rax, rsi
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400b91a0
add rsp, 0x1e0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400bfe60
nop
call fcn.1400bfe60
nop
call fcn.1400bfe60
int3
call fcn.1400bfe60
nop
call fcn.1400bfe60
int3