Function at 0x14004f420
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, 0x6e8
call fcn.140016600
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax + 0xbb]
test eax, eax
je 0x14004f464
xor al, al
jmp 0x140053f8b
cmp qword [rsp + 0x710], 0
je 0x14004f479
cmp dword [rsp + 0x718], 0
jge 0x14004f47a
int3
xor eax, eax
test eax, eax
jne 0x14004f464
mov eax, dword [rsp + 0x728]
and eax, 0x80
test eax, eax
je 0x14004f4a1
mov eax, dword [rsp + 0x728]
and eax, 0x4000000
test eax, eax
je 0x14004f4a1
int3
xor eax, eax
test eax, eax
jne 0x14004f480
mov eax, dword [rsp + 0x728]
and eax, 0x40
test eax, eax
je 0x14004f4c6
mov eax, dword [rsp + 0x728]
and eax, 0x400
test eax, eax
je 0x14004f4c6
int3
xor eax, eax
test eax, eax
jne 0x14004f4a7
mov rax, qword [0x1401304c0]
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, 0x37c8
mov qword [rsp + 0xd8], rax
mov byte [rsp + 0x180], 0
mov eax, dword [rsp + 0x728]
and eax, 0x4000000
test eax, eax
je 0x14004f51e
mov byte [rsp + 0xc4], 1
jmp 0x14004f526
mov byte [rsp + 0xc4], 0
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x728]
and eax, 0x4000
test eax, eax
je 0x14004f54c
mov byte [rsp + 0xc5], 1
jmp 0x14004f554
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x728]
and eax, 0x8000
test eax, eax
je 0x14004f57a
mov byte [rsp + 0xc6], 1
jmp 0x14004f582
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0x7e], al
mov eax, dword [rsp + 0x728]
and eax, 0x10000
test eax, eax
jne 0x14004f5a8
mov byte [rsp + 0xc7], 1
jmp 0x14004f5b0
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0xb8], al
mov eax, dword [rsp + 0x728]
and eax, 0x40000
test eax, eax
je 0x14004f5d9
mov byte [rsp + 0xc8], 1
jmp 0x14004f5e1
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14004f60e
cmp qword [rsp + 0x730], 0
jne 0x14004f608
int3
xor eax, eax
test eax, eax
jne 0x14004f5fc
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14004f61c
call fcn.14000eab0
xor r8d, r8d
mov rdx, qword [rsp + 0x700]
mov rcx, qword [rsp + 0x128]
call fcn.1400168f0
mov dword [rsp + 0x64], eax
movss xmm0, dword [0x1400e50d0]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x700]
lea rcx, [rsp + 0x2f8]
call fcn.14000fd40
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14004f68a
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x3c10]
mulss xmm0, dword [0x1400e507c]
movss dword [rsp + 0x224], xmm0
jmp 0x14004f69c
movss xmm0, dword [rsp + 0x2fc]
movss dword [rsp + 0x224], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1400e00b0]
movss xmm1, dword [rsp + 0x224]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x3a0], xmm0
call fcn.14000f550
movss dword [rsp + 0x398], xmm0
mov rax, qword [rsp + 0x720]
mov rax, qword [rax]
mov qword [rsp + 0x548], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x550], rax
movss xmm3, dword [rsp + 0x3a0]
movss xmm2, dword [rsp + 0x398]
mov rdx, qword [rsp + 0x550]
lea rcx, [rsp + 0x2e0]
call fcn.14000f420
movss xmm0, dword [rsp + 0x2e4]
movss dword [rsp + 0x360], xmm0
movss xmm0, dword [rsp + 0x2f8]
comiss xmm0, dword [0x1400e5004]
jbe 0x14004f767
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x54]
addss xmm0, dword [rsp + 0x2f8]
movss dword [rsp + 0x228], xmm0
jmp 0x14004f773
xorps xmm0, xmm0
movss dword [rsp + 0x228], xmm0
movss xmm0, dword [rsp + 0x2e0]
addss xmm0, dword [rsp + 0x228]
movss xmm2, dword [rsp + 0x360]
movaps xmm1, xmm0
lea rcx, [rsp + 0x558]
call fcn.140001540
mov rax, qword [rsp + 0x128]
add rax, 0x100
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x628]
call fcn.140009e50
mov rcx, qword [rsp + 0x128]
add rcx, 0x100
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x160]
call fcn.140009350
lea r8, [rsp + 0x558]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x630]
call fcn.140009e50
mov r8, rax
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x418]
call fcn.140009350
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x178], 0
lea rcx, [rsp + 0x698]
call fcn.140008090
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14004fa8d
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x560], rax
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x418]
call fcn.14004bb90
mov r9d, 0x400
lea r8, [rsp + 0x160]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x418]
call fcn.14001af20
movzx eax, al
test eax, eax
jne 0x14004f8c3
call fcn.140013730
xor al, al
jmp 0x140053f8b
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4780]
mov dword [rsp + 0x178], eax
lea rax, [rsp + 0x698]
mov rcx, qword [rsp + 0x70]
mov rdi, rax
lea rsi, [rcx + 0x4778]
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x560]
mov qword [rax + 0x100], rcx
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xd8]
lea rax, [rcx + rax + 0xdc]
mov rdx, rax
mov ecx, 3
call fcn.1400232e0
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.140023440
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.140023440
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x638]
call fcn.140001540
mov rdx, rax
mov ecx, 2
call fcn.140023380
lea rdx, [rsp + 0x610]
lea rcx, [rsp + 0x160]
call fcn.1400174e0
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x700]
call fcn.14000e690
mov byte [rsp + 0xea], al
mov ecx, 3
call fcn.140022f80
mov ecx, 1
call fcn.140022eb0
movzx eax, byte [rsp + 0xea]
test eax, eax
jne 0x14004f9ea
call fcn.140012e70
call fcn.140013730
xor al, al
jmp 0x140053f8b
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3ed8]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 0x158]
mov ecx, 1
mov dword [rsp + 0x35c], ecx
movzx ecx, al
mov eax, dword [rsp + 0x35c]
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 + 0xd8]
add rax, 0x3c
mov rcx, qword [rsp + 0xd0]
add rcx, 0x100
mov rdx, rax
call fcn.140009ef0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x108]
subss xmm0, dword [rax + 0xac]
movss dword [rsp + 0x108], xmm0
jmp 0x14004faf6
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x418]
call fcn.14004bb90
mov eax, dword [rsp + 0x728]
and eax, 0x10000000
test eax, eax
jne 0x14004fae4
mov r9d, 0x400
lea r8, [rsp + 0x160]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x418]
call fcn.14001af20
movzx eax, al
test eax, eax
jne 0x14004fae4
xor al, al
jmp 0x140053f8b
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4780]
mov dword [rsp + 0x178], eax
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x477c]
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x160]
call fcn.14001b220
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14004fb35
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x4c08], 1
mov ecx, dword [rsp + 0x64]
call fcn.14004ed50
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x178]
and eax, 0x100
test eax, eax
je 0x14004fb5d
mov byte [rsp + 0xc9], 1
jmp 0x14004fb65
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 + 0x3f38], ecx
je 0x14004fbc0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x48d0], ecx
jne 0x14004fbc0
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48dc]
and eax, 1
test eax, eax
jne 0x14004fbb6
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x48f4], 2
jne 0x14004fbc0
mov byte [rsp + 0xca], 1
jmp 0x14004fbc8
mov byte [rsp + 0xca], 0
movzx eax, byte [rsp + 0xca]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x14004fc0a
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3738]
test eax, eax
je 0x14004fc0a
mov byte [rsp + 0xcb], 1
jmp 0x14004fc12
mov byte [rsp + 0xcb], 0
movzx eax, byte [rsp + 0xcb]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14004fc69
cmp qword [rsp + 0x58], 0
je 0x14004fc69
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x3f38], 0
jne 0x14004fc69
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14004eda0
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f68], eax
jne 0x14004fc69
mov byte [rsp + 0xa4], 1
jmp 0x14004fc71
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0xeb], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14004fcba
cmp qword [rsp + 0x58], 0
je 0x14004fcba
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14004eda0
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0x3f38], eax
jne 0x14004fcba
mov byte [rsp + 0xa5], 1
jmp 0x14004fcc2
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 0x14004fcff
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x88]
movss dword [rsp + 0x22c], xmm0
jmp 0x14004fd10
movss xmm0, dword [0x1400e50cc]
movss dword [rsp + 0x22c], xmm0
movss xmm0, dword [rsp + 0x22c]
movss dword [rsp + 0xa0], xmm0
cmp qword [rsp + 0x58], 0
je 0x14004fd67
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14004fd40
mov dword [rsp + 0x230], 1
jmp 0x14004fd4b
mov dword [rsp + 0x230], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x6b]
cmp eax, dword [rsp + 0x230]
je 0x14004fd67
mov byte [rsp + 0xa6], 1
jmp 0x14004fd6f
mov byte [rsp + 0xa6], 0
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0xa9], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
jne 0x14004fdb8
movzx eax, byte [rsp + 0xeb]
test eax, eax
jne 0x14004fdb8
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x14004fdb8
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x14004fdb8
mov byte [rsp + 0xa7], 0
jmp 0x14004fdc0
mov byte [rsp + 0xa7], 1
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x14004fdf1
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x14004fdf1
mov byte [rsp + 0xa8], 0
jmp 0x14004fdf9
mov byte [rsp + 0xa8], 1
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0xab], al
movzx eax, byte [rsp + 0xab]
test eax, eax
je 0x14004fe25
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x14004fe35
movzx eax, byte [rsp + 0xa9]
test eax, eax
je 0x140050136
mov rax, qword [rsp + 0x70]
add rax, 0x4c18
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.14004eb90
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 8]
call fcn.14004f330
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x578], rax
mov qword [rsp + 0x2b8], 0xffffffffffffffff
inc qword [rsp + 0x2b8]
mov rax, qword [rsp + 0x578]
mov rcx, qword [rsp + 0x2b8]
cmp byte [rax + rcx], 0
jne 0x14004fe78
mov rax, qword [rsp + 0x2b8]
mov dword [rsp + 0x148], eax
mov rax, qword [rsp + 0x58]
add rax, 0x38
mov qword [rsp + 0x438], rax
mov eax, dword [rsp + 0x148]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x438]
call fcn.140030540
mov eax, dword [rsp + 0x148]
inc eax
cdqe
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rcx + 0x40]
mov rsi, qword [rsp + 0x710]
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 0x14004ff16
movzx eax, byte [rsp + 0xa9]
test eax, eax
jne 0x14004ff16
mov dword [rsp + 0x234], 1
jmp 0x14004ff21
mov dword [rsp + 0x234], 0
movzx eax, byte [rsp + 0x234]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14004ff87
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x148]
cmp dword [rax + 0x10], ecx
jne 0x14004ff7f
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x14004ff87
movsxd rax, dword [rsp + 0x148]
mov r8, rax
mov rdx, qword [rsp + 0x710]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x30]
call fcn.1400ba450
test eax, eax
je 0x14004ff87
mov byte [rsp + 0x88], 0
mov qword [rsp + 0x3f0], 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 + 0x440], rax
mov eax, dword [rsp + 0x718]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x440]
call fcn.140030630
mov rax, qword [rsp + 0x58]
add rax, 0x28
mov qword [rsp + 0x448], rax
xor edx, edx
mov rcx, qword [rsp + 0x448]
call fcn.140030540
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x48], 0
lea rax, [rsp + 0x3f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x710]
mov edx, dword [rsp + 0x718]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.140019390
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x710]
mov rcx, qword [rsp + 0x3f0]
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 0x14005005c
mov rcx, qword [rsp + 0x58]
call fcn.14004ebb0
jmp 0x1400500a2
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14005007f
mov dword [rsp + 0x238], 1
jmp 0x14005008a
mov dword [rsp + 0x238], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov edx, dword [rsp + 0x238]
mov rcx, rax
call fcn.140058290
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14005011d
mov eax, dword [rsp + 0x728]
and eax, 0x10
test eax, eax
je 0x1400500be
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x1400500ed
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x1400500e8
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x48dc]
and eax, 4
test eax, eax
jne 0x1400500ed
mov byte [rsp + 0x7c], 1
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x140050118
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x14005011d
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x14005011d
mov byte [rsp + 0x7c], 1
mov eax, dword [rsp + 0x728]
and eax, 0x2000
test eax, eax
je 0x140050136
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x60], 1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x51]
mov byte [rsp + 0x79], al
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
je 0x1400501b1
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x1400501b1
cmp qword [rsp + 0x58], 0
je 0x140050179
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 8], ecx
je 0x14005017a
int3
xor eax, eax
test eax, eax
jne 0x140050163
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x64]
call fcn.140027180
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x64]
call fcn.140027970
xor edx, edx
mov rcx, qword [rsp + 0x128]
call fcn.140015c80
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x1400502b6
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x1400501e3
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x281
call fcn.140027be0
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4748]
or eax, 3
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4748], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140050215
mov eax, dword [rsp + 0x728]
and eax, 0x80
test eax, eax
je 0x14005022e
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4748]
or eax, 0xc
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4748], eax
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x207
call fcn.140027be0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x208
call fcn.140027be0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14005027b
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x205
call fcn.140027be0
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x206
call fcn.140027be0
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140050295
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x4000
call fcn.140027be0
mov eax, dword [rsp + 0x728]
and eax, 0x440
test eax, eax
je 0x1400502b6
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140028560
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x1400502d4
cmp qword [rsp + 0x58], 0
jne 0x1400502d4
call fcn.140010f70
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x14005031f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3738]
test eax, eax
je 0x14005031f
movzx eax, byte [rsp + 0xab]
test eax, eax
jne 0x14005031f
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x14005031f
mov byte [rsp + 0x7a], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
je 0x140050351
cmp qword [rsp + 0x58], 0
je 0x140050344
movzx eax, byte [rsp + 0xac]
test eax, eax
jne 0x140050351
mov dword [rsp + 0x23c], 0
jmp 0x14005035c
mov dword [rsp + 0x23c], 1
movzx eax, byte [rsp + 0x23c]
mov byte [rsp + 0x68], al
cmp qword [rsp + 0x58], 0
je 0x1400503a6
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
jne 0x14005038a
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x1400503a6
xor eax, eax
test eax, eax
jne 0x140050399
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x1400503a6
mov dword [rsp + 0x240], 1
jmp 0x1400503b1
mov dword [rsp + 0x240], 0
movzx eax, byte [rsp + 0x240]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x7b], 0
mov byte [rsp + 0x92], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1400504b4
cmp qword [rsp + 0x58], 0
je 0x1400504b4
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x1400503f9
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1400504b4
mov qword [rsp + 0x408], 0
mov rax, qword [rsp + 0x58]
add rax, 0x18
mov qword [rsp + 0x450], rax
mov eax, dword [rsp + 0x718]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x450]
call fcn.140030630
lea rax, [rsp + 0x408]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x710]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.140019390
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x710]
mov rcx, qword [rsp + 0x408]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x10], eax
mov rcx, qword [rsp + 0x58]
call fcn.14004ebb0
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x338], eax
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
mov ecx, dword [rsp + 0x338]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x1400504d7
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x1400504d7
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x1400504ff
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400504ff
cmp qword [rsp + 0x58], 0
je 0x1400504ff
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x1400504ff
mov byte [rsp + 0xad], 1
jmp 0x140050507
mov byte [rsp + 0xad], 0
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xc3], al
cmp qword [rsp + 0x708], 0
je 0x140050573
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x140050540
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x3c8], rax
jmp 0x140050550
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x3c8], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x3c8]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x140050573
mov byte [rsp + 0xae], 1
jmp 0x14005057b
mov byte [rsp + 0xae], 0
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x140050704
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140050704
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov qword [rsp + 0x458], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x458]
call fcn.140036840
mov qword [rsp + 0x3d0], rax
mov rax, qword [rsp + 0x70]
add rax, 0x5ac0
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x110]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x110]
movss xmm0, dword [rax + 0x64]
movss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x110]
movss xmm0, dword [rax + 0x68]
movss dword [rcx + 0x68], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x110]
movss xmm0, dword [rax + 0x6c]
movss dword [rcx + 0x6c], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x110]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x3d0]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x3d0]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rax, qword [rsp + 0x110]
add rax, 0x28
mov rcx, rax
call fcn.14002eee0
movzx eax, al
test eax, eax
je 0x1400506f0
mov rax, qword [rsp + 0x110]
mov rcx, rax
call fcn.14002eee0
movzx eax, al
test eax, eax
je 0x1400506f0
mov rax, qword [rsp + 0x110]
add rax, 0x18
mov rcx, rax
call fcn.14002eee0
movzx eax, al
test eax, eax
jne 0x1400506f1
int3
xor eax, eax
test eax, eax
jne 0x1400506a3
mov rcx, qword [rsp + 0x110]
call fcn.1400231f0
mov dword [rsp + 0x184], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x140050e62
cmp qword [rsp + 0x58], 0
jne 0x14005072d
int3
xor eax, eax
test eax, eax
jne 0x140050724
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x184], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe86], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x718]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x728]
mov dword [rax + 0xe88], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe00]
test eax, eax
jne 0x140050799
mov dword [rsp + 0x244], 1
jmp 0x1400507a4
mov dword [rsp + 0x244], 0
mov rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x244]
mov byte [rax + 0x3f45], cl
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xdf8]
subss xmm0, dword [rsp + 0x160]
mov rax, qword [rsp + 0xd8]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
addss xmm0, dword [rax + 0x50]
movss dword [rsp + 0x144], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140050824
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xdfc]
subss xmm0, dword [rcx + 0x104]
movss dword [rsp + 0x248], xmm0
jmp 0x140050842
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x3c10]
mulss xmm0, dword [0x1400e00a8]
movss dword [rsp + 0x248], xmm0
movss xmm0, dword [rsp + 0x248]
movss dword [rsp + 0x14c], xmm0
movzx eax, byte [rsp + 0x7c]
test eax, eax
je 0x140050878
mov rcx, qword [rsp + 0x58]
call fcn.1400558a0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 1
jmp 0x140050c1e
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140050ac4
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x3742]
cmp eax, 2
jl 0x140050ac4
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe15]
test eax, eax
jne 0x140050ac4
mov rax, qword [rsp + 0x58]
add rax, 0x54
movss xmm3, dword [rsp + 0x14c]
movss xmm2, dword [rsp + 0x144]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400579b0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x3742]
sub eax, 2
mov dword [rsp + 0x314], eax
mov eax, dword [rsp + 0x314]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x140050a02
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x54], 0
je 0x140050956
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1400547a0
movzx eax, ax
cmp eax, 0xa
je 0x140050956
mov byte [rsp + 0xaf], 0
jmp 0x14005095e
mov byte [rsp + 0xaf], 1
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0xec], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x14005098b
movzx eax, byte [rsp + 0xec]
test eax, eax
jne 0x14005099a
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x1400509bd
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, rax
call fcn.1400596b0
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.140054ca0
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.140057850
jmp 0x140050ab5
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x58]
call fcn.1400547a0
movzx eax, ax
cmp eax, 0xa
jne 0x140050a26
mov byte [rsp + 0xb0], 1
jmp 0x140050a2e
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0xe9], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.140054640
movzx eax, byte [rsp + 0xe9]
test eax, eax
jne 0x140050aa9
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140050aa9
mov rax, qword [rsp + 0x58]
add rax, 0x5c
mov rcx, qword [rsp + 0x58]
add rcx, 0x58
mov rdx, rax
call fcn.14004d0d0
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.14004eb90
jmp 0x140050c1e
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x3738]
test eax, eax
je 0x140050b79
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x140050b79
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140050b74
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe15]
test eax, eax
je 0x140050b42
mov rax, qword [rsp + 0x58]
add rax, 0x54
movss xmm3, dword [rsp + 0x14c]
movss xmm2, dword [rsp + 0x144]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140057f90
jmp 0x140050b6a
mov rax, qword [rsp + 0x58]
add rax, 0x54
movss xmm3, dword [rsp + 0x14c]
movss xmm2, dword [rsp + 0x144]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400579b0
mov rcx, qword [rsp + 0x58]
call fcn.14004eb90
jmp 0x140050c1e
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe00]
test eax, eax
je 0x140050c1e
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x140050c1e
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xe8]
ucomiss xmm0, dword [0x1400e5004]
jp 0x140050be0
jne 0x140050be0
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xec]
ucomiss xmm0, dword [0x1400e5004]
jp 0x140050be0
je 0x140050c1e
mov rax, qword [rsp + 0x58]
add rax, 0x54
movss xmm3, dword [rsp + 0x14c]
movss xmm2, dword [rsp + 0x144]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140057f90
mov rcx, qword [rsp + 0x58]
call fcn.14004eb90
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe85]
test eax, eax
je 0x140050c57
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xe00]
test eax, eax
jne 0x140050c57
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe85], 0
mov eax, dword [rsp + 0x728]
and eax, 0x400
test eax, eax
je 0x140050cd7
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x140050cd7
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140050cd7
mov dword [rsp + 0x24c], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x738]
mov r8, qword [rsp + 0x730]
mov edx, dword [rsp + 0x728]
lea rcx, [rsp + 0x24c]
call fcn.140053fa0
movzx eax, al
test eax, eax
je 0x140050cd7
mov edx, dword [rsp + 0x24c]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x140050cfd
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe16]
test eax, eax
je 0x140050d23
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140050d19
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe17]
test eax, eax
jne 0x140050d23
mov byte [rsp + 0xb1], 0
jmp 0x140050d2b
mov byte [rsp + 0xb1], 1
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0xed], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x37b0], 0
jle 0x140050e62
movzx eax, byte [rsp + 0xed]
test eax, eax
jne 0x140050e3d
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140050e3d
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x140050e3d
mov dword [rsp + 0x150], 0
jmp 0x140050d99
mov eax, dword [rsp + 0x150]
inc eax
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x37b0]
cmp dword [rsp + 0x150], eax
jge 0x140050e3d
mov rax, qword [rsp + 0x80]
add rax, 0x37b0
mov qword [rsp + 0x460], rax
mov edx, dword [rsp + 0x150]
mov rcx, qword [rsp + 0x460]
call fcn.140009a70
movzx eax, word [rax]
mov dword [rsp + 0x188], eax
cmp dword [rsp + 0x188], 9
jne 0x140050df4
jmp 0x140050d89
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x738]
mov r8, qword [rsp + 0x730]
mov edx, dword [rsp + 0x728]
lea rcx, [rsp + 0x188]
call fcn.140053fa0
movzx eax, al
test eax, eax
je 0x140050e38
mov edx, dword [rsp + 0x188]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140050d89
mov rax, qword [rsp + 0x80]
add rax, 0x37b0
mov qword [rsp + 0x468], rax
xor edx, edx
mov rcx, qword [rsp + 0x468]
call fcn.140030630
mov byte [rsp + 0x7d], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x140051ea2
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x3f44]
test eax, eax
jne 0x140051ea2
movzx eax, byte [rsp + 0x7a]
test eax, eax
jne 0x140051ea2
cmp qword [rsp + 0x58], 0
jne 0x140050ea6
int3
xor eax, eax
test eax, eax
jne 0x140050e9d
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x10c]
subss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x70]
divss xmm0, dword [rax + 0x3c10]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.140006320
mov dword [rsp + 0x17c], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x17c]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe15]
test eax, eax
je 0x140050f15
mov dword [rsp + 0x220], 0x400000
jmp 0x140050f20
mov dword [rsp + 0x220], 0
mov eax, dword [rsp + 0x220]
mov dword [rsp + 0x98], eax
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140050f4f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe16]
mov byte [rsp + 0xb2], al
jmp 0x140050f65
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
mov byte [rsp + 0xb2], al
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140050fc0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe17]
test eax, eax
je 0x140050fc0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
jne 0x140050fc0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe16]
test eax, eax
jne 0x140050fc0
mov byte [rsp + 0xb3], 1
jmp 0x140050fc8
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x8a], al
mov dword [rsp + 0x540], 1
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa39
call fcn.140028de0
movzx eax, al
test eax, eax
jne 0x140051018
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x220a
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x14005104e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14005104e
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x14005104e
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140051044
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
je 0x14005104e
mov byte [rsp + 0xb4], 1
jmp 0x140051056
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.140028de0
movzx eax, al
test eax, eax
jne 0x140051095
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x1209
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x1400510c2
movzx eax, byte [rsp + 0x7e]
test eax, eax
jne 0x1400510c2
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400510b8
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
je 0x1400510c2
mov byte [rsp + 0xb5], 1
jmp 0x1400510ca
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xe5], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa37
call fcn.140028de0
movzx eax, al
test eax, eax
jne 0x14005110f
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2209
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x140051122
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140051122
mov byte [rsp + 0xb6], 1
jmp 0x14005112a
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xe6], al
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0xa3b
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x140051173
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140051173
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x140051173
mov byte [rsp + 0xb7], 1
jmp 0x14005117b
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.140028de0
movzx eax, al
test eax, eax
jne 0x1400511c9
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x1400511e8
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x2a3b
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x1400511e8
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400511e8
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x1400511e8
mov byte [rsp + 0xb9], 1
jmp 0x1400511f0
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xf5], al
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0xa22
call fcn.140028de0
mov byte [rsp + 0xe4], al
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x140051244
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x140051244
mov byte [rsp + 0xba], 1
jmp 0x14005124c
mov byte [rsp + 0xba], 0
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0xbd], al
mov dl, 1
mov ecx, 0x20d
call fcn.14001a360
movzx eax, al
test eax, eax
jne 0x14005128b
mov dl, 1
mov ecx, 0x267
call fcn.14001a360
movzx eax, al
test eax, eax
jne 0x14005128b
mov byte [rsp + 0xbb], 0
jmp 0x140051293
mov byte [rsp + 0xbb], 1
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xf4], al
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x1400512de
xor edx, edx
mov ecx, 0x26e
call fcn.14001a360
movzx eax, al
test eax, eax
jne 0x1400512d4
xor edx, edx
mov ecx, 0x26d
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400512de
mov byte [rsp + 0xbc], 1
jmp 0x1400512e6
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.140028de0
movzx eax, al
test eax, eax
jne 0x140051341
movzx eax, byte [rsp + 0xbd]
test eax, eax
je 0x140051337
mov r8d, 1
mov edx, dword [rsp + 0x64]
mov ecx, 0x26c
call fcn.140028de0
movzx eax, al
test eax, eax
jne 0x140051341
mov byte [rsp + 0xbe], 0
jmp 0x140051349
mov byte [rsp + 0xbe], 1
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xf6], al
mov dl, 1
mov ecx, 0x201
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400513d9
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140051384
mov dword [rsp + 0x254], 0x200004
jmp 0x1400513b6
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14005139d
mov dword [rsp + 0x250], 0x20000c
jmp 0x1400513a8
mov dword [rsp + 0x250], 0x200000
mov eax, dword [rsp + 0x250]
mov dword [rsp + 0x254], eax
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x254]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x202
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x14005145a
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140051405
mov dword [rsp + 0x268], 0x200005
jmp 0x140051437
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14005141e
mov dword [rsp + 0x258], 0x20000d
jmp 0x140051429
mov dword [rsp + 0x258], 0x200001
mov eax, dword [rsp + 0x258]
mov dword [rsp + 0x268], eax
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x268]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x203
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x14005150f
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14005150f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x1400514c8
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x88]
subss xmm0, dword [rcx + 0x3c10]
xorps xmm1, xmm1
call fcn.140006350
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.140028520
jmp 0x14005150a
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x1400514e1
mov dword [rsp + 0x1b8], 0x200006
jmp 0x1400514ec
mov dword [rsp + 0x1b8], 0x200002
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x1b8]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x204
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400515ea
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400515ea
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x1400515a3
call fcn.1400172f0
movss dword [rsp + 0x318], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x88]
addss xmm0, dword [rcx + 0x3c10]
movss dword [rsp + 0x31c], xmm0
movss xmm1, dword [rsp + 0x318]
movss xmm0, dword [rsp + 0x31c]
call fcn.1400063c0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.140028520
jmp 0x1400515e5
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x1400515bc
mov dword [rsp + 0x1bc], 0x200007
jmp 0x1400515c7
mov dword [rsp + 0x1bc], 0x200003
mov eax, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x1bc]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x205
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x140051652
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140051652
mov eax, dword [rsp + 0x98]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
cvtsi2ss xmm0, dword [rsp + 0x17c]
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movss xmm1, dword [rsp + 0xa0]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xa0], xmm0
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x206
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400516ba
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400516ba
mov eax, dword [rsp + 0x98]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
cvtsi2ss xmm0, dword [rsp + 0x17c]
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movss xmm1, dword [rsp + 0xa0]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xa0], xmm0
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x207
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x14005171e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x1400516f5
mov eax, dword [rsp + 0x98]
or eax, 0x200006
mov dword [rsp + 0x1c0], eax
jmp 0x140051708
mov eax, dword [rsp + 0x98]
or eax, 0x200004
mov dword [rsp + 0x1c0], eax
mov edx, dword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x208
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x140051782
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x140051759
mov eax, dword [rsp + 0x98]
or eax, 0x200007
mov dword [rsp + 0x1c4], eax
jmp 0x14005176c
mov eax, dword [rsp + 0x98]
or eax, 0x200005
mov dword [rsp + 0x1c4], eax
mov edx, dword [rsp + 0x1c4]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x20a
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400517f3
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400517f3
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x1400517f3
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
jne 0x1400517d6
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x1400517d6
mov edx, 0x60000d
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov eax, dword [rsp + 0x98]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
mov dl, 1
mov ecx, 0x20b
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x1400518b3
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400518b3
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
jne 0x140051896
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x140051845
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051896
movzx eax, byte [rsp + 0x79]
test eax, eax
je 0x140051896
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe17]
test eax, eax
je 0x140051896
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe16]
test eax, eax
jne 0x140051896
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
jne 0x140051896
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov eax, dword [rsp + 0x98]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
movzx eax, byte [rsp + 0xf4]
test eax, eax
jne 0x1400518cf
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x1400519ea
mov eax, dword [rsp + 0x728]
and eax, 0x800
test eax, eax
je 0x1400518ec
mov dword [rsp + 0x1c8], 1
jmp 0x1400518f7
mov dword [rsp + 0x1c8], 0
movzx eax, byte [rsp + 0x1c8]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140051959
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x140051959
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x14005193a
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x140051959
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x14005198d
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xe14]
test eax, eax
je 0x14005198d
mov byte [rsp + 0x92], 1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x54]
test eax, eax
je 0x140051986
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140051986
mov rcx, qword [rsp + 0x58]
call fcn.1400558a0
jmp 0x14005198b
mov byte [rsp + 0x7a], 1
jmp 0x1400519e5
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400519e5
mov dword [rsp + 0x1cc], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x738]
mov r8, qword [rsp + 0x730]
mov edx, dword [rsp + 0x728]
lea rcx, [rsp + 0x1cc]
call fcn.140053fa0
movzx eax, al
test eax, eax
je 0x1400519e5
mov edx, dword [rsp + 0x1cc]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
jmp 0x140051e5a
movzx eax, byte [rsp + 0xf6]
test eax, eax
je 0x140051a5c
mov eax, dword [rsp + 0x728]
and eax, 0x100000
test eax, eax
je 0x140051a3b
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x710]
movsx eax, byte [rcx + rax]
test eax, eax
je 0x140051a26
mov byte [rsp + 0x7d], 1
jmp 0x140051a39
mov byte [rsp + 0x61], 0
movzx eax, byte [rsp + 0x61]
mov byte [rsp + 0x68], al
mov byte [rsp + 0x7a], 1
jmp 0x140051a57
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 0x140051e5a
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x140051a74
movzx eax, byte [rsp + 0xf5]
test eax, eax
je 0x140051ab8
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x140051a8d
mov dword [rsp + 0x1d0], 0x20000a
jmp 0x140051a98
mov dword [rsp + 0x1d0], 0x20000b
mov edx, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
call fcn.140054640
mov rcx, qword [rsp + 0x58]
call fcn.14004e3e0
jmp 0x140051e5a
movzx eax, byte [rsp + 0xe4]
test eax, eax
je 0x140051adf
mov rcx, qword [rsp + 0x58]
call fcn.1400558a0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
jmp 0x140051e5a
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x140051afb
movzx eax, byte [rsp + 0xe5]
test eax, eax
je 0x140051ca4
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0xa8], 0
je 0x140051c56
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
je 0x140051b40
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140006390
mov dword [rsp + 0x1d4], eax
jmp 0x140051b4b
mov dword [rsp + 0x1d4], 0
mov eax, dword [rsp + 0x1d4]
mov dword [rsp + 0x1e0], eax
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
je 0x140051b88
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140006320
mov dword [rsp + 0x1d8], eax
jmp 0x140051b97
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x1d8], eax
mov eax, dword [rsp + 0x1d8]
mov dword [rsp + 0x1dc], eax
movsxd rax, dword [rsp + 0x1dc]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1e0]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x20]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.140019300
inc eax
mov dword [rsp + 0x1e4], eax
movsxd rax, dword [rsp + 0x1e4]
mov rcx, rax
call fcn.14001c1c0
mov qword [rsp + 0x368], rax
movsxd rax, dword [rsp + 0x1dc]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1e0]
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 + 0x1e4]
mov rcx, qword [rsp + 0x368]
call fcn.140019470
mov rcx, qword [rsp + 0x368]
call fcn.140027510
mov rcx, qword [rsp + 0x368]
call fcn.14001c220
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x140051c9f
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
jne 0x140051c7d
mov rcx, qword [rsp + 0x58]
call fcn.1400558a0
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.140057a40
jmp 0x140051e5a
movzx eax, byte [rsp + 0xe6]
test eax, eax
je 0x140051e5a
call fcn.1400162f0
mov qword [rsp + 0x370], rax
cmp qword [rsp + 0x370], 0
je 0x140051e5a
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x470], rax
mov qword [rsp + 0x2d0], 0xffffffffffffffff
inc qword [rsp + 0x2d0]
mov rax, qword [rsp + 0x470]
mov rcx, qword [rsp + 0x2d0]
cmp byte [rax + rcx], 0
jne 0x140051cec
mov rax, qword [rsp + 0x2d0]
mov dword [rsp + 0x320], eax
mov eax, dword [rsp + 0x320]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.14001c1c0
mov qword [rsp + 0x2c8], rax
mov dword [rsp + 0x100], 0
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0x2d8], rax
mov rax, qword [rsp + 0x2d8]
movsx eax, byte [rax]
test eax, eax
je 0x140051dfb
xor r8d, r8d
mov rdx, qword [rsp + 0x2d8]
lea rcx, [rsp + 0x1e8]
call fcn.140018bf0
cdqe
mov rcx, qword [rsp + 0x2d8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d8], rax
mov dword [rsp + 0x20], 4
mov r9, qword [rsp + 0x738]
mov r8, qword [rsp + 0x730]
mov edx, dword [rsp + 0x728]
lea rcx, [rsp + 0x1e8]
call fcn.140053fa0
movzx eax, al
test eax, eax
jne 0x140051dca
jmp 0x140051d52
movsxd rax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x2c8]
movzx edx, word [rsp + 0x1e8]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
jmp 0x140051d52
movsxd rax, dword [rsp + 0x100]
xor ecx, ecx
mov rdx, qword [rsp + 0x2c8]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x100], 0
jle 0x140051e4d
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov r9d, dword [rsp + 0x100]
mov r8, qword [rsp + 0x2c8]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400595d0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov rcx, qword [rsp + 0x2c8]
call fcn.14001c220
mov rcx, qword [rsp + 0x58]
call fcn.14004efa0
movzx eax, al
test eax, eax
je 0x140051e87
xor eax, eax
test eax, eax
jne 0x140051e7a
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140051e87
mov dword [rsp + 0x1ec], 1
jmp 0x140051e92
mov dword [rsp + 0x1ec], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1ec]
mov byte [rsp + 0x61], al
mov qword [rsp + 0x130], 0
mov dword [rsp + 0x94], 0
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x1400527c3
cmp qword [rsp + 0x58], 0
jne 0x140051ed7
int3
xor eax, eax
test eax, eax
jne 0x140051ece
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x1400520af
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400520af
mov eax, dword [rsp + 0x728]
and eax, 0x100000
test eax, eax
je 0x140051f6c
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x710]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x140051f21
int3
xor eax, eax
test eax, eax
jne 0x140051f07
lea rax, [0x1400e9d0a]
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x94], 0
mov byte [rsp + 0x7b], 1
mov rax, qword [rsp + 0x58]
add rax, 0x54
xor r9d, r9d
lea r8, [rsp + 0x310]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140059700
jmp 0x1400520af
mov rax, qword [rsp + 0x710]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x40]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x140051f93
inc rax
test dl, dl
jne 0x140051f80
xor eax, eax
jmp 0x140051f98
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400520af
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x38]
dec eax
mov dword [rsp + 0x94], eax
mov byte [rsp + 0x7b], 1
lea rcx, [rsp + 0x3b8]
call fcn.1400064e0
nop
cmp dword [rsp + 0x94], 0
jle 0x140052054
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x130]
call fcn.140019230
inc eax
mov edx, eax
lea rcx, [rsp + 0x3b8]
call fcn.140030630
movsxd rax, dword [rsp + 0x94]
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x130]
mov edx, dword [rsp + 0x3b8]
mov rcx, qword [rsp + 0x3c0]
call fcn.140019390
cmp dword [rsp + 0x94], 0
jle 0x140052070
mov eax, dword [rsp + 0x3b8]
dec eax
mov dword [rsp + 0x1f0], eax
jmp 0x14005207b
mov dword [rsp + 0x1f0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov r9d, dword [rsp + 0x1f0]
mov r8, qword [rsp + 0x3c0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140059700
nop
lea rcx, [rsp + 0x3b8]
call fcn.1400096f0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140052112
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x48], 1
mov rax, qword [rsp + 0x58]
add rax, 0x28
mov qword [rsp + 0x478], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x18]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x478]
call fcn.140030540
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.140019470
movzx eax, byte [rsp + 0x7d]
test eax, eax
je 0x14005213f
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x140052135
mov eax, dword [rsp + 0x728]
and eax, 0x20
test eax, eax
jne 0x14005213f
mov byte [rsp + 0xc2], 0
jmp 0x140052147
mov byte [rsp + 0xc2], 1
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0xe7], al
movzx eax, byte [rsp + 0xe7]
test eax, eax
je 0x1400527c3
mov eax, dword [rsp + 0x728]
and eax, 0x801c0
test eax, eax
je 0x140052765
cmp qword [rsp + 0x730], 0
jne 0x140052186
int3
xor eax, eax
test eax, eax
jne 0x14005217a
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x728]
and eax, 0x40
test eax, eax
je 0x1400521e3
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov ecx, 0x200
call fcn.140028de0
movzx eax, al
test eax, eax
je 0x1400521e3
mov dword [rsp + 0xf0], 0x40
mov dword [rsp + 0x140], 0x200
jmp 0x1400522a4
mov eax, dword [rsp + 0x728]
and eax, 0x80
test eax, eax
je 0x140052221
mov dl, 1
mov ecx, 0x203
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x140052221
mov dword [rsp + 0xf0], pe_nt_image_headers64
mov dword [rsp + 0x140], 0x203
jmp 0x1400522a4
mov eax, dword [rsp + 0x728]
and eax, 0x80
test eax, eax
je 0x14005225c
mov dl, 1
mov ecx, 0x204
call fcn.14001a360
movzx eax, al
test eax, eax
je 0x14005225c
mov dword [rsp + 0xf0], pe_nt_image_headers64
mov dword [rsp + 0x140], 0x204
jmp 0x1400522a4
mov eax, dword [rsp + 0x728]
and eax, 0x80000
test eax, eax
je 0x140052289
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe86]
test eax, eax
je 0x140052289
mov dword [rsp + 0xf0], 0x80000
jmp 0x1400522a4
mov eax, dword [rsp + 0x728]
and eax, 0x100
test eax, eax
je 0x1400522a4
mov dword [rsp + 0xf0], 0x100
cmp dword [rsp + 0xf0], 0
je 0x140052765
lea rcx, [rsp + 0x270]
call fcn.14004d110
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x270], rax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x728]
mov dword [rsp + 0x27c], eax
mov rax, qword [rsp + 0x738]
mov qword [rsp + 0x280], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x140052313
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x3d8], rax
jmp 0x140052324
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
mov qword [rsp + 0x378], rax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x28c], eax
mov rax, qword [rsp + 0x378]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x29c], eax
mov byte [rsp + 0x2a0], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.140019300
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x324], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x58]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.140019300
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x328], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x5c]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.140019300
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x354], eax
mov rax, qword [rsp + 0x730]
mov qword [rsp + 0x480], rax
lea rcx, [rsp + 0x270]
call qword [rsp + 0x480]
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x140052471
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x3e0], rax
jmp 0x140052482
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x3e0], rax
mov rax, qword [rsp + 0x3e0]
mov qword [rsp + 0x378], rax
mov rax, qword [rsp + 0x378]
cmp qword [rsp + 0x290], rax
je 0x1400524a5
int3
xor eax, eax
test eax, eax
jne 0x140052492
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
cmp dword [rsp + 0x29c], eax
je 0x1400524bd
int3
xor eax, eax
test eax, eax
jne 0x1400524ab
mov eax, dword [rsp + 0x728]
cmp dword [rsp + 0x27c], eax
je 0x1400524d4
int3
xor eax, eax
test eax, eax
jne 0x1400524c3
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x8c], al
mov eax, dword [rsp + 0x324]
cmp dword [rsp + 0x2a4], eax
jne 0x140052505
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x14005253f
movsxd rax, dword [rsp + 0x2a4]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.140019230
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 1
mov eax, dword [rsp + 0x328]
cmp dword [rsp + 0x2a8], eax
jne 0x14005255b
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x1400525b8
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x2a8], eax
jne 0x14005257c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x1f4], eax
jmp 0x1400525a9
movsxd rax, dword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.140019230
mov dword [rsp + 0x1f4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f4]
mov dword [rax + 0x58], ecx
mov eax, dword [rsp + 0x354]
cmp dword [rsp + 0x2ac], eax
jne 0x1400525d4
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x140052631
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jne 0x1400525f5
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x1f8], eax
jmp 0x140052622
movsxd rax, dword [rsp + 0x2ac]
mov rcx, qword [rsp + 0x290]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x290]
call fcn.140019230
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f8]
mov dword [rax + 0x5c], ecx
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x140052765
mov eax, dword [rsp + 0x728]
and eax, 0x4000
test eax, eax
je 0x140052652
int3
xor eax, eax
test eax, eax
jne 0x140052641
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x488], rax
mov qword [rsp + 0x2b0], 0xffffffffffffffff
inc qword [rsp + 0x2b0]
mov rax, qword [rsp + 0x488]
mov rcx, qword [rsp + 0x2b0]
cmp byte [rax + rcx], 0
jne 0x140052674
mov rax, qword [rsp + 0x2b0]
cmp dword [rsp + 0x298], eax
je 0x1400526a4
int3
xor eax, eax
test eax, eax
jne 0x140052658
mov r8d, dword [rsp + 0x298]
mov rdx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x58]
call fcn.140054310
mov eax, dword [rsp + 0x184]
cmp dword [rsp + 0x298], eax
jle 0x14005271a
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14005271a
mov rax, qword [rsp + 0x58]
add rax, 0x18
mov qword [rsp + 0x490], rax
mov eax, dword [rsp + 0x184]
mov ecx, dword [rsp + 0x298]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x18]
mov edx, eax
mov rcx, qword [rsp + 0x490]
call fcn.140030630
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x290]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.140019390
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x298]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsp + 0x58]
call fcn.14004eb90
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400527c3
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x710]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x140052795
inc rax
test dl, dl
jne 0x140052782
xor eax, eax
jmp 0x14005279a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400527c3
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x94], eax
mov byte [rsp + 0x7b], 1
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x5aa8], ecx
jne 0x14005286d
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
je 0x14005285e
call fcn.140019d90
movzx eax, al
test eax, eax
je 0x14005285e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14005285e
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x5ab8]
mov rcx, qword [rsp + 0x710]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x140052828
inc rax
test dl, dl
jne 0x140052815
xor eax, eax
jmp 0x14005282d
sbb eax, eax
or eax, 1
test eax, eax
je 0x14005285e
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x5ab8]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x5ab0]
dec eax
mov dword [rsp + 0x94], eax
mov byte [rsp + 0x7b], 1
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x5aa8], 0
cmp qword [rsp + 0x130], 0
je 0x1400529bf
cmp dword [rsp + 0x94], 0
jge 0x140052887
int3
xor eax, eax
test eax, eax
jne 0x14005287c
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14005298e
lea rcx, [rsp + 0x580]
call fcn.14004d110
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x580], rax
mov dword [rsp + 0x588], 0x40000
mov eax, dword [rsp + 0x728]
mov dword [rsp + 0x58c], eax
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x5a0], rax
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x5a8], eax
mov eax, dword [rsp + 0x94]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x718]
call fcn.140006320
mov dword [rsp + 0x5ac], eax
mov rax, qword [rsp + 0x738]
mov qword [rsp + 0x590], rax
mov rax, qword [rsp + 0x730]
mov qword [rsp + 0x498], rax
lea rcx, [rsp + 0x580]
call qword [rsp + 0x498]
mov rax, qword [rsp + 0x5a0]
mov qword [rsp + 0x710], rax
mov eax, dword [rsp + 0x5ac]
mov dword [rsp + 0x718], eax
mov eax, dword [rsp + 0x718]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x5a8]
call fcn.140006390
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x718]
cmp dword [rsp + 0x94], eax
jle 0x140052988
int3
xor eax, eax
test eax, eax
jne 0x140052977
mov eax, dword [rsp + 0x94]
inc eax
mov edx, dword [rsp + 0x718]
mov ecx, eax
call fcn.140006390
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x710]
call fcn.140018b90
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x1400529e0
movzx eax, byte [rsp + 0x7a]
test eax, eax
je 0x1400529e0
call fcn.140010f70
jmp 0x140052a00
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x140052a00
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x5e54], 1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140052a7e
mov r8d, 1
mov edx, dword [rsp + 0x64]
lea rcx, [rsp + 0x160]
call fcn.140024720
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x44]
movss dword [rsp + 0x330], xmm0
movss xmm1, dword [0x1400e00ac]
mov ecx, 7
call fcn.140016490
mov dword [rsp + 0x334], eax
movss xmm0, dword [rsp + 0x330]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x334]
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x160]
call fcn.140023f70
movss xmm0, dword [rsp + 0x164]
addss xmm0, dword [rsp + 0x10c]
movss xmm1, dword [rsp + 0x160]
addss xmm1, dword [rsp + 0x108]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm2, dword [rsp + 0x164]
movss xmm1, dword [rsp + 0x160]
lea rcx, [rsp + 0x3a8]
call fcn.1400095b0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140052afc
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x100]
mov qword [rsp + 0x4a0], rax
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x3e8], rax
jmp 0x140052b28
mov rax, qword [rsp + 0xd8]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x640]
call fcn.140009e50
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x4a8]
mov rax, qword [rax]
mov qword [rsp + 0x158], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x260]
call fcn.140001540
mov dword [rsp + 0x544], 0x200000
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x140052b88
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x410], rax
jmp 0x140052b98
mov rax, qword [rsp + 0x710]
mov qword [rsp + 0x410], rax
mov rax, qword [rsp + 0x410]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x138], 0
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140052c25
mov rax, qword [rsp + 0x708]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x708]
mov qword [rsp + 0x4b0], rax
mov qword [rsp + 0x2c0], 0xffffffffffffffff
inc qword [rsp + 0x2c0]
mov rax, qword [rsp + 0x4b0]
mov rcx, qword [rsp + 0x2c0]
cmp byte [rax + rcx], 0
jne 0x140052be9
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x708]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
jne 0x140052c3b
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140053baf
cmp qword [rsp + 0x58], 0
jne 0x140052c44
int3
xor eax, eax
test eax, eax
jne 0x140052c3b
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140052c72
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x170], rax
lea rcx, [rsp + 0x118]
call fcn.1400094e0
lea rcx, [rsp + 0x380]
call fcn.1400094e0
mov qword [rsp + 0x300], 0
mov qword [rsp + 0x308], 0
mov dword [rsp + 0xf8], 0xfffffc18
mov dword [rsp + 0xfc], 0xfffffc18
mov dword [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140052d29
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x300], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140052d8a
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140006390
cdqe
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x300], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140052da0
mov dword [rsp + 0x1fc], 1
jmp 0x140052dab
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
mov ecx, dword [rsp + 0x9c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xe0], 0
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x1a8], rax
jmp 0x140052df5
mov rax, qword [rsp + 0x1a8]
add rax, 2
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
test eax, eax
je 0x140052ef3
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x140052eee
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140052e8d
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x300]
cmp qword [rsp + 0x1a8], rax
jb 0x140052e8d
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x140052e8d
jmp 0x140052ef3
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140052eee
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x300]
cmp qword [rsp + 0x1a8], rax
jb 0x140052eee
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x140052eee
jmp 0x140052ef3
jmp 0x140052de1
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140052f2d
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140052f57
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x300]
mov qword [rsp + 0x4b8], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + rax + 0x300]
call fcn.140018940
mov qword [rsp + 0x4c0], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x4b8]
mov r8, qword [rsp + 0x4c0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x648]
call fcn.14004f120
movss xmm0, dword [rax]
movss dword [rsp + 0x118], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movss dword [rsp + 0x11c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0
jl 0x1400530c8
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x300]
mov qword [rsp + 0x4c8], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x170]
mov rcx, qword [rsp + rax + 0x300]
call fcn.140018940
mov qword [rsp + 0x4d0], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x4c8]
mov r8, qword [rsp + 0x4d0]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x650]
call fcn.14004f120
movss xmm0, dword [rax]
movss dword [rsp + 0x380], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movss dword [rsp + 0x384], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14005310b
cvtsi2ss xmm0, dword [rsp + 0xe0]
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x108]
lea rcx, [rsp + 0x688]
call fcn.140001540
mov rax, qword [rax]
mov qword [rsp + 0x260], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x1400533a0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe84]
test eax, eax
je 0x1400533a0
mov eax, dword [rsp + 0x728]
and eax, 0x1000
test eax, eax
jne 0x14005320a
movss xmm0, dword [rsp + 0x108]
mulss xmm0, dword [0x1400e5028]
movss dword [rsp + 0x204], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x108]
subss xmm0, dword [rax + 0x3c]
movss dword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x50]
comiss xmm0, dword [rsp + 0x118]
jbe 0x1400531be
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x204]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.140006350
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x50], xmm0
jmp 0x140053208
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x200]
mov rax, qword [rsp + 0x58]
comiss xmm0, dword [rax + 0x50]
jb 0x140053208
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x200]
addss xmm0, dword [rsp + 0x204]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x50], xmm0
jmp 0x140053217
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140053394
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3c10]
movss xmm1, dword [rsp + 0xa0]
comiss xmm1, xmm0
jbe 0x140053274
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3c10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.140006350
movss dword [rsp + 0xa0], xmm0
jmp 0x1400532e7
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1400e00b0]
movss xmm1, dword [rsp + 0x10c]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x11c]
subss xmm1, xmm0
movaps xmm0, xmm1
comiss xmm0, dword [rsp + 0xa0]
jb 0x1400532e7
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rsp + 0x10c]
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rax + 0x40]
mulss xmm1, dword [0x1400e00b0]
addss xmm0, xmm1
movss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1400e00b0]
movss xmm1, dword [rsp + 0x264]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x10c]
xorps xmm1, xmm1
call fcn.140006350
movss dword [rsp + 0x33c], xmm0
movss xmm2, dword [rsp + 0x33c]
xorps xmm1, xmm1
movss xmm0, dword [rsp + 0xa0]
call fcn.140006270
movss dword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x88]
subss xmm0, dword [rsp + 0xa0]
movss xmm1, dword [rsp + 0x15c]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x15c], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0xa0]
movss dword [rax + 0x88], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe84], 0
xorps xmm2, xmm2
mov rax, qword [rsp + 0x58]
movss xmm1, dword [rax + 0x50]
lea rcx, [rsp + 0x2e8]
call fcn.140001540
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1400537ce
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140006390
cdqe
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x58]
call fcn.140006320
cdqe
mov rcx, qword [rsp + 0x170]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x388], rax
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140053439
movss xmm0, dword [0x1400e00ac]
movss dword [rsp + 0x208], xmm0
jmp 0x14005344a
movss xmm0, dword [0x1400e5038]
movss dword [rsp + 0x208], xmm0
movss xmm1, dword [rsp + 0x208]
mov ecx, 0x2f
call fcn.140016490
mov dword [rsp + 0x348], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14005347b
xorps xmm0, xmm0
movss dword [rsp + 0x20c], xmm0
jmp 0x14005348c
movss xmm0, dword [0x1400e50d0]
movss dword [rsp + 0x20c], xmm0
movss xmm0, dword [rsp + 0x20c]
movss dword [rsp + 0x344], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400534b5
xorps xmm0, xmm0
movss dword [rsp + 0x210], xmm0
jmp 0x1400534c6
movss xmm0, dword [0x1400e00b0]
movss dword [rsp + 0x210], xmm0
movss xmm0, dword [rsp + 0x210]
movss dword [rsp + 0x350], xmm0
lea r8, [rsp + 0x380]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5c0]
call fcn.140009e50
lea r8, [rsp + 0x2e8]
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.140009e00
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x388]
cmp qword [rsp + 0x198], rax
jae 0x1400537ce
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x3b4]
addss xmm0, dword [rax + 0x3c10]
movss xmm1, dword [rsp + 0x194]
comiss xmm1, xmm0
jbe 0x14005355c
jmp 0x1400537ce
movss xmm0, dword [rsp + 0x3ac]
comiss xmm0, dword [rsp + 0x194]
jbe 0x1400535ba
mov rax, qword [rsp + 0x388]
cmp qword [rsp + 0x198], rax
jae 0x1400535b5
mov rax, qword [rsp + 0x198]
movzx eax, word [rax]
mov dword [rsp + 0x340], eax
mov rax, qword [rsp + 0x198]
add rax, 2
mov qword [rsp + 0x198], rax
cmp dword [rsp + 0x340], 0xa
jne 0x1400535b3
jmp 0x1400535b5
jmp 0x14005356f
jmp 0x14005378f
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x198]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x388]
mov r8, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x390]
call fcn.14004f120
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x390]
jb 0x140053642
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov qword [rsp + 0x4e0], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x4e0]
call fcn.14004ecf0
mulss xmm0, dword [0x1400e00a8]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x390], xmm0
movss xmm2, dword [rsp + 0x350]
movss xmm1, dword [rsp + 0x390]
lea rcx, [rsp + 0x5c8]
call fcn.140001540
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x5d0]
call fcn.140009e50
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x344]
subss xmm0, dword [rax + 0x3c10]
movaps xmm2, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x5d8]
call fcn.140001540
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x5e0]
call fcn.140009e50
mov qword [rsp + 0x4f0], rax
mov r8, qword [rsp + 0x4e8]
mov rdx, qword [rsp + 0x4f0]
lea rcx, [rsp + 0x428]
call fcn.140009350
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x658]
call fcn.140009390
lea rdx, [rsp + 0x658]
lea rcx, [rsp + 0x428]
call fcn.140011240
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x668]
call fcn.140009390
lea rdx, [rsp + 0x668]
lea rcx, [rsp + 0x428]
call fcn.140022b20
movzx eax, al
test eax, eax
je 0x14005378f
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x4f8], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x348]
lea r8, [rsp + 0x430]
lea rdx, [rsp + 0x428]
mov rcx, qword [rsp + 0x4f8]
call fcn.140034f90
movss xmm0, dword [rsp + 0x158]
subss xmm0, dword [rsp + 0x2e8]
movss dword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x194]
addss xmm0, dword [rax + 0x3c10]
movss dword [rsp + 0x194], xmm0
jmp 0x14005351d
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400537f9
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x140053933
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x14005380f
mov dword [rsp + 0x214], 1
jmp 0x14005381a
mov dword [rsp + 0x214], 0
movss xmm1, dword [0x1400e00ac]
mov ecx, dword [rsp + 0x214]
call fcn.140016490
mov dword [rsp + 0x34c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x518], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140053863
mov qword [rsp + 0x400], 0
jmp 0x140053873
lea rax, [rsp + 0x3a8]
mov qword [rsp + 0x400], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x500], rax
lea r8, [rsp + 0x2e8]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5e8]
call fcn.140009e00
mov qword [rsp + 0x508], rax
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rax + 0x3c10]
movss dword [rsp + 0x39c], xmm0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c08]
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x400]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x500]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x34c]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x508]
movss xmm2, dword [rsp + 0x39c]
mov rdx, qword [rsp + 0x510]
mov rcx, qword [rsp + 0x518]
call fcn.140035040
movzx eax, byte [rsp + 0x68]
test eax, eax
je 0x140053baa
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xe80]
addss xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
movss dword [rax + 0xe80], xmm0
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x5b]
test eax, eax
je 0x1400539b9
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe80]
jae 0x1400539b9
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0xe80]
movss xmm1, dword [0x1400ea77c]
call fcn.1400b92a0
movss xmm1, dword [0x1400e5054]
comiss xmm1, xmm0
jae 0x1400539b9
mov dword [rsp + 0x218], 0
jmp 0x1400539c4
mov dword [rsp + 0x218], 1
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0xe8], al
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5f0]
call fcn.140009e50
lea r8, [rsp + 0x2e8]
mov rdx, rax
lea rcx, [rsp + 0x5f8]
call fcn.140009e00
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.140017de0
movss xmm0, dword [rsp + 0x1b4]
subss xmm0, dword [0x1400ea780]
movss xmm1, dword [rsp + 0x1b0]
addss xmm1, dword [0x1400e00ac]
mov rax, qword [rsp + 0x70]
movss xmm2, dword [rsp + 0x1b4]
subss xmm2, dword [rax + 0x3c10]
addss xmm2, dword [0x1400e00a8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm1, dword [rsp + 0x1b0]
lea rcx, [rsp + 0x568]
call fcn.140009400
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x140053b35
lea rdx, [rsp + 0x3a8]
lea rcx, [rsp + 0x678]
call fcn.140009390
lea rdx, [rsp + 0x678]
lea rcx, [rsp + 0x568]
call fcn.140022b20
movzx eax, al
test eax, eax
je 0x140053b35
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x528], rax
movss xmm1, dword [0x1400e00ac]
xor ecx, ecx
call fcn.140016490
mov dword [rsp + 0x32c], eax
lea rdx, [rsp + 0x600]
lea rcx, [rsp + 0x568]
call fcn.140016150
mov qword [rsp + 0x520], rax
movss xmm0, dword [0x1400e00ac]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x32c]
mov r8, qword [rsp + 0x520]
lea rdx, [rsp + 0x568]
mov rcx, qword [rsp + 0x528]
call fcn.140032bf0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140053baa
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x5bd8], 1
mov rax, qword [rsp + 0x70]
movss xmm0, dword [rsp + 0x1b4]
subss xmm0, dword [rax + 0x3c10]
movss xmm1, dword [rsp + 0x1b0]
subss xmm1, dword [0x1400e00ac]
movaps xmm2, xmm0
lea rcx, [rsp + 0x608]
call fcn.140001540
mov rax, qword [rax]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x5bdc], rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movss xmm0, dword [rcx + 0x3c10]
movss dword [rax + 0x5be4], xmm0
jmp 0x140053db1
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140053c07
lea rdx, [rsp + 0x138]
mov rcx, qword [rsp + 0x120]
call fcn.14004f060
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x70]
mulss xmm0, dword [rax + 0x3c10]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x108]
lea rcx, [rsp + 0x690]
call fcn.140001540
mov rax, qword [rax]
mov qword [rsp + 0x260], rax
jmp 0x140053ca3
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140053c42
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
cmp dword [rax + 0x3f38], ecx
jne 0x140053c42
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
jmp 0x140053ca3
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140053ca3
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x530], rax
mov qword [rsp + 0x2f0], 0xffffffffffffffff
inc qword [rsp + 0x2f0]
mov rax, qword [rsp + 0x530]
mov rcx, qword [rsp + 0x2f0]
cmp byte [rax + rcx], 0
jne 0x140053c67
mov rax, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140053cce
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x138]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x140053db1
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140053ce4
mov dword [rsp + 0x21c], 1
jmp 0x140053cef
mov dword [rsp + 0x21c], 0
movss xmm1, dword [0x1400e00ac]
mov ecx, dword [rsp + 0x21c]
call fcn.140016490
mov dword [rsp + 0x358], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x298]
mov qword [rsp + 0x538], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140053d38
mov qword [rsp + 0x3f8], 0
jmp 0x140053d48
lea rax, [rsp + 0x3a8]
mov qword [rsp + 0x3f8], rax
mov rax, qword [rsp + 0x3f8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x358]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x158]
mov rax, qword [rsp + 0x70]
movss xmm2, dword [rax + 0x3c10]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x3c08]
mov rcx, qword [rsp + 0x538]
call fcn.140035040
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x140053dc8
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140053dc8
call fcn.140022d80
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140053e94
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x264]
addss xmm0, dword [rax + 0x40]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x260]
lea rcx, [rsp + 0x618]
call fcn.140001540
mov rcx, rax
call fcn.14004ec20
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4764]
or eax, 0x401
mov rcx, qword [rsp + 0x70]
mov dword [rcx + 0x4764], eax
call fcn.140012e70
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x4780]
and eax, 0x80
mov ecx, dword [rsp + 0x6a0]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x6a0], eax
call fcn.140013730
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x4778], 0
jne 0x140053e94
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x64]
mov dword [rax + 0x4778], ecx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x69c]
mov dword [rax + 0x477c], ecx
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x6a0]
mov dword [rax + 0x4780], ecx
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x5c98]
test eax, eax
je 0x140053ee6
movzx eax, byte [rsp + 0x7e]
test eax, eax
je 0x140053eb6
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140053ee6
lea rdx, [0x1400ea1ac]
lea rcx, [0x1400ea1b0]
call fcn.14001be50
mov r8, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x158]
call fcn.14001bad0
movss xmm0, dword [rsp + 0x2f8]
comiss xmm0, dword [0x1400e5004]
jbe 0x140053f4a
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x164]
addss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0xd8]
movss xmm1, dword [rsp + 0x168]
addss xmm1, dword [rax + 0x54]
movaps xmm2, xmm0
lea rcx, [rsp + 0x620]
call fcn.140001540
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x700]
mov rcx, qword [rax]
call fcn.140024a40
movzx eax, byte [rsp + 0x7b]
test eax, eax
je 0x140053f6c
mov eax, dword [rsp + 0x728]
and eax, 0x8000000
test eax, eax
jne 0x140053f6c
mov ecx, dword [rsp + 0x64]
call fcn.14001c110
mov eax, dword [rsp + 0x728]
and eax, 0x20
test eax, eax
je 0x140053f86
movzx eax, byte [rsp + 0x92]
jmp 0x140053f8b
movzx eax, byte [rsp + 0x7b]
add rsp, 0x6e8
pop rdi
pop rsi
ret