Function at 0x140083380
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 [0x1400e9010]
xor rax, rsp
mov qword [rsp + 0x6e8], rax
call fcn.14001f460
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
movzx eax, byte [rax + 0xbb]
test eax, eax
je 0x1400833d6
xor al, al
jmp 0x140087d02
mov rax, qword [0x1400f28d8]
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 0x140083428
mov byte [rsp + 0xc4], 1
jmp 0x140083430
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 0x140083456
mov byte [rsp + 0xc5], 1
jmp 0x14008345e
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 0x140083484
mov byte [rsp + 0xc6], 1
jmp 0x14008348c
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 0x1400834b2
mov byte [rsp + 0xc7], 1
jmp 0x1400834ba
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 0x1400834e3
mov byte [rsp + 0xc8], 1
jmp 0x1400834eb
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 0x140083510
call fcn.14003c6a0
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
mov rcx, qword [rsp + 0x118]
call fcn.1400284c0
mov dword [rsp + 0x64], eax
vmovss xmm0, dword [0x1400e08fc]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
lea rcx, [rsp + 0x630]
call fcn.14002ca20
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14008357e
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x3c20]
vmulss xmm0, xmm0, dword [0x1400e07d8]
vmovss dword [rsp + 0x200], xmm0
jmp 0x140083590
vmovss xmm0, dword [rsp + 0x634]
vmovss dword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x1400e0760]
vmovss xmm1, dword [rsp + 0x200]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x284], xmm0
call fcn.14003c2f0
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.14003c3c0
vmovss xmm0, dword [rsp + 0x644]
vmovss dword [rsp + 0x27c], xmm0
vmovss xmm0, dword [rsp + 0x630]
vcomiss xmm0, dword [0x1400e04fc]
jbe 0x140083659
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x54]
vaddss xmm0, xmm0, dword [rsp + 0x630]
vmovss dword [rsp + 0x204], xmm0
jmp 0x140083666
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.140006930
mov rax, qword [rsp + 0x118]
add rax, 0x100
lea r8, [rsp + 0x640]
mov rdx, rax
lea rcx, [rsp + 0x4a8]
call fcn.14001b750
mov rcx, qword [rsp + 0x118]
add rcx, 0x100
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x528]
call fcn.14001c640
lea r8, [rsp + 0x690]
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x4b0]
call fcn.14001b750
mov r8, rax
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x668]
call fcn.14001c640
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.14001d2d0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140083983
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.140072a70
mov r9d, 0x400
lea r8, [rsp + 0x528]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x668]
call fcn.14003bc40
movzx eax, al
test eax, eax
jne 0x1400837b7
call fcn.14003c8a0
xor al, al
jmp 0x140087d02
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.140025620
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1400257b0
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.1400257b0
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x4b8]
call fcn.140006930
mov rdx, rax
mov ecx, 2
call fcn.140025860
lea rdx, [rsp + 0x4c0]
lea rcx, [rsp + 0x528]
call fcn.14001c7c0
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x710]
call fcn.14002d1a0
mov byte [rsp + 0xed], al
mov ecx, 3
call fcn.140025910
mov ecx, 1
call fcn.1400256e0
movzx eax, byte [rsp + 0xed]
test eax, eax
jne 0x1400838e0
call fcn.14002d510
call fcn.14003c8a0
xor al, al
jmp 0x140087d02
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.14001b8d0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x518]
vsubss xmm0, xmm0, dword [rax + 0xac]
vmovss dword [rsp + 0x518], xmm0
jmp 0x1400839ec
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x668]
call fcn.140072a70
mov eax, dword [rsp + 0x738]
and eax, 0x10000000
test eax, eax
jne 0x1400839da
mov r9d, 0x400
lea r8, [rsp + 0x528]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x668]
call fcn.14003bc40
movzx eax, al
test eax, eax
jne 0x1400839da
xor al, al
jmp 0x140087d02
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.1400290e0
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140083a1f
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x4a98], 1
mov ecx, dword [rsp + 0x64]
call fcn.1400769a0
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x14c]
and eax, 0x100
test eax, eax
je 0x140083a47
mov byte [rsp + 0xc9], 1
jmp 0x140083a4f
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 0x140083aaa
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x48e8], ecx
jne 0x140083aaa
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48f4]
and eax, 1
test eax, eax
jne 0x140083aa0
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x490c], 2
jne 0x140083aaa
mov byte [rsp + 0xca], 1
jmp 0x140083ab2
mov byte [rsp + 0xca], 0
movzx eax, byte [rsp + 0xca]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140083af4
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x140083af4
mov byte [rsp + 0xcb], 1
jmp 0x140083afc
mov byte [rsp + 0xcb], 0
movzx eax, byte [rsp + 0xcb]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140083b53
cmp qword [rsp + 0x58], 0
je 0x140083b53
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x3f58], 0
jne 0x140083b53
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.140078e20
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f88], eax
jne 0x140083b53
mov byte [rsp + 0xa4], 1
jmp 0x140083b5b
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140083ba4
cmp qword [rsp + 0x58], 0
je 0x140083ba4
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.140078e20
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f58], eax
jne 0x140083ba4
mov byte [rsp + 0xa5], 1
jmp 0x140083bac
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 0x140083be9
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x88]
vmovss dword [rsp + 0x208], xmm0
jmp 0x140083bfa
vmovss xmm0, dword [0x1400e08d0]
vmovss dword [rsp + 0x208], xmm0
vmovss xmm0, dword [rsp + 0x208]
vmovss dword [rsp + 0xa0], xmm0
cmp qword [rsp + 0x58], 0
je 0x140083c51
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140083c2a
mov dword [rsp + 0x20c], 1
jmp 0x140083c35
mov dword [rsp + 0x20c], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x6b]
cmp eax, dword [rsp + 0x20c]
je 0x140083c51
mov byte [rsp + 0xa6], 1
jmp 0x140083c59
mov byte [rsp + 0xa6], 0
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0xa9], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
jne 0x140083ca2
movzx eax, byte [rsp + 0xee]
test eax, eax
jne 0x140083ca2
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x140083ca2
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x140083ca2
mov byte [rsp + 0xa7], 0
jmp 0x140083caa
mov byte [rsp + 0xa7], 1
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x140083cdb
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x140083cdb
mov byte [rsp + 0xa8], 0
jmp 0x140083ce3
mov byte [rsp + 0xa8], 1
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0xab], al
movzx eax, byte [rsp + 0xab]
test eax, eax
je 0x140083d0f
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x140083d1f
movzx eax, byte [rsp + 0xa9]
test eax, eax
je 0x140084022
mov rax, qword [rsp + 0x70]
add rax, 0x4c28
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.140076710
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 8]
call fcn.1400832b0
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 0x140083d62
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.1400490d0
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 0x140083e00
movzx eax, byte [rsp + 0xa9]
test eax, eax
jne 0x140083e00
mov dword [rsp + 0x170], 1
jmp 0x140083e0b
mov dword [rsp + 0x170], 0
movzx eax, byte [rsp + 0x170]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x140083e72
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x134]
cmp dword [rax + 0x10], ecx
jne 0x140083e6a
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x140083e72
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 0x140083e72
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.140048740
mov rax, qword [rsp + 0x58]
add rax, 0x28
mov qword [rsp + 0x3f8], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f8]
call fcn.1400490d0
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.140022c10
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 0x140083f47
mov rcx, qword [rsp + 0x58]
call fcn.140076730
jmp 0x140083f8e
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140083f6b
mov dword [rsp + 0x174], 1
jmp 0x140083f76
mov dword [rsp + 0x174], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov edx, dword [rsp + 0x174]
mov rcx, rax
call fcn.140082b40
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140084009
mov eax, dword [rsp + 0x738]
and eax, 0x10
test eax, eax
je 0x140083faa
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x140083fd9
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x140083fd4
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48f4]
and eax, 4
test eax, eax
jne 0x140083fd9
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x140084004
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x140084009
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x140084009
mov byte [rsp + 0x7c], 1
mov eax, dword [rsp + 0x738]
and eax, 0x2000
test eax, eax
je 0x140084022
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 0x140084080
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x140084080
mov rdx, qword [rsp + 0x118]
mov ecx, dword [rsp + 0x64]
call fcn.1400288d0
mov rdx, qword [rsp + 0x118]
mov ecx, dword [rsp + 0x64]
call fcn.14003f9b0
xor edx, edx
mov rcx, qword [rsp + 0x118]
call fcn.140035bd0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x140084185
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x1400840b2
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x281
call fcn.14003b4a0
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 0x1400840e4
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x1400840fd
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.14003b4a0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x208
call fcn.14003b4a0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14008414a
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x205
call fcn.14003b4a0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x206
call fcn.14003b4a0
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140084164
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x4000
call fcn.14003b4a0
mov eax, dword [rsp + 0x738]
and eax, 0x440
test eax, eax
je 0x140084185
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140037c80
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x1400841a3
cmp qword [rsp + 0x58], 0
jne 0x1400841a3
call fcn.140028bb0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x1400841ee
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x1400841ee
movzx eax, byte [rsp + 0xab]
test eax, eax
jne 0x1400841ee
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x1400841ee
mov byte [rsp + 0x7a], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x140084220
cmp qword [rsp + 0x58], 0
je 0x140084213
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x140084220
mov dword [rsp + 0x178], 0
jmp 0x14008422b
mov dword [rsp + 0x178], 1
movzx eax, byte [rsp + 0x178]
mov byte [rsp + 0x68], al
cmp qword [rsp + 0x58], 0
je 0x140084275
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
jne 0x140084259
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x140084275
xor eax, eax
test eax, eax
jne 0x140084268
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140084275
mov dword [rsp + 0x17c], 1
jmp 0x140084280
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 0x140084383
cmp qword [rsp + 0x58], 0
je 0x140084383
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x1400842c8
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140084383
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.140048740
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.140022c10
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.140076730
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x2a0], eax
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
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 0x1400843a6
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x1400843a6
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x1400843ce
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400843ce
cmp qword [rsp + 0x58], 0
je 0x1400843ce
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x1400843ce
mov byte [rsp + 0xad], 1
jmp 0x1400843d6
mov byte [rsp + 0xad], 0
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xc3], al
cmp qword [rsp + 0x718], 0
je 0x140084442
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x14008440f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2d0], rax
jmp 0x14008441f
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 0x140084442
mov byte [rsp + 0xae], 1
jmp 0x14008444a
mov byte [rsp + 0xae], 0
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x14008457f
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x14008457f
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.14006a010
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.1400361a0
mov dword [rsp + 0x148], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x140084cc0
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 0x140084605
mov dword [rsp + 0x180], 1
jmp 0x140084610
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 0x140084690
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 0x1400846ae
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rax + 0x3c20]
vmulss xmm0, xmm0, dword [0x1400e060c]
vmovss dword [rsp + 0x184], xmm0
vmovss xmm0, dword [rsp + 0x184]
vmovss dword [rsp + 0x138], xmm0
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x1400846e4
mov rcx, qword [rsp + 0x58]
call fcn.140076810
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 1
jmp 0x140084a7c
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140084930
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x374a]
cmp eax, 2
jl 0x140084930
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1d]
test eax, eax
jne 0x140084930
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.1400804c0
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 0x14008486e
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x54], 0
je 0x1400847c2
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.14007f8a0
movzx eax, ax
cmp eax, 0xa
je 0x1400847c2
mov byte [rsp + 0xaf], 0
jmp 0x1400847ca
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 0x1400847f7
movzx eax, byte [rsp + 0xef]
test eax, eax
jne 0x140084806
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x140084829
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, rax
call fcn.140080b80
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.14007fe10
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.140080870
jmp 0x140084921
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.14007f8a0
movzx eax, ax
cmp eax, 0xa
jne 0x140084892
mov byte [rsp + 0xb0], 1
jmp 0x14008489a
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.140082c70
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x140084915
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140084915
mov rax, qword [rsp + 0x58]
add rax, 0x5c
mov rcx, qword [rsp + 0x58]
add rcx, 0x58
mov rdx, rax
call fcn.14009e240
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.140076710
jmp 0x140084a7c
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3740]
test eax, eax
je 0x1400849e5
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x1400849e5
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1400849e0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1d]
test eax, eax
je 0x1400849ae
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.140080570
jmp 0x1400849d6
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.1400804c0
mov rcx, qword [rsp + 0x58]
call fcn.140076710
jmp 0x140084a7c
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe08]
test eax, eax
je 0x140084a7c
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x140084a7c
mov rax, qword [rsp + 0x80]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0xf0]
jne 0x140084a3e
mov rax, qword [rsp + 0x80]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0xf4]
je 0x140084a7c
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.140080570
mov rcx, qword [rsp + 0x58]
call fcn.140076710
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
je 0x140084ab5
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe08]
test eax, eax
jne 0x140084ab5
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 0
mov eax, dword [rsp + 0x738]
and eax, 0x400
test eax, eax
je 0x140084b35
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140084b35
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140084b35
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.140082ce0
movzx eax, al
test eax, eax
je 0x140084b35
mov edx, dword [rsp + 0x620]
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x140084b5b
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
je 0x140084b81
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140084b77
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
jne 0x140084b81
mov byte [rsp + 0xb1], 0
jmp 0x140084b89
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 0x140084cc0
movzx eax, byte [rsp + 0xf1]
test eax, eax
jne 0x140084c9b
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140084c9b
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x140084c9b
mov dword [rsp + 0x12c], 0
jmp 0x140084bf7
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 0x140084c9b
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.140048790
movzx eax, word [rax]
mov dword [rsp + 0x610], eax
cmp dword [rsp + 0x610], 9
jne 0x140084c52
jmp 0x140084be7
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.140082ce0
movzx eax, al
test eax, eax
je 0x140084c96
mov edx, dword [rsp + 0x610]
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
jmp 0x140084be7
mov rax, qword [rsp + 0x80]
add rax, 0x37b8
mov qword [rsp + 0x418], rax
xor edx, edx
mov rcx, qword [rsp + 0x418]
call fcn.140048740
mov byte [rsp + 0x7d], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x140085ce0
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x3f64]
test eax, eax
jne 0x140085ce0
movzx eax, byte [rsp + 0x7a]
test eax, eax
jne 0x140085ce0
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.14004b180
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 0x140084d64
mov dword [rsp + 0x1fc], 0x400000
jmp 0x140084d6f
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140084d9e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
mov byte [rsp + 0xb2], al
jmp 0x140084db4
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 0x140084e0f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
je 0x140084e0f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
jne 0x140084e0f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
jne 0x140084e0f
mov byte [rsp + 0xb3], 1
jmp 0x140084e17
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.14003b630
movzx eax, al
test eax, eax
jne 0x140084e67
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x220a
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140084e9d
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140084e9d
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x140084e9d
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140084e93
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
je 0x140084e9d
mov byte [rsp + 0xb4], 1
jmp 0x140084ea5
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.14003b630
movzx eax, al
test eax, eax
jne 0x140084ee4
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x1209
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140084f11
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x140084f11
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140084f07
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
je 0x140084f11
mov byte [rsp + 0xb5], 1
jmp 0x140084f19
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.14003b630
movzx eax, al
test eax, eax
jne 0x140084f5e
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2209
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140084f71
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140084f71
mov byte [rsp + 0xb6], 1
jmp 0x140084f79
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.14003b630
movzx eax, al
test eax, eax
je 0x140084fc2
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140084fc2
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x140084fc2
mov byte [rsp + 0xb7], 1
jmp 0x140084fca
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.14003b630
movzx eax, al
test eax, eax
jne 0x140085018
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140085037
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2a3b
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140085037
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140085037
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x140085037
mov byte [rsp + 0xb9], 1
jmp 0x14008503f
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.14003b630
mov byte [rsp + 0xe8], al
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x140085093
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x140085093
mov byte [rsp + 0xba], 1
jmp 0x14008509b
mov byte [rsp + 0xba], 0
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0xbd], al
mov dl, 1
mov ecx, 0x20d
call fcn.140037e00
movzx eax, al
test eax, eax
jne 0x1400850da
mov dl, 1
mov ecx, 0x267
call fcn.140037e00
movzx eax, al
test eax, eax
jne 0x1400850da
mov byte [rsp + 0xbb], 0
jmp 0x1400850e2
mov byte [rsp + 0xbb], 1
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xf8], al
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x14008512d
xor edx, edx
mov ecx, 0x26e
call fcn.140037e00
movzx eax, al
test eax, eax
jne 0x140085123
xor edx, edx
mov ecx, 0x26d
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x14008512d
mov byte [rsp + 0xbc], 1
jmp 0x140085135
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.14003b630
movzx eax, al
test eax, eax
jne 0x140085190
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x140085186
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x26c
call fcn.14003b630
movzx eax, al
test eax, eax
jne 0x140085190
mov byte [rsp + 0xbe], 0
jmp 0x140085198
mov byte [rsp + 0xbe], 1
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xf9], al
mov dl, 1
mov ecx, 0x201
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x140085228
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x1400851d3
mov dword [rsp + 0x18c], 0x200004
jmp 0x140085205
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x1400851ec
mov dword [rsp + 0x188], 0x20000c
jmp 0x1400851f7
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x202
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x1400852a9
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140085254
mov dword [rsp + 0x194], 0x200005
jmp 0x140085286
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14008526d
mov dword [rsp + 0x190], 0x20000d
jmp 0x140085278
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x203
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x140085360
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140085360
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x140085319
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.14004b050
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14003d960
jmp 0x14008535b
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140085332
mov dword [rsp + 0x198], 0x200006
jmp 0x14008533d
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x204
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x14008543c
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14008543c
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x1400853f5
call fcn.14003d8e0
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.14004b010
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14003d960
jmp 0x140085437
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x14008540e
mov dword [rsp + 0x19c], 0x200007
jmp 0x140085419
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x205
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x1400854a1
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400854a1
mov eax, dword [rsp + 0x94]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
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 0x140085c98
mov dl, 1
mov ecx, 0x206
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x140085506
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140085506
mov eax, dword [rsp + 0x94]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
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 0x140085c98
mov dl, 1
mov ecx, 0x207
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x14008556a
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x140085541
mov eax, dword [rsp + 0x94]
or eax, 0x200006
mov dword [rsp + 0x1a0], eax
jmp 0x140085554
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x208
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x1400855ce
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x1400855a5
mov eax, dword [rsp + 0x94]
or eax, 0x200007
mov dword [rsp + 0x1a4], eax
jmp 0x1400855b8
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.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x20a
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x14008563f
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14008563f
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x14008563f
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
jne 0x140085622
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x140085622
mov edx, 0x60000d
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov eax, dword [rsp + 0x94]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
jmp 0x140085c98
mov dl, 1
mov ecx, 0x20b
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x1400856ff
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400856ff
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
jne 0x1400856e2
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x140085691
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
jmp 0x1400856e2
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x1400856e2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1f]
test eax, eax
je 0x1400856e2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1e]
test eax, eax
jne 0x1400856e2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
jne 0x1400856e2
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov eax, dword [rsp + 0x94]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
jmp 0x140085c98
movzx eax, byte [rsp + 0xf8]
test eax, eax
jne 0x14008571b
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x140085836
mov eax, dword [rsp + 0x738]
and eax, 0x800
test eax, eax
je 0x140085738
mov dword [rsp + 0x1a8], 1
jmp 0x140085743
mov dword [rsp + 0x1a8], 0
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400857a5
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x1400857a5
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x140085786
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x1400857a5
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x1400857d9
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe1c]
test eax, eax
je 0x1400857d9
mov byte [rsp + 0x92], 1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x74]
test eax, eax
je 0x1400857d2
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400857d2
mov rcx, qword [rsp + 0x58]
call fcn.140076810
jmp 0x1400857d7
mov byte [rsp + 0x7a], 1
jmp 0x140085831
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140085831
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.140082ce0
movzx eax, al
test eax, eax
je 0x140085831
mov edx, dword [rsp + 0x624]
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
jmp 0x140085c98
movzx eax, byte [rsp + 0xf9]
test eax, eax
je 0x14008589a
mov eax, dword [rsp + 0x738]
and eax, 0x100000
test eax, eax
je 0x140085879
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x10], 0
jle 0x140085864
mov byte [rsp + 0x7d], 1
jmp 0x140085877
mov byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x68], al
mov byte [rsp + 0x7a], 1
jmp 0x140085895
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 0x140085c98
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x1400858b2
movzx eax, byte [rsp + 0xfa]
test eax, eax
je 0x1400858f6
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x1400858cb
mov dword [rsp + 0x1ac], 0x20000a
jmp 0x1400858d6
mov dword [rsp + 0x1ac], 0x20000b
mov edx, dword [rsp + 0x1ac]
mov rcx, qword [rsp + 0x58]
call fcn.140082c70
mov rcx, qword [rsp + 0x58]
call fcn.1400767e0
jmp 0x140085c98
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x14008591d
mov rcx, qword [rsp + 0x58]
call fcn.140076810
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
jmp 0x140085c98
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x140085939
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x140085ae2
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0xb0], 0
je 0x140085a94
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
je 0x14008597e
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.14004b090
mov dword [rsp + 0x1b0], eax
jmp 0x140085989
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x1bc], eax
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
je 0x1400859c6
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.14004b180
mov dword [rsp + 0x1b4], eax
jmp 0x1400859d5
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.140023100
inc eax
mov dword [rsp + 0x1c0], eax
movsxd rax, dword [rsp + 0x1c0]
mov rcx, rax
call fcn.140029500
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.140022ff0
mov rcx, qword [rsp + 0x290]
call fcn.140029620
mov rcx, qword [rsp + 0x290]
call fcn.140029560
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x140085add
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
jne 0x140085abb
mov rcx, qword [rsp + 0x58]
call fcn.140076810
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.140080bd0
jmp 0x140085c98
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x140085c98
call fcn.1400295c0
mov qword [rsp + 0x298], rax
cmp qword [rsp + 0x298], 0
je 0x140085c98
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 0x140085b2a
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.140029500
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 0x140085c39
xor r8d, r8d
mov rdx, qword [rsp + 0x228]
lea rcx, [rsp + 0x628]
call fcn.140022780
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.140082ce0
movzx eax, al
test eax, eax
jne 0x140085c08
jmp 0x140085b90
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 0x140085b90
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 0x140085c8b
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.140082b60
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rcx, qword [rsp + 0x218]
call fcn.140029560
mov rcx, qword [rsp + 0x58]
call fcn.1400767a0
movzx eax, al
test eax, eax
je 0x140085cc5
xor eax, eax
test eax, eax
jne 0x140085cb8
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140085cc5
mov dword [rsp + 0x1c4], 1
jmp 0x140085cd0
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 0x14008650a
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x140085eb9
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140085eb9
mov eax, dword [rsp + 0x738]
and eax, 0x100000
test eax, eax
je 0x140085d76
lea rax, [0x1400c02c4]
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.140082ba0
jmp 0x140085eb9
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 0x140085d9d
inc rax
test dl, dl
jne 0x140085d8a
xor eax, eax
jmp 0x140085da2
sbb eax, eax
or eax, 1
test eax, eax
je 0x140085eb9
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.1400487e0
nop
cmp dword [rsp + 0x98], 0
jle 0x140085e5e
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.140022d10
inc eax
mov edx, eax
lea rcx, [rsp + 0x598]
call fcn.140048740
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.140022c10
cmp dword [rsp + 0x98], 0
jle 0x140085e7a
mov eax, dword [rsp + 0x598]
dec eax
mov dword [rsp + 0x1c8], eax
jmp 0x140085e85
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.140082ba0
nop
lea rcx, [rsp + 0x598]
call fcn.1400487b0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140085f1c
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.1400490d0
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.140022ff0
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x140085f49
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x140085f3f
mov eax, dword [rsp + 0x738]
and eax, 0x20
test eax, eax
jne 0x140085f49
mov byte [rsp + 0xc2], 0
jmp 0x140085f51
mov byte [rsp + 0xc2], 1
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0xeb], al
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x14008650a
mov eax, dword [rsp + 0x738]
and eax, 0x801c0
test eax, eax
je 0x1400864ac
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x738]
and eax, 0x40
test eax, eax
je 0x140085fdb
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.14003b630
movzx eax, al
test eax, eax
je 0x140085fdb
mov dword [rsp + 0xf4], 0x40
mov dword [rsp + 0x130], 0x200
jmp 0x14008609c
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x140086019
mov dl, 1
mov ecx, 0x203
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x140086019
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x130], 0x203
jmp 0x14008609c
mov eax, dword [rsp + 0x738]
and eax, 0x80
test eax, eax
je 0x140086054
mov dl, 1
mov ecx, 0x204
call fcn.140037e00
movzx eax, al
test eax, eax
je 0x140086054
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x130], 0x204
jmp 0x14008609c
mov eax, dword [rsp + 0x738]
and eax, 0x80000
test eax, eax
je 0x140086081
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe86]
test eax, eax
je 0x140086081
mov dword [rsp + 0xf4], 0x80000
jmp 0x14008609c
mov eax, dword [rsp + 0x738]
and eax, 0x100
test eax, eax
je 0x14008609c
mov dword [rsp + 0xf4], 0x100
cmp dword [rsp + 0xf4], 0
je 0x1400864ac
lea rcx, [rsp + 0x550]
call fcn.140082cc0
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 0x14008610b
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2f0], rax
jmp 0x14008611c
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.140023100
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.140023100
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.140023100
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 0x140086269
mov rax, qword [rsp + 0x720]
mov qword [rsp + 0x2f8], rax
jmp 0x14008627a
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 0x1400862b5
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x1400862ef
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.140022d10
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 0x14008630b
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x140086368
mov eax, dword [rsp + 0x584]
cmp dword [rsp + 0x588], eax
jne 0x14008632c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x1cc], eax
jmp 0x140086359
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.140022d10
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 0x140086384
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x1400863e1
mov eax, dword [rsp + 0x588]
cmp dword [rsp + 0x58c], eax
jne 0x1400863a5
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x1d0], eax
jmp 0x1400863d2
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.140022d10
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 0x1400864ac
mov r8d, dword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x58]
call fcn.140083050
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x578], eax
jle 0x140086461
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x140086461
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.140048740
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.140022c10
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.140076710
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14008650a
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 0x1400864dc
inc rax
test dl, dl
jne 0x1400864c9
xor eax, eax
jmp 0x1400864e1
sbb eax, eax
or eax, 1
test eax, eax
je 0x14008650a
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 0x1400865e3
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
je 0x1400865d4
call fcn.14002d000
movzx eax, al
test eax, eax
je 0x1400865d4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400865d4
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 0x1400865a3
inc rax
test dl, dl
jne 0x140086590
xor eax, eax
jmp 0x1400865a8
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400865b9
mov dword [rsp + 0x1d4], 1
jmp 0x1400865c4
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 0x14008670d
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x1400866dc
lea rcx, [rsp + 0x5c0]
call fcn.140082cc0
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.14004b180
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.14004b090
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x98]
inc eax
mov edx, dword [rsp + 0x728]
mov ecx, eax
call fcn.14004b090
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x720]
call fcn.140021850
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14008672e
movzx eax, byte [rsp + 0x7a]
test eax, eax
je 0x14008672e
call fcn.140028bb0
jmp 0x14008674e
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x14008674e
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x5e5c], 1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400867cc
mov r8d, 1
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x528]
call fcn.140026c80
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x44]
vmovss dword [rsp + 0x2c8], xmm0
vmovss xmm1, dword [0x1400e06d8]
mov ecx, 7
call fcn.140025410
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.1400268c0
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.140006970
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14008684b
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 0x140086877
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x528]
lea rcx, [rsp + 0x4c8]
call fcn.14001b750
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.140006930
mov dword [rsp + 0x318], 0x200000
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x1400868d9
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2d8], rax
jmp 0x1400868e9
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 0x140086976
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 0x14008693a
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 0x14008698c
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1400878fd
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x1400869b4
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.140002ea0
lea rcx, [rsp + 0x648]
call fcn.140002ea0
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 0x140086a6b
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 0x140086acc
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.14004b090
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 0x140086ae2
mov dword [rsp + 0x1d8], 1
jmp 0x140086aed
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 0x140086b37
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 0x140086c35
mov rax, qword [rsp + 0x168]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x140086c30
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 0x140086bcf
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x230]
cmp qword [rsp + 0x168], rax
jb 0x140086bcf
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 0x140086bcf
jmp 0x140086c35
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x140086c30
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x230]
cmp qword [rsp + 0x168], rax
jb 0x140086c30
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 0x140086c30
jmp 0x140086c35
jmp 0x140086b23
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 0x140086c6f
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 0x140086c99
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.140021b00
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.14007f680
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 0x140086e0a
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.140021b00
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.14007f680
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 0x140086e4e
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.140006930
mov rax, qword [rax]
mov qword [rsp + 0x548], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x1400870de
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe84]
test eax, eax
je 0x1400870de
mov eax, dword [rsp + 0x738]
and eax, 0x1000
test eax, eax
jne 0x140086f51
vmovss xmm0, dword [rsp + 0x518]
vmulss xmm0, xmm0, dword [0x1400e059c]
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 0x140086f04
vmovss xmm0, dword [rsp + 0x600]
vsubss xmm0, xmm0, dword [rsp + 0x1e0]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.14004b050
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x50], xmm0
jmp 0x140086f4f
vmovss xmm0, dword [rsp + 0x600]
vsubss xmm0, xmm0, dword [rsp + 0x1dc]
mov rax, qword [rsp + 0x58]
vcomiss xmm0, dword [rax + 0x50]
jb 0x140086f4f
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 0x140086f5f
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400870d2
mov rax, qword [rsp + 0x70]
vmovss xmm0, dword [rsp + 0x604]
vsubss xmm0, xmm0, dword [rax + 0x3c20]
vcomiss xmm0, dword [rsp + 0xa0]
jae 0x140086fbb
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.14004b050
vmovss dword [rsp + 0xa0], xmm0
jmp 0x140087029
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x1400e0760]
vmovss xmm1, dword [rsp + 0x51c]
vsubss xmm0, xmm1, xmm0
vmovss xmm1, dword [rsp + 0x604]
vsubss xmm0, xmm1, xmm0
vcomiss xmm0, dword [rsp + 0xa0]
jb 0x140087029
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 [0x1400e0760]
vaddss xmm0, xmm0, xmm1
vmovss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x1400e0760]
vmovss xmm1, dword [rsp + 0x54c]
vaddss xmm0, xmm1, xmm0
vsubss xmm0, xmm0, dword [rsp + 0x51c]
vxorps xmm1, xmm1, xmm1
call fcn.14004b050
vmovss dword [rsp + 0x254], xmm0
vmovss xmm2, dword [rsp + 0x254]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [rsp + 0xa0]
call fcn.14004b2d0
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.140006930
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14008751a
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.14004b090
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.14004b180
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 0x140087178
vmovss xmm0, dword [0x1400e06d8]
vmovss dword [rsp + 0x1e4], xmm0
jmp 0x140087189
vmovss xmm0, dword [0x1400e062c]
vmovss dword [rsp + 0x1e4], xmm0
vmovss xmm1, dword [rsp + 0x1e4]
mov ecx, 0x2f
call fcn.140025410
mov dword [rsp + 0x264], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400871bb
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x1e8], xmm0
jmp 0x1400871cc
vmovss xmm0, dword [0x1400e08fc]
vmovss dword [rsp + 0x1e8], xmm0
vmovss xmm0, dword [rsp + 0x1e8]
vmovss dword [rsp + 0x260], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400871f6
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x1ec], xmm0
jmp 0x140087207
vmovss xmm0, dword [0x1400e0760]
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.14001b750
lea r8, [rsp + 0x638]
mov rdx, rax
lea rcx, [rsp + 0x618]
call fcn.14001b7b0
mov rax, qword [rsp + 0x358]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x2a8]
cmp qword [rsp + 0x538], rax
jae 0x14008751a
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 0x14008729e
jmp 0x14008751a
vmovss xmm0, dword [rsp + 0x61c]
vcomiss xmm0, dword [rsp + 0x654]
jae 0x1400872fd
mov rax, qword [rsp + 0x2a8]
cmp qword [rsp + 0x538], rax
jae 0x1400872f8
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 0x1400872f6
jmp 0x1400872f8
jmp 0x1400872b2
jmp 0x1400874db
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.14007f680
vmovss xmm0, dword [rsp + 0x590]
vcomiss xmm0, dword [0x1400e04fc]
ja 0x14008738b
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.140076470
vmulss xmm0, xmm0, dword [0x1400e060c]
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.140006930
mov r8, rax
lea rdx, [rsp + 0x618]
lea rcx, [rsp + 0x488]
call fcn.14001b750
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.140006930
mov r8, rax
lea rdx, [rsp + 0x618]
lea rcx, [rsp + 0x478]
call fcn.14001b750
mov qword [rsp + 0x378], rax
mov r8, qword [rsp + 0x370]
mov rdx, qword [rsp + 0x378]
lea rcx, [rsp + 0x678]
call fcn.14001c640
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x4e8]
call fcn.14001c680
lea rdx, [rsp + 0x4e8]
lea rcx, [rsp + 0x678]
call fcn.14001ccf0
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x4f8]
call fcn.14001c680
lea rdx, [rsp + 0x4f8]
lea rcx, [rsp + 0x678]
call fcn.14001c9c0
movzx eax, al
test eax, eax
je 0x1400874db
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.1400603b0
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 0x14008725e
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140087545
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x140087680
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14008755b
mov dword [rsp + 0x1f0], 1
jmp 0x140087566
mov dword [rsp + 0x1f0], 0
vmovss xmm1, dword [0x1400e06d8]
mov ecx, dword [rsp + 0x1f0]
call fcn.140025410
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 0x1400875af
mov qword [rsp + 0x2e0], 0
jmp 0x1400875bf
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.14001b7b0
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.140060a50
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x1400878f8
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 0x140087705
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [rax + 0xe80]
jae 0x140087705
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rax + 0xe80]
vmovss xmm1, dword [0x1400e06ec]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vcomiss xmm0, dword [0x1400e0684]
jbe 0x140087705
mov dword [rsp + 0x1f4], 0
jmp 0x140087710
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.14001b750
lea r8, [rsp + 0x638]
mov rdx, rax
lea rcx, [rsp + 0x458]
call fcn.14001b7b0
mov rdx, rax
lea rcx, [rsp + 0x540]
call fcn.14001c3d0
vmovss xmm0, dword [rsp + 0x544]
vsubss xmm0, xmm0, dword [0x1400e0708]
vmovss xmm1, dword [rsp + 0x540]
vaddss xmm1, xmm1, dword [0x1400e06d8]
mov rax, qword [rsp + 0x70]
vmovss xmm2, dword [rsp + 0x544]
vsubss xmm2, xmm2, dword [rax + 0x3c20]
vaddss xmm2, xmm2, dword [0x1400e060c]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm1, dword [rsp + 0x540]
lea rcx, [rsp + 0x698]
call fcn.14001c6f0
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x140087882
lea rdx, [rsp + 0x650]
lea rcx, [rsp + 0x508]
call fcn.14001c680
lea rdx, [rsp + 0x508]
lea rcx, [rsp + 0x698]
call fcn.14001c9c0
movzx eax, al
test eax, eax
je 0x140087882
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x3b0], rax
vmovss xmm1, dword [0x1400e06d8]
xor ecx, ecx
call fcn.140025410
mov dword [rsp + 0x270], eax
lea rdx, [rsp + 0x450]
lea rcx, [rsp + 0x698]
call fcn.14001c850
mov qword [rsp + 0x3a8], rax
vmovss xmm0, dword [0x1400e06d8]
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.140060140
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400878f8
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 [0x1400e06d8]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x448]
call fcn.140006930
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 0x140087b01
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140087956
lea rdx, [rsp + 0x520]
mov rcx, qword [rsp + 0x110]
call fcn.14007f5c0
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.140006930
mov rax, qword [rax]
mov qword [rsp + 0x548], rax
jmp 0x1400879f2
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140087991
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f58], ecx
jne 0x140087991
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 0x1400879f2
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x1400879f2
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 0x1400879b6
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 0x140087a1d
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x520]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x140087b01
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140087a33
mov dword [rsp + 0x1f8], 1
jmp 0x140087a3e
mov dword [rsp + 0x1f8], 0
vmovss xmm1, dword [0x1400e06d8]
mov ecx, dword [rsp + 0x1f8]
call fcn.140025410
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 0x140087a87
mov qword [rsp + 0x2e8], 0
jmp 0x140087a97
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.140060a50
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x140087b18
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140087b18
call fcn.140036230
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140087c09
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.140006930
mov rcx, rax
call fcn.14007a880
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.14002d510
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.14003c8a0
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x4794], 0
jne 0x140087c09
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 0x140087c5b
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x140087c2b
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140087c5b
lea rdx, [0x1400de0e8]
lea rcx, [0x1400de0e4]
call fcn.1400463c0
mov r8, qword [rsp + 0x520]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x608]
call fcn.140046040
vmovss xmm0, dword [rsp + 0x630]
vcomiss xmm0, dword [0x1400e04fc]
jbe 0x140087cc1
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.140006930
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x710]
mov rcx, qword [rax]
call fcn.140025ae0
movzx eax, byte [rsp + 0x7b]
test eax, eax
je 0x140087ce3
mov eax, dword [rsp + 0x738]
and eax, 0x8000000
test eax, eax
jne 0x140087ce3
mov ecx, dword [rsp + 0x64]
call fcn.140028ca0
mov eax, dword [rsp + 0x738]
and eax, 0x20
test eax, eax
je 0x140087cfd
movzx eax, byte [rsp + 0x92]
jmp 0x140087d02
movzx eax, byte [rsp + 0x7b]
mov rcx, qword [rsp + 0x6e8]
xor rcx, rsp
call fcn.1400baa60
add rsp, 0x6f8
pop rdi
pop rsi
ret