Function at 0x180037a50
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 edi, edx
mov rbx, qword [0x18005da90]
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 0x180037aea
test r14, r14
je 0x180037aea
cmp qword [r14 + 0x378], r15
jne 0x180037aea
mov sil, 1
mov qword [rbx + 0x3ed0], r15
jmp 0x180037aed
xor sil, sil
mov byte [rsp + 0xa0], 0
call fcn.18000ec90
xor r13d, r13d
movzx r12d, al
test al, al
je 0x180037b28
cmp byte [rbx + 0x4a4c], r13b
je 0x180037ca3
cmp dword [rbx + 0x4a6c], edi
jne 0x180037b35
test byte [rbx + 0x4a50], 2
jne 0x180037b35
xor r12b, r12b
jmp 0x180037b35
cmp byte [rbx + 0x4a4c], r13b
je 0x180037ca3
bt ebp, 9
jae 0x180037ca3
test byte [rbx + 0x4a50], 4
jne 0x180037ca3
mov r9, qword [0x18005da90]
mov r8, qword [r9 + 0x3ec8]
cmp byte [r9 + 0x48e7], r13b
je 0x180037b9b
cmp byte [r9 + 0x48e6], r13b
jne 0x180037b9b
test byte [r9 + 0x4768], 4
jne 0x180037caa
mov eax, dword [r9 + 0x48b0]
cmp eax, dword [r9 + 0x4764]
jne 0x180037caa
test eax, eax
je 0x180037caa
jmp 0x180037c46
mov eax, dword [r9 + 0x476c]
test al, 1
je 0x180037caa
cmp qword [r9 + 0x3ed0], r8
je 0x180037bbb
test al, al
jns 0x180037caa
mov rcx, qword [r9 + 0x48a8]
test rcx, rcx
je 0x180037c22
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x180037c22
cmp byte [rcx + 0xb7], r13b
je 0x180037c22
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x180037c22
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x180037bf7
bt edx, 0x1a
jae 0x180037c22
cmp qword [rax + 0x378], rcx
je 0x180037c22
cmp rax, rcx
je 0x180037c22
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x180037c00
test dword [r9 + 0x4768], 0x100
je 0x180037caa
test byte [r9 + 0x4768], 4
jne 0x180037caa
mov eax, dword [r8 + 0x7c]
cmp dword [r9 + 0x4764], eax
jne 0x180037c46
cmp byte [r8 + 0xb8], r13b
jne 0x180037caa
mov dword [r9 + 0x3f14], edi
mov r12b, 1
mov byte [r9 + 0x3f1c], r13b
test edi, edi
je 0x180037c6b
cmp dword [r9 + 0x3f18], edi
je 0x180037c6b
mov qword [r9 + 0x3f20], r13
movss xmm1, dword [rbx + 0x3f20]
movss xmm2, dword [0x18005528c]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x180037caa
comiss xmm1, xmm2
jb 0x180037caa
mov rcx, r15
mov byte [rsp + 0xa0], r12b
mov dword [rbx + 0x4ac8], edi
call fcn.180017040
mov r9, qword [0x18005da90]
test sil, sil
je 0x180037cb6
mov qword [rbx + 0x3ed0], r14
mov edx, 1
xorps xmm6, xmm6
test r12b, r12b
je 0x180037cea
bt ebp, 0xc
jae 0x180037cea
mov eax, dword [rbx + 0x3f18]
cmp eax, edi
je 0x180037cea
test eax, eax
je 0x180037cea
xor r12b, r12b
mov r14d, edi
bt ebp, 0x15
cmovb r14d, r13d
jmp 0x180038006
bt ebp, 0x15
mov r14d, edi
cmovb r14d, r13d
test r12b, r12b
je 0x180038006
mov esi, 0xffffffff
mov r15d, esi
test dl, bpl
je 0x180037d5a
cmp byte [r9 + 0xe10], r13b
je 0x180037d3d
movss xmm0, dword [r9 + 0x3778]
comiss xmm6, xmm0
ja 0x180037d3d
ucomiss xmm0, xmm6
jp 0x180037d3d
jne 0x180037d3d
mov edx, r14d
mov ecx, 0x281
call fcn.180019cd0
test al, al
je 0x180037d3d
mov esi, r13d
cmp byte [r9 + 0x3766], r13b
je 0x180037d5a
mov edx, r14d
mov ecx, 0x281
call fcn.180019cd0
test al, al
je 0x180037d5a
mov r15d, r13d
test bpl, 2
je 0x180037dc0
cmp byte [r9 + 0xe11], r13b
je 0x180037d9a
movss xmm0, dword [r9 + 0x377c]
comiss xmm6, xmm0
ja 0x180037d9a
ucomiss xmm0, xmm6
jp 0x180037d9a
jne 0x180037d9a
mov edx, r14d
mov ecx, 0x282
call fcn.180019cd0
test al, al
je 0x180037d9a
cmp esi, 0xffffffff
mov eax, 1
cmove esi, eax
cmp byte [r9 + 0x3767], r13b
je 0x180037dc0
mov edx, r14d
mov ecx, 0x282
call fcn.180019cd0
test al, al
je 0x180037dc0
cmp r15d, 0xffffffff
jne 0x180037dc0
mov r15d, 1
test bpl, 4
je 0x180037e26
cmp byte [r9 + 0xe12], r13b
je 0x180037e00
movss xmm0, dword [r9 + 0x3780]
comiss xmm6, xmm0
ja 0x180037e00
ucomiss xmm0, xmm6
jp 0x180037e00
jne 0x180037e00
mov edx, r14d
mov ecx, 0x283
call fcn.180019cd0
test al, al
je 0x180037e00
cmp esi, 0xffffffff
mov eax, 2
cmove esi, eax
cmp byte [r9 + 0x3768], r13b
je 0x180037e26
mov edx, r14d
mov ecx, 0x283
call fcn.180019cd0
test al, al
je 0x180037e26
cmp r15d, 0xffffffff
jne 0x180037e26
mov r15d, 2
bt ebp, 0x10
jae 0x180037e53
cmp byte [rbx + 0xe20], r13b
jne 0x180037feb
cmp byte [rbx + 0xe21], r13b
jne 0x180037feb
cmp byte [rbx + 0xe22], r13b
jne 0x180037feb
cmp esi, 0xffffffff
je 0x180037f27
cmp dword [rbx + 0x3f28], edi
je 0x180037f27
bt ebp, 0x14
jb 0x180037e83
lea ecx, [rsi + 0x281]
call fcn.18000a0f0
mov dword [rax + 4], edi
mov dword [rax], edi
mov word [rax + 8], r13w
test bpl, 0x60
je 0x180037ebe
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.18000ea60
mov dword [rbx + 0x3f54], esi
bt ebp, 0x12
jb 0x180037ead
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.18001bbf0
mov rcx, qword [rsp + 0x20]
call fcn.180017040
mov r9, qword [0x18005da90]
test bpl, 0x10
jne 0x180037ed8
bt ebp, 8
jae 0x180037f27
movsxd rax, esi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x180037f27
mov byte [rsp + 0xa0], 1
bt ebp, 0x11
jae 0x180037eed
call fcn.18000eba0
jmp 0x180037ef9
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.18000ea60
bt ebp, 0x12
jb 0x180037f0b
mov rdx, qword [rsp + 0x20]
mov ecx, edi
call fcn.18001bbf0
mov dword [rbx + 0x3f54], esi
mov rsi, qword [rsp + 0x20]
mov rcx, rsi
call fcn.180017040
mov r9, qword [0x18005da90]
jmp 0x180037f2c
mov rsi, qword [rsp + 0x20]
test bpl, bpl
jns 0x180037f73
cmp r15d, 0xffffffff
je 0x180037f73
bt ebp, 0xa
jae 0x180037f4f
movsxd rax, r15d
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x180037f57
mov byte [rsp + 0xa0], 1
bt ebp, 0x12
jb 0x180037f67
mov rdx, rsi
mov ecx, edi
call fcn.18001bbf0
call fcn.18000eba0
mov r9, qword [0x18005da90]
cmp dword [rbx + 0x3f28], edi
jne 0x180037feb
bt ebp, 0xa
jae 0x180037feb
movsxd rdx, dword [rbx + 0x3f54]
movss xmm0, dword [rbx + rdx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x180037feb
cmp byte [rdx + r9 + 0xe10], r13b
je 0x180037feb
movss xmm1, dword [r9 + rdx*4 + 0x3778]
comiss xmm6, xmm1
ja 0x180037feb
ucomiss xmm1, xmm6
jp 0x180037fba
je 0x1800380cf
movss xmm2, dword [r9 + 0x3c]
comiss xmm1, xmm2
jbe 0x180037feb
movss xmm3, dword [r9 + 0x40]
movaps xmm0, xmm1
subss xmm0, dword [r9 + 0x18]
comiss xmm0, xmm1
jae 0x180037feb
comiss xmm6, xmm3
jb 0x1800380a1
comiss xmm2, xmm0
ja 0x1800380cf
cmp byte [rsp + 0xa0], r13b
je 0x180037ffc
mov byte [rbx + 0x48e6], 1
mov r15, qword [rsp + 0x20]
mov edx, 1
cmp dword [rbx + 0x48b0], edi
jne 0x180038040
cmp byte [rbx + 0x48e6], r13b
jne 0x180038040
cmp byte [rbx + 0x48e7], r13b
je 0x180038040
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x180038034
cmp eax, edi
je 0x180038034
cmp eax, dword [r15 + 0x7c]
jne 0x180038040
bt ebp, 0x13
movzx r12d, r12b
cmovae r12d, edx
cmp dword [rbx + 0x48bc], edi
jne 0x180038187
cmp dword [rbx + 0x48c0], edi
sete cl
je 0x180038146
bt ebp, 0xa
jae 0x180038146
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 0x1800380f2
jne 0x1800380f2
mov r13d, edx
jmp 0x180038140
comiss xmm2, xmm0
jbe 0x1800380ad
mov ecx, 0xffffffff
jmp 0x1800380b9
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 0x180037feb
lea ecx, [rdx + 0x281]
mov edx, r14d
call fcn.180019cd0
test al, al
je 0x180037feb
mov byte [rsp + 0xa0], 1
jmp 0x180037ff5
comiss xmm1, xmm0
jae 0x180038140
comiss xmm6, xmm3
jb 0x18003810b
comiss xmm2, xmm1
jbe 0x180038140
comiss xmm0, xmm2
jb 0x180038140
mov r13d, edx
jmp 0x180038140
comiss xmm2, xmm1
jbe 0x180038117
mov eax, 0xffffffff
jmp 0x180038123
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x180038130
mov r13d, 0xffffffff
jmp 0x18003813d
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r13d, xmm0
sub r13d, eax
test r13d, r13d
setg cl
cmp dword [rbx + 0x48b8], edi
je 0x180038152
test cl, cl
je 0x180038187
mov rsi, qword [rsp + 0x20]
mov ecx, edi
mov rdx, rsi
mov r15b, 1
call fcn.18000ea60
mov dword [rbx + 0x3f50], 5
bt ebp, 0x12
jb 0x18003817e
mov rdx, rsi
mov ecx, edi
call fcn.18001bbf0
mov r9, qword [0x18005da90]
jmp 0x18003818f
mov r15d, dword [rsp + 0xa0]
xor sil, sil
cmp dword [rbx + 0x3f28], edi
jne 0x1800382c6
mov eax, dword [rbx + 0x3f50]
cmp eax, 1
jne 0x1800382a8
cmp byte [rbx + 0x3f34], sil
je 0x1800381e7
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], sil
je 0x180038213
lea ecx, [r10 + 0x281]
mov edx, r14d
call fcn.180019cd0
test al, al
je 0x180038213
mov sil, 1
jmp 0x180038299
test r12b, r12b
je 0x18003821e
test bpl, 0x20
jne 0x180038227
mov eax, ebp
shr eax, 6
test al, 1
je 0x180038294
cmp byte [rbx + 0x4a4c], sil
jne 0x180038294
bt ebp, 8
jae 0x180038250
cmp byte [r10 + rbx + 0x3766], sil
je 0x180038250
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x180038250
mov cl, 1
jmp 0x180038252
xor cl, cl
bt ebp, 0xa
jae 0x18003826c
movss xmm0, dword [rbx + r10*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x18003826c
mov al, 1
jmp 0x18003826e
xor al, al
test cl, cl
jne 0x180038294
test al, al
jne 0x180038294
lea ecx, [r10 + 0x281]
mov edx, r14d
call fcn.180019cd0
test al, al
movzx r15d, r15b
mov eax, 1
cmovne r15d, eax
call fcn.18000eba0
bt ebp, 0x12
jb 0x1800382ba
mov byte [rbx + 0x48e6], 1
jmp 0x1800382ba
cmp eax, 5
jne 0x1800382ba
cmp dword [rbx + 0x48bc], edi
je 0x1800382ba
call fcn.18000eba0
test r15b, r15b
je 0x1800382c6
mov byte [rbx + 0x3f37], 1
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1800382d6
mov byte [rax], r12b
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800382e6
mov byte [rax], sil
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