Function at 0x1400155b0
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, 0x148
mov qword [rsp + 0x68], r9
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x58], rcx
mov rcx, rdx
call fcn.140014bb0
mov rcx, qword [rdi]
movups xmm0, xmmword [rdi + 8]
movaps xmmword [rsp + 0x130], xmm0
lea rdx, [rsp + 0x130]
mov qword [rsp + 0xd0], rcx
mov r8, rsi
call fcn.1400148f0
mov ebp, eax
movzx r14d, word [rdi + 0x58]
mov r12d, r14d
and r12d, ebp
lea rax, [rdi + 0x28]
mov qword [rsp + 0x70], rax
mov rbx, qword [rdi + 0x18]
mov r13, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x38]
mov qword [rsp + 0x50], rdi
mov r9, qword [rdi + 0x28]
mov r11, qword [rsi]
mov rdi, qword [rsi + 8]
movzx eax, byte [rsi + 8]
mov byte [rsp + 0x2f], al
mov qword [rsp + 0x48], rsi
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
xor esi, esi
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r9
jmp 0x140015676
movzx ecx, byte [rsp + 0x2f]
cmp byte [rax + 8], cl
je 0x140015747
nop word cs:[rax + rax]
inc rsi
inc r12
cmp r12, r13
mov eax, 0
cmovae r12, rax
test r13, r13
je 0x140015ad0
movzx ecx, word [rbx + r12*4]
cmp rcx, 0xffff
je 0x140015ad2
movzx eax, word [rbx + r12*4 + 2]
mov r8d, r14d
and r8d, eax
mov r15d, r12d
sub r15d, r8d
and r15d, r14d
cmp r15, rsi
jb 0x140015ba2
cmp ax, bp
jne 0x140015670
cmp rdx, rcx
jbe 0x140015e11
test r11, r11
sete al
imul r10, rcx, 0x68
mov rcx, qword [r9 + r10 + 0x40]
test rcx, rcx
setne r8b
cmp r8b, al
je 0x140015670
lea rax, [r9 + r10]
add rax, 0x40
test rcx, rcx
je 0x140015658
mov rcx, qword [rsp + 0x78]
cmp qword [rax + 0x10], rcx
jne 0x140015670
mov rcx, qword [rax + 8]
mov rdx, rdi
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x60], r10
mov qword [rsp + 0xd8], rdi
mov rdi, r11
call sub.VCRUNTIME140.dll_memcmp
mov r11, rdi
mov rdi, qword [rsp + 0xd8]
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
test eax, eax
jne 0x140015670
cmp qword [r9 + r10], 0
je 0x140015d54
mov qword [rsp + 0x60], r10
lea rax, [r9 + r10]
mov rbx, qword [rax + 8]
mov rax, qword [rsp + 0x50]
mov r14, qword [rax + 0x50]
cmp r14, rbx
jbe 0x140015f11
mov r13, qword [rax + 0x40]
lea rax, [r14 + r14*8]
lea r12, [rax*8 - 0x48]
add r12, r13
nop word cs:[rax + rax]
lea r11, [rbx + rbx*8]
mov rax, qword [r13 + r11*8 + 8]
mov r8, qword [r13 + r11*8 + 0x10]
mov rdx, qword [r13 + r11*8 + 0x18]
cmp qword [r13 + r11*8], 0
je 0x1400157f0
test r8, r8
je 0x140015840
cmp rax, r14
jae 0x140015e33
lea r8, [rax + rax*8]
mov qword [r13 + r8*8 + 0x10], 1
mov qword [r13 + r8*8 + 0x18], rdx
cmp rdx, r14
jae 0x140015e47
lea rdx, [rdx + rdx*8]
mov qword [r13 + rdx*8], 1
jmp 0x140015835
test r8, r8
je 0x140015883
cmp rax, qword [rsp + 0x30]
jae 0x140015e83
imul r8, rax, 0x68
mov r9, qword [rsp + 0x38]
cmp qword [r9 + r8], 0
je 0x140015f33
add r8, r9
mov qword [r8 + 8], rdx
cmp rdx, r14
jae 0x140015eaf
lea rdx, [rdx + rdx*8]
mov qword [r13 + rdx*8], 0
mov qword [r13 + rdx*8 + 8], rax
jmp 0x1400158a0
cmp rdx, qword [rsp + 0x30]
jae 0x140015e99
imul r8, rdx, 0x68
mov r9, qword [rsp + 0x38]
cmp qword [r9 + r8], 0
je 0x140015f4d
add r8, r9
mov qword [r8 + 0x10], rax
cmp rax, r14
jae 0x140015ec3
lea rax, [rax + rax*8]
mov qword [r13 + rax*8 + 0x10], 0
mov qword [r13 + rax*8 + 0x18], rdx
jmp 0x1400158a0
cmp rax, qword [rsp + 0x30]
jae 0x140015efb
imul rax, rax, 0x68
mov rdx, qword [rsp + 0x38]
mov qword [rdx + rax], 0
nop
lea rdi, [r11*8]
add rdi, r13
mov r9, qword [rdi]
mov r10, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov rbp, qword [rdi + 0x18]
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x120], rax
movups xmm0, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x100], xmm0
dec r14
mov rax, qword [r12 + 0x40]
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmm3, xmmword [r12 + 0x30]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
mov qword [rdi + 0x40], rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x50], r14
cmp r14, rbx
je 0x140015a00
jbe 0x140015e1f
lea rax, [r11*8 + 0x10]
add rax, r13
mov r11, qword [rax]
mov rax, qword [rax + 8]
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
je 0x140015999
mov rdx, r14
cmp rcx, r14
jae 0x140015e64
lea rcx, [rcx + rcx*8]
mov qword [r13 + rcx*8 + 0x10], 1
lea rcx, [rcx*8 + 0x18]
add rcx, r13
mov qword [rcx], rbx
test r11, r11
je 0x1400159ca
cmp rax, rdx
jae 0x140015e72
lea rax, [rax + rax*8]
mov qword [r13 + rax*8], 1
lea rax, [rax*8 + 8]
add rax, r13
mov qword [rax], rbx
mov r14, rdx
jmp 0x140015a00
cmp rcx, qword [rsp + 0x30]
jae 0x140015ed7
imul rcx, rcx, 0x68
mov rdi, qword [rsp + 0x38]
cmp qword [rdi + rcx], 0
je 0x140015f67
add rcx, rdi
add rcx, 8
mov rdx, r14
mov qword [rcx], rbx
test r11, r11
jne 0x140015970
mov rdx, qword [rsp + 0x30]
cmp rax, rdx
jae 0x140015eea
imul rax, rax, 0x68
mov rdx, qword [rsp + 0x38]
cmp qword [rdx + rax], 0
je 0x140015f81
add rax, rdx
add rax, 0x10
mov qword [rax], rbx
nop word cs:[rax + rax]
mov rax, r8
xor rax, 1
mov rdx, r14
xor rdx, rbp
or rdx, rax
mov eax, 1
cmove r8, rax
cmove rbp, rbx
mov rax, r9
xor rax, 1
mov rdx, r14
xor rdx, r10
or rdx, rax
cmove r10, rbx
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], rbp
mov rax, qword [rsp + 0x120]
lea rcx, [rsp + 0xa0]
mov qword [rcx + 0x20], rax
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
test r8, r8
je 0x140015d27
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call qword [rax + 0x10]
add r12, 0xffffffffffffffb8
mov rbx, rbp
cmp r14, rbp
ja 0x140015790
lea r8, [0x14016a640]
mov rcx, rbp
mov rdx, r14
call fcn.140163340
ud2
jmp 0x140015ad0
cmp rdx, 0x8000
jae 0x140015f19
mov rax, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rax, rdx
mov rsi, qword [rsp + 0x50]
cmp rdx, qword [rsi + 0x30]
jne 0x140015b24
mov rcx, qword [rsp + 0x70]
call fcn.14001ab80
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsi + 0x38]
mov r13, qword [rsi + 0x20]
mov r9, qword [rsi + 0x28]
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x68]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + rcx + 0x18], xmm0
movups xmmword [r9 + rcx + 0x28], xmm1
mov r8, qword [r8 + 0x20]
mov qword [r9 + rcx + 0x38], r8
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [r9 + rcx + 0x40], xmm0
movups xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], bp
inc rax
mov qword [rsi + 0x38], rax
cmp r12, r13
jae 0x140015e50
mov rax, qword [rsi + 0x18]
mov word [rax + r12*4], dx
mov word [rax + r12*4 + 2], bp
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x20], 2
jmp 0x140015dfc
cmp rsi, 0x200
setae dil
cmp dword [rsp + 0xd0], 2
setne cl
mov rax, qword [rsp + 0x48]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp rdx, 0x8000
jae 0x140015f19
mov rax, rdx
mov r14, qword [rsp + 0x50]
cmp rdx, qword [r14 + 0x30]
jne 0x140015c12
mov ebx, ecx
mov rcx, qword [rsp + 0x70]
call fcn.14001ab80
mov ecx, ebx
mov rdx, qword [rsp + 0x30]
mov rax, qword [r14 + 0x38]
mov rbx, qword [r14 + 0x18]
mov r13, qword [r14 + 0x20]
mov r9, qword [r14 + 0x28]
and dil, cl
imul rcx, rax, 0x68
mov qword [r9 + rcx], 0
mov r8, qword [rsp + 0x68]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movups xmmword [r9 + rcx + 0x18], xmm0
movups xmmword [r9 + rcx + 0x28], xmm1
mov r8, qword [r8 + 0x20]
mov qword [r9 + rcx + 0x38], r8
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [r9 + rcx + 0x40], xmm0
movups xmmword [r9 + rcx + 0x50], xmm1
mov word [r9 + rcx + 0x60], bp
inc rax
mov qword [r14 + 0x38], rax
xor ecx, ecx
xor eax, eax
cmp r12, r13
cmovae r12, rcx
test r13, r13
je 0x140015cc0
nop dword [rax]
movzx r9d, word [rbx + r12*4]
cmp r9w, 0xffff
je 0x140015cc2
inc rax
movzx r8d, word [rbx + r12*4 + 2]
mov word [rbx + r12*4], dx
mov word [rbx + r12*4 + 2], bp
inc r12
mov ebp, r8d
mov edx, r9d
cmp r12, r13
cmovae r12, rcx
test r13, r13
jne 0x140015c80
nop word cs:[rax + rax]
jmp 0x140015cc0
mov word [rbx + r12*4], dx
mov word [rbx + r12*4 + 2], bp
cmp rax, 0x80
setb al
not dil
test dil, al
jne 0x140015ceb
cmp qword [r14], 0
jne 0x140015ceb
mov qword [r14], 1
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
mov rcx, qword [rsp + 0x58]
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov byte [rcx + 0x20], 2
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x21], eax
mov eax, dword [rsp + 0x43]
mov dword [rcx + 0x24], eax
cmp r15, rsi
jae 0x140015ddb
jmp 0x140015dfc
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsp + 0xb8]
call qword [rax + 0x10]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x60]
movups xmm0, xmmword [r9 + r10 + 0x18]
movups xmm1, xmmword [r9 + r10 + 0x28]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
movzx eax, byte [r9 + r10 + 0x38]
mov ecx, dword [r9 + r10 + 0x3c]
mov dword [rsp + 0x43], ecx
mov ecx, dword [r9 + r10 + 0x39]
mov dword [rsp + 0x40], ecx
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx + 0x20]
mov qword [r9 + r10 + 0x38], rcx
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r9 + r10 + 0x28], xmm1
movups xmmword [r9 + r10 + 0x18], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
mov rdx, qword [rsp + 0x58]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov byte [rdx + 0x20], al
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x43]
mov dword [rdx + 0x24], ecx
mov dword [rdx + 0x21], eax
cmp r15, rsi
jb 0x140015dfc
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
test rax, rax
je 0x140015dfc
mov r8, qword [rsp + 0x48]
lea rcx, [r8 + 0x18]
mov rdx, qword [r8 + 8]
mov r8, qword [r8 + 0x10]
call qword [rax + 0x10]
nop
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14016a610]
call fcn.140163340
ud2
lea r8, [0x14016a730]
mov rcx, rbx
mov rdx, r14
call fcn.140163340
ud2
lea r8, [0x14016a700]
mov rcx, rax
mov rdx, r14
call fcn.140163340
ud2
lea r8, [0x14016a718]
jmp 0x140015eb6
lea r8, [0x14016a628]
mov rcx, r12
mov rdx, r13
call fcn.140163340
ud2
lea r8, [0x14016a778]
call fcn.140163340
ud2
lea r8, [0x14016a7c0]
mov rcx, rax
call fcn.140163340
ud2
lea r8, [0x14016a670]
mov rcx, rax
mov rdx, qword [rsp + 0x30]
call fcn.140163340
ud2
lea r8, [0x14016a6b8]
mov rcx, rdx
mov rdx, qword [rsp + 0x30]
call fcn.140163340
ud2
lea r8, [0x14016a6a0]
mov rcx, rdx
mov rdx, r14
call fcn.140163340
ud2
lea r8, [0x14016a6e8]
mov rcx, rax
mov rdx, r14
call fcn.140163340
ud2
lea r8, [0x14016a748]
mov rdx, qword [rsp + 0x30]
call fcn.140163340
ud2
lea r8, [0x14016a790]
mov rcx, rax
call fcn.140163340
ud2
lea r8, [0x14016a658]
mov rcx, rax
mov rdx, qword [rsp + 0x30]
call fcn.140163340
ud2
mov rbp, rbx
jmp 0x140015ab8
lea rcx, str.header_map_at_capacity
lea r8, [0x14016a560]
mov edx, 0x16
call fcn.14015f620
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14016a688]
mov edx, 0x2b
call fcn.140163440
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14016a6d0]
mov edx, 0x2b
call fcn.140163440
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14016a760]
mov edx, 0x2b
call fcn.140163440
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14016a7a8]
mov edx, 0x2b
call fcn.140163440
ud2