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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rbp
sub rsp, 0xa0
mov r10d, dword [rsp + 0xd0]
mov r8d, r10d
mov qword [rax - 0x10], rbx
or r8d, 1
mov rbx, qword [0x1401bf5f0]
test r10b, 7
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], rdi
cmovne r8d, r10d
mov qword [rax - 0x30], r13
mov esi, r8d
mov qword [rax - 0x38], r14
or esi, 0x20
mov qword [rax - 0x40], r15
test r8d, 0x3f0
movaps xmmword [rax - 0x58], xmm6
mov edi, edx
mov rax, qword [rbx + 0x3ea0]
cmovne esi, r8d
mov qword [rsp + 0x40], rbx
mov byte [rax + 0xb0], 1
mov r13, qword [rbx + 0x3ea0]
mov rbp, qword [rbx + 0x3ea8]
mov qword [rsp + 0x38], r13
bt esi, 0xb
jae 0x14003a73d
test rbp, rbp
je 0x14003a73d
cmp qword [rbp + 0x370], r13
jne 0x14003a73d
mov r14b, 1
mov qword [rbx + 0x3ea8], r13
jmp 0x14003a740
xor r14b, r14b
mov byte [rsp + 0x24], 0
call fcn.140012550
xor r10d, r10d
movzx r15d, al
mov dword [rsp + 0x20], r15d
test al, al
je 0x14003a78a
cmp byte [rbx + 0x4a2c], r10b
je 0x14003a78a
cmp dword [rbx + 0x4a4c], edi
jne 0x14003a78a
test byte [rbx + 0x4a30], 2
jne 0x14003a78a
xor r15b, r15b
lea rax, [rbx + 0x4a2c]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x30], rax
jmp 0x14003a79b
lea rax, [rbx + 0x4a2c]
mov qword [rsp + 0x30], rax
cmp byte [rax], r10b
je 0x14003a81a
bt esi, 9
jae 0x14003a81a
test byte [rbx + 0x4a30], 4
jne 0x14003a81a
call fcn.140012450
test al, al
je 0x14003a81a
mov rax, qword [0x1401bf5f0]
mov r15b, 1
mov dword [rsp + 0x20], r15d
mov dword [rax + 0x3eec], edi
mov byte [rax + 0x3ef4], r10b
test edi, edi
je 0x14003a7e2
cmp dword [rax + 0x3ef0], edi
je 0x14003a7e2
mov qword [rax + 0x3ef8], r10
movss xmm1, dword [rbx + 0x3ef8]
movss xmm2, dword [0x1400c5bac]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x14003a81a
comiss xmm1, xmm2
jb 0x14003a81a
mov rcx, r13
mov byte [rsp + 0x24], 1
mov dword [rbx + 0x4aa8], edi
call fcn.14001aa90
xor r10d, r10d
test r14b, r14b
je 0x14003a826
mov qword [rbx + 0x3ea8], rbp
mov qword [rsp + 0x80], r12
mov edx, 0xffffffff
xorps xmm6, xmm6
lea r8d, [rdx + 2]
test r15b, r15b
je 0x14003a866
bt esi, 0xc
jae 0x14003a866
mov eax, dword [rbx + 0x3ef0]
cmp eax, edi
je 0x14003a866
test eax, eax
je 0x14003a866
xor r15b, r15b
mov r14d, edi
bt esi, 0x15
cmovb r14d, r10d
jmp 0x14003ab0f
bt esi, 0x15
mov r14d, edi
cmovb r14d, r10d
test r15b, r15b
je 0x14003ab0f
mov edi, dword [rsp + 0x20]
mov r9d, r10d
mov rax, qword [rsp + 0x30]
mov r11, r10
mov r10d, r8d
mov dword [rsp + 0x28], edx
mov r13d, edx
mov r12d, 0x3768
mov ebx, r14d
nop dword [rax]
mov rbp, rax
movzx r15d, dil
test r10d, esi
je 0x14003a936
mov rax, qword [0x1401bf5f0]
cmp byte [r11 + rax + 0xe04], 0
je 0x14003a8ee
movss xmm0, dword [r12 + rax]
comiss xmm6, xmm0
ja 0x14003a8ee
ucomiss xmm0, xmm6
jp 0x14003a8ee
jne 0x14003a8ee
lea ecx, [r9 + 0x281]
mov edx, ebx
call fcn.14001d6d0
test al, al
je 0x14003a8ee
cmp r13d, 0xffffffff
cmove r13d, r9d
mov rax, qword [0x1401bf5f0]
cmp byte [rax + r11 + 0x3756], 0
je 0x14003a931
lea ecx, [r9 + 0x281]
mov edx, ebx
call fcn.14001d6d0
test al, al
je 0x14003a931
cmp dword [rsp + 0x28], 0xffffffff
mov rax, rbp
mov qword [rsp + 0x30], rax
jne 0x14003a936
mov dword [rsp + 0x28], r9d
movzx edi, r15b
mov qword [rsp + 0x30], rax
jmp 0x14003a936
mov rax, qword [rsp + 0x30]
inc r9d
rol r10d, 1
inc r11
add r12, 4
cmp r9d, 3
jl 0x14003a8a0
mov dword [rsp + 0x20], edi
mov edi, dword [rsp + 0xb8]
mov dword [rsp + 0xd0], ebx
mov rbx, qword [rsp + 0x40]
bt esi, 0x10
jae 0x14003a991
cmp byte [rbx + 0xe14], 0
jne 0x14003aae2
cmp byte [rbx + 0xe15], 0
jne 0x14003aae2
cmp byte [rbx + 0xe16], 0
jne 0x14003aae2
cmp r13d, 0xffffffff
je 0x14003aa5b
cmp dword [rbx + 0x3f00], edi
je 0x14003aa5b
bt esi, 0x14
jb 0x14003a9c4
lea ecx, [r13 + 0x281]
call fcn.14000dfe0
mov dword [rax + 4], edi
mov dword [rax], edi
mov word [rax + 8], 0
mov r14, qword [rsp + 0x38]
test sil, 0x60
je 0x14003a9fe
mov rdx, r14
mov ecx, edi
call fcn.140012210
mov ebp, esi
mov dword [rbx + 0x3f2c], r13d
and ebp, 0x40000
jne 0x14003a9f4
mov rdx, r14
mov ecx, edi
call fcn.14001f930
mov rcx, r14
call fcn.14001aa90
jmp 0x14003aa06
mov ebp, esi
and ebp, 0x40000
test sil, 0x10
jne 0x14003aa20
bt esi, 8
jae 0x14003aa60
movsxd rax, r13d
cmp word [rbx + rax*2 + 0x3742], 2
jne 0x14003aa60
mov byte [rsp + 0x24], 1
bt esi, 0x11
jae 0x14003aa32
call fcn.140012360
jmp 0x14003aa3c
mov rdx, r14
mov ecx, edi
call fcn.140012210
test ebp, ebp
jne 0x14003aa4a
mov rdx, r14
mov ecx, edi
call fcn.14001f930
mov rcx, r14
mov dword [rbx + 0x3f2c], r13d
call fcn.14001aa90
jmp 0x14003aa60
mov r14, qword [rsp + 0x38]
test sil, sil
jns 0x14003aa9e
movsxd rax, dword [rsp + 0x28]
cmp eax, 0xffffffff
je 0x14003aa9e
bt esi, 0xa
jae 0x14003aa84
movss xmm0, dword [rbx + rax*4 + 0x377c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x14003aa89
mov byte [rsp + 0x24], 1
bt esi, 0x12
jb 0x14003aa99
mov rdx, r14
mov ecx, edi
call fcn.14001f930
call fcn.140012360
cmp dword [rbx + 0x3f00], edi
jne 0x14003aae2
bt esi, 0xa
jae 0x14003aae2
movsxd rcx, dword [rbx + 0x3f2c]
mov r14d, dword [rsp + 0xd0]
movss xmm0, dword [rbx + rcx*4 + 0x3768]
comiss xmm0, xmm6
jbe 0x14003aaea
mov r8d, 1
mov edx, r14d
call fcn.14001b9f0
test al, al
je 0x14003aaea
mov byte [rsp + 0x24], 1
jmp 0x14003aaf1
mov r14d, dword [rsp + 0xd0]
cmp byte [rsp + 0x24], 0
je 0x14003aaf8
mov byte [rbx + 0x48c2], 1
mov r13, qword [rsp + 0x38]
mov r8d, 1
mov r15d, dword [rsp + 0x20]
xor r10d, r10d
lea edx, [r8 - 2]
cmp dword [rbx + 0x4888], edi
jne 0x14003ab49
cmp byte [rbx + 0x48c2], 0
jne 0x14003ab49
cmp byte [rbx + 0x48c3], 0
je 0x14003ab49
mov eax, dword [rbx + 0x3f00]
test eax, eax
je 0x14003ab3d
cmp eax, edi
je 0x14003ab3d
cmp eax, dword [r13 + 0x74]
jne 0x14003ab49
bt esi, 0x13
movzx r15d, r15b
cmovae r15d, r8d
cmp dword [rbx + 0x4894], edi
jne 0x14003ac2e
cmp dword [rbx + 0x4898], edi
sete cl
je 0x14003abf9
bt esi, 0xa
jae 0x14003abf9
mov rax, qword [0x1401bf5f0]
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
movss xmm0, dword [rax + 0x2ee0]
maxss xmm0, dword [rax + 0x3500]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x14003aba3
jne 0x14003aba3
mov eax, r8d
jmp 0x14003abf4
comiss xmm1, xmm0
jb 0x14003abac
xor eax, eax
jmp 0x14003abf4
comiss xmm6, xmm3
jb 0x14003abca
comiss xmm2, xmm1
jbe 0x14003abc0
comiss xmm0, xmm2
jb 0x14003abc0
mov eax, r8d
jmp 0x14003abf4
mov qword [rsp + 0x40], r10
mov rax, r10
jmp 0x14003abf4
comiss xmm2, xmm1
jbe 0x14003abd3
mov eax, edx
jmp 0x14003abdf
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
ja 0x14003abf0
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
sub edx, eax
mov eax, edx
test eax, eax
setg cl
cmp dword [rbx + 0x4890], edi
je 0x14003ac05
test cl, cl
je 0x14003ac2e
mov rdx, r13
mov ecx, edi
mov r12b, 1
call fcn.140012210
mov dword [rbx + 0x3f28], 5
bt esi, 0x12
jb 0x14003ac33
mov rdx, r13
mov ecx, edi
call fcn.14001f930
jmp 0x14003ac33
mov r12d, dword [rsp + 0x24]
movaps xmm6, xmmword [rsp + 0x50]
xor bpl, bpl
mov r13, qword [rsp + 0x78]
cmp dword [rbx + 0x3f00], edi
jne 0x14003ad82
mov eax, dword [rbx + 0x3f28]
cmp eax, 1
jne 0x14003ad64
cmp byte [rbx + 0x3f0c], bpl
je 0x14003ac95
movss xmm1, dword [rbx + 0xdfc]
movss xmm0, dword [rbx + 0xe00]
mov rax, qword [rsp + 0xb0]
subss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rbx + 0x3f14], xmm1
movss dword [rbx + 0x3f18], xmm0
movsxd r11, dword [rbx + 0x3f2c]
mov rax, qword [0x1401bf5f0]
cmp byte [r11 + rax + 0xe04], bpl
je 0x14003acc8
lea ecx, [r11 + 0x281]
mov edx, r14d
call fcn.14001d6d0
test al, al
je 0x14003acc8
mov bpl, 1
jmp 0x14003ad55
test r15b, r15b
je 0x14003acd3
test sil, 0x20
jne 0x14003acdc
mov eax, esi
shr eax, 6
test al, 1
je 0x14003ad50
mov rax, qword [rsp + 0x30]
cmp byte [rax], bpl
jne 0x14003ad50
bt esi, 8
jae 0x14003ad07
cmp byte [r11 + rbx + 0x3756], bpl
je 0x14003ad07
cmp word [rbx + r11*2 + 0x374c], 2
jne 0x14003ad07
mov r10b, 1
jmp 0x14003ad0a
xor r10b, r10b
bt esi, 0xa
jae 0x14003ad25
movss xmm0, dword [rbx + r11*4 + 0x377c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x14003ad25
mov r9b, 1
jmp 0x14003ad28
xor r9b, r9b
lea ecx, [r11 + 0x281]
mov edx, r14d
call fcn.14001d6d0
test r10b, r10b
jne 0x14003ad50
test r9b, r9b
jne 0x14003ad50
test al, al
movzx r12d, r12b
mov eax, 1
cmovne r12d, eax
call fcn.140012360
bt esi, 0x12
jb 0x14003ad76
mov byte [rbx + 0x48c2], 1
jmp 0x14003ad76
cmp eax, 5
jne 0x14003ad76
cmp dword [rbx + 0x4894], edi
je 0x14003ad76
call fcn.140012360
test r12b, r12b
je 0x14003ad82
mov byte [rbx + 0x3f0f], 1
mov rax, qword [rsp + 0xc0]
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
test rax, rax
je 0x14003adaf
mov byte [rax], r15b
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x68]
test rax, rax
je 0x14003adc4
mov byte [rax], bpl
movzx eax, r12b
mov r12, qword [rsp + 0x80]
add rsp, 0xa0
pop rbp
ret