Function at 0x180057700
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 [0x18008dd90]
mov r9d, r10d
or r9d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ed0]
cmovne r9d, r10d
mov r14d, r9d
or r14d, 0x20
test r9d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ed0]
cmovne r14d, r9d
mov rbp, qword [rbx + 0x3ed8]
mov qword [rsp + 0x20], r15
bt r14d, 0xb
jae 0x18005779c
test rbp, rbp
je 0x18005779c
cmp qword [rbp + 0x378], r15
jne 0x18005779c
mov dil, 1
mov qword [rbx + 0x3ed8], r15
jmp 0x18005779f
xor dil, dil
xor r13b, r13b
call fcn.18002e730
xor r12d, r12d
mov dword [rsp + 0xa0], eax
test al, al
je 0x1800577dd
cmp byte [rbx + 0x4a54], r12b
je 0x180057956
cmp dword [rbx + 0x4a74], esi
jne 0x1800577ea
test byte [rbx + 0x4a58], 2
jne 0x1800577ea
mov byte [rsp + 0xa0], r12b
jmp 0x1800577ea
cmp byte [rbx + 0x4a54], r12b
je 0x180057956
bt r14d, 9
jae 0x180057956
test byte [rbx + 0x4a58], 4
jne 0x180057956
mov r9, qword [0x18008dd90]
mov r8, qword [r9 + 0x3ed0]
cmp byte [r9 + 0x48ef], r12b
je 0x180057851
cmp byte [r9 + 0x48ee], r12b
jne 0x180057851
test byte [r9 + 0x4770], 4
jne 0x18005795d
mov eax, dword [r9 + 0x48b8]
cmp eax, dword [r9 + 0x476c]
jne 0x18005795d
test eax, eax
jne 0x1800578f8
jmp 0x18005795d
mov eax, dword [r9 + 0x4774]
test al, 1
je 0x18005795d
cmp qword [r9 + 0x3ed8], r8
je 0x180057871
test al, al
jns 0x18005795d
mov rcx, qword [r9 + 0x48b0]
test rcx, rcx
je 0x1800578d8
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x1800578d8
cmp byte [rcx + 0xb7], r12b
je 0x1800578d8
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x1800578d8
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x1800578ad
bt edx, 0x1a
jae 0x1800578d8
cmp qword [rax + 0x378], rcx
je 0x1800578d8
cmp rax, rcx
je 0x1800578d8
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x1800578b6
test dword [r9 + 0x4770], 0x100
je 0x18005795d
test byte [r9 + 0x4770], 4
jne 0x18005795d
mov eax, dword [r8 + 0x7c]
cmp dword [r9 + 0x476c], eax
jne 0x1800578f8
cmp byte [r8 + 0xb8], r12b
jne 0x18005795d
mov dword [r9 + 0x3f1c], esi
mov dl, 1
mov dword [rsp + 0xa0], edx
mov byte [r9 + 0x3f24], r12b
test esi, esi
je 0x180057923
cmp dword [r9 + 0x3f20], esi
je 0x180057923
mov qword [r9 + 0x3f28], r12
movss xmm1, dword [rbx + 0x3f28]
movss xmm2, dword [0x18007d5b0]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x180057964
comiss xmm1, xmm2
jb 0x180057964
mov rcx, r15
mov dword [rbx + 0x4ad0], esi
mov r13b, 1
call fcn.1800369e0
mov r9, qword [0x18008dd90]
mov edx, dword [rsp + 0xa0]
test dil, dil
je 0x180057970
mov qword [rbx + 0x3ed8], rbp
mov r10d, 1
xorps xmm6, xmm6
test dl, dl
je 0x1800579ac
bt r14d, 0xc
jae 0x1800579ac
mov eax, dword [rbx + 0x3f20]
cmp eax, esi
je 0x1800579ac
test eax, eax
je 0x1800579ac
xor dl, dl
mov r15d, esi
bt r14d, 0x15
mov dword [rsp + 0xa0], edx
cmovb r15d, r12d
jmp 0x180057cb8
bt r14d, 0x15
mov r15d, esi
cmovb r15d, r12d
test dl, dl
je 0x180057cb8
mov edi, 0xffffffff
mov ebp, edi
test r10b, r14b
je 0x180057a19
cmp byte [r9 + 0xe10], r12b
je 0x1800579fd
movss xmm0, dword [r9 + 0x3778]
comiss xmm6, xmm0
ja 0x1800579fd
ucomiss xmm0, xmm6
jp 0x1800579fd
jne 0x1800579fd
mov edx, r15d
mov ecx, 0x281
call fcn.180039530
test al, al
cmovne edi, r12d
cmp byte [r9 + 0x3766], r12b
je 0x180057a19
mov edx, r15d
mov ecx, 0x281
call fcn.180039530
test al, al
cmovne ebp, r12d
test r14b, 2
je 0x180057a76
cmp byte [r9 + 0xe11], r12b
je 0x180057a55
movss xmm0, dword [r9 + 0x377c]
comiss xmm6, xmm0
ja 0x180057a55
ucomiss xmm0, xmm6
jp 0x180057a55
jne 0x180057a55
mov edx, r15d
mov ecx, 0x282
call fcn.180039530
test al, al
je 0x180057a55
cmp edi, 0xffffffff
cmove edi, r10d
cmp byte [r9 + 0x3767], r12b
je 0x180057a76
mov edx, r15d
mov ecx, 0x282
call fcn.180039530
test al, al
je 0x180057a76
cmp ebp, 0xffffffff
cmove ebp, r10d
test r14b, 4
je 0x180057ad9
mov r10d, 2
cmp byte [r9 + 0xe12], r12b
je 0x180057ab8
movss xmm0, dword [r9 + 0x3780]
comiss xmm6, xmm0
ja 0x180057ab8
ucomiss xmm0, xmm6
jp 0x180057ab8
jne 0x180057ab8
mov edx, r15d
mov ecx, 0x283
call fcn.180039530
test al, al
je 0x180057ab8
cmp edi, 0xffffffff
cmove edi, r10d
cmp byte [r9 + 0x3768], r12b
je 0x180057ad9
mov edx, r15d
mov ecx, 0x283
call fcn.180039530
test al, al
je 0x180057ad9
cmp ebp, 0xffffffff
cmove ebp, r10d
bt r14d, 0x10
jae 0x180057b07
cmp byte [rbx + 0xe24], r12b
jne 0x180057c9f
cmp byte [rbx + 0xe25], r12b
jne 0x180057c9f
cmp byte [rbx + 0xe26], r12b
jne 0x180057c9f
cmp edi, 0xffffffff
je 0x180057bde
cmp dword [rbx + 0x3f30], esi
je 0x180057bde
bt r14d, 0x14
jb 0x180057b3b
lea edx, [rdi + 0x281]
mov rcx, r9
call fcn.1800297f0
mov dword [rax + 4], esi
mov dword [rax], esi
mov word [rax + 8], r12w
test r14b, 0x60
je 0x180057b77
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18002e4d0
mov dword [rbx + 0x3f5c], edi
bt r14d, 0x12
jb 0x180057b66
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18003b820
mov rcx, qword [rsp + 0x20]
call fcn.1800369e0
mov r9, qword [0x18008dd90]
test r14b, 0x10
jne 0x180057b92
bt r14d, 8
jae 0x180057bde
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x180057bde
mov r13b, 1
bt r14d, 0x11
jae 0x180057ba3
call fcn.18002e630
jmp 0x180057baf
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18002e4d0
bt r14d, 0x12
jb 0x180057bc2
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18003b820
mov dword [rbx + 0x3f5c], edi
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.1800369e0
mov r9, qword [0x18008dd90]
jmp 0x180057be3
mov rdi, qword [rsp + 0x20]
test r14b, r14b
jns 0x180057c26
cmp ebp, 0xffffffff
je 0x180057c26
bt r14d, 0xa
jae 0x180057c06
movsxd rax, ebp
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x180057c09
mov r13b, 1
bt r14d, 0x12
jb 0x180057c1a
mov rdx, rdi
mov ecx, esi
call fcn.18003b820
call fcn.18002e630
mov r9, qword [0x18008dd90]
cmp dword [rbx + 0x3f30], esi
jne 0x180057c9f
bt r14d, 0xa
jae 0x180057c9f
movsxd rdx, dword [rbx + 0x3f5c]
movss xmm0, dword [rbx + rdx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x180057c9f
cmp byte [rdx + r9 + 0xe10], r12b
je 0x180057c9f
movss xmm1, dword [r9 + rdx*4 + 0x3778]
comiss xmm6, xmm1
ja 0x180057c9f
ucomiss xmm1, xmm6
jp 0x180057c6e
je 0x180057d8d
movss xmm2, dword [r9 + 0x3c]
comiss xmm1, xmm2
jbe 0x180057c9f
movss xmm3, dword [r9 + 0x40]
movaps xmm0, xmm1
subss xmm0, dword [r9 + 0x18]
comiss xmm0, xmm1
jae 0x180057c9f
comiss xmm6, xmm3
jb 0x180057d5f
comiss xmm2, xmm0
ja 0x180057d8d
test r13b, r13b
je 0x180057cab
mov byte [rbx + 0x48ee], 1
mov edx, dword [rsp + 0xa0]
mov r10d, 1
cmp dword [rbx + 0x48b8], esi
jne 0x180057cfd
cmp byte [rbx + 0x48ee], r12b
jne 0x180057cfd
cmp byte [rbx + 0x48ef], r12b
je 0x180057cfd
mov eax, dword [rbx + 0x3f30]
test eax, eax
je 0x180057cea
cmp eax, esi
je 0x180057cea
mov rcx, qword [rsp + 0x20]
cmp eax, dword [rcx + 0x7c]
jne 0x180057cfd
bt r14d, 0x13
movzx edx, dl
cmovae edx, r10d
mov dword [rsp + 0xa0], edx
cmp dword [rbx + 0x48c4], esi
jne 0x180057e41
cmp dword [rbx + 0x48c8], esi
sete cl
je 0x180057dff
bt r14d, 0xa
jae 0x180057dff
movss xmm0, dword [r9 + 0x2ef0]
maxss xmm0, dword [r9 + 0x2f00]
movss xmm3, dword [rbx + 0x40]
movss xmm2, dword [rbx + 0x3c]
maxss xmm0, dword [r9 + 0x3510]
ucomiss xmm0, xmm6
movaps xmm1, xmm0
subss xmm1, dword [rbx + 0x18]
jp 0x180057dab
jne 0x180057dab
mov r12d, r10d
jmp 0x180057df9
comiss xmm2, xmm0
jbe 0x180057d6b
mov ecx, 0xffffffff
jmp 0x180057d77
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 0x180057c9f
lea ecx, [rdx + 0x281]
mov edx, r15d
call fcn.180039530
test al, al
je 0x180057c9f
mov r13b, 1
jmp 0x180057ca4
comiss xmm1, xmm0
jae 0x180057df9
comiss xmm6, xmm3
jb 0x180057dc4
comiss xmm2, xmm1
jbe 0x180057df9
comiss xmm0, xmm2
jb 0x180057df9
mov r12d, r10d
jmp 0x180057df9
comiss xmm2, xmm1
jbe 0x180057dd0
mov eax, 0xffffffff
jmp 0x180057ddc
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x180057de9
mov r12d, 0xffffffff
jmp 0x180057df6
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r12d, xmm0
sub r12d, eax
test r12d, r12d
setg cl
cmp dword [rbx + 0x48c0], esi
je 0x180057e0b
test cl, cl
je 0x180057e41
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r13b, 1
call fcn.18002e4d0
mov eax, dword [rbx + 0x48e4]
mov dword [rbx + 0x3f58], eax
bt r14d, 0x12
jb 0x180057e3a
mov rdx, rdi
mov ecx, esi
call fcn.18003b820
mov r9, qword [0x18008dd90]
xor dil, dil
cmp dword [rbx + 0x3f30], esi
jne 0x180057fad
mov eax, dword [rbx + 0x3f58]
cmp eax, 1
jne 0x180057f83
cmp byte [rbx + 0x3f3c], dil
je 0x180057e99
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 + 0x3f44], xmm1
movss dword [rbx + 0x3f48], xmm0
movsxd r10, dword [rbx + 0x3f5c]
cmp r10d, 0xffffffff
jne 0x180057eb7
call fcn.18002e630
mov esi, dword [rsp + 0xa0]
jmp 0x180057f73
cmp byte [r10 + r9 + 0xe10], dil
je 0x180057ee3
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.180039530
test al, al
je 0x180057ee3
mov esi, dword [rsp + 0xa0]
mov dil, 1
jmp 0x180057f73
mov esi, dword [rsp + 0xa0]
test sil, sil
je 0x180057ef5
test r14b, 0x20
jne 0x180057eff
mov eax, r14d
shr eax, 6
test al, 1
je 0x180057f6e
cmp byte [rbx + 0x4a54], dil
jne 0x180057f6e
bt r14d, 8
jae 0x180057f29
cmp byte [r10 + rbx + 0x3766], dil
je 0x180057f29
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x180057f29
mov cl, 1
jmp 0x180057f2b
xor cl, cl
bt r14d, 0xa
jae 0x180057f46
movss xmm0, dword [rbx + r10*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x180057f46
mov al, 1
jmp 0x180057f48
xor al, al
test cl, cl
jne 0x180057f6e
test al, al
jne 0x180057f6e
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.180039530
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
call fcn.18002e630
bt r14d, 0x12
jb 0x180057f9f
mov byte [rbx + 0x48ee], 1
jmp 0x180057f9f
add eax, 0xfffffffe
cmp eax, 1
ja 0x180057f98
cmp dword [rbx + 0x48c4], esi
je 0x180057f98
call fcn.18002e630
mov esi, dword [rsp + 0xa0]
test r13b, r13b
je 0x180057fb4
mov byte [rbx + 0x3f3f], 1
jmp 0x180057fb4
mov esi, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180057fc4
mov byte [rax], sil
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180057fd4
mov byte [rax], dil
mov rbx, qword [rsp + 0x88]
movzx eax, r13b
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret