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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x448
mov ebp, r9d
mov qword [rsp + 0x28], r8
mov rbx, rdx
mov r15, rcx
lea rsi, [rsp + 0x150]
mov rcx, rsi
call fcn.1400600a1
mov rdi, qword [rsi]
mov r14b, byte [rsi + 8]
mov r12b, byte [rsi + 9]
lea r13, [rsp + 0x15a]
cmp rdi, 3
je 0x140057470
mov rsi, qword [rsp + 0x228]
lea rcx, [rsp + 0x230]
mov r8d, 0xce
mov rdx, r13
call sub.msvcrt.dll_memcpy
shr rsi, 8
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x158], r14b
mov byte [rsp + 0x159], r12b
lea rdx, [rsp + 0x230]
mov r8d, 0xce
mov rcx, r13
call sub.msvcrt.dll_memcpy
mov byte [rsp + 0x228], 3
mov rax, rsi
shr rax, 0x30
mov byte [rsp + 0x22f], al
mov rax, rsi
shr rax, 0x20
mov word [rsp + 0x22d], ax
mov dword [rsp + 0x229], esi
cmp byte [rbx], 0xb
je 0x14005759f
mov rax, qword [rbx + 0x10]
lea rsi, [rsp + 0x310]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rbx]
movaps xmmword [rsi], xmm0
lea rdx, [0x1403227e0]
mov rcx, rbx
call fcn.140057f61
mov r14d, eax
lea rdi, [rsp + 0x230]
lea r12, [rsp + 0x150]
mov r8d, 0xe0
mov rcx, rdi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rcx, r12
mov rdx, rdi
mov r8, rsi
call fcn.1400525ad
mov rsi, qword [rbx + 0x78]
test rsi, rsi
je 0x1400575c1
test r14b, r14b
je 0x14005759f
mov dword [rsp + 0x3c], ebp
mov ebp, r14d
mov rax, qword [rsp + 0x150]
mov r14b, byte [rsp + 0x158]
mov dil, byte [rsp + 0x159]
mov rcx, qword [rbx + 0x90]
mov qword [rsp + 0xb0], rcx
movups xmm0, xmmword [rbx + 0x80]
movups xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x98], rsi
cmp rax, 3
jne 0x1400575c9
lea rcx, [rsp + 0x98]
call fcn.14004f076
mov r12d, 3
jmp 0x14005765b
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov dil, 1
jmp 0x1400576ba
mov dil, 1
jmp 0x140057692
mov qword [rsp + 0x30], rsi
lea rsi, [rsp + 0x23a]
mov qword [rsi - 0xa], rax
mov byte [rsi - 2], r14b
mov byte [rsi - 1], dil
mov r8d, 0xd6
mov rcx, rsi
mov rdx, r13
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
lea r8, [rsp + 0x3f0]
movaps xmmword [r8 + 0x10], xmm1
movaps xmmword [r8], xmm0
lea rdx, [rsp + 0x300]
lea rdi, [rsp + 0x310]
mov rcx, rdi
call fcn.1400514b5
mov rcx, rdi
call fcn.14004f86a
mov r12, qword [rsi - 0xa]
mov r14b, byte [rsi - 2]
mov dil, byte [rsi - 1]
lea rcx, [rsp + 0x310]
mov r8d, 0xd6
mov rdx, rsi
mov rsi, qword [rsp + 0x30]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x150], r12
mov byte [rsp + 0x158], r14b
mov byte [rsp + 0x159], dil
lea rdx, [rsp + 0x310]
mov r8d, 0xd6
mov rcx, r13
call sub.msvcrt.dll_memcpy
xor edi, edi
mov r14d, ebp
mov ebp, dword [rsp + 0x3c]
cmp word [rbx + 0x98], 0
je 0x14005774c
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov r12b, 1
mov r13b, 1
mov r14b, 1
mov rsi, qword [rsp + 0x28]
cmp dword [rsp + 0x150], 3
je 0x1400576df
lea rcx, [rsp + 0x150]
call fcn.14004f948
mov rcx, rsi
call fcn.14004f7d2
test r13b, r13b
je 0x1400576fc
cmp qword [rbx + 0x18], 0
je 0x1400576fc
lea rcx, [rbx + 0x18]
call fcn.14004f076
test r12b, r12b
je 0x140057711
cmp qword [rbx + 0x38], 0
je 0x140057711
lea rcx, [rbx + 0x38]
call fcn.14004f076
test r14b, r14b
je 0x140057726
cmp qword [rbx + 0x58], 0
je 0x140057726
lea rcx, [rbx + 0x58]
call fcn.14004f076
test dil, dil
je 0x140057737
add rbx, 0x78
mov rcx, rbx
call fcn.14004f86a
nop
add rsp, 0x448
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x20], edi
lea rax, [rsp + 0x50]
mov byte [rax - 0x10], 3
and qword [rax], 0
lea rax, [rsp + 0x70]
and qword [rax], 0
xor eax, eax
cmp qword [rbx + 0x38], rax
je 0x140057857
mov r13, rsi
lea rax, [rbx + 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rdx, [rsp + 0xf0]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea rsi, [rsp + 0x3f0]
mov rcx, rsi
call fcn.14003b52d
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
lea r12, [rsp + 0x310]
movaps xmmword [r12], xmm0
movaps xmmword [r12 + 0x10], xmm1
and qword [r12], 0
lea r8, [0x140295c20]
lea rdi, [rsp + 0x230]
mov rcx, rdi
mov rdx, rsi
call fcn.1400648a8
lea rsi, [rsp + 0x98]
mov rcx, rsi
mov rdx, rdi
call fcn.140060505
mov rcx, r12
call fcn.14004f86a
mov rdi, qword [rsi]
mov sil, byte [rsi + 8]
test rdi, rdi
je 0x14005792e
mov r12d, r14d
mov r14, rdi
shr r14, 0x20
lea rcx, [rsp + 0x50]
call fcn.14004f86a
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], r14d
mov r14d, r12d
mov byte [rsp + 0x58], sil
movups xmm0, xmmword [rsp + 0xa1]
movups xmmword [rsp + 0x59], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0xf0]
call fcn.14004f076
xor r12d, r12d
mov rsi, r13
jmp 0x14005785a
mov r12b, 1
cmp qword [rbx + 0x18], 0
je 0x1400578f2
lea rax, [rbx + 0x18]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x320], xmm1
movaps xmmword [rsp + 0x310], xmm0
test rsi, rsi
mov edi, dword [rsp + 0x20]
jne 0x140057894
mov eax, r14d
xor al, 1
je 0x1400579cc
mov rdx, qword [rsp + 0x318]
mov r8, qword [rsp + 0x320]
cmp r8, 5
je 0x140057970
cmp r8, 4
jne 0x1400579a0
cmp byte [rdx], 0x68
jne 0x1400579a6
cmp byte [rdx + 1], 0x74
jne 0x1400579a6
cmp byte [rdx + 2], 0x74
jne 0x1400579a6
cmp byte [rdx + 3], 0x70
jne 0x1400579a6
mov byte [rsp + 0x30], r14b
mov r14, rsi
mov r13d, 1
jmp 0x14005799b
test rsi, rsi
mov edi, dword [rsp + 0x20]
jne 0x140057909
mov eax, r14d
xor al, 1
mov r13b, 1
je 0x140057a85
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov r14b, 1
mov r13b, 1
jmp 0x140057c0f
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov byte [r15 + 0x18], sil
mov qword [r15], 3
lea rcx, [rsp + 0xf0]
call fcn.14004f076
mov r14b, 1
xor r12d, r12d
mov r13b, 1
mov rsi, qword [rsp + 0x28]
mov edi, dword [rsp + 0x20]
jmp 0x140057c14
cmp byte [rdx], 0x68
jne 0x1400579a6
cmp byte [rdx + 1], 0x74
jne 0x1400579a6
cmp byte [rdx + 2], 0x74
jne 0x1400579a6
cmp byte [rdx + 3], 0x70
jne 0x1400579a6
cmp byte [rdx + 4], 0x73
jne 0x1400579a6
mov byte [rsp + 0x30], r14b
mov r14, rsi
mov r13d, 0x101
jmp 0x140057a40
cmp r8, 0x40
ja 0x1400579cc
xor eax, eax
lea rcx, [0x1402aa338]
cmp r8, rax
je 0x1400579fe
movzx r9d, byte [rdx + rax]
movzx r9d, byte [r9 + rcx]
test r9d, r9d
je 0x1400579cc
inc rax
cmp r9d, 0x3a
jne 0x1400579af
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
lea rcx, [rsp + 0x310]
call fcn.14004f076
mov r14b, 1
xor r13d, r13d
jmp 0x140057c0f
mov byte [rsp + 0x30], r14b
mov r14, rsi
lea rdi, [rsp + 0x230]
mov rcx, rdi
call fcn.14003b270
mov ecx, 0x20
mov edx, 8
call fcn.1400c9f49
mov rsi, rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
mov edi, dword [rsp + 0x20]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
mov r13d, 2
cmp qword [rsp + 0x50], 0
je 0x140057a62
mov cl, byte [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.140052598
mov dword [rsp + 0x40], r13d
mov qword [rsp + 0x48], rsi
jmp 0x140057a6d
mov ecx, r13d
mov rdx, rsi
call fcn.14004f91b
lea rcx, [rsp + 0x310]
call fcn.14004f076
xor r13d, r13d
mov rsi, r14
mov r14b, byte [rsp + 0x30]
cmp qword [rbx + 0x58], 0
je 0x140057bdd
lea rax, [rbx + 0x58]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x100], xmm1
movaps xmmword [rsp + 0xf0], xmm0
test rsi, rsi
jne 0x140057aba
xor r14b, 1
je 0x140057bb1
cmp qword [rsp + 0x100], 0
je 0x140057bb1
mov qword [rsp + 0x30], rsi
lea rsi, [rsp + 0x98]
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.14003b52d
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
lea rdi, [rsp + 0x3f0]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi + 0x10], xmm1
and qword [rdi], 0
lea r8, str._.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.9_src_uri_path.rs
lea r14, [rsp + 0x310]
mov rcx, r14
mov rdx, rsi
call fcn.1400648a8
lea rsi, [rsp + 0x230]
mov rcx, rsi
mov rdx, r14
call fcn.140060f7a
mov rcx, rdi
call fcn.14004f86a
mov rsi, qword [rsi]
test rsi, rsi
je 0x140057e86
mov ecx, dword [rsp + 0x238]
mov dword [rsp + 0x24], ecx
mov edi, esi
shr edi, 0x10
mov r14, rsi
shr r14, 0x20
lea rcx, [rsp + 0x70]
call fcn.1400525a2
mov rax, rsi
mov byte [rsp + 0x70], al
mov byte [rsp + 0x71], ah
mov word [rsp + 0x72], di
mov dword [rsp + 0x74], r14d
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x78], eax
movups xmm0, xmmword [rsp + 0x23c]
movups xmm1, xmmword [rsp + 0x248]
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rsp + 0x88], xmm1
lea rcx, [rsp + 0xf0]
call fcn.14004f076
xor r14d, r14d
jmp 0x140057c3e
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
lea rcx, [rsp + 0xf0]
call fcn.14004f076
xor r14d, r14d
jmp 0x140057c0f
mov qword [rsp + 0x30], rsi
test rsi, rsi
setne al
mov ecx, r14d
mov r14b, 1
test cl, al
je 0x140057c3e
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov r14b, 1
mov rsi, qword [rsp + 0x28]
lea r15, [rsp + 0x70]
mov cl, byte [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.140052598
lea rcx, [rsp + 0x50]
call fcn.14004f86a
mov rcx, r15
call fcn.1400525a2
jmp 0x1400576c8
mov rax, qword [rsp + 0x150]
mov r8b, byte [rsp + 0x158]
mov dl, byte [rsp + 0x159]
lea rdi, [rsp + 0x98]
lea rsi, [rsp + 0x40]
mov ecx, 0xb
rep movsq qword [rdi], qword [rsi]
cmp rax, 3
mov dword [rsp + 0x3c], ebp
jne 0x140057cae
lea rsi, [rsp + 0xa8]
mov cl, byte [rsi - 0x10]
mov ebp, edx
mov rdx, qword [rsi - 8]
mov edi, r8d
call fcn.140052598
mov rcx, rsi
call fcn.14004f86a
lea rcx, [rsp + 0xc8]
call fcn.1400525a2
mov eax, edi
mov edi, 3
jmp 0x140057dad
lea rbp, [rsp + 0x23a]
mov qword [rbp - 0xa], rax
mov byte [rbp - 2], r8b
mov byte [rbp - 1], dl
mov r8d, 0xd6
mov rcx, rbp
lea rdx, [rsp + 0x15a]
call sub.msvcrt.dll_memcpy
lea rdx, [rsp + 0x310]
lea rsi, [rsp + 0x40]
mov ecx, 0xb
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x3f0]
mov rcx, rsi
call fcn.140060e22
mov sil, byte [rsi]
cmp sil, 3
jne 0x140057d29
mov bpl, byte [rsp + 0x3f1]
lea rcx, [rsp + 0x230]
call fcn.14004f948
mov edi, 3
mov al, 3
jmp 0x140057dad
lea rdx, [rsp + 0x3f3]
movzx eax, word [rdx - 2]
mov word [rsp + 0x24], ax
lea rcx, [rsp + 0xf0]
mov r8d, 0x55
call sub.msvcrt.dll_memcpy
lea rdi, [rsp + 0x290]
mov rcx, rdi
call fcn.14004f8ee
mov byte [rdi], sil
movzx eax, word [rsp + 0x24]
mov word [rdi + 1], ax
lea rsi, [rsp + 0x293]
mov r8d, 0x55
mov rcx, rsi
lea rdx, [rsp + 0xf0]
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsi - 0x63]
mov rdx, rbp
mov bpl, byte [rsi - 0x5b]
mov sil, byte [rsi - 0x5a]
lea rcx, [rsp + 0x310]
mov r8d, 0xd6
call sub.msvcrt.dll_memcpy
mov eax, ebp
mov ebp, esi
mov qword [rsp + 0x150], rdi
mov byte [rsp + 0x158], al
mov byte [rsp + 0x24], bpl
mov byte [rsp + 0x159], bpl
lea rdx, [rsp + 0x310]
mov ebp, eax
mov r8d, 0xd6
lea rsi, [rsp + 0x15a]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
cmp rdi, 3
jne 0x140057e1b
mov word [r15 + 8], 0x100
mov eax, dword [rsp + 0x3c]
mov dword [r15 + 0xc], eax
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov rsi, qword [rsp + 0x28]
mov edi, dword [rsp + 0x20]
jmp 0x1400576df
lea r14, [rsp + 0x23a]
mov r8d, 0xd6
mov rcx, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov qword [r14 - 0xa], rdi
mov byte [r14 - 2], bpl
mov al, byte [rsp + 0x24]
mov byte [r14 - 1], al
lea r12, [rsp + 0x230]
mov rcx, r12
call fcn.14004f7d2
mov ecx, 0xc
mov rdi, r12
mov rsi, qword [rsp + 0x28]
rep movsq qword [rdi], qword [rsi]
mov r8d, 0xe0
mov rcx, r15
mov rdx, r12
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x30], 0
jne 0x140057737
jmp 0x14005772b
mov word [r15 + 8], 0x100
mov dword [r15 + 0xc], ebp
mov dword [r15 + 0x10], 1
mov qword [r15], 3
mov edi, dword [rsp + 0x20]
jmp 0x140057bcb