Function at 0x1400a7ac0
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, 0x2a8
mov rsi, r8
mov r14, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.1400a3c70
cmp eax, 0x7b
jne 0x1400a86c2
mov r13, qword [r14]
lea rbp, [r13 + 0xa0]
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r13 + 0xa0]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400a7bb5
dec rax
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 8]
shl rax, 4
mov r15, qword [rcx + rax]
mov r12, qword [rcx + rax + 8]
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x178], r12
cmp r15, 2
jae 0x1400a7c1b
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x70], xmm0
mov r15, qword [r14 + 8]
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x1400a7da8
js 0x1400a86dc
movzx eax, byte [0x140297030]
xor ecx, ecx
mov rdx, rbx
call fcn.1400f4570
test rax, rax
je 0x1400a86e0
mov r14, rax
jmp 0x1400a7dae
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x70], xmm0
mov r15, qword [r14 + 8]
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x1400a7d5c
js 0x1400a86ef
movzx eax, byte [0x140297030]
xor ecx, ecx
mov rdx, rbx
call fcn.1400f4570
test rax, rax
je 0x1400a86f3
mov r14, rax
jmp 0x1400a7d62
mov rcx, r14
call fcn.1400a4490
test al, al
je 0x1400a7cf4
mov rcx, r14
call fcn.1400a39a0
mov rbx, qword [r14 + 0x10]
cmp qword [rbp], rbx
je 0x1400a7cf8
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.1400a9f80
mov dword [rsp + 0x238], 5
mov dword [rsp + 0x270], 0x19
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x238]
lea r9, [rsp + 0x270]
call case.0x1400a7717.63
cmp qword [rbp], rbx
jne 0x1400a7e60
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x1400a80be
js 0x1400a8702
movzx eax, byte [0x140297030]
xor ecx, ecx
mov rdx, rbx
call fcn.1400f4570
test rax, rax
je 0x1400a8706
mov r15, rax
jmp 0x1400a80c4
mov rbx, qword [r14 + 0x10]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x1400a7df1
js 0x1400a86dc
movzx eax, byte [0x140297030]
xor ecx, ecx
mov rdx, rbx
call fcn.1400f4570
test rax, rax
je 0x1400a86e0
mov r15, rax
jmp 0x1400a7df7
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm2
mov qword [rdi], rbx
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0x18], 0x1b
jmp 0x1400a7e45
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm2
mov qword [rdi], rbx
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0x18], 0x1b
jmp 0x1400a7e38
mov r15d, 1
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm2
mov qword [rdi], rbx
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0x18], 0x1a
lea rcx, [rsp + 0x170]
call fcn.1400a87d0
mov rcx, rsi
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400a92c0
mov al, 1
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x2c], 0
mov al, 1
mov dword [rsp + 0x28], eax
mov rcx, r14
call fcn.1400a3c70
cmp eax, 0x2c
jne 0x1400a7f6b
mov dword [rsp + 0x2c], 0
mov al, 1
mov dword [rsp + 0x28], eax
mov rcx, r14
call fcn.1400a4490
test al, al
je 0x1400a7ebf
mov dword [rsp + 0x2c], 0
mov al, 1
mov dword [rsp + 0x28], eax
mov rcx, r14
call fcn.1400a39a0
cmp qword [rbp], rbx
jne 0x1400a818e
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov rdx, qword [r14 + 8]
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x1b0]
mov al, 1
mov dword [rsp + 0x28], eax
mov r8, rbx
call fcn.1400aa5b0
mov rax, qword [rsp + 0x1c0]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rdi], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x70], xmm2
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x50], xmm0
mov dword [rdi + 0x18], 0x1a
mov al, 1
mov rcx, qword [rsp + 0xf0]
mov r8b, 1
movabs rdx, 0x8000000000000000
jmp 0x1400a8331
mov rax, qword [rsp + 0xf0]
mov edx, dword [rsp + 0xf8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x1400a8125
mov dword [rsp + 0x34], edx
xor r13d, r13d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x38], rcx
cmp qword [rbp], rbx
je 0x1400a828f
mov dword [rsp + 0x2c], 0
mov rcx, r14
call fcn.1400a3c70
cmp eax, 0x7d
jne 0x1400a828f
mov dword [rsp + 0x2c], 0
mov rcx, r14
call fcn.1400aa620
mov cl, 1
mov dword [rsp + 0x48], ecx
test al, al
je 0x1400a801b
mov dword [rsp + 0x2c], 0
mov rcx, r14
call fcn.1400a3c70
cmp eax, 0x3f
jne 0x1400a801b
mov dword [rsp + 0x2c], 0
mov rcx, r14
call fcn.1400a4490
mov dword [rsp + 0x48], 0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x1a8], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x198], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x180], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x190], rax
mov eax, dword [rsp + 0x4c]
cmp dword [rsp + 0x34], eax
seta al
test r13b, al
je 0x1400a836f
mov rdx, qword [r14 + 8]
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x70]
mov r8, rbx
call fcn.1400aa5b0
mov rax, qword [rsp + 0x80]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rdi], xmm0
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movups xmmword [rdi + 0x70], xmm2
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x50], xmm0
mov dword [rdi + 0x18], 0x18
jmp 0x1400a8319
mov r15d, 1
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm2
mov qword [rdi], rbx
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], rbx
mov dword [rdi + 0x18], 0x1a
mov rcx, qword [rsp + 0xf0]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x1400a7e38
jmp 0x1400a834b
mov ecx, dword [rsp + 0x16c]
mov dword [rdi + 0x7c], ecx
movups xmm0, xmmword [rsp + 0x15c]
movups xmmword [rdi + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x14c]
movups xmmword [rdi + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x13c]
movups xmmword [rdi + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0xfc]
movups xmm1, xmmword [rsp + 0x10c]
movups xmm2, xmmword [rsp + 0x11c]
movups xmm3, xmmword [rsp + 0x12c]
movups xmmword [rdi + 0x3c], xmm3
movups xmmword [rdi + 0x2c], xmm2
movups xmmword [rdi + 0x1c], xmm1
movups xmmword [rdi + 0xc], xmm0
mov qword [rdi], rax
mov dword [rdi + 8], edx
jmp 0x1400a7e38
mov dword [rsp + 0x2c], 0
mov al, 1
mov dword [rsp + 0x28], eax
mov rcx, r14
call fcn.1400a3c70
mov rdx, qword [rsp + 0xf0]
cmp eax, 0x7d
jne 0x1400a81e2
mov ecx, dword [rsp + 0xf8]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x1400a84b3
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x44], 1
xor r13d, r13d
mov rcx, rax
jmp 0x1400a7f9c
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x1400a851c
mov qword [rsp + 0x38], rdx
mov al, 1
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xf8]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x70]
mov rdx, r14
call fcn.1400a9f80
lea rcx, [rsp + 0x1b0]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x238]
lea r9, [rsp + 0x270]
call case.0x1400a7717.63
mov rax, qword [rsp + 0x1b0]
mov r8d, dword [rsp + 0x1b8]
movabs rdx, 0x8000000000000000
cmp rax, rdx
jne 0x1400a8571
mov dword [rsp + 0x4c], r8d
mov r13b, 1
mov dword [rsp + 0x44], 2
mov al, 1
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x38], rcx
cmp qword [rbp], rbx
jne 0x1400a7fbb
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x88], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x80], rax
mov rdx, qword [r14 + 8]
mov dword [rsp + 0x2c], 0
lea rcx, [rsp + 0x1b0]
mov r8, rbx
call fcn.1400aa5b0
mov rax, qword [rsp + 0x1c0]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rdi], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x70], xmm2
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x50], xmm0
mov dword [rdi + 0x18], 0x1a
movabs rdx, 0x8000000000000000
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x28]
test r8b, r8b
je 0x1400a7e38
test al, al
je 0x1400a7e38
cmp rcx, rdx
je 0x1400a7e38
test rcx, rcx
je 0x1400a7e38
mov r8, qword [rsp + 0xf8]
mov rcx, qword [0x1402970b8]
xor edx, edx
call fcn.1400f8e9c
jmp 0x1400a7e38
mov rcx, r15
mov rdx, r12
call fcn.1400aa660
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1b0], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1c0], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x1c8], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x1d8], rax
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r12
call fcn.1400aa690
mov qword [rax], r15
mov qword [rax + 8], r12
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x90], xmm2
movaps xmm0, xmmword [rsp + 0x180]
movaps xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm1
movups xmmword [rsp + 0xc8], xmm2
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0xd8], ecx
mov ecx, dword [rsp + 0x34]
mov dword [rsp + 0xdc], ecx
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0xe0], ecx
mov ecx, dword [rsp + 0x48]
mov byte [rsp + 0xe8], cl
mov qword [rsp + 0xa0], rax
mov al, 1
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x70]
call fcn.1400aa6d0
mov rcx, rsi
mov rdx, rax
call fcn.1400aa770
mov rax, qword [rsi + 0x40]
mov qword [rdi + 0x48], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movups xmmword [rdi + 0x38], xmm3
movups xmmword [rdi + 0x28], xmm2
movups xmmword [rdi + 0x18], xmm1
movups xmmword [rdi + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rdi], rax
add rsp, 0x2a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x16c]
mov dword [rdi + 0x7c], eax
movups xmm0, xmmword [rsp + 0x15c]
movups xmmword [rdi + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x14c]
movups xmmword [rdi + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x13c]
movups xmmword [rdi + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0xfc]
movups xmm1, xmmword [rsp + 0x10c]
movups xmm2, xmmword [rsp + 0x11c]
movups xmm3, xmmword [rsp + 0x12c]
movups xmmword [rdi + 0x3c], xmm3
movups xmmword [rdi + 0x2c], xmm2
movups xmmword [rdi + 0x1c], xmm1
movups xmmword [rdi + 0xc], xmm0
mov qword [rdi], rdx
mov dword [rdi + 8], ecx
or cl, ch
sbb al, 0xf9
invalid
invalid
cmp dword [rsp + 0x108], 0x19
jne 0x1400a85dd
add byte [rax], al
mov r8, qword [rsp + 0xf8]
cmp byte [r13 + 0xc3], 0
add byte [rdi], cl
invalid
invalid
add dword [rax], eax
invalid
mov qword [rsp + 0x38], rdx
test rdx, rdx
je 0x1400a86ad
add dword [rax], eax
invalid
mov rcx, qword [0x1402970b8]
mov dword [rsp + 0x34], 0
xor edx, edx
call fcn.1400f8e9c
add eax, 0x2444c700
sub byte [rax], al
add byte [rax], al
add cl, ch
invalid
cld
invalid
invalid
mov ecx, dword [rsp + 0x22c]
mov dword [rdi + 0x7c], ecx
movups xmm0, xmmword [rsp + 0x21c]
movups xmmword [rdi + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x20c]
movups xmmword [rdi + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x1fc]
movups xmmword [rdi + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x1bc]
movups xmm1, xmmword [rsp + 0x1cc]
int3
add dword [rax], eax
add byte [rdi], cl
adc byte [rsp + 0x1dc], dl
movups xmm3, xmmword [rsp + 0x1ec]
movups xmmword [rdi + 0x3c], xmm3
movups xmmword [rdi + 0x2c], xmm2
movups xmmword [rdi + 0x1c], xmm1
movups xmmword [rdi + 0xc], xmm0
mov qword [rdi], rax
mov dword [rdi + 8], r8d
mov al, 1
jmp 0x1400a8327
invalid
invalid
mov eax, dword [rsp + 0xf8]
mov ecx, dword [rsp + 0x16c]
mov dword [rdi + 0x7c], ecx
movups xmm0, xmmword [rsp + 0x15c]
movups xmmword [rdi + 0x6c], xmm0
movups xmm0, xmmword [rsp + 0x14c]
movups xmmword [rdi + 0x5c], xmm0
movups xmm0, xmmword [rsp + 0x13c]
movups xmmword [rdi + 0x4c], xmm0
movups xmm0, xmmword [rsp + 0x12c]
movups xmmword [rdi + 0x3c], xmm0
movups xmm0, xmmword [rsp + 0x11c]
movups xmmword [rdi + 0x2c], xmm0
movups xmm0, xmmword [rsp + 0x10c]
movups xmmword [rdi + 0x1c], xmm0
movups xmm0, xmmword [rsp + 0xfc]
movups xmmword [rdi + 0xc], xmm0
mov qword [rdi], rdx
mov dword [rdi + 8], eax
jmp 0x1400a7e38
movups xmm0, xmmword [rsp + 0x160]
movups xmmword [rdi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x150]
movups xmmword [rdi + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x140]
movups xmmword [rdi + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmm3, xmmword [rsp + 0x130]
movups xmmword [rdi + 0x40], xmm3
movups xmmword [rdi + 0x30], xmm2
movups xmmword [rdi + 0x20], xmm1
movups xmmword [rdi + 0x10], xmm0
mov qword [rdi], rdx
mov qword [rdi + 8], r8
jmp 0x1400a7e38
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x28], 0
jmp 0x1400a820b
lea rcx, str.assertion_failed:_self.char____
lea r8, [0x14022af98]
mov edx, 0x24
call fcn.140039220
jmp 0x1400a8727
xor ecx, ecx
jmp 0x1400a86e5
mov ecx, 1
mov rdx, rbx
call fcn.140037b60
jmp 0x1400a8727
invalid
xor ecx, ecx
jmp 0x1400a86f8
mov ecx, 1
mov rdx, rbx
call fcn.140037b60
clc
invalid
jmp 0x1400a8727
xor ecx, ecx
jmp 0x1400a870b
mov ecx, 1
mov al, 1
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x2c], 0
mov al, 1
mov dword [rsp + 0x28], eax
mov rdx, rbx
invalid
call fcn.140037b60
ud2