Function at 0x1401e45a0
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, 0x4b8
movaps xmmword [rsp + 0x4a0], xmm6
mov rdi, r8
mov rbx, rdx
mov rax, qword [0x1404fe040]
xor rax, rsp
mov qword [rsp + 0x498], rax
movups xmm0, xmmword [rcx]
lea rsi, [rsp + 0x90]
movaps xmmword [rsi - 0x20], xmm0
mov r8d, 0x400
mov rcx, rsi
mov dl, 0xaa
call fcn.1402d26c0
mov qword [rsi - 0x10], 0
mov qword [rsi - 8], rsi
mov rbp, qword [rdi]
mov r15, qword [rdi + 8]
mov rdi, qword [rbx]
mov r13, qword [rbx + 8]
cmp r13, 0xffffffffffffffff
je 0x1401e4bf9
test r13, r13
js 0x1401e4ca8
sete al
test rdi, rdi
setne cl
or cl, al
je 0x1401e4ca8
mov dword [rsp + 0x68], 0
mov al, 1
mov dword [rsp + 0x24], eax
test r13, r13
je 0x1401e48c4
add r13, rdi
lea r12, [rsp + 0x490]
movaps xmm6, xmmword [0x140470090]
jmp 0x1401e4804
mov edx, dword [rsp + 0x34]
mov dword [rsp + 0x48], edx
cmp edx, 0xfffffffe
jle 0x1401e4caa
xor r14d, r14d
mov r8d, dword [rsp + 0x38]
mov dword [rsp + 0x6c], r8d
cmp r8d, 0xfffffffe
jle 0x1401e4adb
mov r9b, byte [rsp + 0x3c]
test r14b, r14b
jne 0x1401e4d1a
mov r10b, byte [rsp + 0x3d]
jmp 0x1401e4714
cmp al, 0x25
je 0x1401e4d23
movaps xmmword [rsp + 0x30], xmm6
mov qword [rsp + 0x34], 0xffffffffffffffff
mov word [rsp + 0x3c], 0x900
mov byte [rsp + 0x3e], 0x13
mov rcx, r14
mov rdx, r13
lea r8, [rsp + 0x30]
lea r9, [rsp + 0x68]
call fcn.1401e5700
test rax, rax
je 0x1401e4c9b
mov rdi, rax
cmp rax, r14
js 0x1401e4ca8
movsxd rbx, dword [rsp + 0x30]
dec rbx
cmp r15, rbx
jbe 0x1401e4c9b
cmp byte [rsp + 0x3c], 0
jne 0x1401e465e
mov r10b, 9
mov r8d, 0xffffffff
xor r9d, r9d
mov edx, 0xffffffff
shl rbx, 4
add rbx, rbp
mov r11b, byte [rsp + 0x3e]
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov byte [rsp + 0x58], r11b
mov byte [rsp + 0x59], r9b
mov byte [rsp + 0x5a], r10b
mov byte [rsp + 0x5b], 0xaa
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x60], r8d
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x70]
call qword [case.0x1403053b8.0]
test al, al
jne 0x1401e47fb
jmp 0x1401e4c9b
mov rdx, rdi
mov r8, r14
call fcn.1402d2020
add qword [rsp + 0x88], r14
lea r14, [rbx + 1]
cmp r14, r13
jae 0x1401e4c9b
movzx eax, byte [r14]
lea rcx, [0x14047bb00]
mov dl, byte [rax + rcx]
test dl, dl
js 0x1401e469b
movsxd rax, dword [rsp + 0x68]
test rax, rax
js 0x1401e4c9b
lea ecx, [rax + 1]
mov dword [rsp + 0x68], ecx
cmp r15, rax
jbe 0x1401e4c9b
shl rax, 4
mov rcx, qword [rbp + rax]
mov rax, qword [rbp + rax + 8]
mov byte [rsp + 0x30], dl
mov word [rsp + 0x31], 0x900
mov byte [rsp + 0x33], 0xaa
mov qword [rsp + 0x34], 0xffffffffffffffff
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x70]
call qword [case.0x1403053b8.0]
test al, al
je 0x1401e4c9b
add rbx, 2
mov rdi, rbx
cmp rdi, r13
je 0x1401e48c4
mov r14, r13
sub r14, rdi
mov rcx, rdi
mov edx, 0x25
mov r8, r14
call fcn.1402d1e80
test rax, rax
je 0x1401e4878
mov rbx, rax
mov r14, rax
sub r14, rdi
js 0x1401e4ca8
test rdi, rdi
je 0x1401e4ca8
cmp rbx, rdi
je 0x1401e4774
add qword [rsp + 0x80], r14
mov rcx, qword [rsp + 0x88]
mov rax, r12
sub rax, rcx
cmp r14, rax
jae 0x1401e4b3c
cmp r14, 1
jne 0x1401e4761
mov al, byte [rdi]
mov byte [rcx], al
jmp 0x1401e476c
mov al, byte [rdi]
mov byte [rcx], al
jmp 0x1401e48bc
test r14, r14
js 0x1401e4ca8
test rdi, rdi
je 0x1401e4ca8
cmp r13, rdi
je 0x1401e48c4
add qword [rsp + 0x80], r14
mov rcx, qword [rsp + 0x88]
sub r12, rcx
cmp r14, r12
jae 0x1401e4ba5
cmp r14, 1
je 0x1401e4872
mov rdx, rdi
mov r8, r14
call fcn.1402d2020
add qword [rsp + 0x88], r14
mov rcx, qword [rsp + 0x88]
mov r14, rcx
sub r14, rsi
js 0x1401e4ca8
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r14
lea rdx, [0x1400d72c0]
cmp rax, rdx
jne 0x1401e4b92
movsx rax, byte [rbx + 0x17]
test rax, rax
jns 0x1401e498e
movabs rbp, 0x7ffffffffffffff6
or rbp, 9
and rbp, qword [rbx + 0x10]
dec rbp
mov r15, qword [rbx + 8]
mov rdx, rbp
sub rdx, r15
cmp rdx, r14
jb 0x1401e49c2
cmp rcx, rsi
je 0x1401e4974
mov rdi, rbx
test al, al
jns 0x1401e4941
mov rdi, qword [rbx]
lea rcx, [rdi + r15]
cmp rsi, rcx
jb 0x1401e4957
lea rax, [rcx + r14]
cmp rsi, rax
jb 0x1401e4ca8
mov rdx, rsi
mov r8, r14
call fcn.1402d2020
add r15, r14
cmp byte [rbx + 0x17], 0
jns 0x1401e4998
mov qword [rbx + 8], r15
mov byte [rdi + r15], 0
mov rcx, qword [rsp + 0x498]
xor rcx, rsp
cmp rcx, qword [0x1404fe040]
je 0x1401e49a2
call fcn.140297b50
int3
mov ebp, 0x16
mov r15, rax
jmp 0x1401e4923
mov eax, r15d
and al, 0x7f
mov byte [rbx + 0x17], al
jmp 0x1401e496f
mov eax, dword [rsp + 0x24]
movaps xmm6, xmmword [rsp + 0x4a0]
add rsp, 0x4b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r8, 0x7ffffffffffffff6
lea rdi, [r15 + r14]
mov rcx, rdi
sub rcx, rbp
mov rdx, r8
sub rdx, rbp
cmp rcx, rdx
ja 0x1401e4d49
mov rcx, rbx
test al, al
js 0x1401e4ac7
mov qword [rsp + 0x28], rcx
movabs rax, 0x3ffffffffffffff2
cmp rbp, rax
ja 0x1401e4d51
lea rax, [rbp*2]
cmp rdi, rax
cmova rax, rdi
mov rcx, rax
or rcx, 7
lea rdx, [rcx + 1]
cmp rcx, 0x17
mov ecx, 0x19
cmovne rcx, rdx
cmp rax, 0x17
mov r12d, 0x17
cmovae r12, rcx
mov rcx, r12
call fcn.1402965cc
mov r13, rax
test r15, r15
jne 0x1401e4a9d
mov rcx, r13
add rcx, r15
cmp rsi, rcx
jb 0x1401e4a65
lea rax, [rcx + r14]
cmp rsi, rax
jb 0x1401e4ca8
mov rdx, rsi
mov r8, r14
call fcn.1402d2020
cmp rbp, 0x16
jne 0x1401e4acf
mov qword [rbx], r13
movabs rax, 0x7ffffffffffffff6
add rax, 0xa
or r12, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 8], rdi
mov byte [r13 + rdi], 0
jmp 0x1401e4974
mov rdx, qword [rsp + 0x28]
js 0x1401e4ca8
cmp rdx, r13
jb 0x1401e4aba
lea rax, [r15 + r13]
cmp rdx, rax
jb 0x1401e4ca8
mov rcx, r13
mov r8, r15
call fcn.1402d2020
jmp 0x1401e4a4d
mov rcx, qword [rbx]
jmp 0x1401e49f0
mov rcx, qword [rsp + 0x28]
call fcn.140296608
jmp 0x1401e4a76
not r8d
cmp r15, r8
jb 0x1401e4c9b
dec r8
cmp r8, r15
jae 0x1401e4ca8
shl r8, 4
mov rcx, qword [rbp + r8]
mov rax, qword [rbp + r8 + 8]
lea rdx, [rsp + 0x58]
mov qword [rdx], 0
mov dword [rdx + 8], 0
mov byte [rdx], 0x13
mov byte [rdx + 2], 9
lea r8, [rsp + 0x6c]
call qword [case.0x1403053b8.0]
test al, al
je 0x1401e4c9b
mov edx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x6c]
jmp 0x1401e4686
sub rcx, rsi
js 0x1401e4ca8
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x30]
mov qword [rdx], rsi
mov qword [rdx + 8], rcx
mov rcx, r8
call qword [case.0x1403053b8.0]
mov qword [rsp + 0x88], rsi
lea rax, [rsp + 0x30]
mov qword [rax], rdi
mov qword [rax + 8], r14
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x30]
call qword [case.0x1403053b8.0]
jmp 0x1401e4774
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [case.0x1403053b8.0]
jmp 0x1401e4974
sub rcx, rsi
js 0x1401e4ca8
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
lea rbx, [rsp + 0x30]
mov qword [rbx], rsi
mov qword [rbx + 8], rcx
mov rcx, rdx
mov rdx, rbx
call qword [case.0x1403053b8.0]
mov qword [rsp + 0x88], rsi
mov qword [rbx], rdi
mov qword [rbx + 8], r14
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x30]
call qword [case.0x1403053b8.0]
jmp 0x1401e48c4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x40], r15
mov r12, qword [rdi + 0x10]
mov r13, qword [rdi + 0x18]
cmp r12, r13
je 0x1401e4c2a
mov r14, qword [rdi + 8]
xor ebx, ebx
lea r15, [rsp + 0x58]
mov rbp, r14
jmp 0x1401e4c57
mov al, byte [rdi]
xor al, 1
mov dword [rsp + 0x24], eax
jmp 0x1401e48c4
mov qword [rsp + 0x58], rbp
mov qword [rsp + 0x60], rbx
lea rcx, [rsp + 0x70]
mov rdx, r15
call fcn.1401e20f0
add r12, 0x20
cmp r12, r13
je 0x1401e4c2a
mov rax, rbp
mov rbp, rbx
add rbp, rax
mov rbx, qword [r12 + 8]
add rbx, r14
sub rbx, rbp
js 0x1401e4ca8
test rbp, rbp
jne 0x1401e4c77
test rbx, rbx
jne 0x1401e4ca8
cmp byte [r12], 1
jne 0x1401e4c37
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rbx
lea rdx, [r12 + 0x10]
lea rcx, [rsp + 0x30]
call fcn.1402d60c0
test al, al
jne 0x1401e4c4e
mov dword [rsp + 0x24], 0
jmp 0x1401e48c4
ud2
not edx
cmp r15, rdx
jb 0x1401e4c9b
dec rdx
cmp rdx, r15
jae 0x1401e4ca8
shl rdx, 4
mov rcx, qword [rbp + rdx]
mov rax, qword [rbp + rdx + 8]
lea rdx, [rsp + 0x58]
mov qword [rdx], 0
mov dword [rdx + 8], 0
mov byte [rdx], 0x13
mov byte [rdx + 2], 9
lea r8, [rsp + 0x48]
call qword [case.0x1403053b8.0]
test al, al
je 0x1401e4c9b
mov edx, dword [rsp + 0x48]
test edx, edx
jns 0x1401e466f
cmp edx, 0x80000002
mov eax, 0x80000001
cmovae eax, edx
neg eax
mov dword [rsp + 0x48], eax
mov r14b, 1
mov edx, eax
jmp 0x1401e4672
or r9b, 1
jmp 0x1401e4694
lea rax, [0x14047b4ac]
lea rdx, [rsp + 0x30]
mov qword [rdx], rax
mov qword [rdx + 8], 1
lea rcx, [rsp + 0x70]
call fcn.1401e20f0
jmp 0x1401e47f4
mov rcx, rbx
call fcn.1402d34d0
lea r12, [r8 + 1]
jmp 0x1401e4a3d