Function at 0x140011090
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, 0xe8
mov rbx, rdx
mov qword [rsp + 0x40], rcx
cmp rdx, 0x15
jae 0x1400110e1
cmp rbx, 1
jbe 0x140011c12
mov r8d, 1
mov rcx, qword [rsp + 0x40]
mov rdx, rbx
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400120d0
mov rax, rbx
shl rax, 4
movabs rcx, 0x7fffffffffffffe0
and rcx, rax
movzx eax, byte [0x1401ea9b8]
mov edx, 4
call fcn.140143230
test rax, rax
je 0x140011d58
mov rsi, rax
movzx eax, byte [0x1401ea9b8]
mov ecx, 0x100
mov edx, 8
call fcn.140143230
test rax, rax
je 0x140011d72
mov r12, rax
mov rax, qword [rsp + 0x40]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x58], rcx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x70], rcx
lea rcx, [rax - 0x10]
mov qword [rsp + 0x68], rcx
add rax, 0xffffffffffffffe0
mov qword [rsp + 0x78], rax
mov eax, 0x10
mov qword [rsp + 0x60], rax
xor eax, eax
xor r15d, r15d
mov qword [rsp + 0x30], rsi
jmp 0x140011194
mov r15d, 1
mov rax, qword [rsp + 0x50]
cmp rax, rbx
jae 0x140011bef
mov rsi, rax
mov rdi, rbx
sub rdi, rax
mov rbp, rax
shl rbp, 5
mov rax, qword [rsp + 0x40]
lea r14, [rax + rbp]
cmp rdi, 2
jae 0x1400111c0
mov rdx, rbx
jmp 0x140011300
lea rcx, [r14 + 0x20]
mov rdx, r14
call fcn.14000a540
test al, al
je 0x1400111f0
cmp rdi, 2
jne 0x140011204
lea rdx, [rsi + 2]
mov edi, 2
jmp 0x140011294
cmp rdi, 2
jne 0x14001123d
lea rdx, [rsi + 2]
mov edi, 2
jmp 0x140011300
mov byte [rsp + 0x48], al
mov qword [rsp + 0x28], r14
mov r14, r12
mov rax, qword [rsp + 0x58]
lea r13, [rax + rbp]
mov r12d, 2
nop
mov rdx, r13
add r13, 0x20
mov rcx, r13
call fcn.14000a540
test al, al
je 0x14001127e
inc r12
cmp rdi, r12
jne 0x140011220
jmp 0x14001127b
mov byte [rsp + 0x48], al
mov qword [rsp + 0x28], r14
mov r14, r12
mov rax, qword [rsp + 0x58]
lea r13, [rax + rbp]
mov r12d, 2
nop dword [rax + rax]
mov rdx, r13
add r13, 0x20
mov rcx, r13
call fcn.14000a540
test al, al
jne 0x14001127e
inc r12
cmp rdi, r12
jne 0x140011260
mov r12, rdi
lea rdx, [r12 + rsi]
mov rdi, r12
cmp byte [rsp + 0x48], 0
mov r12, r14
mov r14, qword [rsp + 0x28]
je 0x140011300
cmp rsi, rdx
ja 0x140011d33
cmp rdx, rbx
ja 0x140011d44
cmp rdi, 2
jb 0x140011300
mov rax, rdi
shr rax, 1
add rbp, qword [rsp + 0x70]
lea rcx, [rsi + rdi]
shl rcx, 5
add rcx, qword [rsp + 0x68]
nop word cs:[rax + rax]
movups xmm0, xmmword [rbp - 0x10]
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rcx - 0x10], xmm0
movdqu xmm0, xmmword [rbp]
movdqu xmm1, xmmword [rcx]
movdqu xmmword [rbp], xmm1
movdqu xmmword [rcx], xmm0
add rbp, 0x20
add rcx, 0xffffffffffffffe0
dec rax
jne 0x1400112d0
nop
mov r13, rdx
sub r13, rsi
jb 0x140011ce9
cmp rdx, rbx
ja 0x140011ce9
jae 0x140011360
cmp rdi, 0xa
jae 0x140011360
lea r13, [rsi + 0xa]
cmp r13, rbx
cmovae r13, rbx
mov qword [rsp + 0x50], r13
sub r13, rsi
jb 0x140011d03
cmp rdi, 1
adc rdi, 0
mov rcx, r14
mov rdx, r13
mov r8, rdi
call fcn.1400120d0
cmp r15, qword [rsp + 0x60]
je 0x14001136c
jmp 0x1400113b6
mov qword [rsp + 0x50], rdx
cmp r15, qword [rsp + 0x60]
jne 0x1400113b6
mov rcx, r15
shl rcx, 5
movzx eax, byte [0x1401ea9b8]
mov edx, 8
call fcn.140143230
test rax, rax
je 0x140011d19
mov rdi, rax
lea rax, [r15 + r15]
mov qword [rsp + 0x60], rax
mov r8, r15
shl r8, 4
mov rcx, rdi
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r12
call fcn.140142490
mov r12, rdi
mov rax, r15
shl rax, 4
mov qword [r12 + rax], r13
mov qword [r12 + rax + 8], rsi
inc r15
mov rbp, r15
cmp r15, 2
mov rsi, qword [rsp + 0x30]
mov qword [rsp + 0x80], r12
jae 0x140011467
jmp 0x140011186
mov rdi, r13
mov rdx, rsi
sub r12, rdx
mov rcx, rdi
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0xa8]
add rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov qword [rcx], rax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov rcx, qword [rsp + 0xa0]
lea rdx, [rcx + 0x10]
mov rax, qword [rsp + 0x48]
not rax
add r15, rax
shl r15, 4
mov r8, r15
call sub.VCRUNTIME140.dll_memmove
cmp rbp, 1
mov r12, qword [rsp + 0x80]
jbe 0x140011180
mov r15, rbp
lea r10, [rbp - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, rbx
je 0x1400114e0
mov rdx, r15
shl rdx, 4
mov r8, qword [rdx + r12 - 0x20]
cmp r8, rax
jbe 0x1400114e0
cmp r15, 2
jbe 0x140011bd9
lea r11, [r15 - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x1400114f5
cmp r15, 3
jbe 0x140011be4
add r8, rcx
cmp qword [rdx + r12 - 0x40], r8
jbe 0x1400114f5
jmp 0x140011186
cmp r15, 3
jb 0x1400114fa
lea r11, [r15 - 3]
mov rcx, r11
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x1400114fe
lea r11, [r15 - 2]
cmp r15, r11
jbe 0x140011c27
lea rax, [r11 + 1]
cmp r15, rax
jbe 0x140011c74
mov rdx, r11
shl rdx, 4
mov rdi, qword [r12 + rdx + 8]
shl rax, 4
mov r8, qword [r12 + rax]
mov r14, qword [r12 + rax + 8]
add r14, r8
mov rsi, r14
sub rsi, rdi
jb 0x140011cc1
cmp r14, rbx
ja 0x140011cd5
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x38], r10
mov rbp, rbx
lea r8, [r12 + rdx]
mov qword [rsp + 0xa0], r8
mov r15, qword [r12 + rdx]
lea rdx, [r12 + rax]
mov qword [rsp + 0x90], rdx
add rax, r12
add rax, 8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xb0], rdi
shl rdi, 5
add rdi, qword [rsp + 0x40]
mov r12, r15
shl r12, 5
lea r13, [rdi + r12]
shl r14, 5
mov rbx, rsi
sub rbx, r15
cmp rbx, r15
mov qword [rsp + 0x98], r15
jae 0x1400118b0
mov r12, rbx
shl r12, 5
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, rsi
test r15, r15
jle 0x140011bb0
test rbx, rbx
jle 0x140011bb0
add r14, qword [rsp + 0x78]
mov rbx, rbp
mov r10d, 0xff
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
nop dword [rax + rax]
movzx eax, word [r12 - 0x20]
movzx edx, word [r13 - 0x20]
test ax, ax
je 0x140011800
test dx, dx
je 0x140011805
movdqu xmm1, xmmword [r12 - 0x1c]
movdqu xmm0, xmmword [r13 - 0x1c]
movd ecx, xmm1
mov edx, ecx
rol dx, 8
movd r8d, xmm0
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm0, 1
mov edx, ecx
rol dx, 8
pextrw r8d, xmm1, 1
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp r8w, cx
setne al
cmp r9w, dx
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm1, 2
mov edx, ecx
rol dx, 8
pextrw r8d, xmm0, 2
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm1, 3
mov edx, ecx
rol dx, 8
pextrw r8d, xmm0, 3
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm1, 4
mov edx, ecx
rol dx, 8
pextrw r8d, xmm0, 4
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm1, 5
mov edx, ecx
rol dx, 8
pextrw r8d, xmm0, 5
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw ecx, xmm1, 6
mov edx, ecx
rol dx, 8
pextrw r8d, xmm0, 6
mov r9d, r8d
rol r9w, 8
xor eax, eax
cmp cx, r8w
setne al
cmp dx, r9w
cmovb eax, r10d
test al, al
jne 0x1400117c0
pextrw eax, xmm1, 7
mov edx, eax
rol dx, 8
pextrw ecx, xmm0, 7
mov r8d, ecx
rol r8w, 8
cmp ax, cx
setne al
mov cl, 0xff
cmp dx, r8w
jb 0x140011811
nop word cs:[rax + rax]
mov ecx, eax
test al, al
jne 0x140011811
movzx eax, word [r13 - 4]
mov cl, 0xff
cmp word [r12 - 4], ax
jb 0x140011811
jne 0x14001189c
mov eax, dword [r13 - 0xc]
cmp dword [r12 - 0xc], eax
jb 0x140011811
mov cl, 1
jne 0x140011811
mov eax, dword [r12 - 8]
xor ecx, ecx
cmp eax, dword [r13 - 8]
jmp 0x14001180a
test dx, dx
je 0x140011865
xor ecx, ecx
cmp ax, dx
setne cl
cmovb ecx, r10d
xor eax, eax
xor edx, edx
cmp cl, 0xff
setne al
sete dl
shl rdx, 5
sub r13, rdx
shl rax, 5
sub r12, rax
cmp cl, 0xff
mov rax, r12
cmove rax, r13
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmmword [r14 + 0x10], xmm1
movdqu xmmword [r14], xmm0
cmp r13, rdi
jbe 0x1400113f0
add r14, 0xffffffffffffffe0
cmp r12, rsi
ja 0x140011610
jmp 0x1400113f0
mov eax, dword [r12 - 0x1e]
mov ecx, dword [r13 - 0x1e]
bswap eax
bswap ecx
xor edx, edx
cmp eax, ecx
seta dl
sbb edx, 0
setne al
movzx ecx, al
cmovs ecx, r10d
test cl, cl
jne 0x140011811
movzx eax, word [r12 - 0x1a]
xor ecx, ecx
cmp ax, word [r13 - 0x1a]
jmp 0x14001180a
mov cl, 1
jmp 0x140011811
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, rdi
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r12, rbx
test r15, r15
jle 0x140011bb5
cmp rsi, r15
mov rbx, rbp
jle 0x140011bc2
add r14, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
mov r11d, 0xff
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
nop dword [rax + rax]
movzx eax, word [r13]
movzx r8d, word [rdx]
test ax, ax
je 0x140011b00
test r8w, r8w
je 0x140011b06
movdqu xmm1, xmmword [r13 + 4]
movdqu xmm0, xmmword [rdx + 4]
movd ecx, xmm1
mov r8d, ecx
rol r8w, 8
movd r9d, xmm0
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm0, 1
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm1, 1
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp r9w, cx
setne al
cmp r10w, r8w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm1, 2
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm0, 2
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm1, 3
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm0, 3
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm1, 4
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm0, 4
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm1, 5
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm0, 5
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw ecx, xmm1, 6
mov r8d, ecx
rol r8w, 8
pextrw r9d, xmm0, 6
mov r10d, r9d
rol r10w, 8
xor eax, eax
cmp cx, r9w
setne al
cmp r8w, r10w
cmovb eax, r11d
test al, al
jne 0x140011ac0
pextrw eax, xmm1, 7
mov r8d, eax
rol r8w, 8
pextrw ecx, xmm0, 7
mov r9d, ecx
rol r9w, 8
cmp ax, cx
setne al
mov cl, 0xff
cmp r8w, r9w
jb 0x140011b13
nop word cs:[rax + rax]
mov ecx, eax
test al, al
jne 0x140011b13
movzx eax, word [rdx + 0x1c]
mov cl, 0xff
cmp word [r13 + 0x1c], ax
jb 0x140011b13
jne 0x140011b9e
mov eax, dword [rdx + 0x14]
cmp dword [r13 + 0x14], eax
jb 0x140011b13
mov cl, 1
jne 0x140011b13
mov eax, dword [r13 + 0x18]
xor ecx, ecx
cmp eax, dword [rdx + 0x18]
jmp 0x140011b0c
test r8w, r8w
je 0x140011b68
xor ecx, ecx
cmp ax, r8w
setne cl
cmovb ecx, r11d
xor r8d, r8d
xor eax, eax
cmp cl, 0xff
setne r8b
sete cl
mov r9, rdx
cmove r9, r13
movdqu xmm0, xmmword [r9]
movdqu xmm1, xmmword [r9 + 0x10]
movdqu xmmword [rdi + 0x10], xmm1
movdqu xmmword [rdi], xmm0
add rdi, 0x20
shl r8, 5
add rdx, r8
cmp rdx, r12
jae 0x1400113f6
mov al, cl
shl rax, 5
add r13, rax
cmp r13, r14
jb 0x140011900
jmp 0x1400113f6
mov eax, dword [r13 + 2]
mov ecx, dword [rdx + 2]
bswap eax
bswap ecx
xor r8d, r8d
cmp eax, ecx
seta r8b
sbb r8d, 0
setne al
movzx ecx, al
cmovs ecx, r11d
test cl, cl
jne 0x140011b13
movzx eax, word [r13 + 6]
xor ecx, ecx
cmp ax, word [rdx + 6]
jmp 0x140011b0c
mov cl, 1
jmp 0x140011b13
mov rdi, r13
jmp 0x140011bba
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
mov rbx, rbp
jmp 0x140011bca
mov rsi, qword [rsp + 0x30]
mov rdx, rsi
mov rbp, qword [rsp + 0x38]
mov r15, qword [rsp + 0x28]
jmp 0x1400113f6
mov r15d, 2
jmp 0x140011186
mov r15d, 3
jmp 0x140011186
mov rcx, r12
call fcn.140142490
mov rcx, rsi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140142490
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
lea rax, [0x1401aa580]
mov qword [rsp + 0xc8], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
lea rdx, [0x1401a75f8]
lea rcx, [rsp + 0xb8]
call fcn.140163280
ud2
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], 1
lea rax, [0x1401aa580]
mov qword [rsp + 0xc8], rax
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd0], xmm0
lea rdx, [0x1401a7610]
lea rcx, [rsp + 0xb8]
call fcn.140163280
ud2
lea r8, [0x1401a7628]
mov rcx, rdi
mov rdx, r14
call fcn.140163650
ud2
lea r8, [0x1401a7628]
mov rcx, r14
mov rdx, rbx
call fcn.1401633c0
ud2
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, [0x1401a76b8]
mov edx, 0x2c
call fcn.140163440
ud2
lea r8, [0x1401a76d0]
mov rcx, rsi
mov rdx, qword [rsp + 0x50]
call fcn.140163650
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x1401a7670]
mov edx, 0x2b
call fcn.140163440
ud2
lea r8, [0x1401a75e0]
mov rcx, rsi
call fcn.140163650
ud2
lea r8, [0x1401a75e0]
mov rcx, rdx
mov rdx, rbx
call fcn.1401633c0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x1401a7640]
mov edx, 0x2b
call fcn.140163440
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x1401a7658]
mov edx, 0x2b
call fcn.140163440
ud2