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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x14027c048]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov r15d, dword [rcx + 0x24]
cmp r15d, dword [rcx + 0x20]
jne 0x140164177
mov rax, qword [rdi]
test rax, rax
je 0x140164117
and byte [rax + 0x24], 0xbf
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov dword [rsi + 0x10], 0
movzx eax, byte [rdi + 0x40]
and eax, 1
mov word [rsi + 0x12], ax
xor ecx, ecx
test byte [rdi + 0x40], 6
setne cl
lea eax, [rax + rcx*2]
mov word [rsi + 0x12], ax
cmp dword [rdi + 0x24], 0
jne 0x14016414f
movzx eax, ax
or eax, 0x10
mov word [rsi + 0x12], ax
mov rdi, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401a5de0
mov rcx, rdi
mov rdx, rsi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.14013ced0
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 0x18]
mov rbx, qword [rax + 0x58]
lea eax, [r15 + 1]
mov dword [rdi + 0x24], eax
lea rax, [r15 + r15*2]
mov rdx, qword [rcx + rax*8 + 0x10]
mov qword [rsi + 0x10], rdx
movups xmm0, xmmword [rcx + rax*8]
movups xmmword [rsi], xmm0
test byte [rdi + 0x40], 0x20
je 0x1401641a8
or byte [rsi + 0x13], 8
mov edx, dword [rdi + 0x24]
mov eax, dword [rdi + 0x20]
mov r14b, 1
cmp edx, eax
je 0x14016423e
cmp qword [rdi], 0
je 0x14016423e
mov rcx, qword [rdi + 0x18]
lea rdx, [rdx + rdx*2]
movzx r8d, word [rcx + rdx*8 + 0x10]
cmp r8w, 0x43
jne 0x140164202
lea r9, [rdi + 0x24]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
call fcn.140163350
mov bpl, 1
test al, al
jne 0x1401643b2
xor r14d, r14d
jmp 0x14016423e
mov r9, qword [rdi + 0x10]
mov r9, qword [r9 + 0x38]
test byte [r9], 0x10
je 0x14016423e
cmp word [rsi + 0x10], 5
jne 0x14016423e
mov r9, qword [rsi + 8]
mov r9, qword [r9 + 0x10]
cmp dword [r9], 1
jne 0x14016423e
cmp byte [r9 + 0x10], 0x4c
jne 0x14016423e
add r8d, 0xfffffff9
cmp r8w, 0xb
ja 0x14016423e
test byte [rcx + rdx*8 + 0x13], 1
jne 0x1401641d4
mov r9d, dword [rdi + 0x28]
test r9d, r9d
je 0x1401642ea
mov ecx, dword [rdi + 0x34]
mov r8d, dword [rsi]
mov eax, r8d
and eax, 0x7fffffff
mov edx, dword [rbx + 0xe4]
xor r10d, r10d
cmp eax, edx
setae r10b
cmp edx, ecx
seta dl
xor dl, r10b
xor r11d, r11d
cmp eax, ecx
setb r11b
test dl, dl
cmovne r10d, r11d
cmp r10b, 1
jne 0x1401642ea
cmp word [rsi + 0x10], 4
jne 0x1401642c2
mov eax, dword [rsi + 4]
mov ecx, dword [rdi + 0x2c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov byte [rsp + 0x30], 1
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14003d1b0
mov ecx, dword [rsp + 0x50]
jmp 0x1401642e8
mov edx, 0x7fffffff
and edx, dword [rdi + 0x38]
mov ecx, eax
sub ecx, edx
mov r8d, dword [rdi + 0x3c]
add r8d, edx
xor r9d, r9d
cmp eax, r8d
cmovae ecx, r9d
cmp eax, edx
cmovb ecx, r9d
add ecx, dword [rdi + 0x30]
mov dword [rsi], ecx
movzx eax, byte [rdi + 0x40]
mov ecx, eax
and ecx, 1
test r15, r15
je 0x14016430e
test cl, cl
je 0x140164304
or byte [rsi + 0x12], 1
movzx eax, byte [rdi + 0x40]
test al, 2
je 0x14016432e
or byte [rsi + 0x12], 2
jmp 0x14016432e
movzx eax, word [rsi + 0x12]
and eax, 0xfffffffe
movzx ecx, cx
or ecx, eax
mov word [rsi + 0x12], cx
movzx eax, byte [rdi + 0x40]
and eax, 2
and ecx, 0xfffffffd
or ecx, eax
mov word [rsi + 0x12], cx
and byte [rdi + 0x40], 0xfc
movzx ecx, word [rsi + 0x10]
call fcn.1400a4730
mov bpl, 1
test al, al
jne 0x1401643b2
movzx eax, word [rsi + 0x10]
lea ecx, [rax - 7]
cmp cx, 6
jb 0x1401643b2
lea ecx, [rax - 1]
cmp cx, 0x12
jae 0x140164362
mov edx, 0x3f001
bt edx, ecx
jb 0x1401643b2
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1401643b2
xor ebx, ebx
lea edx, [rax - 0xd]
cmp edx, 6
jae 0x1401643ce
movzx eax, word [rbx]
and eax, 0x1ff
mov word [rsi + 0x10], ax
test byte [rbx + 3], 0x20
sete al
or r14b, al
jne 0x140164399
mov rcx, qword [rdi + 0x10]
mov rdx, rsi
call fcn.14012d010
test byte [rdi + 0x40], 0x10
jne 0x1401643b2
cmp dword [rbx], 0
jns 0x1401643b2
mov rcx, qword [rdi + 0x10]
mov rdx, rsi
call fcn.14012d300
mov ebp, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401a5de0
mov eax, ebp
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp eax, 1
je 0x140164375
mov rbx, rcx
jmp 0x140164375