Function at 0x140045900
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, 0xc8
mov rbx, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.140045eb0
test al, al
je 0x140045976
mov byte [rsi + 0x20], 3
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
add rbx, 0x18
mov rcx, rbx
call qword [rax + 0x18]
mov rax, qword [rdi]
test rax, rax
je 0x140045cfd
mov rax, qword [rax + 0x18]
lea rcx, [rdi + 0x18]
mov rdx, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x30], rsi
mov rcx, r14
mov rdx, rdi
call fcn.140046270
mov ebp, eax
movzx esi, word [r14 + 0x58]
mov eax, esi
and eax, ebp
mov rbx, qword [r14 + 0x50]
mov r15, qword [r14 + 0x48]
mov r8, qword [r14 + 0x20]
mov qword [rsp + 0x48], r14
mov r9, qword [r14 + 0x28]
mov r10, qword [rdi]
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x80], rcx
movzx r11d, byte [rdi + 8]
mov qword [rsp + 0x38], rdi
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x78], rcx
xor edi, edi
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x88], r10
mov byte [rsp + 0x2f], r11b
jmp 0x140045a10
cmp byte [rax + 8], r11b
je 0x140045acc
inc rdi
inc r12
mov rax, r12
nop word cs:[rax + rax]
mov r12, rax
mov eax, 0
cmp r12, rbx
jae 0x140045a10
movzx r13d, word [r15 + r12*4]
cmp r13, 0xffff
je 0x140045b83
movzx eax, word [r15 + r12*4 + 2]
mov ecx, esi
and ecx, eax
mov edx, r12d
sub edx, ecx
and edx, esi
cmp rdx, rdi
jb 0x140045c06
cmp ax, bp
jne 0x1400459f8
cmp r9, r13
jbe 0x140045d11
test r10, r10
sete al
imul r14, r13, 0x68
mov rcx, qword [r8 + r14 + 0x40]
test rcx, rcx
setne dl
cmp dl, al
je 0x1400459f8
lea rax, [r8 + r14]
add rax, 0x40
test rcx, rcx
je 0x1400459ee
mov rcx, qword [rsp + 0x78]
cmp qword [rax + 0x10], rcx
jne 0x1400459f8
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
call sub.msvcrt.dll_memcmp
movzx r11d, byte [rsp + 0x2f]
mov r10, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
test eax, eax
jne 0x1400459f8
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
cmp qword [r8 + r14], 0
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
je 0x140045b14
add r8, r14
mov rdx, qword [r8 + 8]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140046540
mov r9, qword [rbx + 0x28]
cmp r9, r13
jbe 0x140045d3e
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x20]
movups xmm0, xmmword [rax + r14 + 0x18]
movups xmm1, xmmword [rax + r14 + 0x28]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movzx ecx, byte [rax + r14 + 0x38]
mov edx, dword [rax + r14 + 0x3c]
mov dword [rsi + 0x24], edx
mov edx, dword [rax + r14 + 0x39]
mov dword [rsi + 0x21], edx
mov rdx, qword [rsp + 0x70]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [rax + r14 + 0x18], xmm0
movups xmmword [rax + r14 + 0x28], xmm1
mov qword [rax + r14 + 0x38], rdx
mov byte [rsi + 0x20], cl
mov rax, qword [rdi]
test rax, rax
jne 0x140045950
jmp 0x140045cfd
mov rdi, r9
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
mov edx, ebp
call fcn.140009c90
test al, al
jne 0x140045c76
mov rdx, qword [rsi + 0x50]
cmp r12, rdx
jae 0x140045d2f
mov rax, qword [rsi + 0x48]
mov word [rax + r12*4], di
mov word [rax + r12*4 + 2], bp
jmp 0x140045cf4
mov r14, r9
cmp rdi, 0x200
setae bl
mov rdi, qword [rsp + 0x48]
cmp qword [rdi], 2
setne sil
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
lea r8, [rsp + 0xa0]
lea r9, [rsp + 0x50]
mov rcx, rdi
mov edx, ebp
call fcn.140009c90
test al, al
je 0x140045c81
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x20], 3
jmp 0x140045cfd
and bl, sil
mov rax, qword [rdi + 0x48]
mov rdx, qword [rdi + 0x50]
xor ecx, ecx
nop
mov r8, r12
mov r12d, 0
cmp r8, rdx
jae 0x140045c90
movzx r9d, word [rax + r8*4]
cmp r9w, 0xffff
je 0x140045ccc
inc rcx
movzx r10d, word [rax + r8*4 + 2]
mov word [rax + r8*4], r14w
mov word [rax + r8*4 + 2], bp
inc r8
mov ebp, r10d
mov r14d, r9d
mov r12, r8
jmp 0x140045c90
mov word [rax + r8*4], r14w
mov word [rax + r8*4 + 2], bp
cmp rcx, 0x80
setb al
not bl
test bl, al
jne 0x140045cf4
cmp qword [rdi], 0
jne 0x140045cf4
mov qword [rdi], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x20], 2
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_map.rs
mov rcx, r13
mov rdx, r9
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
call fcn.14002d5f0
jmp 0x140045d50
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_map.rs
mov rcx, r12
call fcn.14002d5f0
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_1.1.0_src_header_map.rs
mov rcx, r13
mov rdx, r9
call fcn.14002d5f0
ud2