Function at 0x140031900
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r12, rcx
mov rcx, qword [rcx + 0x18]
mov r15, rdx
mov rsi, r8
mov rax, qword [r12]
mov rdi, r9
lea rdx, [rdx + 0x530]
lea r14, [rcx + 0x2d8]
mov eax, dword [rax + 8]
and eax, 0xa
cmp eax, 0xa
jne 0x14003194b
lea r14, [rcx + 0x348]
lea rdx, [r15 + 0x5e8]
cmp qword [rsp + 0xc8], 0
mov qword [rdi], 0
je 0x14003196c
mov rax, qword [rsp + 0xc8]
mov qword [rax], 0
mov eax, 1
test byte [rdx + 0x6c], 8
je 0x140031ae9
mov rbx, qword [r15 + 0xc70]
test rbx, rbx
je 0x140031ae9
mov r13, qword [r15 + 0xf8]
test r13, r13
je 0x1400319a2
test byte [r13 + 4], 0x10
jne 0x140031d90
lea rax, [r15 + 0xc78]
mov qword [rsp + 0x48], rax
mov rax, qword [r15 + 0x6b0]
test rax, rax
je 0x140031a68
xor ebp, ebp
xor r13d, r13d
nop dword [rax + rax]
add rbx, rbp
cmp qword [rbx + 0x20], 0
je 0x140031a47
mov rdx, qword [rbx]
mov rcx, qword [rsi]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rax, qword [r12 + 0x18]
mov r8, qword [rbx + 8]
movzx edx, byte [rax + 0x3b9]
test dl, 1
je 0x140031d78
test r8, r8
je 0x140031a40
mov rcx, qword [rax + 0x98]
mov rdx, r8
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rax, qword [r12 + 0x18]
movzx edx, byte [rax + 0x3b9]
and edx, 2
mov ecx, dword [rbx + 0x40]
je 0x140031b00
cmp ecx, 0xffffffff
je 0x140031a40
cmp dword [rax + 0x788], ecx
je 0x140031b09
nop dword [rax + rax]
mov rax, qword [r15 + 0x6b0]
add r13, 1
add rbp, 0xb8
cmp r13, rax
jae 0x140031a68
mov rbx, qword [r15 + 0xc70]
jmp 0x1400319c8
mov eax, 1
test byte [r15 + 0xa47], 0x10
je 0x140031ae9
mov rdx, qword [r15 + 0x1270]
test rdx, rdx
je 0x140031a8a
mov ecx, dword [rdx + 8]
test ecx, ecx
jle 0x140031ae9
mov rdx, qword [r12]
mov edx, dword [rdx + 0xc]
test edx, edx
jle 0x140031ae9
mov rdx, qword [r12 + 0x18]
mov r8d, dword [rsi + 0x1c]
test al, al
mov byte [rsp + 0x48], al
mov rcx, qword [rsi]
lea r9, [0x14015fb18]
mov rdx, qword [rdx + 0x3c0]
mov rdx, qword [rdx]
mov dword [rsp + 0x30], r8d
lea r8, str._s_cached_session_ID_for__s:___s:_d
mov qword [rsp + 0x28], rcx
mov rcx, r15
mov qword [rsp + 0x20], rdx
lea rdx, str.Found
cmove r9, rdx
mov rdx, r12
call sym.Curl_trc_cf_infof
movzx eax, byte [rsp + 0x48]
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp ecx, 0xffffffff
jne 0x140031a40
mov ecx, dword [rbx + 0x3c]
cmp dword [rsi + 0x1c], ecx
jne 0x140031a40
mov ecx, dword [rbx + 0x44]
cmp dword [rsi + 0x20], ecx
jne 0x140031a40
mov rax, qword [rax + 0x3c0]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rax]
call sym.curl_strequal
test eax, eax
je 0x140031a40
movzx eax, byte [rbx + 0xb0]
cmp byte [r14 + 0x68], al
jne 0x140031a40
movabs rdx, 0xffffffff000000ff
and rdx, qword [r14 + 0x60]
movabs rax, 0xffffffff000000ff
and rax, qword [rbx + 0xa8]
cmp rdx, rax
jne 0x140031a40
movzx eax, byte [r14 + 0x6c]
xor eax, dword [rbx + 0xb4]
test al, 7
jne 0x140031a40
mov rdx, qword [rbx + 0x88]
mov rax, qword [r14 + 0x40]
mov rcx, rdx
or rcx, rax
je 0x140031bce
test rax, rax
je 0x140031a40
test rdx, rdx
je 0x140031a40
mov r8, qword [rax + 8]
cmp r8, qword [rdx + 8]
jne 0x140031a40
mov rdx, qword [rdx]
mov rcx, qword [rax]
call sym.memcmp
test eax, eax
jne 0x140031a40
mov rdx, qword [rbx + 0x90]
mov rax, qword [r14 + 0x48]
mov rcx, rdx
or rcx, rax
je 0x140031c14
test rax, rax
je 0x140031a40
test rdx, rdx
je 0x140031a40
mov r8, qword [rax + 8]
cmp r8, qword [rdx + 8]
jne 0x140031a40
mov rdx, qword [rdx]
mov rcx, qword [rax]
call sym.memcmp
test eax, eax
jne 0x140031a40
mov rdx, qword [rbx + 0x98]
mov rax, qword [r14 + 0x50]
mov rcx, rdx
or rcx, rax
je 0x140031c5a
test rax, rax
je 0x140031a40
test rdx, rdx
je 0x140031a40
mov r8, qword [rax + 8]
cmp r8, qword [rdx + 8]
jne 0x140031a40
mov rdx, qword [rdx]
mov rcx, qword [rax]
call sym.memcmp
test eax, eax
jne 0x140031a40
mov rdx, qword [rbx + 0x48]
mov rcx, qword [r14]
call sym.Curl_safecmp
test al, al
je 0x140031a40
mov rdx, qword [rbx + 0x50]
mov rcx, qword [r14 + 8]
call sym.Curl_safecmp
test al, al
je 0x140031a40
mov rdx, qword [rbx + 0x58]
mov rcx, qword [r14 + 0x10]
call sym.Curl_safecmp
test al, al
je 0x140031a40
mov rdx, qword [rbx + 0x60]
mov rcx, qword [r14 + 0x18]
call sym.Curl_safecmp
test al, al
je 0x140031a40
mov rdx, qword [rbx + 0x68]
mov rcx, qword [r14 + 0x20]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rdx, qword [rbx + 0x70]
mov rcx, qword [r14 + 0x28]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rdx, qword [rbx + 0xa0]
mov rcx, qword [r14 + 0x58]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rdx, qword [rbx + 0x80]
mov rcx, qword [r14 + 0x38]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rdx, qword [rbx + 0x78]
mov rcx, qword [r14 + 0x30]
call sym.curl_strequal
test eax, eax
je 0x140031a40
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx]
mov dword [rsp + 0x48], eax
add eax, 1
cmp qword [rsp + 0xc0], 0
mov dword [rcx], eax
mov dword [rbx + 0x38], eax
mov rax, qword [rbx + 0x20]
mov qword [rdi], rax
je 0x140031d50
mov rax, qword [rbx + 0x28]
mov rdi, qword [rsp + 0xc0]
mov qword [rdi], rax
cmp qword [rsp + 0xc8], 0
je 0x140031da1
mov rax, qword [rbx + 0x18]
mov rdi, qword [rsp + 0xc8]
mov qword [rdi], rax
xor eax, eax
jmp 0x140031a6d
test r8, r8
jne 0x140031a40
jmp 0x140031a1e
lea rax, [r13 + 0x118]
mov qword [rsp + 0x48], rax
jmp 0x1400319ae
xor eax, eax
jmp 0x140031a6d