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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10d, dword [rsp + 0xa0]
mov esi, edx
mov rbx, qword [0x1401cc298]
mov r8d, r10d
or r8d, 1
test r10b, 7
vmovaps xmmword [rsp + 0x30], xmm6
mov rax, qword [rbx + 0x3ef8]
cmovne r8d, r10d
mov ebp, r8d
or ebp, 0x20
test r8d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ef8]
cmovne ebp, r8d
mov r14, qword [rbx + 0x3f00]
mov qword [rsp + 0x20], r15
bt ebp, 0xb
jae 0x14007abdb
test r14, r14
je 0x14007abdb
cmp qword [r14 + 0x378], r15
jne 0x14007abdb
mov dil, 1
mov qword [rbx + 0x3f00], r15
jmp 0x14007abde
xor dil, dil
xor r13b, r13b
call fcn.14004bce0
xor r9d, r9d
movzx r12d, al
mov dword [rsp + 0xa0], r12d
test al, al
je 0x14007ac24
cmp byte [rbx + 0x4a9c], r9b
je 0x14007ada4
cmp dword [rbx + 0x4abc], esi
jne 0x14007ac31
test byte [rbx + 0x4aa0], 2
jne 0x14007ac31
xor r12b, r12b
mov dword [rsp + 0xa0], r12d
jmp 0x14007ac31
cmp byte [rbx + 0x4a9c], r9b
je 0x14007ada4
bt ebp, 9
jae 0x14007ada4
test byte [rbx + 0x4aa0], 4
jne 0x14007ada4
mov r11, qword [0x1401cc298]
mov r8, qword [r11 + 0x3ef8]
cmp byte [r11 + 0x4917], r9b
je 0x14007ac97
cmp byte [r11 + 0x4916], r9b
jne 0x14007ac97
test byte [r11 + 0x4798], 4
jne 0x14007adab
mov eax, dword [r11 + 0x48e0]
cmp eax, dword [r11 + 0x4794]
jne 0x14007adab
test eax, eax
jne 0x14007ad42
jmp 0x14007adab
mov eax, dword [r11 + 0x479c]
test al, 1
je 0x14007adab
cmp qword [r11 + 0x3f00], r8
je 0x14007acb7
test al, al
jns 0x14007adab
mov rcx, qword [r11 + 0x48d8]
test rcx, rcx
je 0x14007ad22
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x14007ad22
cmp byte [rcx + 0xb7], r9b
je 0x14007ad22
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x14007ad22
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x14007acf3
bt edx, 0x1a
jae 0x14007ad22
cmp qword [rax + 0x378], rcx
je 0x14007ad22
nop dword [rax]
cmp rax, rcx
je 0x14007ad22
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x14007ad00
test dword [r11 + 0x4798], 0x100
je 0x14007adab
test byte [r11 + 0x4798], 4
jne 0x14007adab
mov eax, dword [r8 + 0x7c]
cmp dword [r11 + 0x4794], eax
jne 0x14007ad42
cmp byte [r8 + 0xb8], r9b
jne 0x14007adab
mov dword [r11 + 0x3f44], esi
mov dl, 1
mov dword [rsp + 0xa0], edx
mov byte [r11 + 0x3f4c], r9b
test esi, esi
je 0x14007ad6d
cmp dword [r11 + 0x3f48], esi
je 0x14007ad6d
mov qword [r11 + 0x3f50], r9
vmovss xmm1, dword [rbx + 0x3f50]
vsubss xmm0, xmm1, dword [rbx + 0x18]
vmovss xmm2, dword [0x1400fb670]
vcomiss xmm0, xmm2
ja 0x14007adb2
vcomiss xmm1, xmm2
jb 0x14007adb2
xor edx, edx
mov dword [rbx + 0x4b18], esi
mov rcx, r15
mov r13b, 1
call fcn.1400543a0
xor r9d, r9d
mov r11, qword [0x1401cc298]
mov edx, dword [rsp + 0xa0]
test dil, dil
je 0x14007adbe
mov qword [rbx + 0x3f00], r14
mov r12d, 0xffffffff
mov r10d, 1
vxorps xmm6, xmm6, xmm6
test dl, dl
je 0x14007adff
bt ebp, 0xc
jae 0x14007adff
mov eax, dword [rbx + 0x3f48]
cmp eax, esi
je 0x14007adff
test eax, eax
je 0x14007adff
xor dl, dl
mov r15d, esi
bt ebp, 0x15
mov dword [rsp + 0xa0], edx
cmovb r15d, r9d
jmp 0x14007b088
bt ebp, 0x15
mov r15d, esi
cmovb r15d, r9d
test dl, dl
je 0x14007b088
mov edi, r12d
mov r14d, r12d
test r10b, bpl
je 0x14007ae55
xor r8d, r8d
mov edx, r15d
xor ecx, ecx
call fcn.1400558b0
movzx edi, al
dec edi
cmp byte [r11 + 0x3766], 0
je 0x14007ae4f
mov edx, r15d
mov ecx, 0x281
call fcn.1400575b0
test al, al
je 0x14007ae4f
xor eax, eax
mov r14d, eax
mov r10d, 1
test bpl, 2
je 0x14007ae9c
xor r8d, r8d
mov edx, r15d
mov ecx, r10d
call fcn.1400558b0
mov r10d, 1
test al, al
je 0x14007ae7a
cmp edi, r12d
cmove edi, r10d
cmp byte [r11 + 0x3767], 0
je 0x14007ae9c
mov edx, r15d
mov ecx, 0x282
call fcn.1400575b0
test al, al
je 0x14007ae9c
cmp r14d, r12d
cmove r14d, r10d
test bpl, 4
je 0x14007aee5
xor r8d, r8d
mov edx, r15d
mov ecx, 2
call fcn.1400558b0
mov r10d, 2
test al, al
je 0x14007aec3
cmp edi, r12d
cmove edi, r10d
cmp byte [r11 + 0x3768], 0
je 0x14007aee5
mov edx, r15d
mov ecx, 0x283
call fcn.1400575b0
test al, al
je 0x14007aee5
cmp r14d, r12d
cmove r14d, r10d
bt ebp, 0x10
jae 0x14007af12
cmp byte [rbx + 0xe24], 0
jne 0x14007b06c
cmp byte [rbx + 0xe25], 0
jne 0x14007b06c
cmp byte [rbx + 0xe26], 0
jne 0x14007b06c
cmp edi, r12d
je 0x14007afea
cmp dword [rbx + 0x3f58], esi
je 0x14007afea
bt ebp, 0x14
jb 0x14007af46
lea edx, [rdi + 0x281]
mov rcx, r11
call fcn.140045b40
mov dword [rax + 4], esi
mov dword [rax], esi
mov word [rax + 8], 0
test bpl, 0x60
je 0x14007af83
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.14004bb80
mov dword [rbx + 0x3f84], edi
bt ebp, 0x12
jb 0x14007af70
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.140059dd0
mov rcx, qword [rsp + 0x20]
xor edx, edx
call fcn.1400543a0
mov r11, qword [0x1401cc298]
test bpl, 0x10
jne 0x14007af9d
bt ebp, 8
jae 0x14007afea
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x14007afea
mov rdx, qword [rsp + 0x20]
mov ecx, 0
bt ebp, 0x11
mov r13b, 1
cmovb rdx, rcx
cmovae ecx, esi
call fcn.14004bb80
bt ebp, 0x12
jb 0x14007afcc
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.140059dd0
mov dword [rbx + 0x3f84], edi
xor edx, edx
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.1400543a0
mov r11, qword [0x1401cc298]
jmp 0x14007afef
mov rdi, qword [rsp + 0x20]
test bpl, bpl
jns 0x14007b035
cmp r14d, r12d
je 0x14007b035
bt ebp, 0xa
jae 0x14007b012
vmovss xmm0, dword [rbx + 0x3c]
movsxd rax, r14d
vcomiss xmm0, dword [rbx + rax*4 + 0x378c]
jbe 0x14007b015
mov r13b, 1
bt ebp, 0x12
jb 0x14007b025
mov rdx, rdi
mov ecx, esi
call fcn.140059dd0
xor edx, edx
xor ecx, ecx
call fcn.14004bb80
mov r11, qword [0x1401cc298]
cmp dword [rbx + 0x3f58], esi
jne 0x14007b06c
bt ebp, 0xa
jae 0x14007b06c
movsxd rcx, dword [rbx + 0x3f84]
vcomiss xmm6, dword [rbx + rcx*4 + 0x3778]
jae 0x14007b06c
mov r8d, 1
mov edx, r15d
call fcn.1400558b0
test al, al
je 0x14007b06c
mov r13b, 1
jmp 0x14007b071
test r13b, r13b
je 0x14007b078
mov byte [rbx + 0x4916], 1
mov edx, dword [rsp + 0xa0]
mov r10d, 1
xor r9d, r9d
cmp dword [rbx + 0x48e0], esi
jne 0x14007b0cc
cmp byte [rbx + 0x4916], 0
jne 0x14007b0cc
cmp byte [rbx + 0x4917], 0
je 0x14007b0cc
mov eax, dword [rbx + 0x3f58]
test eax, eax
je 0x14007b0ba
cmp eax, esi
je 0x14007b0ba
mov rcx, qword [rsp + 0x20]
cmp eax, dword [rcx + 0x7c]
jne 0x14007b0cc
bt ebp, 0x13
movzx edx, dl
cmovae edx, r10d
mov dword [rsp + 0xa0], edx
cmp dword [rbx + 0x48ec], esi
jne 0x14007b1c6
cmp dword [rbx + 0x48f0], esi
sete cl
je 0x14007b185
bt ebp, 0xa
jae 0x14007b185
vmovss xmm0, dword [r11 + 0x2ef0]
vmaxss xmm1, xmm0, dword [r11 + 0x2f00]
vmaxss xmm3, xmm1, dword [r11 + 0x3510]
vucomiss xmm3, xmm6
vmovss xmm4, dword [rbx + 0x40]
vmovss xmm2, dword [rbx + 0x3c]
vsubss xmm0, xmm3, dword [rbx + 0x18]
jne 0x14007b126
mov eax, r10d
jmp 0x14007b180
vcomiss xmm0, xmm3
jb 0x14007b130
xor eax, eax
jmp 0x14007b180
vcomiss xmm4, xmm6
ja 0x14007b151
vcomiss xmm0, xmm2
jae 0x14007b147
vcomiss xmm3, xmm2
jb 0x14007b147
mov eax, r10d
jmp 0x14007b180
mov qword [rsp + 0x28], r9
mov rax, r9
jmp 0x14007b180
vcomiss xmm0, xmm2
jae 0x14007b15c
mov eax, r12d
jmp 0x14007b168
vsubss xmm0, xmm0, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si eax, xmm1
vcomiss xmm3, xmm2
jb 0x14007b17a
vsubss xmm0, xmm3, xmm2
vdivss xmm1, xmm0, xmm4
vcvttss2si r12d, xmm1
sub r12d, eax
mov eax, r12d
test eax, eax
setg cl
cmp dword [rbx + 0x48e8], esi
je 0x14007b191
test cl, cl
je 0x14007b1c6
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r13b, 1
call fcn.14004bb80
mov eax, dword [rbx + 0x490c]
mov dword [rbx + 0x3f80], eax
bt ebp, 0x12
jb 0x14007b1bf
mov rdx, rdi
mov ecx, esi
call fcn.140059dd0
mov r11, qword [0x1401cc298]
xor r14b, r14b
cmp dword [rbx + 0x3f58], esi
jne 0x14007b345
mov eax, dword [rbx + 0x3f80]
cmp eax, 1
jne 0x14007b316
cmp byte [rbx + 0x3f64], r14b
je 0x14007b21e
vmovss xmm0, dword [rbx + 0xe08]
vmovss xmm1, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0x80]
vsubss xmm3, xmm0, dword [rax]
vsubss xmm2, xmm1, dword [rax + 4]
vmovss dword [rbx + 0x3f6c], xmm3
vmovss dword [rbx + 0x3f70], xmm2
movsxd r10, dword [rbx + 0x3f84]
cmp r10d, 0xffffffff
jne 0x14007b241
xor edx, edx
xor ecx, ecx
call fcn.14004bb80
mov r12d, dword [rsp + 0xa0]
jmp 0x14007b307
cmp byte [r10 + r11 + 0xe10], r14b
je 0x14007b26e
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.1400575b0
test al, al
je 0x14007b26e
mov r12d, dword [rsp + 0xa0]
mov r14b, 1
jmp 0x14007b307
mov r12d, dword [rsp + 0xa0]
test r12b, r12b
je 0x14007b281
test bpl, 0x20
jne 0x14007b28a
mov eax, ebp
shr eax, 6
test al, 1
je 0x14007b2fe
cmp byte [rbx + 0x4a9c], r14b
jne 0x14007b2fe
bt ebp, 8
jae 0x14007b2b4
cmp byte [r10 + rbx + 0x3766], r14b
je 0x14007b2b4
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x14007b2b4
mov dil, 1
jmp 0x14007b2b7
xor dil, dil
bt ebp, 0xa
jae 0x14007b2d3
vmovss xmm0, dword [rbx + 0x3c]
vcomiss xmm0, dword [rbx + r10*4 + 0x378c]
ja 0x14007b2d3
mov r11b, 1
jmp 0x14007b2d6
xor r11b, r11b
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.1400575b0
test dil, dil
jne 0x14007b2fe
test r11b, r11b
jne 0x14007b2fe
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
xor edx, edx
xor ecx, ecx
call fcn.14004bb80
bt ebp, 0x12
jb 0x14007b337
mov byte [rbx + 0x4916], 1
jmp 0x14007b337
add eax, 0xfffffffe
cmp eax, 1
ja 0x14007b32f
cmp dword [rbx + 0x48ec], esi
je 0x14007b32f
xor edx, edx
xor ecx, ecx
call fcn.14004bb80
mov r12d, dword [rsp + 0xa0]
test r13b, r13b
je 0x14007b34d
mov byte [rbx + 0x3f67], 1
jmp 0x14007b34d
mov r12d, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x14007b35d
mov byte [rax], r12b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x14007b36d
mov byte [rax], r14b
mov rbx, qword [rsp + 0x88]
movzx eax, r13b
vmovaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret