Function at 0x180035c30
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 [0x1800c8910]
mov r9d, r10d
or r9d, 1
movaps xmmword [rsp + 0x30], xmm6
test r10b, 7
mov rax, qword [rbx + 0x3ec8]
cmovne r9d, r10d
mov r14d, r9d
or r14d, 0x20
test r9d, 0x3f0
mov byte [rax + 0xb8], 1
mov r15, qword [rbx + 0x3ec8]
cmovne r14d, r9d
mov rbp, qword [rbx + 0x3ed0]
mov qword [rsp + 0x20], r15
bt r14d, 0xb
jae 0x180035ccc
test rbp, rbp
je 0x180035ccc
cmp qword [rbp + 0x378], r15
jne 0x180035ccc
mov dil, 1
mov qword [rbx + 0x3ed0], r15
jmp 0x180035ccf
xor dil, dil
xor r13b, r13b
call fcn.18000d550
xor r12d, r12d
mov dword [rsp + 0xa0], eax
test al, al
je 0x180035d0d
cmp byte [rbx + 0x4a4c], r12b
je 0x180035e86
cmp dword [rbx + 0x4a6c], esi
jne 0x180035d1a
test byte [rbx + 0x4a50], 2
jne 0x180035d1a
mov byte [rsp + 0xa0], r12b
jmp 0x180035d1a
cmp byte [rbx + 0x4a4c], r12b
je 0x180035e86
bt r14d, 9
jae 0x180035e86
test byte [rbx + 0x4a50], 4
jne 0x180035e86
mov r9, qword [0x1800c8910]
mov r8, qword [r9 + 0x3ec8]
cmp byte [r9 + 0x48e7], r12b
je 0x180035d81
cmp byte [r9 + 0x48e6], r12b
jne 0x180035d81
test byte [r9 + 0x4768], 4
jne 0x180035e8d
mov eax, dword [r9 + 0x48b0]
cmp eax, dword [r9 + 0x4764]
jne 0x180035e8d
test eax, eax
jne 0x180035e28
jmp 0x180035e8d
mov eax, dword [r9 + 0x476c]
test al, 1
je 0x180035e8d
cmp qword [r9 + 0x3ed0], r8
je 0x180035da1
test al, al
jns 0x180035e8d
mov rcx, qword [r9 + 0x48a8]
test rcx, rcx
je 0x180035e08
mov rcx, qword [rcx + 0x378]
test rcx, rcx
je 0x180035e08
cmp byte [rcx + 0xb7], r12b
je 0x180035e08
mov rax, qword [r8 + 0x378]
cmp rcx, rax
je 0x180035e08
mov edx, dword [rcx + 0x14]
bt edx, 0x1b
jb 0x180035ddd
bt edx, 0x1a
jae 0x180035e08
cmp qword [rax + 0x378], rcx
je 0x180035e08
cmp rax, rcx
je 0x180035e08
mov rax, qword [rax + 0x370]
test rax, rax
jne 0x180035de6
test dword [r9 + 0x4768], 0x100
je 0x180035e8d
test byte [r9 + 0x4768], 4
jne 0x180035e8d
mov eax, dword [r8 + 0x7c]
cmp dword [r9 + 0x4764], eax
jne 0x180035e28
cmp byte [r8 + 0xb8], r12b
jne 0x180035e8d
mov dword [r9 + 0x3f14], esi
mov dl, 1
mov dword [rsp + 0xa0], edx
mov byte [r9 + 0x3f1c], r12b
test esi, esi
je 0x180035e53
cmp dword [r9 + 0x3f18], esi
je 0x180035e53
mov qword [r9 + 0x3f20], r12
movss xmm1, dword [rbx + 0x3f20]
movss xmm2, dword [0x1800ab7e0]
movaps xmm0, xmm1
subss xmm0, dword [rbx + 0x18]
comiss xmm2, xmm0
jb 0x180035e94
comiss xmm1, xmm2
jb 0x180035e94
mov rcx, r15
mov dword [rbx + 0x4ac8], esi
mov r13b, 1
call fcn.1800158e0
mov r9, qword [0x1800c8910]
mov edx, dword [rsp + 0xa0]
test dil, dil
je 0x180035ea0
mov qword [rbx + 0x3ed0], rbp
mov r10d, 1
xorps xmm6, xmm6
test dl, dl
je 0x180035edc
bt r14d, 0xc
jae 0x180035edc
mov eax, dword [rbx + 0x3f18]
cmp eax, esi
je 0x180035edc
test eax, eax
je 0x180035edc
xor dl, dl
mov r15d, esi
bt r14d, 0x15
mov dword [rsp + 0xa0], edx
cmovb r15d, r12d
jmp 0x1800361e8
bt r14d, 0x15
mov r15d, esi
cmovb r15d, r12d
test dl, dl
je 0x1800361e8
mov edi, 0xffffffff
mov ebp, edi
test r10b, r14b
je 0x180035f49
cmp byte [r9 + 0xe10], r12b
je 0x180035f2d
movss xmm0, dword [r9 + 0x3778]
comiss xmm6, xmm0
ja 0x180035f2d
ucomiss xmm0, xmm6
jp 0x180035f2d
jne 0x180035f2d
mov edx, r15d
mov ecx, 0x281
call fcn.180018570
test al, al
cmovne edi, r12d
cmp byte [r9 + 0x3766], r12b
je 0x180035f49
mov edx, r15d
mov ecx, 0x281
call fcn.180018570
test al, al
cmovne ebp, r12d
test r14b, 2
je 0x180035fa6
cmp byte [r9 + 0xe11], r12b
je 0x180035f85
movss xmm0, dword [r9 + 0x377c]
comiss xmm6, xmm0
ja 0x180035f85
ucomiss xmm0, xmm6
jp 0x180035f85
jne 0x180035f85
mov edx, r15d
mov ecx, 0x282
call fcn.180018570
test al, al
je 0x180035f85
cmp edi, 0xffffffff
cmove edi, r10d
cmp byte [r9 + 0x3767], r12b
je 0x180035fa6
mov edx, r15d
mov ecx, 0x282
call fcn.180018570
test al, al
je 0x180035fa6
cmp ebp, 0xffffffff
cmove ebp, r10d
test r14b, 4
je 0x180036009
mov r10d, 2
cmp byte [r9 + 0xe12], r12b
je 0x180035fe8
movss xmm0, dword [r9 + 0x3780]
comiss xmm6, xmm0
ja 0x180035fe8
ucomiss xmm0, xmm6
jp 0x180035fe8
jne 0x180035fe8
mov edx, r15d
mov ecx, 0x283
call fcn.180018570
test al, al
je 0x180035fe8
cmp edi, 0xffffffff
cmove edi, r10d
cmp byte [r9 + 0x3768], r12b
je 0x180036009
mov edx, r15d
mov ecx, 0x283
call fcn.180018570
test al, al
je 0x180036009
cmp ebp, 0xffffffff
cmove ebp, r10d
bt r14d, 0x10
jae 0x180036037
cmp byte [rbx + 0xe24], r12b
jne 0x1800361cf
cmp byte [rbx + 0xe25], r12b
jne 0x1800361cf
cmp byte [rbx + 0xe26], r12b
jne 0x1800361cf
cmp edi, 0xffffffff
je 0x18003610e
cmp dword [rbx + 0x3f28], esi
je 0x18003610e
bt r14d, 0x14
jb 0x18003606b
lea edx, [rdi + 0x281]
mov rcx, r9
call fcn.180009410
mov dword [rax + 4], esi
mov dword [rax], esi
mov word [rax + 8], r12w
test r14b, 0x60
je 0x1800360a7
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18000d2f0
mov dword [rbx + 0x3f54], edi
bt r14d, 0x12
jb 0x180036096
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18001a4f0
mov rcx, qword [rsp + 0x20]
call fcn.1800158e0
mov r9, qword [0x1800c8910]
test r14b, 0x10
jne 0x1800360c2
bt r14d, 8
jae 0x18003610e
movsxd rax, edi
cmp word [rbx + rax*2 + 0x3752], 2
jne 0x18003610e
mov r13b, 1
bt r14d, 0x11
jae 0x1800360d3
call fcn.18000d450
jmp 0x1800360df
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18000d2f0
bt r14d, 0x12
jb 0x1800360f2
mov rdx, qword [rsp + 0x20]
mov ecx, esi
call fcn.18001a4f0
mov dword [rbx + 0x3f54], edi
mov rdi, qword [rsp + 0x20]
mov rcx, rdi
call fcn.1800158e0
mov r9, qword [0x1800c8910]
jmp 0x180036113
mov rdi, qword [rsp + 0x20]
test r14b, r14b
jns 0x180036156
cmp ebp, 0xffffffff
je 0x180036156
bt r14d, 0xa
jae 0x180036136
movsxd rax, ebp
movss xmm0, dword [rbx + rax*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jae 0x180036139
mov r13b, 1
bt r14d, 0x12
jb 0x18003614a
mov rdx, rdi
mov ecx, esi
call fcn.18001a4f0
call fcn.18000d450
mov r9, qword [0x1800c8910]
cmp dword [rbx + 0x3f28], esi
jne 0x1800361cf
bt r14d, 0xa
jae 0x1800361cf
movsxd rdx, dword [rbx + 0x3f54]
movss xmm0, dword [rbx + rdx*4 + 0x3778]
comiss xmm0, xmm6
jbe 0x1800361cf
cmp byte [rdx + r9 + 0xe10], r12b
je 0x1800361cf
movss xmm1, dword [r9 + rdx*4 + 0x3778]
comiss xmm6, xmm1
ja 0x1800361cf
ucomiss xmm1, xmm6
jp 0x18003619e
je 0x1800362bd
movss xmm2, dword [r9 + 0x3c]
comiss xmm1, xmm2
jbe 0x1800361cf
movss xmm3, dword [r9 + 0x40]
movaps xmm0, xmm1
subss xmm0, dword [r9 + 0x18]
comiss xmm0, xmm1
jae 0x1800361cf
comiss xmm6, xmm3
jb 0x18003628f
comiss xmm2, xmm0
ja 0x1800362bd
test r13b, r13b
je 0x1800361db
mov byte [rbx + 0x48e6], 1
mov edx, dword [rsp + 0xa0]
mov r10d, 1
cmp dword [rbx + 0x48b0], esi
jne 0x18003622d
cmp byte [rbx + 0x48e6], r12b
jne 0x18003622d
cmp byte [rbx + 0x48e7], r12b
je 0x18003622d
mov eax, dword [rbx + 0x3f28]
test eax, eax
je 0x18003621a
cmp eax, esi
je 0x18003621a
mov rcx, qword [rsp + 0x20]
cmp eax, dword [rcx + 0x7c]
jne 0x18003622d
bt r14d, 0x13
movzx edx, dl
cmovae edx, r10d
mov dword [rsp + 0xa0], edx
cmp dword [rbx + 0x48bc], esi
jne 0x180036371
cmp dword [rbx + 0x48c0], esi
sete cl
je 0x18003632f
bt r14d, 0xa
jae 0x18003632f
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 0x1800362db
jne 0x1800362db
mov r12d, r10d
jmp 0x180036329
comiss xmm2, xmm0
jbe 0x18003629b
mov ecx, 0xffffffff
jmp 0x1800362a7
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 0x1800361cf
lea ecx, [rdx + 0x281]
mov edx, r15d
call fcn.180018570
test al, al
je 0x1800361cf
mov r13b, 1
jmp 0x1800361d4
comiss xmm1, xmm0
jae 0x180036329
comiss xmm6, xmm3
jb 0x1800362f4
comiss xmm2, xmm1
jbe 0x180036329
comiss xmm0, xmm2
jb 0x180036329
mov r12d, r10d
jmp 0x180036329
comiss xmm2, xmm1
jbe 0x180036300
mov eax, 0xffffffff
jmp 0x18003630c
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
comiss xmm2, xmm0
jbe 0x180036319
mov r12d, 0xffffffff
jmp 0x180036326
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si r12d, xmm0
sub r12d, eax
test r12d, r12d
setg cl
cmp dword [rbx + 0x48b8], esi
je 0x18003633b
test cl, cl
je 0x180036371
mov rdi, qword [rsp + 0x20]
mov ecx, esi
mov rdx, rdi
mov r13b, 1
call fcn.18000d2f0
mov eax, dword [rbx + 0x48dc]
mov dword [rbx + 0x3f50], eax
bt r14d, 0x12
jb 0x18003636a
mov rdx, rdi
mov ecx, esi
call fcn.18001a4f0
mov r9, qword [0x1800c8910]
xor dil, dil
cmp dword [rbx + 0x3f28], esi
jne 0x1800364c6
mov eax, dword [rbx + 0x3f50]
cmp eax, 1
jne 0x18003649c
cmp byte [rbx + 0x3f34], dil
je 0x1800363c9
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 0x1800363fc
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.180018570
test al, al
je 0x1800363fc
mov esi, dword [rsp + 0xa0]
mov dil, 1
jmp 0x18003648c
mov esi, dword [rsp + 0xa0]
test sil, sil
je 0x18003640e
test r14b, 0x20
jne 0x180036418
mov eax, r14d
shr eax, 6
test al, 1
je 0x180036487
cmp byte [rbx + 0x4a4c], dil
jne 0x180036487
bt r14d, 8
jae 0x180036442
cmp byte [r10 + rbx + 0x3766], dil
je 0x180036442
cmp word [rbx + r10*2 + 0x375c], 2
jne 0x180036442
mov cl, 1
jmp 0x180036444
xor cl, cl
bt r14d, 0xa
jae 0x18003645f
movss xmm0, dword [rbx + r10*4 + 0x378c]
comiss xmm0, dword [rbx + 0x3c]
jb 0x18003645f
mov al, 1
jmp 0x180036461
xor al, al
test cl, cl
jne 0x180036487
test al, al
jne 0x180036487
lea ecx, [r10 + 0x281]
mov edx, r15d
call fcn.180018570
test al, al
movzx r13d, r13b
mov eax, 1
cmovne r13d, eax
call fcn.18000d450
bt r14d, 0x12
jb 0x1800364b8
mov byte [rbx + 0x48e6], 1
jmp 0x1800364b8
add eax, 0xfffffffe
cmp eax, 1
ja 0x1800364b1
cmp dword [rbx + 0x48bc], esi
je 0x1800364b1
call fcn.18000d450
mov esi, dword [rsp + 0xa0]
test r13b, r13b
je 0x1800364cd
mov byte [rbx + 0x3f37], 1
jmp 0x1800364cd
mov esi, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x1800364dd
mov byte [rax], sil
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x1800364ed
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