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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x138]
sub rsp, 0x200
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
mov rax, qword [0x1400fff18]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rsi, qword [0x140100740]
mov ebx, r8d
mov qword [rbp - 0x30], rdx
xor r8d, r8d
xor edx, edx
mov qword [rbp - 0x28], rcx
mov r14, rcx
call fcn.14000aac8
lea rcx, [rsi + 0x3eb8]
mov edx, eax
call fcn.14000a568
xor r13d, r13d
mov qword [rbp - 0x80], rax
test rax, rax
mov rdi, rax
sete dl
mov byte [rsp + 0x40], dl
test rax, rax
jne 0x14000416f
mov edx, ebx
mov rcx, r14
call fcn.1400077cc
mov dl, byte [rsp + 0x40]
mov rdi, rax
mov r12d, dword [rsi + 0x3e30]
mov ecx, ebx
mov r9d, dword [rdi + 0x260]
mov eax, 0xc0200
mov r15d, ebx
mov dword [rsp + 0x70], r12d
or r15d, 6
mov dword [rsp + 0x54], r9d
and ecx, eax
mov r14d, 1
cmp ecx, eax
cmovne r15d, ebx
lea rbx, [rsi + 0x3ea8]
cmp dword [rbx], r13d
jne 0x1400041bb
mov al, r14b
cmp byte [rsi + 0x3e3d], r13b
jne 0x1400041be
mov al, r13b
mov byte [rdi + 0xbe], al
lea eax, [r12 - 1]
cmp r9d, eax
setl r8b
mov byte [rsp + 0x42], r8b
bt r15d, 0x1a
jae 0x14000420a
movsxd rax, dword [rsi + 0x4890]
imul rax, rax, 0x38
add rax, qword [rsi + 0x4888]
cmp rdi, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdi + 0xcc], eax
setne al
or cl, al
or r8b, cl
mov byte [rsp + 0x42], r8b
mov byte [rdi + 0xbc], r8b
test r8b, r8b
je 0x14000422b
or byte [rdi + 0xdc], 8
or byte [rdi + 0xdd], 8
or byte [rdi + 0xde], 8
cmp r9d, r12d
je 0x14000427e
mov r8d, r15d
mov rcx, rdi
call fcn.140016b08
mov r9d, dword [rsp + 0x54]
mov dword [rdi + 0x14], r15d
mov dword [rdi + 0x260], r12d
movsd xmm0, qword [rsi + 0x3e28]
mov word [rdi + 0xc6], r13w
cvtpd2ps xmm0, xmm0
movss dword [rdi + 0x264], xmm0
movzx eax, word [rsi + 0x3ec8]
add dword [rsi + 0x3ec8], r14d
mov word [rdi + 0xc8], ax
jmp 0x140004282
mov r15d, dword [rdi + 0x14]
cmp dword [rbx], r13d
je 0x14000429a
movsxd rax, dword [rbx]
imul rcx, rax, 0x58
mov rax, qword [rsi + 0x3eb0]
mov r13, qword [rcx + rax - 0x58]
cmp r9d, r12d
je 0x1400042b1
mov eax, r15d
and eax, 0x5000000
neg eax
sbb rbx, rbx
and rbx, r13
jmp 0x1400042b8
mov rbx, qword [rdi + 0x368]
lea r14, [rdi + 0xf0]
mov qword [rsp + 0x78], rbx
cmp dword [r14], 0
jne 0x1400042f3
cmp dword [r14 + 4], 0
jne 0x1400042de
mov edx, 8
mov rcx, r14
call fcn.140018754
movsxd rdx, dword [r14]
mov rcx, qword [r14 + 8]
mov eax, dword [rdi + 0x10]
mov dword [rcx + rdx*4], eax
mov ecx, 1
add dword [r14], ecx
movups xmm1, xmmword [rsi + 0x4784]
mov qword [rsi + 0x3ed8], rdi
xor eax, eax
xorps xmm0, xmm0
mov word [rbp + 0x44], ax
mov eax, dword [rsi + 0x47ac]
lea rcx, [rbp + 0x34]
movups xmmword [rbp + 0x34], xmm0
mov rdx, rsi
mov qword [rbp - 0x10], rdi
movups xmm0, xmmword [rsi + 0x4774]
mov dword [rbp + 0x30], eax
movups xmmword [rbp + 8], xmm1
movsd xmm1, qword [rsi + 0x47a4]
movups xmmword [rbp - 8], xmm0
movups xmm0, xmmword [rsi + 0x4794]
movsd qword [rbp + 0x28], xmm1
movups xmmword [rbp + 0x18], xmm0
call fcn.140014438
lea rdx, [rbp - 0x10]
lea rcx, [rsi + 0x3ea8]
call fcn.140018594
mov eax, r15d
and eax, 0x10000000
mov dword [rsp + 0x60], eax
je 0x140004377
mov eax, 1
add dword [rsi + 0x48a0], eax
cmp dword [rsp + 0x54], r12d
je 0x140004393
mov r8, rbx
mov edx, r15d
mov rcx, rdi
call fcn.1400176bc
mov qword [rdi + 0x370], r13
mov ecx, dword [rdi + 0x10]
call fcn.140010bac
mov eax, dword [rsi + 0x4754]
xor ebx, ebx
mov dword [rdi + 0x3d8], eax
mov eax, r15d
and eax, 0x4000000
mov qword [rsi + 0x3ed8], rbx
mov dword [rsp + 0x48], eax
je 0x1400043f3
lea rcx, [rsi + 0x4890]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x4888]
mov rdx, rbx
mov qword [rbx + 8], rdi
mov eax, dword [r13 + 0x158]
mov dword [rbx + 0x18], eax
call fcn.140018338
mov eax, dword [rbx]
xor ebx, ebx
mov dword [rdi + 0xcc], eax
mov ecx, 1
mov byte [rsp + 0x41], bl
mov r12b, bl
mov r13b, bl
test byte [rsi + 0x47b0], cl
je 0x1400044a2
mov r8d, dword [rsi + 0x47b4]
movzx ecx, byte [rdi + 0xdc]
movsx eax, cl
test r8d, eax
setne dl
mov byte [rsp + 0x41], dl
test r8d, eax
je 0x14000448e
movss xmm0, dword [rsi + 0x47cc]
movss xmm1, dword [rsi + 0x47c8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x1400aac28]
jbe 0x14000448e
movsd xmm0, qword [rsi + 0x47c0]
and ecx, 0xf1
mov eax, dword [rdi + 0xdc]
and eax, 0xffffff00
movsd qword [rdi + 0xe0], xmm0
movsd xmm1, qword [rsi + 0x47c8]
or ecx, eax
mov dword [rdi + 0xdc], ecx
movsd qword [rdi + 0xe8], xmm1
jmp 0x14000449d
lea rdx, [rsi + 0x47c0]
mov rcx, rdi
call fcn.140014594
mov ecx, 1
mov eax, 2
xorps xmm14, xmm14
test byte [rsi + 0x47b0], al
je 0x1400044f9
movsx eax, byte [rdi + 0xdd]
lea rdx, [rsi + 0x47d0]
mov r8d, dword [rsi + 0x47b8]
and eax, r8d
je 0x1400044dc
movss xmm0, dword [rdx]
comiss xmm0, xmm14
jbe 0x1400044dc
mov r12b, cl
jmp 0x1400044e0
test eax, eax
je 0x1400044f1
movss xmm0, dword [rsi + 0x47d4]
comiss xmm0, xmm14
jbe 0x1400044f1
mov r13b, cl
mov rcx, rdi
call fcn.1400146e0
test byte [rsi + 0x47b0], 0x80
je 0x14000453a
movss xmm0, dword [rsi + 0x47e0]
comiss xmm0, xmm14
jb 0x14000451e
movss dword [rdi + 0x94], xmm0
mov dword [rdi + 0x9c], ebx
movss xmm0, dword [rsi + 0x47e4]
comiss xmm0, xmm14
jb 0x14000453a
movss dword [rdi + 0x98], xmm0
mov dword [rdi + 0xa0], ebx
test byte [rsi + 0x47b0], 4
mov ebx, dword [rsp + 0x70]
je 0x140004556
movsd xmm0, qword [rsi + 0x47d8]
movsd qword [rdi + 0x48], xmm0
jmp 0x140004564
cmp dword [rsp + 0x54], ebx
je 0x140004564
and dword [rdi + 0x48], 0
and dword [rdi + 0x4c], 0
test byte [rsi + 0x47b0], 8
je 0x140004582
mov r8d, dword [rsi + 0x47bc]
mov rcx, rdi
mov dl, byte [rsi + 0x47e8]
call fcn.140014550
test byte [rsi + 0x47b0], 0x20
je 0x140004595
xor edx, edx
mov rcx, rdi
call fcn.1400093e8
xor edx, edx
cmp byte [rdi + 0xbc], dl
je 0x1400045b3
mov cl, 0xf7
and byte [rdi + 0xdc], cl
and byte [rdi + 0xdd], cl
and byte [rdi + 0xde], cl
cmp dword [rsp + 0x54], ebx
je 0x140005a9c
mov ebx, 1
mov eax, r15d
and eax, 0x3000000
mov byte [rdi + 0xb6], bl
cmp qword [rbp - 0x30], rdx
mov dword [rsp + 0x44], eax
mov al, byte [rdi + 0xd9]
mov byte [rsp + 0x43], al
setne al
mov byte [rdi + 0xc0], al
mov eax, 0xff7fffff
mov dword [rdi + 0x238], eax
mov dword [rdi + 0x23c], eax
mov eax, 0x7f7fffff
mov dword [rdi + 0x240], eax
mov dword [rdi + 0x244], eax
mov ecx, dword [r14 + 4]
cmp ecx, ebx
jge 0x140004638
test ecx, ecx
je 0x140004624
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140004629
mov eax, 8
cmp eax, ebx
mov edx, ebx
mov rcx, r14
cmovg edx, eax
call fcn.140018754
mov dword [r14], ebx
mov rcx, qword [rdi + 0x298]
call fcn.140020134
or dword [rdi + 0x1b0], 0xffffffff
xor r14d, r14d
cmp byte [rdi + 0x3e4], r14b
je 0x140004662
mov rcx, rdi
call fcn.140009584
mov r9, qword [rbp - 0x80]
cmp qword [rsi + 0x4a50], r14
je 0x1400046cd
test dword [rdi + 0x14], 0x80000
jne 0x1400046cd
test r9, r9
je 0x1400046cd
mov r10, qword [rbp - 0x28]
mov rcx, qword [rdi + 8]
mov rax, r10
mov r9, rcx
sub r9, r10
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x1400046a3
add rax, rbx
test edx, edx
jne 0x14000468e
test r8d, r8d
je 0x1400046c9
movsxd rax, dword [rdi + 0x78]
lea rdx, [rsp + 0x68]
mov r8, r10
mov qword [rsp + 0x68], rax
call fcn.14000abe4
mov qword [rdi + 8], rax
mov eax, dword [rsp + 0x68]
mov dword [rdi + 0x78], eax
mov r9, qword [rbp - 0x80]
lea rbx, [rdi + 0x40]
mov rcx, rdi
mov r8, rbx
lea rdx, [rdi + 0x38]
call fcn.140006b04
lea rcx, [rdi + 0xd8]
mov r8d, 1
mov al, byte [rcx]
test al, al
jle 0x1400046f8
sub al, r8b
mov byte [rcx], al
mov al, byte [rdi + 0xd9]
test al, al
jle 0x14000470b
sub al, r8b
mov byte [rdi + 0xd9], al
mov al, byte [rdi + 0xda]
test al, al
jle 0x14000471e
sub al, r8b
mov byte [rdi + 0xda], al
test r9, r9
jne 0x140004734
test r12b, r12b
je 0x14000472d
test r13b, r13b
jne 0x140004734
mov byte [rdi + 0xd9], r8b
cmp byte [rsp + 0x42], r14b
je 0x140004771
test r15d, 0x6000000
je 0x140004771
mov byte [rdi + 0xd9], r8b
test r15b, 0x40
je 0x140004771
test r12b, r12b
jne 0x14000475e
mov dword [rdi + 0x30], r14d
mov dword [rdi + 0x28], r14d
test r13b, r13b
jne 0x14000476b
mov dword [rdi + 0x34], r14d
mov dword [rdi + 0x2c], r14d
mov qword [rbx], r14
mov qword [rdx], r14
mov rax, qword [0x140100740]
mov rcx, qword [rax + 0x48b0]
mov rax, qword [rcx]
mov rcx, rdi
mov qword [rbp - 0x50], rax
mov qword [rdi + 0x18], rax
call fcn.140013bdc
mov eax, r15d
and eax, 0x1000000
mov dword [rsp + 0x4c], eax
je 0x1400047aa
movss xmm1, dword [rsi + 0x37f8]
jmp 0x1400047cc
test r15d, 0x6000000
je 0x1400047c4
bt r15d, 0x1b
jb 0x1400047c4
movss xmm1, dword [rsi + 0x3800]
jmp 0x1400047cc
movss xmm1, dword [rsi + 0x37dc]
movss dword [rdi + 0x5c], xmm1
movsd xmm0, qword [rsi + 0x37d0]
movsd qword [rdi + 0x50], xmm0
test eax, eax
je 0x140004811
test r15d, 0x4010000
jne 0x140004811
ucomiss xmm1, xmm14
jp 0x140004811
jne 0x140004811
bt r15d, 0xa
jae 0x140004804
movss xmm0, dword [rsi + 0x37d4]
jmp 0x140004808
movaps xmm0, xmm14
movss dword [rdi + 0x54], xmm0
mov dword [rdi + 0x50], r14d
movss xmm0, dword [rdi + 0x50]
mov r14b, byte [rsp + 0x40]
mov dword [rsp + 0x50], r14d
maxss xmm0, dword [rsi + 0x3814]
maxss xmm0, dword [rsi + 0x4814]
movss dword [rdi + 0x164], xmm0
mov eax, dword [rsi + 0x4818]
mov dword [rdi + 0x168], eax
test r15b, 0x21
jne 0x1400048e5
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.140015000
xor r8d, r8d
cmp qword [rsi + 0x3ee0], rdi
jne 0x1400048aa
cmp dword [rsi + 0x3f24], r8d
jne 0x1400048aa
cmp dword [rsi + 0x3f28], r8d
jne 0x1400048aa
mov r8d, 1
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x78]
call fcn.14000b58c
xor r8d, r8d
lea edx, [r8 + 1]
test al, al
je 0x1400048af
lea eax, [rdx + 1]
cmp word [rsi + 0x374a], ax
jne 0x1400048af
mov byte [rdi + 0xba], dl
jmp 0x1400048af
mov edx, 1
cmp byte [rdi + 0xba], r8b
je 0x1400048ef
mov cl, byte [rdi + 0xb9]
test cl, cl
movzx r14d, r14b
sete al
test cl, cl
mov rcx, rdi
mov byte [rdi + 0xb9], al
cmovne r14d, edx
mov dword [rsp + 0x50], r14d
call fcn.14000c3c4
xor r8d, r8d
jmp 0x1400048ef
xor r8d, r8d
mov byte [rdi + 0xb9], r8b
mov rdx, qword [rdi]
mov ecx, 1
movss xmm8, dword [rdi + 0xac]
movss xmm9, dword [rdi + 0xb0]
mov byte [rdi + 0xba], r8b
lea rax, [rdx + 0x3c14]
mov dword [rdi + 0x60], r8d
mov dword [rdi + 0x68], r8d
test byte [rdi + 0x14], cl
je 0x14000492a
movaps xmm2, xmm14
jmp 0x14000495a
mov rcx, qword [rdi + 0x368]
movss xmm0, dword [rax]
mulss xmm0, dword [rdi + 0x290]
test rcx, rcx
je 0x14000494a
mulss xmm0, dword [rcx + 0x290]
movss xmm2, dword [rdx + 0x3808]
addss xmm2, xmm2
addss xmm2, xmm0
test dword [rdi + 0x14], 0x400
je 0x14000499d
movss xmm1, dword [rdi + 0x290]
mulss xmm1, dword [rax]
mov rax, qword [rdi + 0x368]
test rax, rax
je 0x140004983
mulss xmm1, dword [rax + 0x290]
movss xmm0, dword [rdx + 0x3808]
addss xmm1, dword [rdi + 0x168]
addss xmm0, xmm0
addss xmm0, xmm1
jmp 0x1400049a1
movaps xmm0, xmm14
and qword [rdi + 0xac], 0
addss xmm0, xmm2
mov dword [rdi + 0x6c], r8d
lea rcx, [rsp + 0x68]
mov r8, rbx
mov rdx, rdi
movss dword [rdi + 0x64], xmm0
call fcn.1400068ec
mov eax, r15d
lea r14, [rdi + 0xb9]
and eax, 0x40
mov dword [rbp - 0x68], eax
je 0x140004a17
xor ecx, ecx
cmp byte [r14], cl
jne 0x140004a19
lea edx, [rcx + 1]
test r12b, r12b
jne 0x1400049f8
movss xmm0, dword [rsp + 0x68]
mov al, dl
movss dword [rdi + 0x30], xmm0
mov byte [rsp + 0x40], dl
test r13b, r13b
jne 0x140004aa6
movss xmm0, dword [rsp + 0x6c]
mov al, dl
movss dword [rdi + 0x34], xmm0
mov dword [rsp + 0x50], eax
jmp 0x140004aa6
xor ecx, ecx
mov al, byte [rdi + 0xd0]
test al, al
jg 0x140004a2b
cmp byte [rdi + 0xd1], cl
jle 0x140004aa6
test r12b, r12b
jne 0x140004a61
test al, al
jle 0x140004a61
cmp byte [rdi + 0xd3], cl
je 0x140004a49
movss xmm0, dword [rdi + 0x30]
maxss xmm0, dword [rsp + 0x68]
jmp 0x140004a4f
movss xmm0, dword [rsp + 0x68]
mov edx, 1
movss dword [rdi + 0x30], xmm0
mov al, dl
mov byte [rsp + 0x40], dl
jmp 0x140004a66
mov edx, 1
test r13b, r13b
jne 0x140004a99
cmp byte [rdi + 0xd1], cl
jle 0x140004a99
cmp byte [rdi + 0xd3], cl
je 0x140004a88
movss xmm0, dword [rdi + 0x34]
maxss xmm0, dword [rsp + 0x6c]
jmp 0x140004a8e
movss xmm0, dword [rsp + 0x6c]
mov al, dl
movss dword [rdi + 0x34], xmm0
mov dword [rsp + 0x50], eax
cmp byte [r14], cl
jne 0x140004aa6
mov rcx, rdi
call fcn.14000c3c4
lea r12, [rdi + 0x30]
mov rdx, rdi
mov r8, r12
lea rcx, [rsp + 0x58]
call fcn.140006c6c
mov ebx, dword [rsp + 0x4c]
xor r9d, r9d
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [r12], xmm0
movss dword [r12 + 4], xmm1
cmp byte [r14], r9b
je 0x140004b10
test ebx, ebx
jne 0x140004b10
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.140015000
xor r9d, r9d
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 4]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm1
jmp 0x140004b1c
movsd xmm0, qword [r12]
movsd qword [rsp + 0x58], xmm0
lea rax, [rsp + 0x58]
mov r8d, dword [rsp + 0x48]
movsd xmm0, qword [rax]
mov r13b, byte [rsp + 0x41]
movsd qword [rdi + 0x28], xmm0
cmp byte [rsp + 0x42], r9b
je 0x140004b7b
or dword [rdi + 0xd4], 0xffffffff
test r8d, r8d
je 0x140004b7b
bt r15d, 0x1b
jb 0x140004b7b
test r13b, r13b
jne 0x140004b7b
movsxd rax, dword [rsi + 0x4890]
imul rcx, rax, 0x38
mov rax, qword [rsi + 0x4898]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
movss dword [rdi + 0x20], xmm0
movss dword [rdi + 0x24], xmm1
test ebx, ebx
je 0x140004c1a
mov rdx, qword [rsp + 0x78]
lea rbx, [rdx + 0x190]
movzx eax, word [rbx]
mov word [rdi + 0xc6], ax
mov r8d, dword [rbx]
mov ecx, dword [rbx + 4]
cmp r8d, ecx
jne 0x140004bd5
inc r8d
test ecx, ecx
je 0x140004bb6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140004bbb
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.1400187f0
mov rdx, qword [rsp + 0x78]
xor r9d, r9d
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov r8d, dword [rsp + 0x48]
mov qword [rax + rcx*8], rdi
mov eax, 1
add dword [rbx], eax
mov eax, dword [rsp + 0x44]
test r8d, r8d
jne 0x140004c14
test r13b, r13b
jne 0x140004c14
mov ebx, dword [rsp + 0x4c]
cmp eax, 0x3000000
je 0x140004c1e
movsd xmm0, qword [rdx + 0x100]
movsd qword [rdi + 0x20], xmm0
jmp 0x140004c1e
mov ebx, dword [rsp + 0x4c]
jmp 0x140004c1e
mov eax, dword [rsp + 0x44]
movss xmm1, dword [rdi + 0xe0]
ucomiss xmm1, dword [0x1400aaccc]
jp 0x140004c31
je 0x140004c82
cmp byte [rdi + 0xd9], r9b
jne 0x140004c82
movss xmm0, dword [rdi + 0xe8]
lea rdx, [rsp + 0x60]
mulss xmm0, dword [rdi + 0x28]
xor r8d, r8d
mov rcx, rdi
subss xmm1, xmm0
movss xmm0, dword [rdi + 0xe4]
movss dword [rsp + 0x60], xmm1
movss xmm1, dword [rdi + 0x2c]
mulss xmm1, dword [rdi + 0xec]
subss xmm0, xmm1
movss dword [rsp + 0x64], xmm0
call fcn.140014594
jmp 0x140004ccd
cmp dword [rsp + 0x60], r9d
jne 0x140004cad
test r8d, r8d
je 0x140004c9a
test r13b, r13b
jne 0x140004c9a
cmp byte [rsp + 0x43], r9b
jg 0x140004cad
bt r15d, 0x19
jae 0x140004cd5
test r13b, r13b
jne 0x140004cd5
cmp eax, 0x3000000
je 0x140004cd5
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.140008864
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
movss dword [rdi + 0x20], xmm0
movss dword [rdi + 0x24], xmm1
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rax, qword [rbp - 0x50]
movss xmm1, dword [rsi + 0x3888]
movss xmm0, dword [rsi + 0x3884]
maxss xmm1, dword [rsi + 0x3890]
movss xmm5, dword [rax + 4]
movss xmm7, dword [rax + 8]
movaps xmm2, xmm5
movss xmm6, dword [rax + 0x14]
movaps xmm3, xmm7
movss xmm4, dword [rax + 0x18]
movss dword [rbp - 0x78], xmm5
movss dword [rbp - 0x74], xmm7
maxss xmm0, dword [rsi + 0x388c]
addss xmm6, dword [rax + 0x1c]
addss xmm4, dword [rax + 0x20]
addss xmm2, dword [rax + 0xc]
addss xmm3, dword [rax + 0x10]
subss xmm6, xmm0
subss xmm4, xmm1
movss dword [rbp - 0x70], xmm2
movss dword [rbp - 0x6c], xmm3
addss xmm0, dword [rax + 0x14]
movss dword [rbp - 0x48], xmm6
movss dword [rbp - 0x44], xmm4
addss xmm1, dword [rax + 0x18]
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x4c], xmm1
test r13b, r13b
jne 0x140004e0e
test ebx, ebx
jne 0x140004e0e
subss xmm2, xmm5
comiss xmm2, xmm14
jbe 0x140004e0e
subss xmm3, xmm7
comiss xmm3, xmm14
jbe 0x140004e0e
mov rax, qword [0x140100740]
movss xmm2, dword [rdi + 0x2c]
cmp byte [rax + 0x5f], r9b
je 0x140004ddf
lea eax, [rbx + 1]
test byte [rdi + 0x14], al
jne 0x140004ddf
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x368]
movss xmm3, dword [rcx + 0x3c14]
mulss xmm3, dword [rdi + 0x290]
test rax, rax
je 0x140004dcf
mulss xmm3, dword [rax + 0x290]
movss xmm2, dword [rcx + 0x3808]
addss xmm2, xmm2
addss xmm2, xmm3
subss xmm0, dword [rdi + 0x28]
subss xmm1, xmm2
comiss xmm1, dword [rdi + 0x24]
ja 0x140004df6
movaps xmm1, xmm4
minss xmm1, dword [rdi + 0x24]
comiss xmm0, dword [rdi + 0x20]
ja 0x140004e04
movaps xmm0, xmm6
minss xmm0, dword [rdi + 0x20]
movss dword [rdi + 0x20], xmm0
movss dword [rdi + 0x24], xmm1
cvttss2si eax, dword [rdi + 0x20]
movd xmm1, eax
cvttss2si eax, dword [rdi + 0x24]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rdi + 0x20], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x24], xmm0
test ebx, ebx
je 0x140004e3e
movss xmm2, dword [rsi + 0x37f4]
jmp 0x140004e5f
mov eax, r15d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x140004e57
movss xmm2, dword [rsi + 0x37fc]
jmp 0x140004e5f
movss xmm2, dword [rsi + 0x37d8]
mov cl, r9b
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x58], ecx
movss dword [rdi + 0x58], xmm2
cmp byte [rsp + 0x42], r9b
je 0x140004e99
bt r15d, 0xc
jb 0x140004e99
mov eax, 1
test r8d, r8d
je 0x140004e8d
mov byte [rsp + 0x58], al
jmp 0x140004e99
test ebx, ebx
movzx ecx, cl
cmove ecx, eax
mov dword [rsp + 0x58], ecx
or dword [rsp + 0x60], 0xffffffff
xorps xmm0, xmm0
mov al, byte [rsi + 0x5e]
addss xmm2, dword [0x1400aac74]
movups xmmword [rbp + 0x50], xmm0
neg al
movss xmm0, dword [rsi + 0x3c10]
movaps xmm1, xmm0
sbb r13d, r13d
mulss xmm0, dword [0x1400aac3c]
neg r13d
inc r13d
mulss xmm1, dword [0x1400aac78]
addss xmm0, xmm2
maxss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm12, eax
cvtdq2ps xmm12, xmm12
cmp byte [r14], r9b
jne 0x140004f28
lea rax, [rbp - 0x50]
mov r9d, r13d
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x60]
lea rax, [rbp + 0x50]
mov rcx, rdi
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x20], rax
call fcn.140016c8c
xor r9d, r9d
test al, al
je 0x140004f28
lea eax, [r9 + 1]
mov cl, al
mov dl, al
jmp 0x140004f30
mov dl, byte [rsp + 0x40]
mov ecx, dword [rsp + 0x50]
mov al, byte [rsp + 0x60]
mov byte [rdi + 0xc1], al
cmp byte [r14], r9b
jne 0x1400050a6
movss xmm7, dword [rdi + 0x6c]
movaps xmm0, xmm7
movss xmm2, dword [rdi + 0x200]
movss xmm3, dword [rdi + 0x204]
addss xmm0, dword [rdi + 0x64]
subss xmm2, dword [rdi + 0x1f8]
subss xmm3, dword [rdi + 0x1fc]
movss xmm4, dword [rdi + 0x34]
movss xmm5, dword [r12]
subss xmm4, xmm0
addss xmm2, xmm8
addss xmm3, xmm9
cmp qword [rbp - 0x80], r9
jne 0x140004f9d
and dword [rbp - 0x40], 0
lea rax, [rbp - 0x40]
and dword [rbp - 0x3c], 0
jmp 0x140004fc7
movss xmm0, dword [rdi + 0x50]
lea rax, [rbp - 0x38]
movss xmm1, dword [rdi + 0x54]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rdi + 0x38]
addss xmm1, dword [rdi + 0x3c]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
movss xmm6, dword [rax]
movss xmm1, dword [rax + 4]
test dl, dl
jne 0x140004fd7
movaps xmm5, xmm2
test cl, cl
jne 0x140004fde
movaps xmm4, xmm3
bt r15d, 0xe
jb 0x140004ffa
comiss xmm1, xmm4
jbe 0x140004ff0
test r15b, 8
je 0x140004ffa
mov cl, r9b
mov edx, 1
jmp 0x140005001
mov edx, 1
mov cl, dl
mov byte [rdi + 0xb5], cl
bt r15d, 0xf
jb 0x14000503d
test cl, cl
je 0x14000501c
movss xmm0, dword [rsi + 0x383c]
jmp 0x140005020
movaps xmm0, xmm14
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x140005038
mov eax, r15d
and eax, 0x808
cmp eax, 0x800
je 0x14000503d
mov al, r9b
jmp 0x14000503f
mov al, dl
mov byte [rdi + 0xb4], al
test al, al
je 0x14000506d
test cl, cl
jne 0x140005063
comiss xmm1, xmm4
jbe 0x14000505a
mov cl, dl
test r15b, 8
je 0x14000505d
mov cl, r9b
mov byte [rdi + 0xb5], cl
movss xmm1, dword [rsi + 0x383c]
jmp 0x140005071
movaps xmm1, xmm14
test cl, cl
je 0x14000507f
movss xmm0, dword [rsi + 0x383c]
jmp 0x140005083
movaps xmm0, xmm14
movss dword [rdi + 0xac], xmm0
addss xmm7, xmm1
addss xmm0, dword [rdi + 0x68]
movss dword [rdi + 0xb0], xmm1
movss dword [rdi + 0x6c], xmm7
movss dword [rdi + 0x68], xmm0
mov eax, r15d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1400050ca
cmp ebx, 0x3000000
je 0x1400050ca
mov rax, qword [rsp + 0x78]
add rax, 0x238
jmp 0x1400050ce
lea rax, [rbp - 0x78]
movdqu xmm10, xmmword [rax]
lea rdx, [rbp - 0x60]
mov rcx, rdi
movss xmm8, dword [rdi + 0x20]
movss xmm9, dword [rdi + 0x24]
movaps xmm7, xmm8
addss xmm7, dword [rdi + 0x28]
movaps xmm6, xmm9
addss xmm6, dword [rdi + 0x2c]
movups xmmword [rbp - 0x20], xmm10
call fcn.140015000
movss dword [rdi + 0x1e8], xmm8
movaps xmm3, xmm10
movss dword [rdi + 0x1ec], xmm9
movaps xmm5, xmm10
movss dword [rdi + 0x1f0], xmm7
movaps xmm4, xmm10
movss dword [rdi + 0x1f4], xmm6
mov eax, r15d
movss xmm0, dword [rdi + 0x1e8]
and eax, 0x401
maxss xmm0, xmm10
shufps xmm3, xmm10, 0x55
maxss xmm9, xmm3
shufps xmm5, xmm10, 0xaa
shufps xmm4, xmm10, 0xff
mov ecx, 1
movss dword [rdi + 0x1e8], xmm0
movss dword [rdi + 0x1ec], xmm9
movss xmm1, dword [rdi + 0x1f0]
movss xmm0, dword [rdi + 0x1f4]
minss xmm1, xmm5
minss xmm0, xmm4
movss dword [rdi + 0x1f0], xmm1
movss dword [rdi + 0x1f4], xmm0
movss xmm8, dword [rdi + 0x20]
movss xmm9, dword [rdi + 0x24]
movaps xmm7, xmm8
movaps xmm11, xmm9
addss xmm8, dword [rdi + 0x28]
addss xmm9, dword [rdi + 0x2c]
addss xmm7, dword [rdi + 0x60]
addss xmm11, dword [rdi + 0x64]
subss xmm8, dword [rdi + 0x68]
subss xmm9, dword [rdi + 0x6c]
movss dword [rdi + 0x1f8], xmm7
movss dword [rdi + 0x1fc], xmm11
movss dword [rdi + 0x200], xmm8
movss dword [rdi + 0x204], xmm9
cmp eax, ecx
jne 0x1400051fc
movss xmm6, dword [rdi + 0x5c]
jmp 0x140005204
movss xmm6, dword [rsi + 0x3810]
movss xmm2, dword [0x1400aac4c]
lea r14, [rdi + 0x208]
movss xmm0, dword [rdi + 0x50]
addss xmm7, xmm2
mulss xmm0, xmm2
addss xmm11, xmm2
lea r12, [rdi + 0x210]
xorps xmm1, xmm1
addss xmm8, xmm2
addss xmm9, xmm2
cvttss2si eax, xmm0
xorps xmm0, xmm0
addss xmm11, xmm6
subss xmm9, dword [rdi + 0x5c]
cvtsi2ss xmm1, eax
maxss xmm1, dword [rdi + 0x5c]
addss xmm7, xmm1
subss xmm8, xmm1
cvttss2si eax, xmm7
xorps xmm7, xmm7
cvtsi2ss xmm7, eax
cvttss2si eax, xmm11
movss dword [r14], xmm7
cvtsi2ss xmm0, eax
cvttss2si eax, xmm8
movss dword [rdi + 0x20c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cvttss2si eax, xmm9
movss dword [r12], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movss dword [rdi + 0x214], xmm0
comiss xmm3, dword [r14 + 4]
jbe 0x1400052b0
movaps xmm1, xmm3
jmp 0x1400052b9
movaps xmm1, xmm4
minss xmm1, dword [r14 + 4]
comiss xmm10, xmm7
jbe 0x1400052c5
movaps xmm0, xmm10
jmp 0x1400052cc
movaps xmm0, xmm5
minss xmm0, xmm7
movss dword [r14], xmm0
movss dword [r14 + 4], xmm1
comiss xmm3, dword [r14 + 0xc]
ja 0x1400052e7
minss xmm4, dword [r14 + 0xc]
movaps xmm3, xmm4
comiss xmm10, dword [r14 + 8]
ja 0x1400052f8
minss xmm5, dword [r14 + 8]
movaps xmm10, xmm5
movss dword [r14 + 8], xmm10
movss dword [r14 + 0xc], xmm3
movss xmm0, dword [rdi + 0x28]
comiss xmm0, xmm14
jbe 0x140005322
test r15d, 0x2000040
jne 0x140005322
mulss xmm0, dword [0x1400aac54]
jmp 0x140005332
movss xmm0, dword [rsi + 0x3c10]
mulss xmm0, dword [0x1400aaca0]
cvttss2si eax, xmm0
mov rdx, rdi
lea rcx, [rbp - 0x50]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x268], xmm0
movss xmm0, dword [rdi + 0x200]
subss xmm0, dword [rdi + 0x1f8]
movss xmm1, dword [rdi + 0x50]
addss xmm1, xmm1
addss xmm1, dword [rdi + 0x38]
subss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
movss xmm1, dword [rdi + 0x54]
addss xmm1, xmm1
movss dword [rdi + 0x8c], xmm0
movss xmm0, dword [rdi + 0x204]
subss xmm0, dword [rdi + 0x1fc]
addss xmm1, dword [rdi + 0x3c]
subss xmm1, xmm0
movaps xmm0, xmm14
maxss xmm0, xmm1
movss dword [rdi + 0x90], xmm0
call fcn.140006568
mov rcx, qword [rdi + 0x298]
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov eax, 0x7f7fffff
and dword [rdi + 0x74], 0
and dword [rdi + 0x70], 0
mov dword [rdi + 0x94], eax
mov dword [rdi + 0x98], eax
movss dword [rdi + 0x84], xmm0
movss dword [rdi + 0x88], xmm1
mov rax, qword [rsi + 0x3c08]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.14001e910
xor r8d, r8d
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x20]
call fcn.140010b28
xor r10d, r10d
mov bl, r10b
cmp dword [rsp + 0x4c], r10d
je 0x1400054e5
cmp dword [rsp + 0x48], r10d
jne 0x1400054e5
cmp dword [rsp + 0x44], 0x3000000
je 0x1400054e5
mov r9, qword [rsp + 0x78]
movsxd rax, dword [r9 + 0x190]
cmp eax, 2
jl 0x1400054a7
mov rcx, rax
mov rax, qword [r9 + 0x198]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x1400054a7
movss xmm0, dword [rdx + 0x24]
addss xmm0, dword [rdx + 0x2c]
movss xmm2, dword [rdx + 0x20]
movss xmm3, dword [rdi + 0x20]
movss xmm1, dword [rdi + 0x24]
addss xmm2, dword [rdx + 0x28]
comiss xmm0, dword [rdi + 0x24]
addss xmm3, dword [rdi + 0x28]
addss xmm1, dword [rdi + 0x2c]
jbe 0x1400054a7
comiss xmm1, dword [rdx + 0x24]
jbe 0x1400054a7
comiss xmm2, dword [rdi + 0x20]
jbe 0x1400054a7
comiss xmm3, dword [rdx + 0x20]
jbe 0x1400054a7
lea r8d, [r10 + 1]
jmp 0x1400054aa
mov r8b, r10b
mov rdx, qword [rdi + 0x298]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], r10d
mov ecx, 1
jne 0x1400054ea
mov rax, qword [r9 + 0x298]
cmp dword [rax + 0x20], r10d
je 0x1400054ea
test r8b, r8b
jne 0x1400054ea
mov bl, cl
mov qword [rdi + 0x298], rax
jmp 0x1400054ea
mov ecx, 1
mov rax, qword [rsi + 0x4a40]
test rax, rax
jne 0x1400054fd
mov rax, qword [rsi + 0x48b8]
cmp byte [rsp + 0x58], r10b
jne 0x14000551e
test rax, rax
je 0x140005519
mov rax, qword [rax + 0x388]
cmp qword [rdi + 0x388], rax
je 0x14000551e
mov r8b, r10b
jmp 0x140005521
mov r8b, cl
movss dword [rsp + 0x30], xmm12
lea rax, [rbp + 0x50]
mov r9b, cl
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x60]
mov dword [rsp + 0x20], r13d
mov rcx, rdi
call fcn.140012438
xor r13d, r13d
test bl, bl
je 0x14000555a
lea rax, [rdi + 0x2a0]
mov qword [rdi + 0x298], rax
movss xmm5, dword [rdi + 0x48]
mov ecx, r15d
shr ecx, 3
not cl
and cl, 1
ucomiss xmm5, xmm14
jp 0x1400055b4
jne 0x1400055b4
movss xmm0, dword [rdi + 0x50]
mov eax, r15d
movss xmm1, dword [rdi + 0x28]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x60]
addss xmm0, dword [rdi + 0x68]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x1400055a9
movss xmm8, dword [rdi + 0x38]
jmp 0x1400055ad
movaps xmm8, xmm14
maxss xmm8, xmm1
jmp 0x1400055b8
movaps xmm8, xmm5
movss xmm4, dword [rdi + 0x4c]
ucomiss xmm4, xmm14
movss xmm6, dword [rdi + 0x54]
jp 0x1400055fd
jne 0x1400055fd
movss xmm2, dword [rdi + 0x2c]
movaps xmm0, xmm6
movss xmm1, dword [rdi + 0x6c]
addss xmm0, xmm6
addss xmm1, dword [rdi + 0x64]
subss xmm2, xmm0
subss xmm2, xmm1
test cl, cl
je 0x1400055f3
movss xmm7, dword [rdi + 0x3c]
jmp 0x1400055f7
movaps xmm7, xmm14
maxss xmm7, xmm2
jmp 0x140005600
movaps xmm7, xmm4
ucomiss xmm5, xmm14
movss xmm9, dword [rdi + 0x50]
movss xmm10, dword [rdi + 0x84]
movaps xmm1, xmm9
maxss xmm1, dword [rdi + 0x5c]
movss xmm0, dword [rdi + 0x1f8]
movss xmm11, dword [rdi + 0x88]
subss xmm0, xmm10
addss xmm1, xmm0
movss xmm0, dword [rdi + 0x1fc]
subss xmm0, xmm11
cvttss2si eax, xmm1
movaps xmm1, xmm6
maxss xmm1, dword [rdi + 0x5c]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm1, xmm0
movss dword [rdi + 0x218], xmm3
addss xmm8, xmm3
cvttss2si eax, xmm1
movss dword [rdi + 0x220], xmm8
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [rdi + 0x21c], xmm2
addss xmm7, xmm2
movss dword [rdi + 0x224], xmm7
movups xmm0, xmmword [rdi + 0x218]
movdqu xmmword [rdi + 0x228], xmm0
movss xmm12, dword [rdi + 0x20]
movss xmm7, dword [rdi + 0x60]
movaps xmm2, xmm12
subss xmm2, xmm10
addss xmm2, xmm9
addss xmm2, xmm7
movss dword [rdi + 0x248], xmm2
movss xmm13, dword [rdi + 0x24]
movss xmm8, dword [rdi + 0x64]
movaps xmm3, xmm13
subss xmm3, xmm11
addss xmm3, xmm6
addss xmm3, xmm8
movss dword [rdi + 0x24c], xmm3
jp 0x14000570b
jne 0x14000570b
movss xmm5, dword [rdi + 0x28]
movaps xmm0, xmm9
addss xmm0, xmm9
movaps xmm1, xmm7
addss xmm1, dword [rdi + 0x68]
subss xmm5, xmm0
subss xmm5, xmm1
ucomiss xmm4, xmm14
addss xmm2, xmm5
movss dword [rdi + 0x250], xmm2
jp 0x14000573c
jne 0x14000573c
movss xmm4, dword [rdi + 0x2c]
movaps xmm0, xmm6
addss xmm0, xmm6
movaps xmm1, xmm8
addss xmm1, dword [rdi + 0x6c]
subss xmm4, xmm0
subss xmm4, xmm1
mov r8b, byte [rsp + 0x42]
addss xmm3, xmm4
cvtps2pd xmm2, xmm9
lea rcx, [rdi + 0x16c]
movss dword [rdi + 0x254], xmm3
movaps xmm0, xmm7
addss xmm0, xmm9
cvtps2pd xmm3, xmm6
subss xmm0, xmm10
cvtps2pd xmm1, xmm10
movss dword [rdi + 0x144], xmm0
mov qword [rdi + 0x148], r13
cvtps2pd xmm0, xmm12
addsd xmm2, xmm0
cvtps2pd xmm0, xmm7
subsd xmm2, xmm1
cvtps2pd xmm1, xmm11
addsd xmm2, xmm0
cvtps2pd xmm0, xmm13
addsd xmm2, qword [0x1400aac20]
addsd xmm3, xmm0
cvtps2pd xmm0, xmm8
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rdi + 0x110], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rdi + 0x114], xmm0
movss xmm0, dword [rdi + 0x110]
movss xmm1, dword [rdi + 0x114]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rdi + 0x150], xmm2
movss dword [rdi + 0x154], xmm0
movss xmm1, dword [rdi + 0x110]
movss xmm0, dword [rdi + 0x114]
movss dword [rdi + 0x100], xmm1
movss dword [rdi + 0x104], xmm0
movss dword [rdi + 0x108], xmm1
movss dword [rdi + 0x10c], xmm0
movss dword [rdi + 0x118], xmm1
movss dword [rdi + 0x11c], xmm0
movss dword [rdi + 0x120], xmm1
movss dword [rdi + 0x124], xmm0
mov qword [rdi + 0x130], r13
mov qword [rdi + 0x128], r13
mov qword [rdi + 0x138], r13
mov word [rdi + 0x140], r13w
mov dword [rdi + 0x158], r13d
movzx eax, word [rdi + 0x15e]
mov word [rdi + 0x15c], ax
mov dword [rdi + 0x15e], 0x10000
movss xmm0, dword [rdi + 0x90]
comiss xmm0, xmm14
seta al
mov byte [rdi + 0x162], al
mov byte [rdi + 0x163], r13b
movss xmm1, dword [rsi + 0x3814]
call fcn.14002b91c
lea rbx, [rdi + 0x190]
mov qword [rdi + 0x188], r13
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x1400058df
mov eax, ecx
cdq
sub eax, edx
mov edx, r13d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.1400187f0
mov dword [rbx], r13d
lea rax, [rdi + 0x270]
mov qword [rdi + 0x1a0], rax
xor r8d, r8d
mov qword [rdi + 0x1a8], r13
mov eax, 1
mov r13, qword [rsp + 0x78]
mov dword [rdi + 0x1b4], eax
test r13, r13
je 0x140005916
mov eax, dword [r13 + 0x1b4]
mov dword [rdi + 0x1b8], eax
lea rbx, [rdi + 0x1c8]
mov eax, dword [rdi + 0x268]
mov dword [rdi + 0x1bc], eax
mov dword [rdi + 0x1c0], 0xbf800000
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x14000595c
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.140018754
xor r8d, r8d
mov dword [rbx], r8d
lea rbx, [rdi + 0x1d8]
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x140005989
mov eax, ecx
cdq
sub eax, edx
mov edx, r8d
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.140018754
xor r8d, r8d
mov dword [rbx], r8d
mov ebx, 1
mov al, byte [rdi + 0xd0]
test al, al
jle 0x1400059a3
sub al, bl
mov byte [rdi + 0xd0], al
mov al, byte [rdi + 0xd1]
test al, al
jle 0x1400059b5
sub al, bl
mov byte [rdi + 0xd1], al
cmp byte [rsp + 0x58], r8b
je 0x1400059dc
mov edx, 2
mov rcx, rdi
call fcn.1400093e8
cmp rdi, qword [rsi + 0x48b8]
jne 0x1400059dc
xor edx, edx
mov rcx, rdi
call fcn.14000c868
test bl, r15b
jne 0x140005a27
movss xmm0, dword [rdi + 0x5c]
lea rdx, [rbp - 0x78]
addss xmm0, dword [rbp - 0x60]
movss xmm1, dword [rbp - 0x58]
mov rcx, rdi
subss xmm1, dword [rdi + 0x5c]
mov r9, qword [rbp - 0x30]
mov r8, qword [rbp - 0x28]
movss dword [rbp - 0x78], xmm0
movss xmm0, dword [rbp - 0x5c]
movss dword [rbp - 0x74], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x70], xmm1
call fcn.140012e44
xor ebx, ebx
lea rdx, [rbp - 0x58]
xor r8d, r8d
mov dword [rdi + 0x258], ebx
lea rcx, [rbp - 0x60]
call fcn.14000b58c
mov r8, qword [0x140100740]
mov ecx, dword [rsi + 0x4758]
movzx edx, al
mov eax, dword [rdi + 0x7c]
mov dword [r8 + 0x4774], eax
mov dword [r8 + 0x4778], ecx
mov dword [r8 + 0x477c], edx
movups xmm0, xmmword [rbp - 0x60]
movdqu xmmword [r8 + 0x4790], xmm0
movdqu xmmword [r8 + 0x4780], xmm0
mov eax, dword [rsi + 0x475c]
test eax, eax
je 0x140005a96
cmp dword [rdi + 0x10], eax
je 0x140005a91
cmp dword [rdi + 0x7c], eax
jne 0x140005a96
call fcn.140007b50
mov ebx, dword [rsp + 0x4c]
jmp 0x140005ac9
mov rcx, rdi
call fcn.140013bdc
mov r13, qword [rsp + 0x78]
lea r12, [rdi + 0x210]
mov ebx, r15d
lea r14, [rdi + 0x208]
and ebx, 0x1000000
mov eax, r15d
and eax, 0x40
mov dword [rbp - 0x68], eax
mov r8d, 1
mov rdx, r12
mov rcx, r14
call fcn.140010b28
mov eax, dword [rsp + 0x54]
xor edx, edx
mov byte [rdi + 0xb8], dl
lea r8d, [rdx + 1]
add word [rdi + 0xc2], r8w
mov dword [rsi + 0x47b0], edx
cmp eax, dword [rsp + 0x70]
je 0x140005c62
test ebx, ebx
je 0x140005bd0
cmp dword [rbp - 0x68], edx
jne 0x140005b84
cmp byte [rdi + 0xd0], dl
jg 0x140005b84
cmp byte [rdi + 0xd1], dl
jg 0x140005b84
bt r15d, 0x17
jae 0x140005b4d
cmp byte [rsi + 0x48f8], dl
je 0x140005b4d
mov rcx, qword [rsi + 0x48b8]
test rcx, rcx
je 0x140005b4d
mov rax, qword [rdi + 0x390]
cmp qword [rcx + 0x390], rax
mov al, r8b
je 0x140005b4f
mov al, dl
cmp byte [rsi + 0x5c98], dl
jne 0x140005b84
test al, al
jne 0x140005b84
movss xmm0, dword [rdi + 0x1e8]
comiss xmm0, dword [rdi + 0x1f0]
jae 0x140005b7d
movss xmm0, dword [rdi + 0x1ec]
comiss xmm0, dword [rdi + 0x1f4]
jb 0x140005b84
mov byte [rdi + 0xd8], r8b
lea rax, [rdi + 0xd8]
test r13, r13
je 0x140005bd7
cmp byte [r13 + 0xb9], dl
jne 0x140005bab
cmp byte [r13 + 0xd8], dl
jg 0x140005bab
lea rax, [rdi + 0xd8]
jmp 0x140005bb5
lea rax, [rdi + 0xd8]
mov byte [rax], r8b
cmp byte [r13 + 0xb9], dl
jne 0x140005bc7
cmp byte [r13 + 0xd9], dl
jle 0x140005bd7
mov byte [rdi + 0xd9], r8b
jmp 0x140005bd7
lea rax, [rdi + 0xd8]
comiss xmm14, dword [rsi + 0x37c8]
jb 0x140005beb
lea rax, [rdi + 0xd8]
mov byte [rax], r8b
cmp byte [rax], dl
jg 0x140005c05
cmp byte [rdi + 0xd9], dl
jg 0x140005c05
mov cl, dl
cmp byte [rdi + 0xda], dl
jg 0x140005c08
mov al, dl
jmp 0x140005c0b
mov cl, r8b
mov al, r8b
mov byte [rdi + 0xbd], al
mov al, byte [rdi + 0xdb]
test al, al
jle 0x140005c2b
sub al, r8b
mov byte [rdi + 0xdb], al
or dword [rdi + 0x14], 0xc0200
movzx eax, dl
cmp byte [rdi + 0xb9], dl
jne 0x140005c42
cmp byte [rdi + 0xb6], dl
je 0x140005c42
test cl, cl
je 0x140005c5c
cmp byte [rdi + 0xd0], dl
jg 0x140005c5c
cmp byte [rdi + 0xd1], dl
jg 0x140005c5c
cmp byte [rdi + 0xd9], dl
cmovle eax, r8d
mov byte [rdi + 0xbb], al
cmp byte [rdi + 0xbe], dl
jne 0x140005cb3
cmp byte [rsi + 0x78], dl
je 0x140005c75
cmp qword [rbp - 0x80], rdx
je 0x140005c89
cmp byte [rsi + 0x79], dl
je 0x140005cb3
movsx eax, byte [rsi + 0x5d0a]
cmp eax, dword [rsi + 0x3ea8]
jne 0x140005cb3
mov al, byte [rdi + 0xd0]
test al, al
jle 0x140005c9c
add al, r8b
mov byte [rdi + 0xd0], al
mov al, byte [rdi + 0xd1]
test al, al
jle 0x140005caf
add al, r8b
mov byte [rdi + 0xd1], al
xor al, al
jmp 0x140005cbc
cmp byte [rdi + 0xbb], dl
sete al
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400a48c0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret