Function at 0x1402fee60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0xe8
mov rax, qword [rcx]
lea r11, [rcx + 0x38]
mov rdi, qword [rcx + 0x30]
mov r9, rcx
mov qword [rsp + 0x60], rax
xor r12d, r12d
movsxd rax, dword [rcx + 0x2c]
mov ebx, r12d
movsxd r10, edx
imul r8, r10, 0x898
lea rsi, [rdi + rax*8]
mov dword [rsp + 0x3c], ebx
mov rax, qword [rcx + 0x1170]
add r11, r8
mov qword [rsp + 0x50], r11
mov r8d, r12d
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x58], rdi
mov ecx, dword [rax + 0x38]
mov eax, 0x24924925
mul ecx
xor eax, eax
mov qword [rsp + 0x68], rsi
sub ecx, edx
mov qword [rsp + 0x70], rax
shr ecx, 1
add ecx, edx
mov qword [rsp + 0xa0], rax
shr ecx, 3
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa8], rax
mov byte [rsp + 0x70], al
mov eax, dword [r11 + 0x20]
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0xa0], 0x7d00
test eax, eax
jns 0x1402fef29
neg eax
mov dword [r11], r12d
mov rcx, qword [r9 + 0x20]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x38], eax
movsxd rax, dword [r9 + 0x1c]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, rcx
test r10d, r10d
jne 0x1402fef6a
cmp rcx, rdx
jae 0x1402fef87
movsx eax, word [rcx + 0xc]
mov dword [rcx + 0x18], eax
movsx eax, word [rcx + 0xe]
mov dword [rcx + 0x1c], eax
add rcx, 0x30
cmp rcx, rdx
jb 0x1402fef51
jmp 0x1402fef87
cmp rcx, rdx
jae 0x1402fef87
nop
movsx eax, word [rcx + 0xe]
mov dword [rcx + 0x18], eax
movsx eax, word [rcx + 0xc]
mov dword [rcx + 0x1c], eax
add rcx, 0x30
cmp rcx, rdx
jb 0x1402fef70
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xc8], r15
cmp rdi, rsi
jae 0x1402ff4b3
mov rbx, qword [rdi]
mov r10d, 0x7d00
mov r9d, 0xffff8300
mov word [rsp + 0x110], r12w
xor ecx, ecx
mov dword [rsp + 0x20], r10d
mov word [rsp + 0x120], cx
mov edx, r12d
mov rax, qword [rbx + 0x28]
movzx r15d, r12w
mov word [rsp + 0x128], cx
mov rdi, r12
mov r14d, r10d
mov dword [rsp + 0x24], r9d
mov r11d, r9d
mov dword [rsp + 0x30], r10d
movzx ecx, byte [rax + 3]
mov ebp, r10d
mov dword [rsp + 0x34], r9d
mov esi, r9d
movsx eax, cl
mov r12d, r10d
mov r13d, r9d
test cl, cl
jns 0x1402ff01b
neg eax
mov ecx, dword [rsp + 0x28]
cmp eax, ecx
jne 0x1402ff062
movzx eax, byte [rbx + 3]
test al, al
movsx eax, al
jns 0x1402ff030
neg eax
cmp eax, ecx
jne 0x1402ff062
mov rcx, rbx
nop word [rax + rax]
mov rbx, qword [rbx + 0x28]
movzx eax, byte [rbx + 3]
test al, al
movsx eax, al
jns 0x1402ff051
neg eax
cmp eax, dword [rsp + 0x28]
jne 0x1402ff05e
cmp rbx, rcx
jne 0x1402ff040
jmp 0x1402ff062
mov rbx, qword [rbx + 0x20]
xor al, al
mov qword [rsp + 0x40], rbx
mov byte [rsp + 0x118], al
mov rcx, rbx
test edx, edx
je 0x1402ff35b
mov eax, dword [rbx + 0x18]
cmp eax, r10d
cmovl r10d, eax
cmp eax, r9d
cmovg r9d, eax
mov eax, dword [rbx + 0x1c]
cmp eax, r14d
jge 0x1402ff0a7
movzx ecx, word [rbx]
mov r14d, eax
mov word [rsp + 0x110], cx
mov rcx, qword [rsp + 0x40]
cmp eax, r11d
jle 0x1402ff0b3
movzx r15d, word [rbx]
mov r11d, eax
test byte [rbx], 3
jne 0x1402ff0c2
cmp eax, ebp
cmovl ebp, eax
cmp eax, esi
cmovg esi, eax
movsx eax, byte [rbx + 3]
cmp eax, dword [rsp + 0x38]
jne 0x1402ff0d5
cmp rbx, rcx
jne 0x1402ff370
test rdi, rdi
je 0x1402ff2c2
mov rcx, qword [rdi + 0x40]
cmp qword [r8 + 0x38], rcx
jne 0x1402ff2c2
movzx eax, byte [rbx + 2]
cmp byte [rcx + 2], al
jne 0x1402ff1ac
mov eax, dword [rsp + 0x20]
cmp r12d, r10d
cmovl r10d, r12d
cmp r13d, r9d
cmovg r9d, r13d
cmp eax, r14d
jge 0x1402ff125
movzx ecx, word [rsp + 0x120]
mov r14d, eax
mov word [rsp + 0x110], cx
jmp 0x1402ff12d
movzx ecx, word [rsp + 0x110]
mov eax, dword [rsp + 0x24]
cmp eax, r11d
jle 0x1402ff142
movzx r15d, word [rsp + 0x128]
mov r11d, eax
cmp dword [rsp + 0x30], ebp
lea eax, [r9 + r10]
mov qword [rdi + 0x40], rbx
cmovl ebp, dword [rsp + 0x30]
cmp dword [rsp + 0x34], esi
cmovg esi, dword [rsp + 0x34]
sar eax, 1
mov word [rdi + 2], ax
mov eax, r9d
sub eax, r10d
sar eax, 1
mov word [rdi + 4], ax
movzx eax, r15b
or al, cl
test al, 3
je 0x1402ff187
mov eax, esi
sub eax, ebp
cmp eax, dword [rsp + 0x2c]
jge 0x1402ff187
or byte [rdi], 1
jmp 0x1402ff18a
and byte [rdi], 0xfe
movzx eax, r11w
mov word [rdi + 6], r14w
sub ax, r14w
mov word [rdi + 8], r11w
mov word [rdi + 0xa], ax
mov rax, qword [rsp + 0x50]
dec dword [rax]
jmp 0x1402ff342
mov eax, dword [rsp + 0x24]
sub eax, dword [rsp + 0x20]
cdq
mov ecx, eax
mov eax, r11d
sub eax, r14d
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x1402ff1fe
cmp r10d, r12d
mov qword [rdi + 0x40], rbx
cmovl r12d, r10d
cmp r9d, r13d
cmovg r13d, r9d
lea eax, [r12 + r13]
sar eax, 1
mov word [rdi + 2], ax
mov eax, r13d
sub eax, r12d
sar eax, 1
mov word [rdi + 4], ax
mov rax, qword [rsp + 0x50]
dec dword [rax]
jmp 0x1402ff342
movzx ecx, word [rsp + 0x110]
cmp r12d, r10d
mov qword [r8 + 0x40], rbx
cmovl r10d, r12d
cmp r13d, r9d
cmovg r9d, r13d
lea eax, [r9 + r10]
sar eax, 1
mov word [r8 + 2], ax
mov eax, r9d
sub eax, r10d
sar eax, 1
mov word [r8 + 4], ax
movzx eax, r15b
or al, cl
test al, 3
je 0x1402ff248
mov eax, esi
sub eax, ebp
cmp eax, dword [rsp + 0x2c]
jge 0x1402ff248
or byte [r8], 1
mov word [r8 + 6], r14w
movzx eax, r11w
mov word [r8 + 8], r11w
mov r12d, r10d
sub ax, word [r8 + 6]
mov r13d, r9d
mov word [r8 + 0xa], ax
movups xmm0, xmmword [r8]
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x20], r14d
movups xmmword [rdi], xmm0
mov dword [rsp + 0x24], r11d
movups xmm1, xmmword [r8 + 0x10]
mov word [rsp + 0x120], cx
mov word [rsp + 0x128], r15w
movups xmmword [rdi + 0x10], xmm1
mov dword [rsp + 0x30], ebp
movups xmm0, xmmword [r8 + 0x20]
mov dword [rsp + 0x34], esi
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [r8 + 0x30]
movups xmmword [rdi + 0x30], xmm1
movsd xmm0, qword [r8 + 0x40]
movsd qword [rdi + 0x40], xmm0
dec dword [rax]
jmp 0x1402ff342
movzx ecx, word [rsp + 0x110]
lea eax, [r9 + r10]
sar eax, 1
mov qword [r8 + 0x40], rbx
mov word [r8 + 2], ax
mov eax, r9d
sub eax, r10d
sar eax, 1
mov word [r8 + 4], ax
movzx eax, r15b
or al, cl
test al, 3
je 0x1402ff2fe
mov eax, esi
sub eax, ebp
cmp eax, dword [rsp + 0x2c]
jge 0x1402ff2fe
or byte [r8], 1
mov word [r8 + 6], r14w
movzx eax, r11w
mov word [r8 + 8], r11w
mov rdi, r8
sub ax, word [r8 + 6]
mov r12d, r10d
mov word [r8 + 0xa], ax
mov r13d, r9d
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x24], r11d
mov word [rsp + 0x120], cx
mov word [rsp + 0x128], r15w
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], esi
mov rcx, qword [rsp + 0x40]
xor eax, eax
mov edx, eax
mov qword [rsp + 0x48], rax
mov r8d, eax
movzx eax, byte [rsp + 0x118]
cmp rbx, rcx
jne 0x1402ff370
test al, al
jne 0x1402ff48b
mov byte [rsp + 0x118], 1
test edx, edx
jne 0x1402ff47a
movzx eax, byte [rbx + 3]
movsx ecx, al
test al, al
mov eax, ecx
jns 0x1402ff387
neg eax
cmp eax, dword [rsp + 0x28]
je 0x1402ff397
cmp rbx, qword [rbx + 0x28]
jne 0x1402ff475
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0x48]
mov esi, ecx
mov dword [rsp + 0x38], ecx
mov rcx, qword [rsp + 0x50]
call fcn.1402fa990
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x1402ff560
mov r8, qword [rsp + 0x48]
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [r8], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [r8 + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [r8 + 0x20], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [r8 + 0x30], xmm0
mov byte [r8 + 1], sil
mov qword [r8 + 0x38], rbx
mov qword [r8 + 0x40], rbx
test rdi, rdi
je 0x1402ff407
lea rdi, [r8 - 0x48]
movzx r15d, word [rbx]
mov r9d, dword [rbx + 0x18]
mov r10d, r9d
mov r11d, dword [rbx + 0x1c]
mov r14d, r11d
mov word [rsp + 0x110], r15w
test r15b, 3
je 0x1402ff434
mov ebp, 0x7d00
mov esi, 0xffff8300
jmp 0x1402ff43a
mov esi, r11d
mov ebp, r11d
mov edx, 1
cmp rbx, qword [rbx + 0x28]
jne 0x1402ff475
mov word [r8 + 2], r9w
test byte [rbx], 3
je 0x1402ff452
or byte [r8], dl
movzx eax, word [rbx + 0x1c]
mov word [r8 + 6], ax
movzx eax, word [rbx + 0x1c]
mov word [r8 + 8], ax
xor eax, eax
mov word [r8 + 0xa], ax
mov edx, eax
mov r8d, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rbx + 0x20]
movzx eax, byte [rsp + 0x118]
jmp 0x1402ff073
mov rdi, qword [rsp + 0x58]
mov r12d, 0
add rdi, 8
mov qword [rsp + 0x58], rdi
cmp rdi, qword [rsp + 0x68]
jb 0x1402fefb0
mov r11, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x3c]
mov r8, qword [r11 + 8]
movsxd rax, dword [r11]
lea rcx, [rax + rax*8]
lea rdx, [r8 + rcx*8]
cmp r8, rdx
jae 0x1402ff55e
sub rdx, r8
lea rcx, [r8 + 0xa]
dec rdx
movabs rax, 0xe38e38e38e38e38f
mul rdx
mov r11, rdx
shr r11, 6
inc r11
nop dword [rax]
mov rax, qword [rcx + 0x2e]
mov r10, qword [rcx + 0x36]
mov r9d, dword [rax + 0x1c]
mov rax, qword [rax + 0x28]
mov r8d, dword [r10 + 0x1c]
mov edx, dword [rax + 0x1c]
cmp r9d, r8d
jge 0x1402ff531
cmp edx, r9d
jge 0x1402ff51b
sub r9d, edx
sar r9d, 1
add word [rcx], r9w
mov rax, qword [r10 + 0x20]
mov edx, dword [rax + 0x1c]
cmp edx, r8d
jle 0x1402ff554
sub edx, r8d
sar edx, 1
add word [rcx], dx
jmp 0x1402ff554
cmp edx, r9d
jle 0x1402ff53e
sub edx, r9d
sar edx, 1
add word [rcx], dx
mov rax, qword [r10 + 0x20]
mov edx, dword [rax + 0x1c]
cmp edx, r8d
jge 0x1402ff554
sub r8d, edx
sar r8d, 1
add word [rcx], r8w
add rcx, 0x48
sub r11, 1
jne 0x1402ff4f0
mov eax, ebx
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
pop r12
pop rdi
pop rsi
pop rbx
ret