Function at 0x180070ff0
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 [0x180157948]
mov r8d, r10d
or r8d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ec8]
cmovne r8d, r10d
mov ebp, r8d
or ebp, 0x20
test r8d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ec8]
cmovne ebp, r8d
mov r14, qword [rbx + 0x3ed0]
mov qword [rsp + 0x20], r15
bt ebp, 0xb
jae 0x18007108a
test r14, r14
je 0x18007108a
cmp qword [r14 + 0x378], r15
jne 0x18007108a
mov dil, 1
mov qword [rbx + 0x3ed0], r15
jmp 0x18007108d
xor dil, dil
mov byte [rsp + 0xa0], 0
call fcn.180047940
xor r13d, r13d
movzx r12d, al
test al, al
je 0x1800710c8
cmp byte [rbx + 0x4a4c], r13b
je 0x180071243
cmp dword [rbx + 0x4a6c], esi
jne 0x1800710d5
test byte [rbx + 0x4a50], 2
jne 0x1800710d5
xor r12b, r12b
jmp 0x1800710d5
cmp byte [rbx + 0x4a4c], r13b
je 0x180071243
bt ebp, 9
jae 0x180071243
test byte [rbx + 0x4a50], 4
jne 0x180071243
mov r9, qword [0x180157948]
mov r8, qword [r9 + 0x3ec8]
cmp byte [r9 + 0x48e7], r13b
je 0x18007113b
cmp byte [r9 + 0x48e6], r13b
jne 0x18007113b
test byte [r9 + 0x4768], 4
jne 0x18007124a
mov eax, dword [r9 + 0x48b0]
cmp eax, dword [r9 + 0x4764]
jne 0x18007124a
test eax, eax
je 0x18007124a
jmp 0x1800711e6
mov eax, dword [r9 + 0x476c]
test al, 1
je 0x18007124a
cmp qword [r9 + 0x3ed0], r8
je 0x18007115b
test al, al
jns 0x18007124a
mov rcx, qword [r9 + 0x48a8]
test rcx, rcx
je 0x1800711c2
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x1800711c2
cmp byte [rcx + 0xb7], r13b
je 0x1800711c2
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x1800711c2
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x180071197
bt edx, 0x1a
jae 0x1800711c2
cmp qword [rax + 0x378], rcx
je 0x1800711c2
cmp rax, rcx
je 0x1800711c2
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x1800711a0
test dword [r9 + 0x4768], 0x100
je 0x18007124a
test byte [r9 + 0x4768], 4
jne 0x18007124a
mov eax, dword [r8 + 0x7c]
cmp dword [r9 + 0x4764], eax
jne 0x1800711e6
cmp byte [r8 + 0xb8], r13b
jne 0x18007124a
mov dword [r9 + 0x3f14], esi
mov r12b, 1
mov byte [r9 + 0x3f1c], r13b
test esi, esi
je 0x18007120b
cmp dword [r9 + 0x3f18], esi
je 0x18007120b
mov qword [r9 + 0x3f20], r13
movss xmm1, dword [rbx + 0x3f20]
movss xmm2, dword [0x180124068]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x18007124a
comiss xmm1, xmm2
jb 0x18007124a
mov rcx, r15
mov byte [rsp + 0xa0], r12b
mov dword [rbx + 0x4ac8], esi
call fcn.18004fe80
mov r9, qword [0x180157948]
test dil, dil
je 0x180071256
mov qword [rbx + 0x3ed0], r14
mov edx, 1
xorps xmm6, xmm6
test r12b, r12b
je 0x18007128a
bt ebp, 0xc
jae 0x18007128a
mov eax, dword [rbx + 0x3f18]
cmp eax, esi
je 0x18007128a
test eax, eax
je 0x18007128a
xor r12b, r12b
mov r14d, esi
bt ebp, 0x15
cmovb r14d, r13d
jmp 0x18007159e
bt ebp, 0x15
mov r14d, esi
cmovb r14d, r13d
test r12b, r12b
je 0x18007159e
mov edi, 0xffffffff
mov r15d, edi
test dl, bpl
je 0x1800712fa
cmp byte [r9 + 0xe10], r13b
je 0x1800712dd
movss xmm0, dword [r9 + 0x3778]
comiss xmm6, xmm0
ja 0x1800712dd
ucomiss xmm0, xmm6
jp 0x1800712dd
jne 0x1800712dd
mov edx, r14d
mov ecx, 0x281
call fcn.180052c20
test al, al
je 0x1800712dd
mov edi, r13d
cmp byte [r9 + 0x3766], r13b
je 0x1800712fa
mov edx, r14d
mov ecx, 0x281
call fcn.180052c20
test al, al
je 0x1800712fa
mov r15d, r13d
test bpl, 2
je 0x180071360
cmp byte [r9 + 0xe11], r13b
je 0x18007133a
movss xmm0, dword [r9 + 0x377c]
comiss xmm6, xmm0
ja 0x18007133a
ucomiss xmm0, xmm6
jp 0x18007133a
jne 0x18007133a
mov edx, r14d
mov ecx, 0x282
call fcn.180052c20
test al, al
je 0x18007133a
cmp edi, 0xffffffff
mov eax, 1
cmove edi, eax
cmp byte [r9 + 0x3767], r13b
je 0x180071360
mov edx, r14d
mov ecx, 0x282
call fcn.180052c20
test al, al
je 0x180071360
cmp r15d, 0xffffffff
jne 0x180071360
mov r15d, 1
test bpl, 4
je 0x1800713c6
cmp byte [r9 + 0xe12], r13b
je 0x1800713a0
movss xmm0, dword [r9 + 0x3780]
comiss xmm6, xmm0
ja 0x1800713a0
ucomiss xmm0, xmm6
jp 0x1800713a0
jne 0x1800713a0
mov edx, r14d
mov ecx, 0x283
call fcn.180052c20
test al, al
je 0x1800713a0
cmp edi, 0xffffffff
mov eax, 2
cmove edi, eax
cmp byte [r9 + 0x3768], r13b
je 0x1800713c6
mov edx, r14d
mov ecx, 0x283
call fcn.180052c20
test al, al
je 0x1800713c6
cmp r15d, 0xffffffff
jne 0x1800713c6
mov r15d, 2
bt ebp, 0x10
jae 0x1800713f3
cmp byte [rbx + 0xe20], r13b
jne 0x180071583
cmp byte [rbx + 0xe21], r13b
jne 0x180071583
cmp byte [rbx + 0xe22], r13b
jne 0x180071583
cmp edi, 0xffffffff
je 0x1800714bf
cmp dword [rbx + 0x3f28], esi
je 0x1800714bf
bt ebp, 0x14
jb 0x18007141b
lea ecx, [rdi + 0x281]
mov edx, esi
call fcn.180052d30
test bpl, 0x60
je 0x180071456
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.180047710
mov dword [rbx + 0x3f54], edi
bt ebp, 0x12
jb 0x180071445
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.180054890
mov rcx, qword [rsp + 0x20]
call fcn.18004fe80
mov r9, qword [0x180157948]
test bpl, 0x10
jne 0x180071470
bt ebp, 8
jae 0x1800714bf
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x1800714bf
mov byte [rsp + 0xa0], 1
bt ebp, 0x11
jae 0x180071485
call fcn.180047850
jmp 0x180071491
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.180047710
bt ebp, 0x12
jb 0x1800714a3
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.180054890
mov dword [rbx + 0x3f54], edi
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.18004fe80
mov r9, qword [0x180157948]
jmp 0x1800714c4
mov rdi, qword [rsp + 0x20]
test bpl, bpl
jns 0x18007150b
cmp r15d, 0xffffffff
je 0x18007150b
bt ebp, 0xa
jae 0x1800714e7
movsxd rax, r15d
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x1800714ef
mov byte [rsp + 0xa0], 1
bt ebp, 0x12
jb 0x1800714ff
mov rdx, rdi
mov ecx, esi
call fcn.180054890
call fcn.180047850
mov r9, qword [0x180157948]
cmp dword [rbx + 0x3f28], esi
jne 0x180071583
bt ebp, 0xa
jae 0x180071583
movsxd rdx, dword [rbx + 0x3f54]
movss xmm0, dword [rbx + rdx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x180071583
cmp byte [rdx + r9 + 0xe10], r13b
je 0x180071583
movss xmm1, dword [r9 + rdx*4 + 0x3778]
comiss xmm6, xmm1
ja 0x180071583
ucomiss xmm1, xmm6
jp 0x180071552
je 0x180071667
movss xmm2, dword [r9 + 0x3c]
comiss xmm1, xmm2
jbe 0x180071583
movss xmm3, dword [r9 + 0x40]
movaps xmm0, xmm1
subss xmm0, dword [r9 + 0x18]
comiss xmm0, xmm1
jae 0x180071583
comiss xmm6, xmm3
jb 0x180071639
comiss xmm2, xmm0
ja 0x180071667
cmp byte [rsp + 0xa0], r13b
je 0x180071594
mov byte [rbx + 0x48e6], 1
mov r15, qword [rsp + 0x20]
mov edx, 1
cmp dword [rbx + 0x48b0], esi
jne 0x1800715d8
cmp byte [rbx + 0x48e6], r13b
jne 0x1800715d8
cmp byte [rbx + 0x48e7], r13b
je 0x1800715d8
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x1800715cc
cmp eax, esi
je 0x1800715cc
cmp eax, dword [r15 + 0x7c]
jne 0x1800715d8
bt ebp, 0x13
movzx r12d, r12b
cmovae r12d, edx
cmp dword [rbx + 0x48bc], esi
jne 0x18007171f
cmp dword [rbx + 0x48c0], esi
sete cl
je 0x1800716de
bt ebp, 0xa
jae 0x1800716de
movss xmm0, dword [r9 + 0x2eec]
maxss xmm0, dword [r9 + 0x2efc]
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
maxss xmm0, dword [r9 + 0x350c]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x18007168a
jne 0x18007168a
mov r13d, edx
jmp 0x1800716d8
comiss xmm2, xmm0
jbe 0x180071645
mov ecx, 0xffffffff
jmp 0x180071651
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si ecx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x180071583
lea ecx, [rdx + 0x281]
mov edx, r14d
call fcn.180052c20
test al, al
je 0x180071583
mov byte [rsp + 0xa0], 1
jmp 0x18007158d
comiss xmm1, xmm0
jae 0x1800716d8
comiss xmm6, xmm3
jb 0x1800716a3
comiss xmm2, xmm1
jbe 0x1800716d8
comiss xmm0, xmm2
jb 0x1800716d8
mov r13d, edx
jmp 0x1800716d8
comiss xmm2, xmm1
jbe 0x1800716af
mov eax, 0xffffffff
jmp 0x1800716bb
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x1800716c8
mov r13d, 0xffffffff
jmp 0x1800716d5
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r13d, xmm0
sub r13d, eax
test r13d, r13d
setg cl
cmp dword [rbx + 0x48b8], esi
je 0x1800716ea
test cl, cl
je 0x18007171f
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r15b, 1
call fcn.180047710
mov dword [rbx + 0x3f50], 5
bt ebp, 0x12
jb 0x180071716
mov rdx, rdi
mov ecx, esi
call fcn.180054890
mov r9, qword [0x180157948]
jmp 0x180071727
mov r15d, dword [rsp + 0xa0]
xor dil, dil
cmp dword [rbx + 0x3f28], esi
jne 0x18007185e
mov eax, dword [rbx + 0x3f50]
cmp eax, 1
jne 0x180071840
cmp byte [rbx + 0x3f34], dil
je 0x18007177f
movss xmm1, dword [rbx + 0xe08]
movss xmm0, dword [rbx + 0xe0c]
mov rax, qword [rsp + 0x80]
subss xmm1, dword [rax]
subss xmm0, dword [rax + 4]
movss dword [rbx + 0x3f3c], xmm1
movss dword [rbx + 0x3f40], xmm0
movsxd r10, dword [rbx + 0x3f54]
cmp byte [r10 + r9 + 0xe10], dil
je 0x1800717ab
lea ecx, [r10 + 0x281]
mov edx, r14d
call fcn.180052c20
test al, al
je 0x1800717ab
mov dil, 1
jmp 0x180071831
test r12b, r12b
je 0x1800717b6
test bpl, 0x20
jne 0x1800717bf
mov eax, ebp
shr eax, 6
test al, 1
je 0x18007182c
cmp byte [rbx + 0x4a4c], dil
jne 0x18007182c
bt ebp, 8
jae 0x1800717e8
cmp byte [r10 + rbx + 0x3766], dil
je 0x1800717e8
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x1800717e8
mov cl, 1
jmp 0x1800717ea
xor cl, cl
bt ebp, 0xa
jae 0x180071804
movss xmm0, dword [rbx + r10*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x180071804
mov al, 1
jmp 0x180071806
xor al, al
test cl, cl
jne 0x18007182c
test al, al
jne 0x18007182c
lea ecx, [r10 + 0x281]
mov edx, r14d
call fcn.180052c20
test al, al
movzx r15d, r15b
mov eax, 1
cmovne r15d, eax
call fcn.180047850
bt ebp, 0x12
jb 0x180071852
mov byte [rbx + 0x48e6], 1
jmp 0x180071852
cmp eax, 5
jne 0x180071852
cmp dword [rbx + 0x48bc], esi
je 0x180071852
call fcn.180047850
test r15b, r15b
je 0x18007185e
mov byte [rbx + 0x3f37], 1
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x18007186e
mov byte [rax], r12b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x18007187e
mov byte [rax], dil
mov rbx, qword [rsp + 0x88]
movzx eax, r15b
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret