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

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x6f8
mov rax, qword [0x140159340]
xor rax, rsp
mov qword [rsp + 0x6e8], rax
call fcn.140037200
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
movzx eax, byte [rax + 0xbb]
test eax, eax
je 0x14009a536
xor al, al
jmp 0x14009ee62
mov rax, qword [0x14017f440]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
add rax, 8
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x70]
add rax, 0x37d0
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x150], 0
mov eax, dword [rsp + 0x738]
and eax, 0x4000000
test eax, eax
je 0x14009a588
mov byte [rsp + 0xc4], 1
jmp 0x14009a590
mov byte [rsp + 0xc4], 0
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x738]
and eax, 0x4000
test eax, eax
je 0x14009a5b6
mov byte [rsp + 0xc5], 1
jmp 0x14009a5be
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x738]
and eax, 0x8000
test eax, eax
je 0x14009a5e4
mov byte [rsp + 0xc6], 1
jmp 0x14009a5ec
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0x7e], al
mov eax, dword [rsp + 0x738]
and eax, 0x10000
test eax, eax
jne 0x14009a612
mov byte [rsp + 0xc7], 1
jmp 0x14009a61a
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0xb8], al
mov eax, dword [rsp + 0x738]
and eax, 0x40000
test eax, eax
je 0x14009a643
mov byte [rsp + 0xc8], 1
jmp 0x14009a64b
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009a670
call fcn.1400545e0
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
mov rcx, qword [rsp + 0x118]
call fcn.1400401d0
mov dword [rsp + 0x64], eax
vmovss xmm0, dword [0x1401486dc]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
lea rcx, [rsp + 0x630]
call fcn.140044730
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009a6de
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x3c20]
vmulss xmm0, xmm0, dword [0x140148530]
vmovss dword [rsp + 0x200], xmm0
jmp 0x14009a6f0
vmovss xmm0, dword [rsp + 0x634]
vmovss dword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x140148498]
vmovss xmm1, dword [rsp + 0x200]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x284], xmm0
call fcn.140054230
vmovss dword [rsp + 0x280], xmm0
mov rax, qword [rsp + 0x730]
mov rax, qword [rax]
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x3d0], rax
vmovss xmm3, dword [rsp + 0x284]
vmovss xmm2, dword [rsp + 0x280]
mov rdx, qword [rsp + 0x3d0]
lea rcx, [rsp + 0x640]
call fcn.140054300
vmovss xmm0, dword [rsp + 0x644]
vmovss dword [rsp + 0x27c], xmm0
vmovss xmm0, dword [rsp + 0x630]
vcomiss xmm0, dword [0x1401480b0]
jbe 0x14009a7b9
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x54]
vaddss xmm0, xmm0, dword [rsp + 0x630]
vmovss dword [rsp + 0x204], xmm0
jmp 0x14009a7c6
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x204], xmm0
vmovss xmm0, dword [rsp + 0x640]
vaddss xmm0, xmm0, dword [rsp + 0x204]
vmovss xmm2, dword [rsp + 0x27c]
vmovups xmm1, xmm0
lea rcx, [rsp + 0x690]
call fcn.14000b210
mov rax, qword [rsp + 0x118]
add rax, 0x100
lea r8, [rsp + 0x640]
mov rdx, rax
lea rcx, [rsp + 0x4a8]
call fcn.1400334f0
mov rcx, qword [rsp + 0x118]
add rcx, 0x100
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x528]
call fcn.1400343e0
lea r8, [rsp + 0x690]
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x4b0]
call fcn.1400334f0
mov r8, rax
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x668]
call fcn.1400343e0
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x518], rax
mov dword [rsp + 0x14c], 0
lea rcx, [rsp + 0x6a8]
call fcn.140035070
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009aae3
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x688], rax
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x668]
call fcn.140089e00
mov r9d, 0x400
lea r8, [rsp + 0x528]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x668]
call fcn.140053940
movzx eax, al
test eax, eax
jne 0x14009a917
call fcn.1400547e0
xor al, al
jmp 0x14009ee62
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x479c]
mov dword [rsp + 0x14c], eax
lea rax, [rsp + 0x6a8]
mov rcx, qword [rsp + 0x70]
mov rdi, rax
lea rsi, [rcx + 0x4794]
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x688]
mov qword [rax + 0x100], rcx
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xe8]
mov rdx, rax
mov ecx, 3
call fcn.14003d330
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.14003d4c0
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.14003d4c0
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x4b8]
call fcn.14000b210
mov rdx, rax
mov ecx, 2
call fcn.14003d570
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x528]
call fcn.140034560
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x710]
call fcn.140044eb0
mov byte [rsp + 0xed], al
mov ecx, 3
call fcn.14003d620
mov ecx, 1
call fcn.14003d3f0
movzx eax, byte [rsp + 0xed]
test eax, eax
jne 0x14009aa40
call fcn.140045280
call fcn.1400547e0
xor al, al
jmp 0x14009ee62
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3ef8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 0x158]
mov ecx, 1
mov dword [rsp + 0x2b0], ecx
movzx ecx, al
mov eax, dword [rsp + 0x2b0]
shl eax, cl
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x15e]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x15e], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xd0]
add rcx, 0x100
mov rdx, rax
call fcn.140033670
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x518]
vsubss xmm0, xmm0, dword [rax + 0xac]
vmovss dword [rsp + 0x518], xmm0
jmp 0x14009ab4c
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x668]
call fcn.140089e00
mov eax, dword [rsp + 0x738]
and eax, 0x10000000
test eax, eax
jne 0x14009ab3a
mov r9d, 0x400
lea r8, [rsp + 0x528]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x668]
call fcn.140053940
movzx eax, al
test eax, eax
jne 0x14009ab3a
xor al, al
jmp 0x14009ee62
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x479c]
mov dword [rsp + 0x14c], eax
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x528]
call fcn.140040df0
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009ab7f
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x4a98], 1
mov ecx, dword [rsp + 0x64]
call fcn.14008dc90
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x14c]
and eax, 0x100
test eax, eax
je 0x14009aba7
mov byte [rsp + 0xc9], 1
jmp 0x14009abaf
mov byte [rsp + 0xc9], 0
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0xaa], al
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x14009ac0a
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x48e8], ecx
jne 0x14009ac0a
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48f4]
and eax, 1
test eax, eax
jne 0x14009ac00
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x490c], 2
jne 0x14009ac0a
mov byte [rsp + 0xca], 1
jmp 0x14009ac12
mov byte [rsp + 0xca], 0
movzx eax, byte [rsp + 0xca]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009ac54
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x14009ac54
mov byte [rsp + 0xcb], 1
jmp 0x14009ac5c
mov byte [rsp + 0xcb], 0
movzx eax, byte [rsp + 0xcb]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009acb3
cmp qword [rsp + 0x58], 0
je 0x14009acb3
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x3f58], 0
jne 0x14009acb3
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14008fea0
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f88], eax
jne 0x14009acb3
mov byte [rsp + 0xa4], 1
jmp 0x14009acbb
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ad04
cmp qword [rsp + 0x58], 0
je 0x14009ad04
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14008fea0
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f58], eax
jne 0x14009ad04
mov byte [rsp + 0xa5], 1
jmp 0x14009ad0c
mov byte [rsp + 0xa5], 0
movzx eax, byte [rsp + 0xa5]
mov byte [rsp + 0xac], al
mov byte [rsp + 0x7a], 0
mov byte [rsp + 0x7c], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ad49
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x88]
vmovss dword [rsp + 0x208], xmm0
jmp 0x14009ad5a
vmovss xmm0, dword [0x1401486ac]
vmovss dword [rsp + 0x208], xmm0
vmovss xmm0, dword [rsp + 0x208]
vmovss dword [rsp + 0xa0], xmm0
cmp qword [rsp + 0x58], 0
je 0x14009adb1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009ad8a
mov dword [rsp + 0x20c], 1
jmp 0x14009ad95
mov dword [rsp + 0x20c], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x6b]
cmp eax, dword [rsp + 0x20c]
je 0x14009adb1
mov byte [rsp + 0xa6], 1
jmp 0x14009adb9
mov byte [rsp + 0xa6], 0
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0xa9], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
jne 0x14009ae02
movzx eax, byte [rsp + 0xee]
test eax, eax
jne 0x14009ae02
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x14009ae02
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x14009ae02
mov byte [rsp + 0xa7], 0
jmp 0x14009ae0a
mov byte [rsp + 0xa7], 1
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x14009ae3b
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x14009ae3b
mov byte [rsp + 0xa8], 0
jmp 0x14009ae43
mov byte [rsp + 0xa8], 1
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0xab], al
movzx eax, byte [rsp + 0xab]
test eax, eax
je 0x14009ae6f
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009ae7f
movzx eax, byte [rsp + 0xa9]
test eax, eax
je 0x14009b182
mov rax, qword [rsp + 0x70]
add rax, 0x4c28
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.14008db00
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 8]
call fcn.14009a410
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x3e0], rax
mov qword [rsp + 0x240], 0xffffffffffffffff
inc qword [rsp + 0x240]
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rsp + 0x240]
cmp byte [rax + rcx], 0
jne 0x14009aec2
mov rax, qword [rsp + 0x240]
mov dword [rsp + 0x134], eax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x3e8], rax
mov eax, dword [rsp + 0x134]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3e8]
call fcn.140060fb0
mov eax, dword [rsp + 0x134]
inc eax
cdqe
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rcx + 0x40]
mov rsi, qword [rsp + 0x720]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 8], ecx
jne 0x14009af60
movzx eax, byte [rsp + 0xa9]
test eax, eax
jne 0x14009af60
mov dword [rsp + 0x170], 1
jmp 0x14009af6b
mov dword [rsp + 0x170], 0
movzx eax, byte [rsp + 0x170]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009afd2
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x134]
cmp dword [rax + 0x10], ecx
jne 0x14009afca
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x14009afd2
movsxd rax, dword [rsp + 0x134]
mov r8, rax
mov rdx, qword [rsp + 0x720]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x14009afd2
mov byte [rsp + 0x88], 0
mov qword [rsp + 0x5a8], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x64]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x18
mov qword [rsp + 0x3f0], rax
mov eax, dword [rsp + 0x728]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3f0]
call fcn.140060640
mov rax, qword [rsp + 0x58]
add rax, 0x28
mov qword [rsp + 0x3f8], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f8]
call fcn.140060fb0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x48], 0
lea rax, [rsp + 0x5a8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x720]
mov edx, dword [rsp + 0x728]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.14003a9b0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x720]
mov rcx, qword [rsp + 0x5a8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x10], eax
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009b0a7
mov rcx, qword [rsp + 0x58]
call fcn.14008db20
jmp 0x14009b0ee
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b0cb
mov dword [rsp + 0x174], 1
jmp 0x14009b0d6
mov dword [rsp + 0x174], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov edx, dword [rsp + 0x174]
mov rcx, rax
call fcn.140099ca0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b169
mov eax, dword [rsp + 0x738]
and eax, 0x10
test eax, eax
je 0x14009b10a
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x14009b139
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14009b134
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48f4]
and eax, 4
test eax, eax
jne 0x14009b139
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x14009b164
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x14009b169
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009b169
mov byte [rsp + 0x7c], 1
mov eax, dword [rsp + 0x738]
and eax, 0x2000
test eax, eax
je 0x14009b182
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x60], 1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x71]
mov byte [rsp + 0x79], al
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x14009b1e0
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x14009b1e0
mov rdx, qword [rsp + 0x118]
mov ecx, dword [rsp + 0x64]
call fcn.1400405e0
mov rdx, qword [rsp + 0x118]
mov ecx, dword [rsp + 0x64]
call fcn.1400578f0
xor edx, edx
mov rcx, qword [rsp + 0x118]
call fcn.14004d940
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009b2e5
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x14009b212
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x281
call fcn.1400531a0
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4768]
or eax, 3
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4768], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009b244
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x14009b25d
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4768]
or eax, 0xc
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4768], eax
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x207
call fcn.1400531a0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x208
call fcn.1400531a0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009b2aa
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x205
call fcn.1400531a0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x206
call fcn.1400531a0
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009b2c4
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x4000
call fcn.1400531a0
mov eax, dword [rsp + 0x738]
and eax, 0x440
test eax, eax
je 0x14009b2e5
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.14004f980
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009b303
cmp qword [rsp + 0x58], 0
jne 0x14009b303
call fcn.1400408c0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009b34e
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x14009b34e
movzx eax, byte [rsp + 0xab]
test eax, eax
jne 0x14009b34e
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x14009b34e
mov byte [rsp + 0x7a], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x14009b380
cmp qword [rsp + 0x58], 0
je 0x14009b373
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x14009b380
mov dword [rsp + 0x178], 0
jmp 0x14009b38b
mov dword [rsp + 0x178], 1
movzx eax, byte [rsp + 0x178]
mov byte [rsp + 0x68], al
cmp qword [rsp + 0x58], 0
je 0x14009b3d5
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
jne 0x14009b3b9
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x14009b3d5
xor eax, eax
test eax, eax
jne 0x14009b3c8
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009b3d5
mov dword [rsp + 0x17c], 1
jmp 0x14009b3e0
mov dword [rsp + 0x17c], 0
movzx eax, byte [rsp + 0x17c]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x92], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14009b4e3
cmp qword [rsp + 0x58], 0
je 0x14009b4e3
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x14009b428
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009b4e3
mov qword [rsp + 0x5b0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x18
mov qword [rsp + 0x400], rax
mov eax, dword [rsp + 0x728]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x400]
call fcn.140060640
lea rax, [rsp + 0x5b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x720]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.14003a9b0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x720]
mov rcx, qword [rsp + 0x5b0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x10], eax
mov rcx, qword [rsp + 0x58]
call fcn.14008db20
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x2a0], eax
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
mov ecx, dword [rsp + 0x2a0]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x14009b506
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x14009b506
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009b52e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009b52e
cmp qword [rsp + 0x58], 0
je 0x14009b52e
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x14009b52e
mov byte [rsp + 0xad], 1
jmp 0x14009b536
mov byte [rsp + 0xad], 0
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xc3], al
cmp qword [rsp + 0x718], 0
je 0x14009b5a2
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x14009b56f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2d0], rax
jmp 0x14009b57f
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2d0], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x2d0]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x14009b5a2
mov byte [rsp + 0xae], 1
jmp 0x14009b5aa
mov byte [rsp + 0xae], 0
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x14009b6df
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009b6df
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov qword [rsp + 0x408], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x408]
call fcn.140080b70
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0x70]
add rax, 0x5ad0
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x14]
vmovss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x64]
vmovss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x68]
vmovss dword [rcx + 0x68], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x6c]
vmovss dword [rcx + 0x6c], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x310]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x310]
vmovss xmm0, dword [rcx + 4]
vmovss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x140]
call fcn.14004df10
mov dword [rsp + 0x148], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009be20
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe86], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x728]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x738]
mov dword [rax + 0xe88], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe08]
test eax, eax
jne 0x14009b765
mov dword [rsp + 0x180], 1
jmp 0x14009b770
mov dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x180]
mov byte [rax + 0x3f65], cl
mov rax, qword [rsp + 0x80]
vmovss xmm0, dword [rax + 0xe00]
vsubss xmm0, xmm0, dword [rsp + 0x528]
mov rax, qword [rsp + 0xe0]
vsubss xmm0, xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
vaddss xmm0, xmm0, dword [rax + 0x50]
vmovss dword [rsp + 0x128], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009b7f0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0xe04]
vsubss xmm0, xmm0, dword [rcx + 0x104]
vmovss dword [rsp + 0x184], xmm0
jmp 0x14009b80e
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x3c20]
vmulss xmm0, xmm0, dword [0x140148268]
vmovss dword [rsp + 0x184], xmm0
vmovss xmm0, dword [rsp + 0x184]
vmovss dword [rsp + 0x138], xmm0
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x14009b844
mov rcx, qword [rsp + 0x58]
call fcn.14008dc00
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 1
jmp 0x14009bbdc
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009ba90
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x374a]
cmp eax, 2
jl 0x14009ba90
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1d]
test eax, eax
jne 0x14009ba90
mov rax, qword [rsp + 0x58]
add rax, 0x54
vmovss xmm3, dword [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140097620
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x374a]
sub eax, 2
mov dword [rsp + 0x288], eax
mov eax, dword [rsp + 0x288]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x14009b9ce
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x54], 0
je 0x14009b922
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140096a00
movzx eax, ax
cmp eax, 0xa
je 0x14009b922
mov byte [rsp + 0xaf], 0
jmp 0x14009b92a
mov byte [rsp + 0xaf], 1
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0xef], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x14009b957
movzx eax, byte [rsp + 0xef]
test eax, eax
jne 0x14009b966
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x14009b989
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, rax
call fcn.140097ce0
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.140096f70
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400979d0
jmp 0x14009ba81
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.140096a00
movzx eax, ax
cmp eax, 0xa
jne 0x14009b9f2
mov byte [rsp + 0xb0], 1
jmp 0x14009b9fa
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0xf0], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x14009ba75
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ba75
mov rax, qword [rsp + 0x58]
add rax, 0x5c
mov rcx, qword [rsp + 0x58]
add rcx, 0x58
mov rdx, rax
call fcn.1400b0690
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 0
mov rcx, qword [rsp + 0x58]
call fcn.14008db00
jmp 0x14009bbdc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x14009bb45
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x14009bb45
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14009bb40
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1d]
test eax, eax
je 0x14009bb0e
mov rax, qword [rsp + 0x58]
add rax, 0x54
vmovss xmm3, dword [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400976d0
jmp 0x14009bb36
mov rax, qword [rsp + 0x58]
add rax, 0x54
vmovss xmm3, dword [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140097620
mov rcx, qword [rsp + 0x58]
call fcn.14008db00
jmp 0x14009bbdc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe08]
test eax, eax
je 0x14009bbdc
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x14009bbdc
mov rax, qword [rsp + 0x80]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0xf0]
jne 0x14009bb9e
mov rax, qword [rsp + 0x80]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0xf4]
je 0x14009bbdc
mov rax, qword [rsp + 0x58]
add rax, 0x54
vmovss xmm3, dword [rsp + 0x138]
vmovss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400976d0
mov rcx, qword [rsp + 0x58]
call fcn.14008db00
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
je 0x14009bc15
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe08]
test eax, eax
jne 0x14009bc15
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 0
mov eax, dword [rsp + 0x738]
and eax, 0x400
test eax, eax
je 0x14009bc95
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009bc95
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bc95
mov dword [rsp + 0x620], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x748]
mov r8, qword [rsp + 0x740]
mov edx, dword [rsp + 0x738]
lea rcx, [rsp + 0x620]
call fcn.140099e40
movzx eax, al
test eax, eax
je 0x14009bc95
mov edx, dword [rsp + 0x620]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009bcbb
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
je 0x14009bce1
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009bcd7
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
jne 0x14009bce1
mov byte [rsp + 0xb1], 0
jmp 0x14009bce9
mov byte [rsp + 0xb1], 1
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0xf1], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x37b8], 0
jle 0x14009be20
movzx eax, byte [rsp + 0xf1]
test eax, eax
jne 0x14009bdfb
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bdfb
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x14009bdfb
mov dword [rsp + 0x12c], 0
jmp 0x14009bd57
mov eax, dword [rsp + 0x12c]
inc eax
mov dword [rsp + 0x12c], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x37b8]
cmp dword [rsp + 0x12c], eax
jge 0x14009bdfb
mov rax, qword [rsp + 0x80]
add rax, 0x37b8
mov qword [rsp + 0x410], rax
mov edx, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x410]
call fcn.140060690
movzx eax, word [rax]
mov dword [rsp + 0x610], eax
cmp dword [rsp + 0x610], 9
jne 0x14009bdb2
jmp 0x14009bd47
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x748]
mov r8, qword [rsp + 0x740]
mov edx, dword [rsp + 0x738]
lea rcx, [rsp + 0x610]
call fcn.140099e40
movzx eax, al
test eax, eax
je 0x14009bdf6
mov edx, dword [rsp + 0x610]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009bd47
mov rax, qword [rsp + 0x80]
add rax, 0x37b8
mov qword [rsp + 0x418], rax
xor edx, edx
mov rcx, qword [rsp + 0x418]
call fcn.140060640
mov byte [rsp + 0x7d], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009ce40
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x3f64]
test eax, eax
jne 0x14009ce40
movzx eax, byte [rsp + 0x7a]
test eax, eax
jne 0x14009ce40
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x51c]
vsubss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x70]
vdivss xmm0, xmm0, dword [rax + 0x3c20]
vcvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.140063040
mov dword [rsp + 0x154], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x154]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1d]
test eax, eax
je 0x14009bec4
mov dword [rsp + 0x1fc], 0x400000
jmp 0x14009becf
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009befe
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
mov byte [rsp + 0xb2], al
jmp 0x14009bf14
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
mov byte [rsp + 0xb2], al
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009bf6f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
je 0x14009bf6f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
jne 0x14009bf6f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
jne 0x14009bf6f
mov byte [rsp + 0xb3], 1
jmp 0x14009bf77
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x8a], al
mov dword [rsp + 0x368], 1
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa39
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009bfc7
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x220a
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009bffd
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009bffd
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x14009bffd
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009bff3
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
je 0x14009bffd
mov byte [rsp + 0xb4], 1
jmp 0x14009c005
mov byte [rsp + 0xb4], 0
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0x90], al
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0xa24
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009c044
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x1209
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009c071
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x14009c071
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c067
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
je 0x14009c071
mov byte [rsp + 0xb5], 1
jmp 0x14009c079
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xe9], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa37
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009c0be
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2209
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009c0d1
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c0d1
mov byte [rsp + 0xb6], 1
jmp 0x14009c0d9
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xea], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa3b
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009c122
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c122
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x14009c122
mov byte [rsp + 0xb7], 1
jmp 0x14009c12a
mov byte [rsp + 0xb7], 0
movzx eax, byte [rsp + 0xb7]
mov byte [rsp + 0xc1], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa3a
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009c178
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009c197
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2a3b
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009c197
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c197
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x14009c197
mov byte [rsp + 0xb9], 1
jmp 0x14009c19f
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xfa], al
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0xa22
call fcn.140053330
mov byte [rsp + 0xe8], al
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x14009c1f3
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14009c1f3
mov byte [rsp + 0xba], 1
jmp 0x14009c1fb
mov byte [rsp + 0xba], 0
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0xbd], al
mov dl, 1
mov ecx, 0x20d
call fcn.14004fb00
movzx eax, al
test eax, eax
jne 0x14009c23a
mov dl, 1
mov ecx, 0x267
call fcn.14004fb00
movzx eax, al
test eax, eax
jne 0x14009c23a
mov byte [rsp + 0xbb], 0
jmp 0x14009c242
mov byte [rsp + 0xbb], 1
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xf8], al
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x14009c28d
xor edx, edx
mov ecx, 0x26e
call fcn.14004fb00
movzx eax, al
test eax, eax
jne 0x14009c283
xor edx, edx
mov ecx, 0x26d
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c28d
mov byte [rsp + 0xbc], 1
jmp 0x14009c295
mov byte [rsp + 0xbc], 0
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xbf], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x20e
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009c2f0
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x14009c2e6
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x26c
call fcn.140053330
movzx eax, al
test eax, eax
jne 0x14009c2f0
mov byte [rsp + 0xbe], 0
jmp 0x14009c2f8
mov byte [rsp + 0xbe], 1
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xf9], al
mov dl, 1
mov ecx, 0x201
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c388
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009c333
mov dword [rsp + 0x18c], 0x200004
jmp 0x14009c365
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009c34c
mov dword [rsp + 0x188], 0x20000c
jmp 0x14009c357
mov dword [rsp + 0x188], 0x200000
mov eax, dword [rsp + 0x188]
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x18c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x202
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c409
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009c3b4
mov dword [rsp + 0x194], 0x200005
jmp 0x14009c3e6
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009c3cd
mov dword [rsp + 0x190], 0x20000d
jmp 0x14009c3d8
mov dword [rsp + 0x190], 0x200001
mov eax, dword [rsp + 0x190]
mov dword [rsp + 0x194], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x194]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x203
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c4c0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c4c0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c479
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x88]
vsubss xmm0, xmm0, dword [rcx + 0x3c20]
vxorps xmm1, xmm1, xmm1
call fcn.140062f10
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1400558a0
jmp 0x14009c4bb
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009c492
mov dword [rsp + 0x198], 0x200006
jmp 0x14009c49d
mov dword [rsp + 0x198], 0x200002
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x198]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x204
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c59c
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c59c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c555
call fcn.140055820
vmovss dword [rsp + 0x2bc], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x88]
vaddss xmm0, xmm0, dword [rcx + 0x3c20]
vmovss dword [rsp + 0x2c0], xmm0
vmovss xmm1, dword [rsp + 0x2bc]
vmovss xmm0, dword [rsp + 0x2c0]
call fcn.140062ed0
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1400558a0
jmp 0x14009c597
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14009c56e
mov dword [rsp + 0x19c], 0x200007
jmp 0x14009c579
mov dword [rsp + 0x19c], 0x200003
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x19c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x205
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c601
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c601
mov eax, dword [rsp + 0x94]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x154]
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovss xmm1, dword [rsp + 0xa0]
vsubss xmm0, xmm1, xmm0
vmovss dword [rsp + 0xa0], xmm0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x206
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c666
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c666
mov eax, dword [rsp + 0x94]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x154]
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovss xmm1, dword [rsp + 0xa0]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0xa0], xmm0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x207
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c6ca
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c6a1
mov eax, dword [rsp + 0x94]
or eax, 0x200006
mov dword [rsp + 0x1a0], eax
jmp 0x14009c6b4
mov eax, dword [rsp + 0x94]
or eax, 0x200004
mov dword [rsp + 0x1a0], eax
mov edx, dword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x208
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c72e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c705
mov eax, dword [rsp + 0x94]
or eax, 0x200007
mov dword [rsp + 0x1a4], eax
jmp 0x14009c718
mov eax, dword [rsp + 0x94]
or eax, 0x200005
mov dword [rsp + 0x1a4], eax
mov edx, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x20a
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c79f
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c79f
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x14009c79f
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
jne 0x14009c782
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009c782
mov edx, 0x60000d
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov eax, dword [rsp + 0x94]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
mov dl, 1
mov ecx, 0x20b
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009c85f
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c85f
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
jne 0x14009c842
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14009c7f1
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009c842
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x14009c842
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
je 0x14009c842
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
jne 0x14009c842
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
jne 0x14009c842
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov eax, dword [rsp + 0x94]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
movzx eax, byte [rsp + 0xf8]
test eax, eax
jne 0x14009c87b
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x14009c996
mov eax, dword [rsp + 0x738]
and eax, 0x800
test eax, eax
je 0x14009c898
mov dword [rsp + 0x1a8], 1
jmp 0x14009c8a3
mov dword [rsp + 0x1a8], 0
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009c905
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x14009c905
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x14009c8e6
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c905
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x14009c939
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x14009c939
mov byte [rsp + 0x92], 1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x74]
test eax, eax
je 0x14009c932
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009c932
mov rcx, qword [rsp + 0x58]
call fcn.14008dc00
jmp 0x14009c937
mov byte [rsp + 0x7a], 1
jmp 0x14009c991
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009c991
mov dword [rsp + 0x624], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x748]
mov r8, qword [rsp + 0x740]
mov edx, dword [rsp + 0x738]
lea rcx, [rsp + 0x624]
call fcn.140099e40
movzx eax, al
test eax, eax
je 0x14009c991
mov edx, dword [rsp + 0x624]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
jmp 0x14009cdf8
movzx eax, byte [rsp + 0xf9]
test eax, eax
je 0x14009c9fa
mov eax, dword [rsp + 0x738]
and eax, 0x100000
test eax, eax
je 0x14009c9d9
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x10], 0
jle 0x14009c9c4
mov byte [rsp + 0x7d], 1
jmp 0x14009c9d7
mov byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x68], al
mov byte [rsp + 0x7a], 1
jmp 0x14009c9f5
mov byte [rsp + 0x7d], 1
movzx eax, byte [rsp + 0x7d]
mov byte [rsp + 0x7a], al
mov byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x68], al
jmp 0x14009cdf8
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x14009ca12
movzx eax, byte [rsp + 0xfa]
test eax, eax
je 0x14009ca56
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x14009ca2b
mov dword [rsp + 0x1ac], 0x20000a
jmp 0x14009ca36
mov dword [rsp + 0x1ac], 0x20000b
mov edx, dword [rsp + 0x1ac]
mov rcx, qword [rsp + 0x58]
call fcn.140099dd0
mov rcx, qword [rsp + 0x58]
call fcn.14008dbd0
jmp 0x14009cdf8
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x14009ca7d
mov rcx, qword [rsp + 0x58]
call fcn.14008dc00
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
jmp 0x14009cdf8
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x14009ca99
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x14009cc42
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0xb0], 0
je 0x14009cbf4
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
je 0x14009cade
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140062f50
mov dword [rsp + 0x1b0], eax
jmp 0x14009cae9
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x1bc], eax
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
je 0x14009cb26
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140063040
mov dword [rsp + 0x1b4], eax
jmp 0x14009cb35
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x1b4], eax
mov eax, dword [rsp + 0x1b4]
mov dword [rsp + 0x1b8], eax
movsxd rax, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1bc]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x20]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.14003aea0
inc eax
mov dword [rsp + 0x1c0], eax
movsxd rax, dword [rsp + 0x1c0]
mov rcx, rax
call fcn.140041210
mov qword [rsp + 0x290], rax
movsxd rax, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1bc]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x20]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x290]
call fcn.14003ad90
mov rcx, qword [rsp + 0x290]
call fcn.140041330
mov rcx, qword [rsp + 0x290]
call fcn.140041270
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14009cc3d
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
jne 0x14009cc1b
mov rcx, qword [rsp + 0x58]
call fcn.14008dc00
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140097d30
jmp 0x14009cdf8
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x14009cdf8
call fcn.1400412d0
mov qword [rsp + 0x298], rax
cmp qword [rsp + 0x298], 0
je 0x14009cdf8
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x420], rax
mov qword [rsp + 0x248], 0xffffffffffffffff
inc qword [rsp + 0x248]
mov rax, qword [rsp + 0x420]
mov rcx, qword [rsp + 0x248]
cmp byte [rax + rcx], 0
jne 0x14009cc8a
mov rax, qword [rsp + 0x248]
mov dword [rsp + 0x28c], eax
mov eax, dword [rsp + 0x28c]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.140041210
mov qword [rsp + 0x218], rax
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0x298]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x228]
movsx eax, byte [rax]
test eax, eax
je 0x14009cd99
xor r8d, r8d
mov rdx, qword [rsp + 0x228]
lea rcx, [rsp + 0x628]
call fcn.14003a520
cdqe
mov rcx, qword [rsp + 0x228]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x20], 4
mov r9, qword [rsp + 0x748]
mov r8, qword [rsp + 0x740]
mov edx, dword [rsp + 0x738]
lea rcx, [rsp + 0x628]
call fcn.140099e40
movzx eax, al
test eax, eax
jne 0x14009cd68
jmp 0x14009ccf0
movsxd rax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x218]
movzx edx, word [rsp + 0x628]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
jmp 0x14009ccf0
movsxd rax, dword [rsp + 0x108]
xor ecx, ecx
mov rdx, qword [rsp + 0x218]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x108], 0
jle 0x14009cdeb
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov r9d, dword [rsp + 0x108]
mov r8, qword [rsp + 0x218]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140099cc0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rcx, qword [rsp + 0x218]
call fcn.140041270
mov rcx, qword [rsp + 0x58]
call fcn.14008db90
movzx eax, al
test eax, eax
je 0x14009ce25
xor eax, eax
test eax, eax
jne 0x14009ce18
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009ce25
mov dword [rsp + 0x1c4], 1
jmp 0x14009ce30
mov dword [rsp + 0x1c4], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1c4]
mov byte [rsp + 0x61], al
mov qword [rsp + 0x120], 0
mov dword [rsp + 0x98], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009d66a
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x14009d019
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009d019
mov eax, dword [rsp + 0x738]
and eax, 0x100000
test eax, eax
je 0x14009ced6
lea rax, [0x14011d573]
mov qword [rsp + 0x120], rax
mov dword [rsp + 0x98], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
xor r9d, r9d
lea r8, [rsp + 0x660]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140099d00
jmp 0x14009d019
mov rax, qword [rsp + 0x720]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x40]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x14009cefd
inc rax
test dl, dl
jne 0x14009ceea
xor eax, eax
jmp 0x14009cf02
sbb eax, eax
or eax, 1
test eax, eax
je 0x14009d019
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x38]
dec eax
mov dword [rsp + 0x98], eax
mov byte [rsp + 0x7b], 1
lea rcx, [rsp + 0x598]
call fcn.1400606e0
nop
cmp dword [rsp + 0x98], 0
jle 0x14009cfbe
movsxd rax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x120]
call fcn.14003aab0
inc eax
mov edx, eax
lea rcx, [rsp + 0x598]
call fcn.140060640
movsxd rax, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x120]
mov edx, dword [rsp + 0x598]
mov rcx, qword [rsp + 0x5a0]
call fcn.14003a9b0
cmp dword [rsp + 0x98], 0
jle 0x14009cfda
mov eax, dword [rsp + 0x598]
dec eax
mov dword [rsp + 0x1c8], eax
jmp 0x14009cfe5
mov dword [rsp + 0x1c8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov r9d, dword [rsp + 0x1c8]
mov r8, qword [rsp + 0x5a0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140099d00
nop
lea rcx, [rsp + 0x598]
call fcn.1400606b0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009d07c
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x48], 1
mov rax, qword [rsp + 0x58]
add rax, 0x28
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x18]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x428]
call fcn.140060fb0
xor r9d, r9d
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x20]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x28]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call fcn.14003ad90
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x14009d0a9
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x14009d09f
mov eax, dword [rsp + 0x738]
and eax, 0x20
test eax, eax
jne 0x14009d0a9
mov byte [rsp + 0xc2], 0
jmp 0x14009d0b1
mov byte [rsp + 0xc2], 1
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0xeb], al
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x14009d66a
mov eax, dword [rsp + 0x738]
and eax, 0x801c0
test eax, eax
je 0x14009d60c
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x738]
and eax, 0x40
test eax, eax
je 0x14009d13b
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140053330
movzx eax, al
test eax, eax
je 0x14009d13b
mov dword [rsp + 0xf4], 0x40
mov dword [rsp + 0x130], 0x200
jmp 0x14009d1fc
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x14009d179
mov dl, 1
mov ecx, 0x203
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009d179
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x130], 0x203
jmp 0x14009d1fc
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x14009d1b4
mov dl, 1
mov ecx, 0x204
call fcn.14004fb00
movzx eax, al
test eax, eax
je 0x14009d1b4
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x130], 0x204
jmp 0x14009d1fc
mov eax, dword [rsp + 0x738]
and eax, 0x80000
test eax, eax
je 0x14009d1e1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe86]
test eax, eax
je 0x14009d1e1
mov dword [rsp + 0xf4], 0x80000
jmp 0x14009d1fc
mov eax, dword [rsp + 0x738]
and eax, 0x100
test eax, eax
je 0x14009d1fc
mov dword [rsp + 0xf4], 0x100
cmp dword [rsp + 0xf4], 0
je 0x14009d60c
lea rcx, [rsp + 0x550]
call fcn.140099e20
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x550], rax
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0x738]
mov dword [rsp + 0x55c], eax
mov rax, qword [rsp + 0x748]
mov qword [rsp + 0x560], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14009d26b
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2f0], rax
jmp 0x14009d27c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x300], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x56c], eax
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x570], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x578], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x57c], eax
mov byte [rsp + 0x580], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x160]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x160]
call fcn.14003aea0
mov dword [rsp + 0x584], eax
mov eax, dword [rsp + 0x584]
mov dword [rsp + 0x2b4], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x58]
mov rcx, qword [rsp + 0x160]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x160]
call fcn.14003aea0
mov dword [rsp + 0x588], eax
mov eax, dword [rsp + 0x588]
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x5c]
mov rcx, qword [rsp + 0x160]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x160]
call fcn.14003aea0
mov dword [rsp + 0x58c], eax
mov eax, dword [rsp + 0x58c]
mov dword [rsp + 0x2c4], eax
mov rax, qword [rsp + 0x740]
mov qword [rsp + 0x430], rax
lea rcx, [rsp + 0x550]
call qword [rsp + 0x430]
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x14009d3c9
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2f8], rax
jmp 0x14009d3da
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x300], rax
movzx eax, byte [rsp + 0x580]
mov byte [rsp + 0x8c], al
mov eax, dword [rsp + 0x2b4]
cmp dword [rsp + 0x584], eax
jne 0x14009d415
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14009d44f
movsxd rax, dword [rsp + 0x584]
mov rcx, qword [rsp + 0x570]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x570]
call fcn.14003aab0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov eax, dword [rsp + 0x2b8]
cmp dword [rsp + 0x588], eax
jne 0x14009d46b
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14009d4c8
mov eax, dword [rsp + 0x584]
cmp dword [rsp + 0x588], eax
jne 0x14009d48c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x1cc], eax
jmp 0x14009d4b9
movsxd rax, dword [rsp + 0x588]
mov rcx, qword [rsp + 0x570]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x570]
call fcn.14003aab0
mov dword [rsp + 0x1cc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1cc]
mov dword [rax + 0x58], ecx
mov eax, dword [rsp + 0x2c4]
cmp dword [rsp + 0x58c], eax
jne 0x14009d4e4
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14009d541
mov eax, dword [rsp + 0x588]
cmp dword [rsp + 0x58c], eax
jne 0x14009d505
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x1d0], eax
jmp 0x14009d532
movsxd rax, dword [rsp + 0x58c]
mov rcx, qword [rsp + 0x570]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x570]
call fcn.14003aab0
mov dword [rsp + 0x1d0], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1d0]
mov dword [rax + 0x5c], ecx
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14009d60c
mov r8d, dword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x58]
call fcn.14009a1b0
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x578], eax
jle 0x14009d5c1
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14009d5c1
mov rax, qword [rsp + 0x58]
add rax, 0x18
mov qword [rsp + 0x438], rax
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x578]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x18]
mov edx, eax
mov rcx, qword [rsp + 0x438]
call fcn.140060640
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x570]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.14003a9b0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x578]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsp + 0x58]
call fcn.14008db00
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009d66a
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x720]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x14009d63c
inc rax
test dl, dl
jne 0x14009d629
xor eax, eax
jmp 0x14009d641
sbb eax, eax
or eax, 1
test eax, eax
je 0x14009d66a
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x98], eax
mov byte [rsp + 0x7b], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x5ab8], ecx
jne 0x14009d743
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x14009d734
call fcn.140044d10
movzx eax, al
test eax, eax
je 0x14009d734
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009d734
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x5ac8]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x5ac0]
dec eax
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x5ac8]
mov rcx, qword [rsp + 0x720]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x14009d703
inc rax
test dl, dl
jne 0x14009d6f0
xor eax, eax
jmp 0x14009d708
sbb eax, eax
or eax, 1
test eax, eax
je 0x14009d719
mov dword [rsp + 0x1d4], 1
jmp 0x14009d724
mov dword [rsp + 0x1d4], 0
movzx eax, byte [rsp + 0x7b]
or eax, dword [rsp + 0x1d4]
mov byte [rsp + 0x7b], al
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x5ab8], 0
cmp qword [rsp + 0x120], 0
je 0x14009d86d
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14009d83c
lea rcx, [rsp + 0x5c0]
call fcn.140099e20
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x5c0], rax
mov dword [rsp + 0x5c8], 0x40000
mov eax, dword [rsp + 0x738]
mov dword [rsp + 0x5cc], eax
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x5e0], rax
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x5e8], eax
mov eax, dword [rsp + 0x98]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x728]
call fcn.140063040
mov dword [rsp + 0x5ec], eax
mov rax, qword [rsp + 0x748]
mov qword [rsp + 0x5d0], rax
mov rax, qword [rsp + 0x740]
mov qword [rsp + 0x320], rax
lea rcx, [rsp + 0x5c0]
call qword [rsp + 0x320]
mov rax, qword [rsp + 0x5e0]
mov qword [rsp + 0x720], rax
mov eax, dword [rsp + 0x5ec]
mov dword [rsp + 0x728], eax
mov eax, dword [rsp + 0x728]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x5e8]
call fcn.140062f50
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x98]
inc eax
mov edx, dword [rsp + 0x728]
mov ecx, eax
call fcn.140062f50
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x720]
call fcn.1400395f0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009d88e
movzx eax, byte [rsp + 0x7a]
test eax, eax
je 0x14009d88e
call fcn.1400408c0
jmp 0x14009d8ae
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009d8ae
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x5e5c], 1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009d92c
mov r8d, 1
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x528]
call fcn.14003e990
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x44]
vmovss dword [rsp + 0x2c8], xmm0
vmovss xmm1, dword [0x140148404]
mov ecx, 7
call fcn.14003d120
mov dword [rsp + 0x250], eax
vmovss xmm0, dword [rsp + 0x2c8]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x250]
mov rdx, qword [rsp + 0x530]
mov rcx, qword [rsp + 0x528]
call fcn.14003e5d0
vmovss xmm0, dword [rsp + 0x52c]
vaddss xmm0, xmm0, dword [rsp + 0x51c]
vmovss xmm1, dword [rsp + 0x528]
vaddss xmm1, xmm1, dword [rsp + 0x518]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm2, dword [rsp + 0x52c]
vmovss xmm1, dword [rsp + 0x528]
lea rcx, [rsp + 0x650]
call fcn.14000b250
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009d9ab
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x328], rax
lea rax, [rsp + 0x328]
mov qword [rsp + 0x308], rax
jmp 0x14009d9d7
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x4c8]
call fcn.1400334f0
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x330], rax
mov rax, qword [rsp + 0x330]
mov rax, qword [rax]
mov qword [rsp + 0x608], rax
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x548]
call fcn.14000b210
mov dword [rsp + 0x318], 0x200000
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x14009da39
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2d8], rax
jmp 0x14009da49
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x520], 0
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009dad6
mov rax, qword [rsp + 0x718]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x718]
mov qword [rsp + 0x3d8], rax
mov qword [rsp + 0x210], 0xffffffffffffffff
inc qword [rsp + 0x210]
mov rax, qword [rsp + 0x3d8]
mov rcx, qword [rsp + 0x210]
cmp byte [rax + rcx], 0
jne 0x14009da9a
mov rax, qword [rsp + 0x210]
mov rcx, qword [rsp + 0x718]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x520], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x14009daec
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009ea5d
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009db14
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0x600]
call fcn.140007400
lea rcx, [rsp + 0x648]
call fcn.140007400
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x238], 0
mov dword [rsp + 0x100], 0xfffffc18
mov dword [rsp + 0x104], 0xfffffc18
mov dword [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009dbcb
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x230], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009dc2c
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140062f50
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x230], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009dc42
mov dword [rsp + 0x1d8], 1
jmp 0x14009dc4d
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
mov ecx, dword [rsp + 0x9c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x168], rax
jmp 0x14009dc97
mov rax, qword [rsp + 0x168]
add rax, 2
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
test eax, eax
je 0x14009dd95
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x14009dd90
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x14009dd2f
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x230]
cmp qword [rsp + 0x168], rax
jb 0x14009dd2f
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x14009dd2f
jmp 0x14009dd95
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x14009dd90
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x230]
cmp qword [rsp + 0x168], rax
jb 0x14009dd90
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x14009dd90
jmp 0x14009dd95
jmp 0x14009dc83
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x14009ddcf
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x14009ddf9
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x230]
mov qword [rsp + 0x338], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + rax + 0x230]
call fcn.1400398a0
mov qword [rsp + 0x340], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x338]
mov r8, qword [rsp + 0x340]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x4d0]
call fcn.1400967e0
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x600], xmm0
mov eax, 4
imul rax, rax, 0
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovss dword [rsp + 0x604], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0
jl 0x14009df6a
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x230]
mov qword [rsp + 0x348], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + rax + 0x230]
call fcn.1400398a0
mov qword [rsp + 0x350], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x348]
mov r8, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x460]
call fcn.1400967e0
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x648], xmm0
mov eax, 4
imul rax, rax, 1
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovss dword [rsp + 0x64c], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009dfae
vcvtsi2ss xmm0, xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x518]
lea rcx, [rsp + 0x4a0]
call fcn.14000b210
mov rax, qword [rax]
mov qword [rsp + 0x548], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009e23e
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe84]
test eax, eax
je 0x14009e23e
mov eax, dword [rsp + 0x738]
and eax, 0x1000
test eax, eax
jne 0x14009e0b1
vmovss xmm0, dword [rsp + 0x518]
vmulss xmm0, xmm0, dword [0x140148198]
vmovss dword [rsp + 0x1e0], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x518]
vsubss xmm0, xmm0, dword [rax + 0x3c]
vmovss dword [rsp + 0x1dc], xmm0
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rsp + 0x600]
vcomiss xmm0, dword [rax + 0x50]
jae 0x14009e064
vmovss xmm0, dword [rsp + 0x600]
vsubss xmm0, xmm0, dword [rsp + 0x1e0]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.140062f10
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x50], xmm0
jmp 0x14009e0af
vmovss xmm0, dword [rsp + 0x600]
vsubss xmm0, xmm0, dword [rsp + 0x1dc]
mov rax, qword [rsp + 0x58]
vcomiss xmm0, dword [rax + 0x50]
jb 0x14009e0af
vmovss xmm0, dword [rsp + 0x600]
vsubss xmm0, xmm0, dword [rsp + 0x1dc]
vaddss xmm0, xmm0, dword [rsp + 0x1e0]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x50], xmm0
jmp 0x14009e0bf
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e232
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x604]
vsubss xmm0, xmm0, dword [rax + 0x3c20]
vcomiss xmm0, dword [rsp + 0xa0]
jae 0x14009e11b
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x604]
vsubss xmm0, xmm0, dword [rax + 0x3c20]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.140062f10
vmovss dword [rsp + 0xa0], xmm0
jmp 0x14009e189
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x140148498]
vmovss xmm1, dword [rsp + 0x51c]
vsubss xmm0, xmm1, xmm0
vmovss xmm1, dword [rsp + 0x604]
vsubss xmm0, xmm1, xmm0
vcomiss xmm0, dword [rsp + 0xa0]
jb 0x14009e189
vmovss xmm0, dword [rsp + 0x604]
vsubss xmm0, xmm0, dword [rsp + 0x51c]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
vmulss xmm1, xmm1, dword [0x140148498]
vaddss xmm0, xmm0, xmm1
vmovss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x140148498]
vmovss xmm1, dword [rsp + 0x54c]
vaddss xmm0, xmm1, xmm0
vsubss xmm0, xmm0, dword [rsp + 0x51c]
vxorps xmm1, xmm1, xmm1
call fcn.140062f10
vmovss dword [rsp + 0x254], xmm0
vmovss xmm2, dword [rsp + 0x254]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [rsp + 0xa0]
call fcn.140063190
vmovss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x88]
vsubss xmm0, xmm0, dword [rsp + 0xa0]
vmovss xmm1, dword [rsp + 0x60c]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x60c], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0xa0]
vmovss dword [rax + 0x88], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 0
vxorps xmm2, xmm2, xmm2
mov rax, qword [rsp + 0x58]
vmovss xmm1, dword [rax + 0x50]
lea rcx, [rsp + 0x638]
call fcn.14000b210
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14009e67a
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140062f50
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140063040
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x2a8], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009e2d8
vmovss xmm0, dword [0x140148404]
vmovss dword [rsp + 0x1e4], xmm0
jmp 0x14009e2e9
vmovss xmm0, dword [0x1401482a4]
vmovss dword [rsp + 0x1e4], xmm0
vmovss xmm1, dword [rsp + 0x1e4]
mov ecx, 0x2f
call fcn.14003d120
mov dword [rsp + 0x264], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e31b
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x1e8], xmm0
jmp 0x14009e32c
vmovss xmm0, dword [0x1401486dc]
vmovss dword [rsp + 0x1e8], xmm0
vmovss xmm0, dword [rsp + 0x1e8]
vmovss dword [rsp + 0x260], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e356
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x1ec], xmm0
jmp 0x14009e367
vmovss xmm0, dword [0x140148498]
vmovss dword [rsp + 0x1ec], xmm0
vmovss xmm0, dword [rsp + 0x1ec]
vmovss dword [rsp + 0x25c], xmm0
lea r8, [rsp + 0x648]
lea rdx, [rsp + 0x608]
lea rcx, [rsp + 0x498]
call fcn.1400334f0
lea r8, [rsp + 0x638]
mov rdx, rax
lea rcx, [rsp + 0x618]
call fcn.140033550
mov rax, qword [rsp + 0x358]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x2a8]
cmp qword [rsp + 0x538], rax
jae 0x14009e67a
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x65c]
vaddss xmm0, xmm0, dword [rax + 0x3c20]
vmovss xmm1, dword [rsp + 0x61c]
vcomiss xmm1, xmm0
jbe 0x14009e3fe
jmp 0x14009e67a
vmovss xmm0, dword [rsp + 0x61c]
vcomiss xmm0, dword [rsp + 0x654]
jae 0x14009e45d
mov rax, qword [rsp + 0x2a8]
cmp qword [rsp + 0x538], rax
jae 0x14009e458
mov rax, qword [rsp + 0x538]
movzx eax, word [rax]
mov dword [rsp + 0x258], eax
mov rax, qword [rsp + 0x538]
add rax, 2
mov qword [rsp + 0x538], rax
cmp dword [rsp + 0x258], 0xa
jne 0x14009e456
jmp 0x14009e458
jmp 0x14009e412
jmp 0x14009e63b
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x538]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x2a8]
mov r8, qword [rsp + 0x538]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x590]
call fcn.1400967e0
vmovss xmm0, dword [rsp + 0x590]
vcomiss xmm0, dword [0x1401480b0]
ja 0x14009e4eb
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov qword [rsp + 0x360], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x360]
call fcn.14008d8d0
vmulss xmm0, xmm0, dword [0x140148268]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x590], xmm0
vmovss xmm2, dword [rsp + 0x25c]
vmovss xmm1, dword [rsp + 0x590]
lea rcx, [rsp + 0x490]
call fcn.14000b210
mov r8, rax
lea rdx, [rsp + 0x618]
lea rcx, [rsp + 0x488]
call fcn.1400334f0
mov qword [rsp + 0x370], rax
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x260]
vsubss xmm0, xmm0, dword [rax + 0x3c20]
vmovups xmm2, xmm0
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x480]
call fcn.14000b210
mov r8, rax
lea rdx, [rsp + 0x618]
lea rcx, [rsp + 0x478]
call fcn.1400334f0
mov qword [rsp + 0x378], rax
mov r8, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x378]
lea rcx, [rsp + 0x678]
call fcn.1400343e0
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x4e8]
call fcn.140034420
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x678]
call fcn.140034a90
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x4f8]
call fcn.140034420
lea rdx, [rsp + 0x4f8]
lea rcx, [rsp + 0x678]
call fcn.140034760
movzx eax, al
test eax, eax
je 0x14009e63b
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x380], rax
mov dword [rsp + 0x28], 0
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x264]
lea r8, [rsp + 0x680]
lea rdx, [rsp + 0x678]
mov rcx, qword [rsp + 0x380]
call fcn.140076810
vmovss xmm0, dword [rsp + 0x608]
vsubss xmm0, xmm0, dword [rsp + 0x638]
vmovss dword [rsp + 0x618], xmm0
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x61c]
vaddss xmm0, xmm0, dword [rax + 0x3c20]
vmovss dword [rsp + 0x61c], xmm0
jmp 0x14009e3be
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009e6a5
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x14009e7e0
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009e6bb
mov dword [rsp + 0x1f0], 1
jmp 0x14009e6c6
mov dword [rsp + 0x1f0], 0
vmovss xmm1, dword [0x140148404]
mov ecx, dword [rsp + 0x1f0]
call fcn.14003d120
mov dword [rsp + 0x268], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x3a0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009e70f
mov qword [rsp + 0x2e0], 0
jmp 0x14009e71f
lea rax, [rsp + 0x650]
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x388], rax
lea r8, [rsp + 0x638]
lea rdx, [rsp + 0x608]
lea rcx, [rsp + 0x470]
call fcn.140033550
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x3c20]
vmovss dword [rsp + 0x26c], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c18]
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x388]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x268]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x390]
vmovss xmm2, dword [rsp + 0x26c]
mov rdx, qword [rsp + 0x398]
mov rcx, qword [rsp + 0x3a0]
call fcn.140077540
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x14009ea58
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
vmovss xmm0, dword [rax + 0xe80]
vaddss xmm0, xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0xe80], xmm0
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x7b]
test eax, eax
je 0x14009e865
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [rax + 0xe80]
jae 0x14009e865
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rax + 0xe80]
vmovss xmm1, dword [0x140148414]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vcomiss xmm0, dword [0x140148360]
jbe 0x14009e865
mov dword [rsp + 0x1f4], 0
jmp 0x14009e870
mov dword [rsp + 0x1f4], 1
movzx eax, byte [rsp + 0x1f4]
mov byte [rsp + 0xec], al
lea r8, [rsp + 0x600]
lea rdx, [rsp + 0x608]
lea rcx, [rsp + 0x468]
call fcn.1400334f0
lea r8, [rsp + 0x638]
mov rdx, rax
lea rcx, [rsp + 0x458]
call fcn.140033550
mov rdx, rax
lea rcx, [rsp + 0x540]
call fcn.140034170
vmovss xmm0, dword [rsp + 0x544]
vsubss xmm0, xmm0, dword [0x140148430]
vmovss xmm1, dword [rsp + 0x540]
vaddss xmm1, xmm1, dword [0x140148404]
mov rax, qword [rsp + 0x70]
vmovss xmm2, dword [rsp + 0x544]
vsubss xmm2, xmm2, dword [rax + 0x3c20]
vaddss xmm2, xmm2, dword [0x140148268]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm1, dword [rsp + 0x540]
lea rcx, [rsp + 0x698]
call fcn.140034490
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x14009e9e2
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x508]
call fcn.140034420
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x698]
call fcn.140034760
movzx eax, al
test eax, eax
je 0x14009e9e2
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x3b0], rax
vmovss xmm1, dword [0x140148404]
xor ecx, ecx
call fcn.14003d120
mov dword [rsp + 0x270], eax
lea rdx, [rsp + 0x450]
lea rcx, [rsp + 0x698]
call fcn.1400345f0
mov qword [rsp + 0x3a8], rax
vmovss xmm0, dword [0x140148404]
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x3a8]
lea rdx, [rsp + 0x698]
mov rcx, qword [rsp + 0x3b0]
call fcn.1400765a0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14009ea58
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x5be8], 1
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x544]
vsubss xmm0, xmm0, dword [rax + 0x3c20]
vmovss xmm1, dword [rsp + 0x540]
vsubss xmm1, xmm1, dword [0x140148404]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x448]
call fcn.14000b210
mov rax, qword [rax]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x5bec], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
vmovss xmm0, dword [rcx + 0x3c20]
vmovss dword [rax + 0x5bf4], xmm0
jmp 0x14009ec61
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009eab6
lea rdx, [rsp + 0x520]
mov rcx, qword [rsp + 0x110]
call fcn.140096720
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x70]
vmulss xmm0, xmm0, dword [rax + 0x3c20]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x518]
lea rcx, [rsp + 0x440]
call fcn.14000b210
mov rax, qword [rax]
mov qword [rsp + 0x548], rax
jmp 0x14009eb52
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009eaf1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14009eaf1
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x520], rax
jmp 0x14009eb52
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009eb52
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x3b8], rax
mov qword [rsp + 0x220], 0xffffffffffffffff
inc qword [rsp + 0x220]
mov rax, qword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x220]
cmp byte [rax + rcx], 0
jne 0x14009eb16
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x520], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14009eb7d
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x14009ec61
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009eb93
mov dword [rsp + 0x1f8], 1
jmp 0x14009eb9e
mov dword [rsp + 0x1f8], 0
vmovss xmm1, dword [0x140148404]
mov ecx, dword [rsp + 0x1f8]
call fcn.14003d120
mov dword [rsp + 0x274], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x3c0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ebe7
mov qword [rsp + 0x2e8], 0
jmp 0x14009ebf7
lea rax, [rsp + 0x650]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x608]
mov rax, qword [rsp + 0x70]
vmovss xmm2, dword [rax + 0x3c20]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x3c18]
mov rcx, qword [rsp + 0x3c0]
call fcn.140077540
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x14009ec78
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14009ec78
call fcn.14004dfa0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14009ed69
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x54c]
vaddss xmm0, xmm0, dword [rax + 0x40]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x548]
lea rcx, [rsp + 0x4d8]
call fcn.14000b210
mov rcx, rax
call fcn.140092010
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4778]
mov dword [rsp + 0x278], eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4778]
or eax, 0x401
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4778], eax
call fcn.140045280
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x479c]
and eax, 0x80
mov ecx, dword [rsp + 0x6b0]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x6b0], eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x278]
mov dword [rax + 0x4778], ecx
call fcn.1400547e0
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x4794], 0
jne 0x14009ed69
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
mov dword [rax + 0x4794], ecx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x6ac]
mov dword [rax + 0x4798], ecx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x6b0]
mov dword [rax + 0x479c], ecx
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x5ca0]
test eax, eax
je 0x14009edbb
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x14009ed8b
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14009edbb
lea rdx, [0x14013cd98]
lea rcx, [0x14013cd94]
call fcn.14005e300
mov r8, qword [rsp + 0x520]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x608]
call fcn.14005df80
vmovss xmm0, dword [rsp + 0x630]
vcomiss xmm0, dword [0x1401480b0]
jbe 0x14009ee21
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x52c]
vaddss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rsp + 0x530]
vaddss xmm1, xmm1, dword [rax + 0x54]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x4e0]
call fcn.14000b210
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
mov rcx, qword [rax]
call fcn.14003d7f0
movzx eax, byte [rsp + 0x7b]
test eax, eax
je 0x14009ee43
mov eax, dword [rsp + 0x738]
and eax, 0x8000000
test eax, eax
jne 0x14009ee43
mov ecx, dword [rsp + 0x64]
call fcn.1400409b0
mov eax, dword [rsp + 0x738]
and eax, 0x20
test eax, eax
je 0x14009ee5d
movzx eax, byte [rsp + 0x92]
jmp 0x14009ee62
movzx eax, byte [rsp + 0x7b]
mov rcx, qword [rsp + 0x6e8]
xor rcx, rsp
call fcn.14010fa80
add rsp, 0x6f8
pop rdi
pop rsi
ret