Function at 0x1400a2d98
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, 0xf8
mov r12, r9
mov r15, r8
mov rbp, rdx
mov r13, rcx
mov r14, qword [rsp + 0x168]
mov dil, byte [rsp + 0x160]
lea rsi, [rsp + 0x88]
mov rcx, rsi
mov rdx, r8
mov r8, r9
call fcn.1400a3993
mov eax, dword [rsi]
cmp eax, 0x23
je 0x1400a2ff4
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
cmp eax, 0x2f
je 0x1400a2e41
cmp eax, 0x3f
je 0x1400a3022
cmp eax, 0x5c
je 0x1400a2e41
cmp eax, 0x110000
jne 0x1400a3036
cmp dword [r14 + 0x20], 0
je 0x1400a311c
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
lea r9, [0x140186c80]
call fcn.1400a2d4f
mov r8, rdx
jmp 0x1400a3124
mov byte [rsp + 0x6f], dil
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x70], r13
xor ebp, ebp
lea rdi, [rsp + 0x88]
mov r13, r12
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r13
mov rcx, rdi
call fcn.14009ed3d
cmp eax, 0x5c
je 0x1400a2e87
cmp eax, 0x2f
jne 0x1400a2e9b
mov r15, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
inc ebp
jmp 0x1400a2e65
cmp ebp, 1
jbe 0x1400a304c
mov rbp, qword [rsp + 0x80]
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1400a2f88
mov qword [rsp + 0xd8], rax
lea rdi, [rsp + 0xe0]
and qword [rdi], 0
mov qword [rdi + 8], 1
and qword [rdi + 0x10], 0
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0xd0], rax
lea rbx, [rsp + 0x88]
mov rax, qword [rsp + 0x78]
mov qword [rbx], rax
mov qword [rbx + 8], r12
mov rcx, rdi
xor edx, edx
call fcn.14003dd70
mov byte [rbx + 0x10], 0
mov rcx, rbx
call fcn.14009ed3d
mov esi, eax
cmp eax, 0x2f
je 0x1400a2f2e
cmp esi, 0x5c
je 0x1400a2f2e
cmp esi, 0x110000
je 0x1400a2f42
mov byte [rsp + 0x98], 1
jmp 0x1400a2f38
mov rcx, rdi
mov edx, esi
call fcn.14009e7cb
cmp esi, 0x2f
je 0x1400a2f08
cmp esi, 0x5c
je 0x1400a2f08
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0xf0]
mov rcx, rdi
call fcn.1400a2d32
mov ebx, eax
mov rcx, rsi
mov rdx, rdi
call fcn.1400370a7
test bl, bl
mov rcx, qword [rsp + 0xd8]
je 0x1400a2f88
mov dl, 3
mov rax, qword [rsp + 0xd0]
call qword [rax + 0x28]
mov ebx, dword [r14 + 0x2c]
lea r8d, [rbx + 1]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.1400a368c
lea r8, [rdx + rax]
mov rcx, rbp
mov rdx, rax
call fcn.14003dd2c
mov rcx, qword [rsp + 0x78]
mov rdx, r12
call fcn.1400a124e
test rax, rax
je 0x1400a3181
mov r9, rdx
lea rdx, [rsp + 0x88]
mov ecx, 9
mov rdi, rdx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov dword [rsp + 0x28], ebx
mov cl, byte [rsp + 0x6f]
mov byte [rsp + 0x20], cl
mov rcx, qword [rsp + 0x70]
mov r8, rax
jmp 0x1400a31ae
lea rdx, [rsp + 0x88]
mov ecx, 9
mov rdi, rdx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], r12
mov rcx, r13
mov r8, r14
mov r9, r15
call fcn.1400a3488
jmp case.0x140058de7.1351
cmp dword [r14 + 0x18], 0
je 0x1400a31b8
lea rax, [r14 + 0x1c]
jmp 0x1400a31c7
cmp dword [r14 + 0x18], 0
je 0x1400a32b8
mov ebx, edi
lea rax, [r14 + 0x1c]
jmp 0x1400a32c9
mov r15d, dword [r14 + 0x3c]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
mov r8d, r15d
call fcn.1400a368c
lea r8, [rdx + rax]
mov r12, qword [rsp + 0x80]
mov rcx, r12
mov rdx, rax
call fcn.14003dd2c
mov rcx, r12
mov edx, 0x2f
call fcn.14009e7cb
lea r8, [rsp + 0x88]
mov byte [r8], 1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
mov rcx, r12
mov bpl, byte [rsp + 0x6f]
mov edx, ebp
mov r9, r15
call fcn.1400a213b
lea r8, [rsp + 0x88]
mov ecx, 9
mov rdi, r8
mov rsi, r12
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r14 + 0x2c]
mov ecx, dword [r14 + 0x30]
mov r10d, dword [r14 + 0x34]
mov r11d, dword [r14 + 0x38]
lea rsi, [r14 + 0x40]
movzx edi, word [r14 + 0x28]
movzx ebx, word [r14 + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r15d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x70]
mov rdx, r8
mov r8d, ebp
jmp 0x1400a33f9
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14003dd2c
mov rax, qword [rbp + 0x10]
mov qword [r13 + 0x10], rax
movups xmm0, xmmword [rbp]
movups xmmword [r13], xmm0
movups xmm0, xmmword [r14 + 0x2c]
movups xmm1, xmmword [r14 + 0x40]
movups xmmword [r13 + 0x40], xmm1
mov al, byte [r14 + 0x50]
mov byte [r13 + 0x50], al
mov eax, dword [r14 + 0x28]
mov rcx, qword [r14 + 0x18]
mov qword [r13 + 0x18], rcx
and dword [r13 + 0x20], 0
mov ecx, dword [r14 + 0x3c]
mov dword [r13 + 0x28], eax
movups xmmword [r13 + 0x2c], xmm0
mov dword [r13 + 0x3c], ecx
jmp case.0x140058de7.1351
lea rdx, [rsp + 0x88]
mov ecx, 9
mov rdi, rdx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov dword [rsp + 0x28], ebx
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x20], al
mov rcx, qword [rsp + 0x70]
mov r8, r15
mov r9, r13
call fcn.1400a128a
jmp case.0x140058de7.1351
cmp dword [r14 + 0x20], 0
je 0x1400a3413
lea rax, [r14 + 0x24]
mov ebx, edi
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.1400a368c
mov r8, rdx
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14003dd2c
mov edi, dword [r14 + 0x2c]
mov qword [rsp + 0x28], r12
and al, 0x28
mov qword [rsp + 0x20], r15
lea rsi, [rsp + 0x88]
mov rcx, rsi
mov rdx, rbp
invalid
mov r8d, ebx
mov r9d, edi
call fcn.1400a39c0
scasd eax, dword [rdi]
invalid
add byte [rax], al
mov eax, dword [rsi]
cmp eax, 2
jne 0x1400a3251
mov al, byte [rsp + 0x8c]
mov byte [r13 + 8], al
or byte [r8 - 0x48], r9b
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x458949], al
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
add rsp, 0xf8
add byte [rax], al
add byte [rbx + 0x5d], bl
pop rdi
pop rsi
pop r12
pop rsp
pop r13
pop r14
pop r15
jmp fcn.1400370a7
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x90]
mov edx, dword [rsp + 0x90]
xchg esp, eax
and al, 0x90
add byte [rax], al
add byte [rbx + rcx*4 + 0x45], cl
adc byte [rbp - 0x77], cl
mov dword [rbp + 0x10], eax
movups xmm0, xmmword [rbp]
movups xmmword [r13], xmm0
adc dword [rbp], eax
mov r8, qword [r14 + 0x30]
mov r9d, dword [r14 + 0x38]
mov ecx, dword [rsi + 0x38]
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [r13 + 0x40], xmm0
mov r10b, byte [r14 + 0x50]
mov byte [r13 + 0x50], r10b
push rax
mov r10d, dword [r14 + 0x28]
mov r11d, dword [r14 + 0x3c]
cmp al, 0x41
mov dword [rbp + 0x18], eax
mov dword [r13 + 0x1c], ecx
mov qword [r13 + 0x20], rdx
push rbp
and byte [rbp - 0x77], al
push rbp
sub byte [rcx - 0x77], al
jge 0x1400a32d3
sub al, 0x4d
mov dword [rbp + 0x30], eax
mov dword [r13 + 0x38], r9d
cmp byte [rbp - 0x77], al
pop rbp
cmp al, 0xe9
add dword [rax], r8d
invalid
cmp dword [r14 + 0x20], 0
je 0x1400a3422
invalid
mov ebx, edi
lea rax, [r14 + 0x24]
mov rdi, r15
mov r8d, dword [rax]
add byte [rcx - 0x75], cl
or byte [rcx - 0x75], r9b
push rsi
adc al, ch
mov al, 3
add byte [rax], al
mov r8, rdx
invalid
add r8, rax
mov rcx, rbp
mov rdx, rax
mov edx, eax
call fcn.14003dd2c
stosb byte [rdi], al
stc
inc dword [rbp - 0x75]
jle 0x1400a332d
mov rcx, rbp
mov edx, ebx
mov r8, r15
call fcn.1400a3d04
invalid
or al, byte [rax]
add byte [rcx + rdi + 0x7d], cl
adc byte [rbp + 0x30], dh
mov rcx, r14
call fcn.14009fbbd
mov rcx, rax
call fcn.1400a35ca
cmp al, 2
jne 0x1400a3327
mov rcx, rdi
mov rdx, r12
call fcn.1400a3d9d
invalid
test al, al
jne 0x1400a3334
mov rcx, rbp
mov edx, 0x2f
call fcn.14009e7cb
lea rsi, [rsp + 0x88]
mov rcx, rsi
int1
mov rdx, rdi
cli
mov r8, r12
call fcn.1400a3993
cmp dword [rsi], 0x2f
jne 0x1400a336a
movups xmm0, xmmword [rsp + 0x90]
lea r8, [rsp + 0xe0]
and al, 0xe0
loopne case.0x140058de7.1345
add byte [rax], al
mov byte [r8], 1
movups xmmword [rsp + 0x20], xmm0
and al, 0x20
jmp 0x1400a3380
invalid
lea r8, [rsp + 0xe0]
mov byte [r8], 1
mov qword [rsp + 0x28], r12
and al, 0x28
mov qword [rsp + 0x20], rdi
mov rcx, rbp
mov r12d, ebx
fmul qword [rcx - 0x676b226]
call fcn.1400a213b
invalid
dec dword [rbp + rcx*4 - 0x7c]
and al, 0x88
add byte [rax], al
add byte [rcx + 9], bh
add byte [rax], al
add byte [rcx + rcx*4 - 0x39], cl
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r14 + 0x2c]
mov ecx, dword [r14 + 0x30]
mov r10d, dword [r14 + 0x34]
mov r11d, dword [r14 + 0x38]
lea rsi, [r14 + 0x40]
movzx edi, word [r14 + 0x28]
movzx ebx, word [r14 + 0x2a]
mov qword [rsp + 0x60], rdx
push rsp
and al, 0x60
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x50], edi
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, r8
mov r8d, r12d
call fcn.1400a2791
nop
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, edi
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov eax, dword [rsi + 0x10]
jmp 0x1400a31dc
mov ebx, edi
mov rdi, r15
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x1400a32df