Function at 0x14001bb3c
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 - 0x108]
sub rsp, 0x1d0
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
mov rax, qword [0x14009c248]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rdi, qword [0x14009cdd8]
mov ebx, r8d
mov qword [rbp - 0x30], rdx
mov rsi, rcx
mov qword [rbp - 0x28], rcx
call fcn.1400217d8
xor r9d, r9d
mov qword [rsp + 0x78], rax
test rax, rax
mov qword [rsp + 0x40], rax
sete r14b
mov byte [rsp + 0x4a], r14b
test rax, rax
jne 0x14001bbde
mov edx, ebx
mov rcx, rsi
call fcn.14001fb58
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov r15d, dword [rax + 0x260]
lea r13, [rdi + 0x3eb0]
mov edx, 0xc0200
mov dword [rsp + 0x70], r15d
mov ecx, ebx
mov esi, ebx
and ecx, edx
or esi, 6
cmp ecx, edx
mov edx, 1
cmovne esi, ebx
mov ebx, dword [rdi + 0x3e38]
mov dword [rbp - 0x60], ebx
cmp dword [r13], r9d
jne 0x14001bc23
mov cl, dl
cmp byte [rdi + 0x3e45], r9b
jne 0x14001bc26
mov cl, r9b
mov byte [rax + 0xbe], cl
lea eax, [rbx - 1]
mov r8, qword [rsp + 0x40]
cmp dword [r8 + 0x260], eax
setl r12b
mov byte [rsp + 0x48], r12b
bt esi, 0x1a
jae 0x14001bc7e
movsxd rax, dword [rdi + 0x48a8]
imul rcx, rax, 0x38
add rcx, qword [rdi + 0x48a0]
cmp r8, qword [rcx + 8]
mov eax, dword [rcx]
setne dl
cmp dword [r8 + 0xcc], eax
setne al
or dl, al
or r12b, dl
mov edx, 1
mov byte [rsp + 0x48], r12b
mov byte [r8 + 0xbc], r12b
test r12b, r12b
je 0x14001bc9f
mov rcx, qword [rsp + 0x40]
mov r8b, dl
mov edx, 8
call fcn.14002cf00
xor r9d, r9d
cmp r15d, ebx
je 0x14001bd15
mov rcx, qword [rsp + 0x40]
mov r8d, esi
mov dl, r14b
call fcn.14002f3f0
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rax + 0x14], esi
lea r8d, [r9 + 1]
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x260], ebx
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x3e30]
cvtpd2ps xmm0, xmm0
movss dword [rax + 0x264], xmm0
mov rax, qword [rsp + 0x40]
mov word [rax + 0xc6], r9w
movzx ecx, word [rdi + 0x3ed0]
add dword [rdi + 0x3ed0], r8d
mov rax, qword [rsp + 0x40]
mov word [rax + 0xc8], cx
mov rdx, qword [rsp + 0x40]
jmp 0x14001bd1d
mov rdx, qword [rsp + 0x40]
mov esi, dword [rdx + 0x14]
cmp dword [r13], r9d
jne 0x14001bd28
mov r14, r9
jmp 0x14001bd3c
movsxd rax, dword [r13]
imul rcx, rax, 0x58
mov rax, qword [rdi + 0x3eb8]
mov r14, qword [rcx + rax - 0x58]
cmp r15d, ebx
je 0x14001bd52
mov eax, esi
and eax, 0x5000000
neg eax
sbb r13, r13
and r13, r14
jmp 0x14001bd59
mov r13, qword [rdx + 0x368]
lea rcx, [rdx + 0xf0]
mov qword [rbp - 0x58], r13
cmp dword [rcx], r9d
jne 0x14001bd77
add rdx, 0x10
call fcn.140030cf8
mov rdx, qword [rsp + 0x40]
mov qword [rdi + 0x3ee0], rdx
lea rcx, [rbp - 0x18]
and dword [rbp - 0xc], 0
xor edx, edx
and dword [rbp - 8], 0
xorps xmm0, xmm0
and dword [rbp - 4], 0
xorps xmm1, xmm1
and dword [rbp + 0x20], 0
xorps xmm10, xmm10
lea r8d, [rdx + 0x3c]
movaps xmmword [rbp], xmm0
movaps xmmword [rbp + 0x10], xmm1
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [rbp + 0x24]
lea r8d, [rdx + 0x12]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x40]
lea rcx, [rbp + 0x24]
mov qword [rbp - 0x20], rax
mov rdx, rdi
movups xmm0, xmmword [rdi + 0x4788]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rdi + 0x4798]
movups xmmword [rbp - 8], xmm1
movups xmm0, xmmword [rdi + 0x47a8]
movups xmmword [rbp + 8], xmm0
movsd xmm1, qword [rdi + 0x47b8]
movsd qword [rbp + 0x18], xmm1
mov eax, dword [rdi + 0x47c0]
mov dword [rbp + 0x20], eax
call fcn.14002cda4
lea rdx, [rbp - 0x20]
lea rcx, [rdi + 0x3eb0]
call fcn.14003127c
mov eax, esi
and eax, 0x10000000
mov dword [rbp - 0x40], eax
je 0x14001be31
mov eax, 1
add dword [rdi + 0x48c8], eax
cmp r15d, ebx
je 0x14001be51
mov rcx, qword [rsp + 0x40]
mov r8, r13
mov edx, esi
call fcn.14002ff10
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x370], r14
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x10]
call fcn.1400299bc
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x475c]
mov dword [rax + 0x3d8], ecx
mov eax, esi
and qword [rdi + 0x3ee0], 0
and eax, 0x4000000
mov dword [rsp + 0x4c], eax
je 0x14001bec4
lea rcx, [rdi + 0x48a8]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rbx, qword [rdi + 0x48a0]
mov rdx, rbx
mov qword [rbx + 8], rax
mov eax, dword [r14 + 0x158]
mov dword [rbx + 0x18], eax
call fcn.140030e50
mov ecx, dword [rbx]
mov rax, qword [rsp + 0x40]
mov ebx, dword [rbp - 0x60]
mov dword [rax + 0xcc], ecx
xor dl, dl
xor r14b, r14b
xor r15b, r15b
mov byte [rsp + 0x49], dl
mov r9d, 1
test byte [rdi + 0x47c8], r9b
je 0x14001bf88
mov r8d, dword [rdi + 0x47cc]
mov rcx, qword [rsp + 0x40]
movsx eax, byte [rcx + 0xdc]
test r8d, eax
setne dl
mov byte [rsp + 0x49], dl
test r8d, eax
je 0x14001bf76
movss xmm0, dword [rdi + 0x47e4]
movss xmm1, dword [rdi + 0x47e0]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x14006f360]
jbe 0x14001bf76
movsd xmm0, qword [rdi + 0x47d8]
movsd qword [rcx + 0xe0], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm1, qword [rdi + 0x47e0]
movsd qword [rax + 0xe8], xmm1
mov rdx, qword [rsp + 0x40]
movzx ecx, byte [rdx + 0xdc]
mov eax, dword [rdx + 0xdc]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rdx + 0xdc], ecx
jmp 0x14001bf88
lea rdx, [rdi + 0x47d8]
call fcn.14002cf98
mov r9d, 1
mov eax, 2
test byte [rdi + 0x47c8], al
je 0x14001bfdd
mov rcx, qword [rsp + 0x40]
lea rdx, [rdi + 0x47e8]
mov r8d, dword [rdi + 0x47d0]
movsx eax, byte [rcx + 0xdd]
and eax, r8d
je 0x14001bfc3
movss xmm0, dword [rdx]
comiss xmm0, xmm10
jbe 0x14001bfc3
mov r14b, r9b
jmp 0x14001bfc7
test eax, eax
je 0x14001bfd8
movss xmm0, dword [rdi + 0x47ec]
comiss xmm0, xmm10
jbe 0x14001bfd8
mov r15b, r9b
call fcn.14002d0e4
test byte [rdi + 0x47c8], 0x80
je 0x14001c034
movss xmm0, dword [rdi + 0x47f8]
comiss xmm0, xmm10
jb 0x14001c00d
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x94], xmm0
mov rax, qword [rsp + 0x40]
and dword [rax + 0x9c], 0
movss xmm0, dword [rdi + 0x47fc]
comiss xmm0, xmm10
jb 0x14001c034
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x98], xmm0
mov rax, qword [rsp + 0x40]
and dword [rax + 0xa0], 0
test byte [rdi + 0x47c8], 4
je 0x14001c051
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x47f0]
movsd qword [rax + 0x48], xmm0
jmp 0x14001c066
cmp dword [rsp + 0x70], ebx
je 0x14001c066
mov rax, qword [rsp + 0x40]
and dword [rax + 0x48], 0
movss dword [rax + 0x4c], xmm10
test byte [rdi + 0x47c8], 8
je 0x14001c086
mov r8d, dword [rdi + 0x47d4]
mov dl, byte [rdi + 0x4800]
mov rcx, qword [rsp + 0x40]
call fcn.14002cebc
test byte [rdi + 0x47c8], 0x20
je 0x14001c09b
mov rcx, qword [rsp + 0x40]
xor edx, edx
call fcn.140021a38
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xbc], 0
je 0x14001c0ba
xor r8d, r8d
lea edx, [r8 + 8]
call fcn.14002cf00
mov rcx, qword [rsp + 0x40]
cmp dword [rsp + 0x70], ebx
je 0x14001d7eb
mov eax, esi
mov ebx, 1
and eax, 0x3000000
xor r13d, r13d
cmp qword [rbp - 0x30], r13
mov edx, ebx
mov dword [rsp + 0x54], eax
mov al, byte [rcx + 0xd9]
mov byte [rcx + 0xb6], bl
setne cl
mov byte [rsp + 0x4b], al
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xc0], cl
mov ecx, 0xff7fffff
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x238], ecx
mov dword [rax + 0x23c], ecx
mov ecx, 0x7f7fffff
mov dword [rax + 0x240], ecx
mov dword [rax + 0x244], ecx
mov rcx, qword [rsp + 0x40]
add rcx, 0xf0
call fcn.1400314f8
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x298]
call fcn.140039218
mov rax, qword [rsp + 0x40]
or dword [rax + 0x1b0], 0xffffffff
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0x3e4], r13b
je 0x14001c168
call fcn.140021bcc
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x78]
cmp qword [rdi + 0x4ad0], r13
je 0x14001c1db
test dword [rcx + 0x14], 0x80000
jne 0x14001c1db
test r9, r9
je 0x14001c1db
mov rdx, qword [rcx + 8]
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov rcx, qword [rsp + 0x40]
test eax, eax
je 0x14001c1d1
movsxd rax, dword [rcx + 0x78]
lea rdx, [rsp + 0x58]
mov rcx, qword [rcx + 8]
mov r8, rbx
mov qword [rsp + 0x58], rax
call fcn.1400235dc
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x78], eax
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x78]
mov ebx, 1
lea r8, [rcx + 0x40]
lea rdx, [rcx + 0x38]
call fcn.14001ee04
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd8]
test al, al
jle 0x14001c1ff
sub al, bl
mov byte [rcx + 0xd8], al
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd9]
test al, al
jle 0x14001c216
sub al, bl
mov byte [rcx + 0xd9], al
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xda]
test al, al
jle 0x14001c22d
sub al, bl
mov byte [rcx + 0xda], al
test r9, r9
jne 0x14001c247
test r14b, r14b
je 0x14001c23c
test r15b, r15b
jne 0x14001c247
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xd9], bl
test r12b, r12b
je 0x14001c2b1
test esi, 0x6000000
je 0x14001c2b1
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xd9], bl
test sil, 0x40
je 0x14001c2b1
test r14b, r14b
jne 0x14001c27c
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x30], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], r13d
test r15b, r15b
jne 0x14001c293
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x34], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x40], r13d
movss dword [rax + 0x44], xmm10
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x40]
movsd qword [rax + 0x38], xmm0
call fcn.140022670
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov r12, rax
call fcn.14002d1bc
mov rcx, qword [rsp + 0x40]
call fcn.14002c494
mov edx, esi
and edx, 0x1000000
mov dword [rsp + 0x50], edx
je 0x14001c2ee
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x37f8]
mov dword [rax + 0x5c], ecx
jmp 0x14001c318
test esi, 0x6000000
je 0x14001c306
bt esi, 0x1b
jb 0x14001c306
movss xmm0, dword [rdi + 0x3800]
jmp 0x14001c30e
movss xmm0, dword [rdi + 0x37dc]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x5c], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x37d0]
movsd qword [rax + 0x50], xmm0
test edx, edx
je 0x14001c364
test esi, 0x4010000
jne 0x14001c364
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x5c]
ucomiss xmm0, xmm10
jp 0x14001c369
jne 0x14001c369
bt esi, 0xa
jae 0x14001c358
movss xmm0, dword [rdi + 0x37d4]
jmp 0x14001c35b
xorps xmm0, xmm0
mov dword [rax + 0x50], r13d
movss dword [rax + 0x54], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x50]
movzx r13d, byte [rsp + 0x4a]
maxss xmm0, dword [rdi + 0x3814]
maxss xmm0, dword [rdi + 0x482c]
movss dword [rax + 0x164], xmm0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x4830]
mov dword [rax + 0x168], ecx
test sil, 0x21
jne 0x14001c43d
mov rbx, qword [rsp + 0x40]
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.14002d888
cmp qword [rdi + 0x3ee8], rbx
jne 0x14001c408
cmp dword [rdi + 0x3f2c], 0
jne 0x14001c408
cmp dword [rdi + 0x3f30], 0
jne 0x14001c408
mov r8d, 1
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x70]
call fcn.1400245f0
mov edx, 1
test al, al
je 0x14001c40d
lea eax, [rdx + 1]
cmp word [rdi + 0x374a], ax
jne 0x14001c40d
mov byte [rbx + 0xba], dl
mov rbx, qword [rsp + 0x40]
jmp 0x14001c40d
mov edx, 1
cmp byte [rbx + 0xba], 0
je 0x14001c44e
cmp byte [rbx + 0xb9], 0
sete al
mov byte [rbx + 0xb9], al
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xb9], 0
cmove r13d, edx
call fcn.140025498
jmp 0x14001c449
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb9], 0
mov rbx, qword [rsp + 0x40]
mov byte [rbx + 0xba], 0
xor ebx, ebx
mov rax, qword [rsp + 0x40]
lea r8d, [rbx + 1]
movss xmm8, dword [rax + 0xac]
movss xmm9, dword [rax + 0xb0]
mov dword [rax + 0x60], ebx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x68], ebx
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax]
lea rcx, [rdx + 0x3c1c]
test byte [rax + 0x14], r8b
je 0x14001c497
xorps xmm2, xmm2
jmp 0x14001c4c8
mov r8, qword [rax + 0x368]
movss xmm0, dword [rax + 0x290]
mulss xmm0, dword [rcx]
test r8, r8
je 0x14001c4b8
mulss xmm0, dword [r8 + 0x290]
movss xmm2, dword [rdx + 0x3808]
addss xmm2, xmm2
addss xmm2, xmm0
test dword [rax + 0x14], 0x400
je 0x14001c50b
movss xmm1, dword [rax + 0x290]
mulss xmm1, dword [rcx]
mov rcx, qword [rax + 0x368]
test rcx, rcx
je 0x14001c4f1
mulss xmm1, dword [rcx + 0x290]
movss xmm0, dword [rdx + 0x3808]
addss xmm1, dword [rax + 0x168]
addss xmm0, xmm0
addss xmm1, xmm0
jmp 0x14001c50e
xorps xmm1, xmm1
addss xmm1, xmm2
lea rcx, [rsp + 0x58]
movss dword [rax + 0x64], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x6c], ebx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xac], ebx
movss dword [rax + 0xb0], xmm10
mov rdx, qword [rsp + 0x40]
lea r8, [rdx + 0x40]
call fcn.14001eba8
mov rdx, qword [rsp + 0x40]
mov eax, esi
and eax, 0x40
mov dword [rbp - 0x3c], eax
je 0x14001c597
cmp byte [rdx + 0xb9], bl
jne 0x14001c597
mov ecx, 1
test r14b, r14b
jne 0x14001c57b
movss xmm0, dword [rsp + 0x58]
movss dword [rdx + 0x30], xmm0
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x4a], cl
test r15b, r15b
jne 0x14001c635
movss xmm0, dword [rsp + 0x5c]
mov r13b, cl
movss dword [rdx + 0x34], xmm0
jmp 0x14001c630
mov al, byte [rdx + 0xd0]
test al, al
jg 0x14001c5ad
cmp byte [rdx + 0xd1], bl
jle 0x14001c635
test r14b, r14b
jne 0x14001c5e6
test al, al
jle 0x14001c5e6
cmp byte [rdx + 0xd3], bl
je 0x14001c5cb
movss xmm0, dword [rdx + 0x30]
maxss xmm0, dword [rsp + 0x58]
jmp 0x14001c5d1
movss xmm0, dword [rsp + 0x58]
mov ecx, 1
movss dword [rdx + 0x30], xmm0
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x4a], cl
jmp 0x14001c5eb
mov ecx, 1
test r15b, r15b
jne 0x14001c620
cmp byte [rdx + 0xd1], bl
jle 0x14001c620
cmp byte [rdx + 0xd3], bl
je 0x14001c60d
movss xmm0, dword [rdx + 0x34]
maxss xmm0, dword [rsp + 0x5c]
jmp 0x14001c613
movss xmm0, dword [rsp + 0x5c]
movss dword [rdx + 0x34], xmm0
mov r13b, cl
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + 0xb9], bl
jne 0x14001c635
mov rcx, rdx
call fcn.140025498
mov rdx, qword [rsp + 0x40]
lea r8, [rdx + 0x30]
lea rcx, [rsp + 0x60]
call fcn.14001ef6c
mov r15d, dword [rsp + 0x50]
xor r9d, r9d
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x30], xmm0
movss dword [rax + 0x34], xmm1
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0xb9], r9b
je 0x14001c6a6
test r15d, r15d
jne 0x14001c6a6
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.14002d888
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 + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
jmp 0x14001c6b1
movsd xmm0, qword [rbx + 0x30]
movsd qword [rsp + 0x60], xmm0
mov r8d, dword [rsp + 0x4c]
lea rax, [rsp + 0x60]
movsd xmm0, qword [rax]
mov r14b, byte [rsp + 0x49]
movsd qword [rbx + 0x28], xmm0
mov bl, byte [rsp + 0x48]
test bl, bl
je 0x14001c71a
mov rax, qword [rsp + 0x40]
or dword [rax + 0xd4], 0xffffffff
test r8d, r8d
je 0x14001c71a
bt esi, 0x1b
jb 0x14001c71a
test r14b, r14b
jne 0x14001c71a
movsxd rax, dword [rdi + 0x48a8]
imul rcx, rax, 0x38
mov rax, qword [rdi + 0x48b0]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x20], xmm0
movss dword [rax + 0x24], xmm1
test r15d, r15d
je 0x14001c7e9
mov rax, qword [rsp + 0x40]
mov rbx, qword [rbp - 0x58]
lea rcx, [rbx + 0x190]
movzx edx, word [rcx]
mov word [rax + 0xc6], dx
lea rdx, [rsp + 0x40]
call fcn.140030da4
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov r15d, dword [rsp + 0x54]
test r8d, r8d
jne 0x14001c779
test r14b, r14b
jne 0x14001c779
cmp r15d, 0x3000000
je 0x14001c779
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rbx + 0x100]
movsd qword [rax + 0x20], xmm0
mov bl, byte [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movss xmm12, dword [0x14006f3d8]
movss xmm1, dword [rcx + 0xe0]
ucomiss xmm1, xmm12
jp 0x14001c79b
je 0x14001c7f0
cmp byte [rcx + 0xd9], r9b
jne 0x14001c7f0
movss xmm0, dword [rcx + 0xe8]
lea rdx, [rsp + 0x60]
mulss xmm0, dword [rcx + 0x28]
xor r8d, r8d
subss xmm1, xmm0
movss xmm0, dword [rcx + 0xe4]
movss dword [rsp + 0x60], xmm1
movss xmm1, dword [rcx + 0xec]
mulss xmm1, dword [rcx + 0x2c]
subss xmm0, xmm1
movss dword [rsp + 0x64], xmm0
call fcn.14002cf98
jmp 0x14001c840
mov r15d, dword [rsp + 0x54]
jmp 0x14001c77d
cmp dword [rbp - 0x40], r9d
jne 0x14001c81b
test r8d, r8d
je 0x14001c807
test r14b, r14b
jne 0x14001c807
cmp byte [rsp + 0x4b], r9b
jg 0x14001c81b
bt esi, 0x19
jae 0x14001c84d
test r14b, r14b
jne 0x14001c84d
cmp r15d, 0x3000000
je 0x14001c84d
mov rdx, rcx
lea rcx, [rsp + 0x60]
call fcn.140020e6c
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x20], xmm0
movss dword [rax + 0x24], xmm1
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
movss xmm6, dword [r12 + 4]
movss xmm7, dword [r12 + 8]
movaps xmm3, xmm6
movss xmm5, dword [r12 + 0x14]
movaps xmm2, xmm7
movss xmm4, dword [r12 + 0x18]
movss xmm1, dword [rdi + 0x388c]
movss xmm0, dword [rdi + 0x3888]
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
maxss xmm1, dword [rdi + 0x3894]
maxss xmm0, dword [rdi + 0x3890]
addss xmm5, dword [r12 + 0x1c]
addss xmm4, dword [r12 + 0x20]
addss xmm3, dword [r12 + 0xc]
addss xmm2, dword [r12 + 0x10]
subss xmm5, xmm0
subss xmm4, xmm1
movss dword [rbp - 0x68], xmm3
movss dword [rbp - 0x64], xmm2
addss xmm0, dword [r12 + 0x14]
movss dword [rsp + 0x68], xmm5
movss dword [rsp + 0x6c], xmm4
addss xmm1, dword [r12 + 0x18]
mov r12d, dword [rsp + 0x50]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
test r14b, r14b
jne 0x14001c9a7
test r12d, r12d
jne 0x14001c9a7
subss xmm3, xmm6
comiss xmm3, xmm10
jbe 0x14001c9a7
subss xmm2, xmm7
comiss xmm2, xmm10
jbe 0x14001c9a7
mov rax, qword [0x14009cdd8]
movss xmm2, dword [rcx + 0x2c]
cmp byte [rax + 0x5f], r9b
je 0x14001c973
lea eax, [r12 + 1]
test byte [rcx + 0x14], al
jne 0x14001c973
mov rdx, qword [rcx]
mov rax, qword [rcx + 0x368]
movss xmm3, dword [rdx + 0x3c1c]
mulss xmm3, dword [rcx + 0x290]
test rax, rax
je 0x14001c963
mulss xmm3, dword [rax + 0x290]
movss xmm2, dword [rdx + 0x3808]
addss xmm2, xmm2
addss xmm2, xmm3
subss xmm0, dword [rcx + 0x28]
subss xmm1, xmm2
comiss xmm1, dword [rcx + 0x24]
ja 0x14001c98a
movaps xmm1, xmm4
minss xmm1, dword [rcx + 0x24]
comiss xmm0, dword [rcx + 0x20]
ja 0x14001c998
movaps xmm0, xmm5
minss xmm0, dword [rcx + 0x20]
movss dword [rcx + 0x20], xmm0
movss dword [rcx + 0x24], xmm1
mov rcx, qword [rsp + 0x40]
cvttss2si eax, dword [rcx + 0x20]
movd xmm1, eax
cvttss2si eax, dword [rcx + 0x24]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rcx + 0x20], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x24], xmm0
test r12d, r12d
je 0x14001c9d8
movss xmm0, dword [rdi + 0x37f4]
jmp 0x14001c9f8
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x14001c9f0
movss xmm0, dword [rdi + 0x37fc]
jmp 0x14001c9f8
movss xmm0, dword [rdi + 0x37d8]
mov rax, qword [rsp + 0x40]
movzx r14d, r9b
movss dword [rax + 0x58], xmm0
test bl, bl
je 0x14001ca29
bt esi, 0xc
jb 0x14001ca29
test r8d, r8d
je 0x14001ca1d
mov r14d, 1
jmp 0x14001ca29
test r15d, r15d
mov eax, 1
cmove r14d, eax
mov rcx, qword [rsp + 0x40]
xorps xmm0, xmm0
movss xmm1, dword [rdi + 0x3c18]
or dword [rsp + 0x50], 0xffffffff
movaps xmm2, xmm1
mov al, byte [rdi + 0x5e]
mulss xmm1, dword [0x14006f378]
neg al
mulss xmm2, dword [0x14006f3ac]
sbb r15d, r15d
neg r15d
movups xmmword [rbp + 0x40], xmm0
inc r15d
movss xmm0, dword [rcx + 0x58]
addss xmm0, dword [0x140069efc]
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm11, eax
cvtdq2ps xmm11, xmm11
cmp byte [rcx + 0xb9], r9b
jne 0x14001caca
lea rax, [rsp + 0x60]
mov r9d, r15d
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x50]
lea rax, [rbp + 0x40]
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.14002f540
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
test al, al
je 0x14001caca
lea eax, [r9 + 1]
mov r13b, al
mov dl, al
jmp 0x14001cace
mov dl, byte [rsp + 0x4a]
mov al, byte [rsp + 0x50]
mov byte [rcx + 0xc1], al
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0xb9], r9b
jne 0x14001cc8a
movss xmm0, dword [rbx + 0x6c]
movss xmm2, dword [rbx + 0x200]
movss xmm3, dword [rbx + 0x204]
addss xmm0, dword [rbx + 0x64]
subss xmm2, dword [rbx + 0x1f8]
subss xmm3, dword [rbx + 0x1fc]
movss xmm4, dword [rbx + 0x34]
movss xmm5, dword [rbx + 0x30]
subss xmm4, xmm0
addss xmm2, xmm8
addss xmm3, xmm9
cmp qword [rsp + 0x78], r9
jne 0x14001cb41
and dword [rbp - 0x38], 0
lea rax, [rbp - 0x38]
and dword [rbp - 0x34], 0
jmp 0x14001cb6e
movss xmm0, dword [rbx + 0x50]
lea rax, [rsp + 0x60]
movss xmm1, dword [rbx + 0x54]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rbx + 0x38]
addss xmm1, dword [rbx + 0x3c]
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm1
movss xmm6, dword [rax]
movss xmm1, dword [rax + 4]
test dl, dl
jne 0x14001cb7e
movaps xmm5, xmm2
test r13b, r13b
jne 0x14001cb86
movaps xmm4, xmm3
bt esi, 0xe
jb 0x14001cba1
comiss xmm1, xmm4
jbe 0x14001cb97
test sil, 8
je 0x14001cba1
mov al, r9b
mov edx, 1
jmp 0x14001cba8
mov edx, 1
mov al, dl
mov byte [rbx + 0xb5], al
bt esi, 0xf
jb 0x14001cbe1
test al, al
je 0x14001cbc2
movss xmm0, dword [rdi + 0x383c]
jmp 0x14001cbc5
xorps xmm0, xmm0
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x14001cbdc
mov eax, esi
and eax, 0x808
cmp eax, 0x800
je 0x14001cbe1
mov cl, r9b
jmp 0x14001cbe3
mov cl, dl
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb4], cl
mov rax, qword [rsp + 0x40]
test cl, cl
je 0x14001cc1b
cmp byte [rax + 0xb5], r9b
jne 0x14001cc1b
comiss xmm1, xmm4
jbe 0x14001cc0d
mov cl, dl
test sil, 8
je 0x14001cc10
mov cl, r9b
mov byte [rax + 0xb5], cl
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0xb4], r9b
je 0x14001cc2e
movss xmm1, dword [rdi + 0x383c]
jmp 0x14001cc31
xorps xmm1, xmm1
cmp byte [rax + 0xb5], r9b
je 0x14001cc44
movss xmm0, dword [rdi + 0x383c]
jmp 0x14001cc47
xorps xmm0, xmm0
movss dword [rax + 0xac], xmm0
movss dword [rax + 0xb0], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xac]
addss xmm0, dword [rax + 0x68]
movss dword [rax + 0x68], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xb0]
addss xmm0, dword [rax + 0x6c]
movss dword [rax + 0x6c], xmm0
mov rbx, qword [rsp + 0x40]
mov eax, esi
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x14001ccaf
cmp dword [rsp + 0x54], 0x3000000
je 0x14001ccaf
mov r13, qword [rbp - 0x58]
lea rax, [r13 + 0x238]
jmp 0x14001ccb7
mov r13, qword [rbp - 0x58]
lea rax, [rbp - 0x70]
movups xmm0, xmmword [rax]
lea rdx, [rbp - 0x50]
mov rcx, rbx
movdqu xmmword [rbp - 0x80], xmm0
movss xmm8, dword [rbx + 0x20]
movss xmm9, dword [rbx + 0x24]
movaps xmm7, xmm8
addss xmm7, dword [rbx + 0x28]
movaps xmm6, xmm9
addss xmm6, dword [rbx + 0x2c]
call fcn.14002d888
movss dword [rbx + 0x1e8], xmm8
mov r8d, 1
movss dword [rbx + 0x1ec], xmm9
movss dword [rbx + 0x1f0], xmm7
movss dword [rbx + 0x1f4], xmm6
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x1e8]
movss xmm0, dword [rax + 0x1ec]
maxss xmm1, dword [rbp - 0x80]
maxss xmm0, dword [rbp - 0x7c]
movss dword [rax + 0x1e8], xmm1
movss dword [rax + 0x1ec], xmm0
movss xmm1, dword [rax + 0x1f0]
movss xmm0, dword [rax + 0x1f4]
minss xmm1, dword [rbp - 0x78]
minss xmm0, dword [rbp - 0x74]
movss dword [rax + 0x1f0], xmm1
movss dword [rax + 0x1f4], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x60]
addss xmm0, dword [rax + 0x20]
movss dword [rax + 0x1f8], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x64]
addss xmm1, dword [rax + 0x24]
movss dword [rax + 0x1fc], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x28]
addss xmm0, dword [rax + 0x20]
subss xmm0, dword [rax + 0x68]
movss dword [rax + 0x200], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x2c]
addss xmm1, dword [rax + 0x24]
subss xmm1, dword [rax + 0x6c]
movss dword [rax + 0x204], xmm1
mov eax, esi
mov rcx, qword [rsp + 0x40]
and eax, 0x401
cmp eax, r8d
jne 0x14001cde8
movss xmm2, dword [rcx + 0x5c]
jmp 0x14001cdf0
movss xmm2, dword [rdi + 0x3810]
movss xmm0, dword [rcx + 0x50]
movss xmm3, dword [0x140069ef8]
mulss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rcx + 0x1f8]
addss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x5c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x208], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x1fc]
addss xmm1, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x20c], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x50]
movss xmm2, dword [rcx + 0x200]
mulss xmm0, xmm3
addss xmm2, xmm3
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x5c]
subss xmm2, xmm1
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x210], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x204]
addss xmm1, xmm3
subss xmm1, dword [rcx + 0x5c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x214], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rbp - 0x7c]
movss xmm0, dword [rax + 0x20c]
comiss xmm1, xmm0
ja 0x14001cee6
movss xmm1, dword [rbp - 0x74]
minss xmm1, xmm0
movss xmm2, dword [rax + 0x208]
movss xmm0, dword [rbp - 0x80]
comiss xmm0, xmm2
ja 0x14001cf01
movss xmm0, dword [rbp - 0x78]
minss xmm0, xmm2
movss dword [rax + 0x208], xmm0
movss dword [rax + 0x20c], xmm1
movss xmm0, dword [rax + 0x214]
movss xmm1, dword [rbp - 0x7c]
comiss xmm1, xmm0
ja 0x14001cf2c
movss xmm1, dword [rbp - 0x74]
minss xmm1, xmm0
movss xmm2, dword [rax + 0x210]
movss xmm0, dword [rbp - 0x80]
comiss xmm0, xmm2
ja 0x14001cf47
movss xmm0, dword [rbp - 0x78]
minss xmm0, xmm2
movss dword [rax + 0x210], xmm0
movss dword [rax + 0x214], xmm1
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x28]
comiss xmm0, xmm10
jbe 0x14001cf79
test esi, 0x2000040
jne 0x14001cf79
mulss xmm0, dword [0x14006f38c]
jmp 0x14001cf89
movss xmm0, dword [rdi + 0x3c18]
mulss xmm0, dword [0x14006d834]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x268], xmm0
lea rcx, [rsp + 0x60]
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x50]
movss xmm0, dword [rax + 0x200]
addss xmm1, xmm1
subss xmm0, dword [rax + 0x1f8]
addss xmm1, dword [rax + 0x38]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x8c], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x204]
subss xmm0, dword [rax + 0x1fc]
movss xmm1, dword [rax + 0x54]
addss xmm1, xmm1
addss xmm1, dword [rax + 0x3c]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x90], xmm0
mov rdx, qword [rsp + 0x40]
call fcn.14001e760
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x84], xmm0
movss dword [rax + 0x88], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x94], 0x7f7fffff
movss dword [rax + 0x98], xmm12
mov rax, qword [rsp + 0x40]
and dword [rax + 0x74], 0
mov rax, qword [rsp + 0x40]
and dword [rax + 0x70], 0
mov rax, qword [rdi + 0x3c10]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x40]
mov rcx, qword [rcx + 0x298]
mov rdx, qword [rdx + 8]
call fcn.140037478
xor r8d, r8d
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.140029938
xor r9d, r9d
mov bl, r9b
test r12d, r12d
je 0x14001d166
cmp dword [rsp + 0x4c], r9d
jne 0x14001d166
cmp dword [rsp + 0x54], 0x3000000
je 0x14001d166
movsxd rax, dword [r13 + 0x190]
mov r10, qword [rsp + 0x40]
cmp eax, 2
jl 0x14001d128
mov rcx, rax
mov rax, qword [r13 + 0x198]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x14001d128
movss xmm0, dword [rdx + 0x24]
addss xmm0, dword [rdx + 0x2c]
movss xmm2, dword [rdx + 0x20]
movss xmm3, dword [r10 + 0x20]
movss xmm1, dword [r10 + 0x24]
addss xmm2, dword [rdx + 0x28]
comiss xmm0, dword [r10 + 0x24]
addss xmm3, dword [r10 + 0x28]
addss xmm1, dword [r10 + 0x2c]
jbe 0x14001d128
comiss xmm1, dword [rdx + 0x24]
jbe 0x14001d128
comiss xmm2, dword [r10 + 0x20]
jbe 0x14001d128
comiss xmm3, dword [rdx + 0x20]
jbe 0x14001d128
lea r8d, [r9 + 1]
jmp 0x14001d12b
mov r8b, r9b
mov rdx, qword [r10 + 0x298]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], r9d
mov ecx, 1
jne 0x14001d170
mov rax, qword [r13 + 0x298]
cmp dword [rax + 0x20], r9d
je 0x14001d170
test r8b, r8b
jne 0x14001d170
mov bl, cl
mov qword [r10 + 0x298], rax
jmp 0x14001d16b
mov ecx, 1
mov r10, qword [rsp + 0x40]
mov rax, qword [rdi + 0x4ac0]
test rax, rax
jne 0x14001d183
mov rax, qword [rdi + 0x48e0]
test r14b, r14b
jne 0x14001d1a2
test rax, rax
je 0x14001d19d
mov rax, qword [rax + 0x388]
cmp qword [r10 + 0x388], rax
je 0x14001d1a2
mov r8b, r9b
jmp 0x14001d1a5
mov r8b, cl
movss dword [rsp + 0x30], xmm11
lea rax, [rbp + 0x40]
mov r9b, cl
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x50]
mov dword [rsp + 0x20], r15d
mov rcx, r10
call fcn.14002af18
xor r15d, r15d
test bl, bl
je 0x14001d1e3
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 0x2a0]
mov qword [rcx + 0x298], rax
mov rcx, qword [rsp + 0x40]
mov edx, esi
shr edx, 3
mov ebx, 1
not dl
and dl, bl
movss xmm3, dword [rcx + 0x48]
ucomiss xmm3, xmm10
jp 0x14001d23f
jne 0x14001d23f
movss xmm0, dword [rcx + 0x50]
mov eax, esi
movss xmm1, dword [rcx + 0x28]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rcx + 0x68]
addss xmm0, dword [rcx + 0x60]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x14001d238
movss xmm3, dword [rcx + 0x38]
jmp 0x14001d23b
xorps xmm3, xmm3
maxss xmm3, xmm1
movss xmm2, dword [rcx + 0x4c]
ucomiss xmm2, xmm10
jp 0x14001d27e
jne 0x14001d27e
movss xmm0, dword [rcx + 0x54]
movss xmm1, dword [rcx + 0x2c]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rcx + 0x6c]
addss xmm0, dword [rcx + 0x64]
subss xmm1, xmm0
test dl, dl
je 0x14001d277
movss xmm2, dword [rcx + 0x3c]
jmp 0x14001d27a
xorps xmm2, xmm2
maxss xmm2, xmm1
movss xmm1, dword [rcx + 0x50]
maxss xmm1, dword [rcx + 0x5c]
movss xmm0, dword [rcx + 0x1f8]
subss xmm0, dword [rcx + 0x84]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x218], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x54]
maxss xmm1, dword [rcx + 0x5c]
movss xmm0, dword [rcx + 0x1fc]
subss xmm0, dword [rcx + 0x88]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x21c], xmm0
mov rax, qword [rsp + 0x40]
addss xmm3, dword [rax + 0x218]
movss dword [rax + 0x220], xmm3
mov rax, qword [rsp + 0x40]
addss xmm2, dword [rax + 0x21c]
movss dword [rax + 0x224], xmm2
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rax + 0x218]
movdqu xmmword [rax + 0x228], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x20]
subss xmm1, dword [rax + 0x84]
addss xmm1, dword [rax + 0x50]
addss xmm1, dword [rax + 0x60]
movss dword [rax + 0x248], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x24]
subss xmm0, dword [rax + 0x88]
addss xmm0, dword [rax + 0x54]
addss xmm0, dword [rax + 0x64]
movss dword [rax + 0x24c], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x48]
ucomiss xmm1, xmm10
jp 0x14001d39d
jne 0x14001d39d
movss xmm0, dword [rax + 0x50]
movss xmm1, dword [rax + 0x28]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rax + 0x68]
addss xmm0, dword [rax + 0x60]
subss xmm1, xmm0
addss xmm1, dword [rax + 0x248]
movss dword [rax + 0x250], xmm1
mov rax, qword [rsp + 0x40]
movss xmm2, dword [rax + 0x4c]
ucomiss xmm2, xmm10
jp 0x14001d3df
jne 0x14001d3df
movss xmm0, dword [rax + 0x54]
movss xmm2, dword [rax + 0x2c]
addss xmm0, xmm0
subss xmm2, xmm0
movss xmm0, dword [rax + 0x6c]
addss xmm0, dword [rax + 0x64]
subss xmm2, xmm0
addss xmm2, dword [rax + 0x24c]
movss dword [rax + 0x254], xmm2
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x60]
addss xmm0, dword [rax + 0x50]
subss xmm0, dword [rax + 0x84]
movss dword [rax + 0x144], xmm0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x14c], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x148], r15d
mov rax, qword [rsp + 0x40]
movss xmm2, dword [rax + 0x50]
movss xmm0, dword [rax + 0x20]
movss xmm1, dword [rax + 0x84]
movss xmm3, dword [rax + 0x54]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x60]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rax + 0x148]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x24]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
movss xmm1, dword [rax + 0x88]
addsd xmm3, xmm0
movss xmm0, dword [rax + 0x64]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rax + 0x110], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rax + 0x114], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x110]
movss xmm1, dword [rax + 0x114]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rax + 0x150], xmm2
movss dword [rax + 0x154], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x110]
movsd qword [rax + 0x100], xmm0
mov rax, qword [rsp + 0x40]
movsd qword [rax + 0x108], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x110]
movsd qword [rax + 0x118], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm1, qword [rax + 0x110]
movsd qword [rax + 0x120], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x130], r15d
movss dword [rax + 0x134], xmm10
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x130]
movsd qword [rax + 0x128], xmm0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x13c], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x138], r15d
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x141], r15b
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x140], r15b
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x158], r15d
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx + 0x15e]
mov r8b, byte [rsp + 0x48]
mov word [rcx + 0x15c], ax
mov rax, qword [rsp + 0x40]
mov word [rax + 0x15e], r15w
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x160], bl
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x161], r15b
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x90]
comiss xmm0, xmm10
seta al
mov byte [rcx + 0x162], al
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x163], r15b
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rdi + 0x3814]
add rcx, 0x16c
call fcn.140056b64
mov rax, qword [rsp + 0x40]
xor edx, edx
mov dword [rax + 0x188], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x18c], r15d
mov rcx, qword [rsp + 0x40]
add rcx, 0x190
call fcn.140031588
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 0x270]
mov qword [rcx + 0x1a0], rax
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x1a8], r15
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x1b4], ebx
test r13, r13
je 0x14001d67b
mov ecx, dword [r13 + 0x1b4]
jmp 0x14001d67d
mov ecx, ebx
mov rax, qword [rsp + 0x40]
xor edx, edx
mov dword [rax + 0x1b8], ecx
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + 0x268]
mov dword [rcx + 0x1bc], eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x1c0], 0xbf800000
mov rcx, qword [rsp + 0x40]
add rcx, 0x1c8
call fcn.1400314f8
mov rcx, qword [rsp + 0x40]
xor edx, edx
add rcx, 0x1d8
call fcn.1400314f8
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xd0]
test cl, cl
jle 0x14001d6ea
sub cl, bl
mov byte [rax + 0xd0], cl
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xd1]
test cl, cl
jle 0x14001d701
sub cl, bl
mov byte [rax + 0xd1], cl
mov rax, qword [rsp + 0x40]
test r14b, r14b
je 0x14001d730
mov edx, 2
mov rcx, rax
call fcn.140021a38
mov rax, qword [rsp + 0x40]
cmp rax, qword [rdi + 0x48e0]
jne 0x14001d730
xor edx, edx
mov rcx, rax
call fcn.140025b04
mov rax, qword [rsp + 0x40]
mov r14d, ebx
test r14b, sil
jne 0x14001d783
movss xmm0, dword [rbp - 0x50]
lea rdx, [rbp - 0x70]
addss xmm0, dword [rax + 0x5c]
movss xmm1, dword [rbp - 0x48]
mov rcx, rax
subss xmm1, dword [rax + 0x5c]
mov r9, qword [rbp - 0x30]
mov r8, qword [rbp - 0x28]
movss dword [rbp - 0x70], xmm0
movss xmm0, dword [rbp - 0x4c]
movss dword [rbp - 0x6c], xmm0
movss xmm0, dword [rbp - 0x44]
movss dword [rbp - 0x64], xmm0
movss dword [rbp - 0x68], xmm1
call fcn.14002b7d0
mov rax, qword [rsp + 0x40]
mov word [rax + 0x25a], r15w
lea rdx, [rbp - 0x48]
mov rax, qword [rsp + 0x40]
lea rcx, [rbp - 0x50]
xor r8d, r8d
mov word [rax + 0x258], r15w
call fcn.1400245f0
mov edx, dword [rdi + 0x4760]
lea r9, [rbp - 0x50]
movzx r8d, al
mov rax, qword [rsp + 0x40]
mov ecx, dword [rax + 0x7c]
call fcn.14002c98c
mov eax, dword [rdi + 0x4764]
mov rcx, qword [rsp + 0x40]
test eax, eax
je 0x14001d7e6
cmp dword [rcx + 0x10], eax
je 0x14001d7dc
cmp dword [rcx + 0x7c], eax
jne 0x14001d7e6
call fcn.14001ff38
mov rcx, qword [rsp + 0x40]
mov ebx, dword [rbp - 0x3c]
jmp 0x14001d80b
call fcn.14002c494
mov rcx, qword [rsp + 0x40]
mov r12d, esi
mov ebx, esi
and r12d, 0x1000000
and ebx, 0x40
xor r15d, r15d
lea r14d, [r15 + 1]
lea rdx, [rcx + 0x210]
mov r8b, r14b
add rcx, 0x208
call fcn.140029938
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb8], r15b
mov rax, qword [rsp + 0x40]
add word [rax + 0xc2], r14w
mov eax, dword [rsp + 0x70]
mov dword [rdi + 0x47c8], r15d
cmp eax, dword [rbp - 0x60]
je 0x14001d9ca
mov rcx, qword [rsp + 0x40]
test r12d, r12d
je 0x14001d91f
test ebx, ebx
jne 0x14001d8de
cmp byte [rcx + 0xd0], r15b
jg 0x14001d8de
cmp byte [rcx + 0xd1], r15b
jg 0x14001d8de
bt esi, 0x17
jae 0x14001d8a0
cmp byte [rdi + 0x492c], r15b
je 0x14001d8a0
mov rdx, qword [rdi + 0x48e0]
test rdx, rdx
je 0x14001d8a0
mov rax, qword [rcx + 0x390]
cmp qword [rdx + 0x390], rax
mov al, r14b
je 0x14001d8a3
mov al, r15b
cmp byte [rdi + 0x5d78], r15b
jne 0x14001d8de
test al, al
jne 0x14001d8de
movss xmm0, dword [rcx + 0x1e8]
comiss xmm0, dword [rcx + 0x1f0]
jae 0x14001d8d2
movss xmm0, dword [rcx + 0x1ec]
comiss xmm0, dword [rcx + 0x1f4]
jb 0x14001d8de
mov byte [rcx + 0xd8], r14b
mov rcx, qword [rsp + 0x40]
test r13, r13
je 0x14001d91f
cmp byte [r13 + 0xb9], r15b
jne 0x14001d8f5
cmp byte [r13 + 0xd8], r15b
jle 0x14001d901
mov byte [rcx + 0xd8], r14b
mov rcx, qword [rsp + 0x40]
cmp byte [r13 + 0xb9], r15b
jne 0x14001d913
cmp byte [r13 + 0xd9], r15b
jle 0x14001d91f
mov byte [rcx + 0xd9], r14b
mov rcx, qword [rsp + 0x40]
comiss xmm10, dword [rdi + 0x37c8]
jb 0x14001d935
mov byte [rcx + 0xd8], r14b
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xd8], r15b
jg 0x14001d958
cmp byte [rcx + 0xd9], r15b
jg 0x14001d958
mov dl, r15b
cmp byte [rcx + 0xda], r15b
jg 0x14001d95b
mov al, r15b
jmp 0x14001d95e
mov dl, r14b
mov al, r14b
mov byte [rcx + 0xbd], al
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xdb]
test cl, cl
jle 0x14001d98d
sub cl, r14b
mov byte [rax + 0xdb], cl
mov rax, qword [rsp + 0x40]
or dword [rax + 0x14], 0xc0200
mov rax, qword [rsp + 0x40]
movzx ecx, r15b
cmp byte [rax + 0xb9], r15b
jne 0x14001d9a7
cmp byte [rax + 0xb6], r15b
je 0x14001d9a7
test dl, dl
je 0x14001d9c4
cmp byte [rax + 0xd0], r15b
jg 0x14001d9c4
cmp byte [rax + 0xd1], r15b
jg 0x14001d9c4
cmp byte [rax + 0xd9], r15b
cmovle ecx, r14d
mov byte [rax + 0xbb], cl
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xbe], r15b
jne 0x14001da29
cmp byte [rdi + 0x78], r15b
je 0x14001d9e5
cmp qword [rsp + 0x78], r15
je 0x14001d9fa
cmp byte [rdi + 0x79], r15b
je 0x14001da29
movsx eax, byte [rdi + 0x5dea]
cmp eax, dword [rdi + 0x3eb0]
jne 0x14001da29
mov al, byte [rcx + 0xd0]
test al, al
jle 0x14001da12
add al, r14b
mov byte [rcx + 0xd0], al
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd1]
test al, al
jle 0x14001da25
add al, r14b
mov byte [rcx + 0xd1], al
xor al, al
jmp 0x14001da33
cmp byte [rcx + 0xbb], r15b
sete al
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140066800
lea r11, [rsp + 0x1d0]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret