Function at 0x1800405f0
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, 0x7b8
mov rax, qword [0x180259040]
xor rax, rsp
mov qword [rsp + 0x7a0], rax
call fcn.180029ea0
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
movzx eax, byte [rax + 0xc3]
test eax, eax
je 0x180040646
xor al, al
jmp 0x1800453ee
mov rax, qword [0x18078d910]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
add rax, 8
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x78]
add rax, 0x38e8
mov qword [rsp + 0x108], rax
mov byte [rsp + 0x148], 0
mov eax, dword [rsp + 0x7f8]
and eax, 0x4000000
test eax, eax
je 0x180040698
mov byte [rsp + 0xcf], 1
jmp 0x1800406a0
mov byte [rsp + 0xcf], 0
movzx eax, byte [rsp + 0xcf]
mov byte [rsp + 0x60], al
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800406ba
call fcn.180082c20
xor r8d, r8d
mov rdx, qword [rsp + 0x7d0]
mov rcx, qword [rsp + 0x110]
call fcn.18007caf0
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x110]
mov qword [rsp + 0x6f8], rax
lea rcx, [rsp + 0x478]
call fcn.180082bc0
movss xmm0, dword [rax]
movss dword [rsp + 0x338], xmm0
mov r8, qword [rsp + 0x7f0]
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x480]
call fcn.1800220b0
mov r8, rax
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x6e0]
call fcn.1800293e0
mov r8, qword [rsp + 0x7f0]
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x488]
call fcn.1800220b0
mov qword [rsp + 0x3c0], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x490]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x498]
call fcn.1800220b0
mov qword [rsp + 0x3c8], rax
mov r8, qword [rsp + 0x3c0]
mov rdx, qword [rsp + 0x3c8]
lea rcx, [rsp + 0x5d0]
call fcn.1800293e0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0x5b8]
lea rcx, [rsp + 0x5d0]
call fcn.180029560
lea rcx, [rsp + 0x750]
call fcn.1800299d0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180040a94
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x110]
mov qword [rsp + 0x730], rax
mov rax, qword [rsp + 0x108]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x6e0]
call fcn.180029f40
mov r9d, 0x400
lea r8, [rsp + 0x5d0]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x6e0]
call fcn.180081fb0
movzx eax, al
test eax, eax
jne 0x180040853
call fcn.180082e40
xor al, al
jmp 0x1800453ee
lea rax, [rsp + 0x750]
mov rcx, qword [rsp + 0x78]
mov rdi, rax
lea rsi, [rcx + 0x49c8]
mov ecx, 0x4c
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x730]
mov qword [rax + 0x110], rcx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x4b50], ecx
jne 0x1800408ca
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4b5c]
and eax, 8
test eax, eax
je 0x1800408ca
mov eax, dword [rsp + 0x7f8]
and eax, 0x400
test eax, eax
je 0x1800408ca
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4b50]
mov dword [rsp + 0x22c], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x1800408fc
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x4b50], 0
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0x108]
lea rax, [rcx + rax + 0xf0]
mov rdx, rax
mov ecx, 3
call fcn.18006b940
mov rax, qword [rsp + 0x108]
movss xmm1, dword [rax + 0x48]
mov ecx, 7
call fcn.18006bae0
mov rax, qword [rsp + 0x108]
movss xmm1, dword [rax + 0x4c]
mov ecx, 8
call fcn.18006bae0
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x4a0]
call fcn.180022010
mov rdx, rax
mov ecx, 2
call fcn.18006bb90
lea rdx, [rsp + 0x4a8]
lea rcx, [rsp + 0x5d0]
call fcn.180029560
mov dword [rsp + 0x20], 4
mov r9d, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x7d0]
call fcn.180072f60
mov byte [rsp + 0xe9], al
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x22c]
mov dword [rax + 0x4b50], ecx
mov ecx, 3
call fcn.18006bc40
mov ecx, 1
call fcn.18006ba10
movzx eax, byte [rsp + 0xe9]
test eax, eax
jne 0x1800409f1
call fcn.1800733f0
call fcn.180082e40
xor al, al
jmp 0x1800453ee
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x4018]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x168]
mov ecx, 1
mov dword [rsp + 0x230], ecx
movzx ecx, al
mov eax, dword [rsp + 0x230]
shl eax, cl
mov rcx, qword [rsp + 0xd8]
movsx ecx, word [rcx + 0x16e]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x16e], ax
mov rax, qword [rsp + 0x108]
add rax, 0x3c
mov rcx, qword [rsp + 0xd8]
add rcx, 0x110
mov rdx, rax
call fcn.1800289e0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x5b8]
subss xmm0, dword [rax + 0xb4]
movss dword [rsp + 0x5b8], xmm0
jmp 0x180040aeb
mov rax, qword [rsp + 0x108]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x6e0]
call fcn.180029f40
mov eax, dword [rsp + 0x7f8]
and eax, 0x10000000
test eax, eax
jne 0x180040aeb
mov r9d, 0x400
lea r8, [rsp + 0x5d0]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x6e0]
call fcn.180081fb0
movzx eax, al
test eax, eax
jne 0x180040aeb
xor al, al
jmp 0x1800453ee
mov rax, qword [rsp + 0x78]
mov r8d, dword [rax + 0x49cc]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x5d0]
call fcn.18006ebe0
mov byte [rsp + 0x98], al
mov ecx, dword [rsp + 0x74]
call fcn.180029f80
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x49cc]
and eax, 0x80
test eax, eax
je 0x180040b43
mov eax, dword [rsp + 0x7f8]
bts eax, 0xe
mov dword [rsp + 0x7f8], eax
mov eax, dword [rsp + 0x7f8]
and eax, 0x4000
test eax, eax
je 0x180040b5d
mov byte [rsp + 0xd0], 1
jmp 0x180040b65
mov byte [rsp + 0xd0], 0
movzx eax, byte [rsp + 0xd0]
mov byte [rsp + 0x70], al
mov eax, dword [rsp + 0x7f8]
and eax, 0x8000
test eax, eax
je 0x180040b8b
mov byte [rsp + 0xd1], 1
jmp 0x180040b93
mov byte [rsp + 0xd1], 0
movzx eax, byte [rsp + 0xd1]
mov byte [rsp + 0x95], al
mov eax, dword [rsp + 0x7f8]
and eax, 0x10000
test eax, eax
jne 0x180040bbc
mov byte [rsp + 0xd2], 1
jmp 0x180040bc4
mov byte [rsp + 0xd2], 0
movzx eax, byte [rsp + 0xd2]
mov byte [rsp + 0xc3], al
mov eax, dword [rsp + 0x7f8]
and eax, 0x40000
test eax, eax
je 0x180040bed
mov byte [rsp + 0xd3], 1
jmp 0x180040bf5
mov byte [rsp + 0xd3], 0
movzx eax, byte [rsp + 0xd3]
mov byte [rsp + 0x9b], al
movzx eax, byte [rsp + 0x9b]
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
je 0x180040c58
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x4b50], ecx
jne 0x180040c58
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4b5c]
and eax, 1
test eax, eax
jne 0x180040c4e
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x4b7c], 2
jne 0x180040c58
mov byte [rsp + 0xd4], 1
jmp 0x180040c60
mov byte [rsp + 0xd4], 0
movzx eax, byte [rsp + 0xd4]
mov byte [rsp + 0x99], al
movzx eax, byte [rsp + 0x98]
test eax, eax
je 0x180040ca2
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0x2b10]
test eax, eax
je 0x180040ca2
mov byte [rsp + 0xd5], 1
jmp 0x180040caa
mov byte [rsp + 0xd5], 0
movzx eax, byte [rsp + 0xd5]
mov byte [rsp + 0x96], al
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180040d01
cmp qword [rsp + 0x68], 0
je 0x180040d01
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x407c], 0
jne 0x180040d01
mov edx, 1
mov rcx, qword [rsp + 0xd8]
call fcn.1800b30d0
mov rcx, qword [rsp + 0x78]
cmp dword [rcx + 0x40ac], eax
jne 0x180040d01
mov byte [rsp + 0xd6], 1
jmp 0x180040d09
mov byte [rsp + 0xd6], 0
movzx eax, byte [rsp + 0xd6]
mov byte [rsp + 0xea], al
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180040d52
cmp qword [rsp + 0x68], 0
je 0x180040d52
mov edx, 1
mov rcx, qword [rsp + 0xd8]
call fcn.1800b30d0
mov rcx, qword [rsp + 0x78]
cmp dword [rcx + 0x407c], eax
jne 0x180040d52
mov byte [rsp + 0xb0], 1
jmp 0x180040d5a
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0xb7], al
mov byte [rsp + 0x83], 0
mov byte [rsp + 0x85], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180040d9d
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x90]
movss dword [rsp + 0x178], xmm0
jmp 0x180040dae
movss xmm0, dword [0x180245594]
movss dword [rsp + 0x178], xmm0
movss xmm0, dword [rsp + 0x178]
movss dword [rsp + 0xac], xmm0
cmp qword [rsp + 0x68], 0
je 0x180040de2
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe8c]
test eax, eax
je 0x180040de2
mov byte [rsp + 0xb1], 1
jmp 0x180040dea
mov byte [rsp + 0xb1], 0
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x90], al
cmp qword [rsp + 0x68], 0
je 0x180040e3e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180040e17
mov dword [rsp + 0x17c], 1
jmp 0x180040e22
mov dword [rsp + 0x17c], 0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x6b]
cmp eax, dword [rsp + 0x17c]
je 0x180040e3e
mov byte [rsp + 0xb2], 1
jmp 0x180040e46
mov byte [rsp + 0xb2], 0
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0xb5], al
movzx eax, byte [rsp + 0x96]
test eax, eax
jne 0x180040e83
movzx eax, byte [rsp + 0xea]
test eax, eax
jne 0x180040e83
movzx eax, byte [rsp + 0x99]
test eax, eax
jne 0x180040e83
mov byte [rsp + 0xb3], 0
jmp 0x180040e8b
mov byte [rsp + 0xb3], 1
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x97], al
movzx eax, byte [rsp + 0x97]
test eax, eax
jne 0x180040ebc
movzx eax, byte [rsp + 0xb7]
test eax, eax
jne 0x180040ebc
mov byte [rsp + 0xb4], 0
jmp 0x180040ec4
mov byte [rsp + 0xb4], 1
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0xb6], al
movzx eax, byte [rsp + 0xb6]
test eax, eax
je 0x180040ef0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180040f0c
movzx eax, byte [rsp + 0xb5]
test eax, eax
jne 0x180040f0c
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x18004124d
mov rax, qword [rsp + 0x78]
add rax, 0x4ee8
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.180029870
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe8c], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 8]
call fcn.1800b62c0
mov rcx, qword [rsp + 0x7e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov dword [rsp + 0x134], eax
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x180040fae
mov rax, qword [rsp + 0x68]
add rax, 0x38
mov qword [rsp + 0x3d8], rax
mov eax, dword [rsp + 0x134]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3d8]
call fcn.1800486f0
mov eax, dword [rsp + 0x134]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x40]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 8], ecx
jne 0x180040fe1
movzx eax, byte [rsp + 0xb5]
test eax, eax
jne 0x180040fe1
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x180040fe1
mov dword [rsp + 0x180], 1
jmp 0x180040fec
mov dword [rsp + 0x180], 0
movzx eax, byte [rsp + 0x180]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x180041053
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x134]
cmp dword [rax + 0x10], ecx
jne 0x18004104b
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x180041053
movsxd rax, dword [rsp + 0x134]
mov r8, rax
mov rdx, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x180041053
mov byte [rsp + 0x91], 0
mov qword [rsp + 0x660], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x68]
add rax, 0x18
mov qword [rsp + 0x3e0], rax
mov eax, dword [rsp + 0x7e8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3e0]
call fcn.180048740
mov rax, qword [rsp + 0x68]
add rax, 0x28
mov qword [rsp + 0x3e8], rax
xor edx, edx
mov rcx, qword [rsp + 0x3e8]
call fcn.1800486f0
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x48], 0
lea rax, [rsp + 0x660]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x7e0]
mov edx, dword [rsp + 0x7e8]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x20]
call fcn.18006a5b0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x7e0]
mov rcx, qword [rsp + 0x660]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x10], eax
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x180041128
mov rcx, qword [rsp + 0x68]
call fcn.180029890
jmp 0x18004116e
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
movss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18004114b
mov dword [rsp + 0x184], 1
jmp 0x180041156
mov dword [rsp + 0x184], 0
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov edx, dword [rsp + 0x184]
mov rcx, rax
call fcn.18002c6d0
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x1800411bc
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0xe90]
mov dword [rax + 0x58], ecx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0xe94]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0x5c]
mov dword [rax + 0x54], ecx
mov rcx, qword [rsp + 0x68]
call fcn.180029890
jmp 0x180041234
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180041234
mov eax, dword [rsp + 0x7f8]
and eax, 0x10
test eax, eax
je 0x1800411db
mov byte [rsp + 0x85], 1
movzx eax, byte [rsp + 0x99]
test eax, eax
je 0x18004120d
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x180041205
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4b5c]
and eax, 4
test eax, eax
jne 0x18004120d
mov byte [rsp + 0x85], 1
movzx eax, byte [rsp + 0x96]
test eax, eax
je 0x180041234
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x180041234
mov byte [rsp + 0x85], 1
mov eax, dword [rsp + 0x7f8]
and eax, 0x2000
test eax, eax
je 0x18004124d
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x60], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x51]
mov byte [rsp + 0x82], al
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
je 0x1800412ae
movzx eax, byte [rsp + 0x97]
test eax, eax
je 0x1800412ae
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x74]
call fcn.18006e300
mov rdx, qword [rsp + 0x110]
mov ecx, dword [rsp + 0x74]
call fcn.1800859f0
xor edx, edx
mov rcx, qword [rsp + 0x110]
call fcn.18007b460
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x1800413b7
movzx eax, byte [rsp + 0x96]
test eax, eax
je 0x1800412e0
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x28f
call fcn.1800818a0
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4988]
or eax, 3
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x4988], eax
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180041312
mov eax, dword [rsp + 0x7f8]
and eax, 0x80
test eax, eax
je 0x18004132b
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x4988]
or eax, 0xc
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x4988], eax
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x20d
call fcn.1800818a0
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x273
call fcn.1800818a0
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x207
call fcn.1800818a0
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x208
call fcn.1800818a0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18004139a
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x205
call fcn.1800818a0
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x206
call fcn.1800818a0
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x1800413b7
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x4000
call fcn.1800818a0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x1800413d5
cmp qword [rsp + 0x68], 0
jne 0x1800413d5
call fcn.18006e5f0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180041423
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0x2b10]
test eax, eax
je 0x180041423
movzx eax, byte [rsp + 0xb6]
test eax, eax
jne 0x180041423
movzx eax, byte [rsp + 0x97]
test eax, eax
jne 0x180041423
mov byte [rsp + 0x83], 1
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
je 0x180041455
cmp qword [rsp + 0x68], 0
je 0x180041448
movzx eax, byte [rsp + 0xb7]
test eax, eax
jne 0x180041455
mov dword [rsp + 0x188], 0
jmp 0x180041460
mov dword [rsp + 0x188], 1
movzx eax, byte [rsp + 0x188]
mov byte [rsp + 0x80], al
cmp qword [rsp + 0x68], 0
je 0x1800414b3
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
jne 0x180041494
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x1800414b3
xor eax, eax
test eax, eax
jne 0x1800414a6
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x1800414b3
mov dword [rsp + 0x18c], 1
jmp 0x1800414be
mov dword [rsp + 0x18c], 0
movzx eax, byte [rsp + 0x18c]
mov byte [rsp + 0x71], al
mov byte [rsp + 0x84], 0
mov byte [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1800415c7
cmp qword [rsp + 0x68], 0
je 0x1800415c7
movzx eax, byte [rsp + 0x80]
test eax, eax
jne 0x18004150c
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1800415c7
mov qword [rsp + 0x658], 0
mov rax, qword [rsp + 0x68]
add rax, 0x18
mov qword [rsp + 0x3f0], rax
mov eax, dword [rsp + 0x7e8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3f0]
call fcn.180048740
lea rax, [rsp + 0x658]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x20]
call fcn.18006a5b0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x7e0]
mov rcx, qword [rsp + 0x658]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x10], eax
mov rcx, qword [rsp + 0x68]
call fcn.180029890
movzx eax, byte [rsp + 0x71]
mov dword [rsp + 0x234], eax
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
mov ecx, dword [rsp + 0x234]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x80]
test eax, eax
jne 0x1800415ed
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x1800415ed
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180041615
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180041615
cmp qword [rsp + 0x68], 0
je 0x180041615
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x48]
test eax, eax
je 0x180041615
mov byte [rsp + 0xb8], 1
jmp 0x18004161d
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0xce], al
cmp qword [rsp + 0x7d8], 0
je 0x180041689
movzx eax, byte [rsp + 0xce]
test eax, eax
je 0x180041656
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2b8], rax
jmp 0x180041666
mov rax, qword [rsp + 0x7e0]
mov qword [rsp + 0x2b8], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x2b8]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180041689
mov byte [rsp + 0xb9], 1
jmp 0x180041691
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0x81], al
movzx eax, byte [rsp + 0x95]
test eax, eax
je 0x1800417cf
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x1800417cf
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov qword [rsp + 0x3f8], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x3f8]
call fcn.1800a7480
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x78]
add rax, 0x5d98
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x140]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x140]
movss xmm0, dword [rax + 0x64]
movss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x140]
movss xmm0, dword [rax + 0x68]
movss dword [rcx + 0x68], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x140]
movss xmm0, dword [rax + 0x6c]
movss dword [rcx + 0x6c], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2c0]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x2c0]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x140]
call fcn.18007b9b0
mov dword [rsp + 0x150], 0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180041f37
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x150], eax
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe86], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x7e8]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x7f8]
mov dword [rax + 0xe88], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0xf8]
test eax, eax
jne 0x180041855
mov dword [rsp + 0x190], 1
jmp 0x180041860
mov dword [rsp + 0x190], 0
mov rax, qword [rsp + 0x78]
movzx ecx, byte [rsp + 0x190]
mov byte [rax + 0x4089], cl
mov rax, qword [rsp + 0x88]
movss xmm0, dword [rax + 0xf0]
subss xmm0, dword [rsp + 0x5d0]
mov rax, qword [rsp + 0x108]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x68]
addss xmm0, dword [rax + 0x50]
movss dword [rsp + 0x128], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800418e0
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0xf4]
subss xmm0, dword [rcx + 0x114]
movss dword [rsp + 0x194], xmm0
jmp 0x1800418fe
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rax + 0x3d48]
mulss xmm0, dword [0x180245320]
movss dword [rsp + 0x194], xmm0
movss xmm0, dword [rsp + 0x194]
movss dword [rsp + 0x138], xmm0
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180041937
mov rcx, qword [rsp + 0x68]
call fcn.180029970
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe85], 1
jmp 0x180041cdd
movzx eax, byte [rsp + 0x98]
test eax, eax
je 0x180041b83
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, word [rcx + rax + 0x2b1a]
cmp eax, 2
jl 0x180041b83
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10d]
test eax, eax
jne 0x180041b83
mov rax, qword [rsp + 0x68]
add rax, 0x54
movss xmm3, dword [rsp + 0x138]
movss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002bce0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, word [rcx + rax + 0x2b1a]
sub eax, 2
mov dword [rsp + 0x238], eax
mov eax, dword [rsp + 0x238]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x180041ac1
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x54], 0
je 0x180041a15
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x54]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.18002b370
movzx eax, ax
cmp eax, 0xa
je 0x180041a15
mov byte [rsp + 0xba], 0
jmp 0x180041a1d
mov byte [rsp + 0xba], 1
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0xeb], al
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x180041a4a
movzx eax, byte [rsp + 0xeb]
test eax, eax
jne 0x180041a59
mov edx, 0x20000c
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0x5c]
cmp dword [rax + 0x58], ecx
jne 0x180041a7c
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov rcx, rax
call fcn.18002c040
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x68]
call fcn.18002b720
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002be50
jmp 0x180041b74
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x68]
call fcn.18002b370
movzx eax, ax
cmp eax, 0xa
jne 0x180041ae5
mov byte [rsp + 0xbb], 1
jmp 0x180041aed
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xec], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov edx, 0x600005
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov edx, 0x600001
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
movzx eax, byte [rsp + 0xec]
test eax, eax
jne 0x180041b68
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180041b68
mov rax, qword [rsp + 0x68]
add rax, 0x5c
mov rcx, qword [rsp + 0x68]
add rcx, 0x58
mov rdx, rax
call fcn.180053ed0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
mov ecx, dword [rcx + 0x5c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 0
mov rcx, qword [rsp + 0x68]
call fcn.180029870
jmp 0x180041cdd
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0x2b10]
test eax, eax
je 0x180041c38
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x180041c38
movzx eax, byte [rsp + 0x98]
test eax, eax
je 0x180041c33
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10d]
test eax, eax
je 0x180041c01
mov rax, qword [rsp + 0x68]
add rax, 0x54
movss xmm3, dword [rsp + 0x138]
movss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002bd90
jmp 0x180041c29
mov rax, qword [rsp + 0x68]
add rax, 0x54
movss xmm3, dword [rsp + 0x138]
movss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002bce0
mov rcx, qword [rsp + 0x68]
call fcn.180029870
jmp 0x180041cdd
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0xf8]
test eax, eax
je 0x180041cdd
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe85]
test eax, eax
jne 0x180041cdd
mov rax, qword [rsp + 0x88]
movss xmm0, dword [rax + 0xe0]
ucomiss xmm0, dword [0x180245284]
jp 0x180041c9f
jne 0x180041c9f
mov rax, qword [rsp + 0x88]
movss xmm0, dword [rax + 0xe4]
ucomiss xmm0, dword [0x180245284]
jp 0x180041c9f
je 0x180041cdd
mov rax, qword [rsp + 0x68]
add rax, 0x54
movss xmm3, dword [rsp + 0x138]
movss xmm2, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002bd90
mov rcx, qword [rsp + 0x68]
call fcn.180029870
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe85]
test eax, eax
je 0x180041d16
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
movzx eax, byte [rcx + rax + 0xf8]
test eax, eax
jne 0x180041d16
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe85], 0
mov eax, dword [rsp + 0x7f8]
and eax, 0x400
test eax, eax
je 0x180041da1
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180041da1
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x200
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x180041da1
mov dword [rsp + 0x6d8], 9
mov byte [rsp + 0x28], 1
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x800]
mov r8d, dword [rsp + 0x7f8]
lea rdx, [rsp + 0x6d8]
mov rcx, qword [rsp + 0x78]
call fcn.18003ff30
movzx eax, al
test eax, eax
je 0x180041da1
mov edx, dword [rsp + 0x6d8]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x180041dc7
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10e]
test eax, eax
je 0x180041df0
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180041de6
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10f]
test eax, eax
jne 0x180041df0
mov byte [rsp + 0xbc], 0
jmp 0x180041df8
mov byte [rsp + 0xbc], 1
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xed], al
mov rax, qword [rsp + 0x88]
cmp dword [rax + 0x2b88], 0
jle 0x180041f37
movzx eax, byte [rsp + 0xed]
test eax, eax
jne 0x180041f12
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180041f12
movzx eax, byte [rsp + 0x99]
test eax, eax
jne 0x180041f12
mov dword [rsp + 0x12c], 0
jmp 0x180041e66
mov eax, dword [rsp + 0x12c]
inc eax
mov dword [rsp + 0x12c], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x2b88]
cmp dword [rsp + 0x12c], eax
jge 0x180041f12
mov rax, qword [rsp + 0x88]
add rax, 0x2b88
mov qword [rsp + 0x360], rax
mov edx, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x360]
call fcn.180048790
movzx eax, word [rax]
mov dword [rsp + 0x6b8], eax
cmp dword [rsp + 0x6b8], 9
jne 0x180041ec1
jmp 0x180041e56
mov byte [rsp + 0x28], 1
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x800]
mov r8d, dword [rsp + 0x7f8]
lea rdx, [rsp + 0x6b8]
mov rcx, qword [rsp + 0x78]
call fcn.18003ff30
movzx eax, al
test eax, eax
je 0x180041f0d
mov edx, dword [rsp + 0x6b8]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180041e56
mov rax, qword [rsp + 0x88]
add rax, 0x2b88
mov qword [rsp + 0x3d0], rax
xor edx, edx
mov rcx, qword [rsp + 0x3d0]
call fcn.180048740
mov byte [rsp + 0x86], 0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180042f77
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x4088]
test eax, eax
jne 0x180042f77
movzx eax, byte [rsp + 0x83]
test eax, eax
jne 0x180042f77
mov rax, qword [rsp + 0x108]
movss xmm0, dword [rsp + 0x5bc]
subss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x78]
divss xmm0, dword [rax + 0x3d48]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.18004c9e0
mov dword [rsp + 0x14c], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x14c]
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10d]
test eax, eax
je 0x180041fe1
mov dword [rsp + 0x19c], 0x400000
jmp 0x180041fec
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18004201e
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10e]
mov byte [rsp + 0xbd], al
jmp 0x180042034
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
mov byte [rsp + 0xbd], al
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0x93], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180042092
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10f]
test eax, eax
je 0x180042092
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
jne 0x180042092
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10e]
test eax, eax
jne 0x180042092
mov byte [rsp + 0xbe], 1
jmp 0x18004209a
mov byte [rsp + 0xbe], 0
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0x92], al
mov dword [rsp + 0x33c], 1
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x1239
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x1800420ea
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x220a
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x180042123
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180042123
movzx eax, byte [rsp + 0x95]
test eax, eax
jne 0x180042123
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180042119
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
je 0x180042123
mov byte [rsp + 0xbf], 1
jmp 0x18004212b
mov byte [rsp + 0xbf], 0
movzx eax, byte [rsp + 0xbf]
mov byte [rsp + 0x9a], al
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x1224
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x18004216a
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x1209
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x18004219a
movzx eax, byte [rsp + 0x95]
test eax, eax
jne 0x18004219a
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180042190
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
je 0x18004219a
mov byte [rsp + 0xc0], 1
jmp 0x1800421a2
mov byte [rsp + 0xc0], 0
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0xe5], al
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x1237
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x1800421e7
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x2209
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x1800421fa
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1800421fa
mov byte [rsp + 0xc1], 1
jmp 0x180042202
mov byte [rsp + 0xc1], 0
movzx eax, byte [rsp + 0xc1]
mov byte [rsp + 0xe6], al
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x123b
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x18004224b
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x18004224b
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x18004224b
mov byte [rsp + 0xc2], 1
jmp 0x180042253
mov byte [rsp + 0xc2], 0
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0xcc], al
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x123a
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x1800422a4
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x1800422c3
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x323b
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x1800422c3
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1800422c3
movzx eax, byte [rsp + 0xc3]
test eax, eax
je 0x1800422c3
mov byte [rsp + 0xc4], 1
jmp 0x1800422cb
mov byte [rsp + 0xc4], 0
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0xf6], al
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x1222
call fcn.180081ac0
mov byte [rsp + 0xe4], al
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x18004231f
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x18004231f
mov byte [rsp + 0xc5], 1
jmp 0x180042327
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0xc8], al
mov dl, 1
mov ecx, 0x20d
call fcn.18007ddd0
movzx eax, al
test eax, eax
jne 0x180042366
mov dl, 1
mov ecx, 0x273
call fcn.18007ddd0
movzx eax, al
test eax, eax
jne 0x180042366
mov byte [rsp + 0xc6], 0
jmp 0x18004236e
mov byte [rsp + 0xc6], 1
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0xf4], al
movzx eax, byte [rsp + 0xc8]
test eax, eax
je 0x1800423b9
xor edx, edx
mov ecx, 0x27c
call fcn.18007ddd0
movzx eax, al
test eax, eax
jne 0x1800423af
xor edx, edx
mov ecx, 0x27b
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800423b9
mov byte [rsp + 0xc7], 1
jmp 0x1800423c1
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0xca], al
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x20e
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x18004241c
movzx eax, byte [rsp + 0xc8]
test eax, eax
je 0x180042412
mov r8d, 1
mov edx, dword [rsp + 0x74]
mov ecx, 0x27a
call fcn.180081ac0
movzx eax, al
test eax, eax
jne 0x18004241c
mov byte [rsp + 0xc9], 0
jmp 0x180042424
mov byte [rsp + 0xc9], 1
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0xf5], al
mov dl, 1
mov ecx, 0x201
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800424b4
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x18004245f
mov dword [rsp + 0x1a4], 0x200004
jmp 0x180042491
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x180042478
mov dword [rsp + 0x1a0], 0x20000c
jmp 0x180042483
mov dword [rsp + 0x1a0], 0x200000
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x1a4]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x202
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x180042535
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x1800424e0
mov dword [rsp + 0x1ac], 0x200005
jmp 0x180042512
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x1800424f9
mov dword [rsp + 0x1a8], 0x20000d
jmp 0x180042504
mov dword [rsp + 0x1a8], 0x200001
mov eax, dword [rsp + 0x1a8]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x1ac]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x203
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800425ea
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800425ea
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x1800425a3
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x78]
movss xmm0, dword [rax + 0x90]
subss xmm0, dword [rcx + 0x3d48]
xorps xmm1, xmm1
call fcn.180027500
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd8]
call fcn.180083f00
jmp 0x1800425e5
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x1800425bc
mov dword [rsp + 0x1b0], 0x200006
jmp 0x1800425c7
mov dword [rsp + 0x1b0], 0x200002
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x1b0]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x204
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800426c5
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800426c5
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x18004267e
call fcn.180083e90
movss dword [rsp + 0x23c], xmm0
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x78]
movss xmm0, dword [rax + 0x90]
addss xmm0, dword [rcx + 0x3d48]
movss dword [rsp + 0x240], xmm0
movss xmm1, dword [rsp + 0x23c]
movss xmm0, dword [rsp + 0x240]
call fcn.1800274c0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd8]
call fcn.180083f00
jmp 0x1800426c0
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x180042697
mov dword [rsp + 0x1b4], 0x200007
jmp 0x1800426a2
mov dword [rsp + 0x1b4], 0x200003
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0x1b4]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x205
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x18004272d
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18004272d
mov eax, dword [rsp + 0xa0]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
cvtsi2ss xmm0, dword [rsp + 0x14c]
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movss xmm1, dword [rsp + 0xac]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xac], xmm0
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x206
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x180042795
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180042795
mov eax, dword [rsp + 0xa0]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
cvtsi2ss xmm0, dword [rsp + 0x14c]
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movss xmm1, dword [rsp + 0xac]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0xac], xmm0
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x207
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800427f9
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x1800427d0
mov eax, dword [rsp + 0xa0]
or eax, 0x200006
mov dword [rsp + 0x1b8], eax
jmp 0x1800427e3
mov eax, dword [rsp + 0xa0]
or eax, 0x200004
mov dword [rsp + 0x1b8], eax
mov edx, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x208
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x18004285d
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x180042834
mov eax, dword [rsp + 0xa0]
or eax, 0x200007
mov dword [rsp + 0x1bc], eax
jmp 0x180042847
mov eax, dword [rsp + 0xa0]
or eax, 0x200005
mov dword [rsp + 0x1bc], eax
mov edx, dword [rsp + 0x1bc]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x20a
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800428ce
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1800428ce
movzx eax, byte [rsp + 0x9a]
test eax, eax
jne 0x1800428ce
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
jne 0x1800428b1
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x1800428b1
mov edx, 0x60000d
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov eax, dword [rsp + 0xa0]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
mov dl, 1
mov ecx, 0x20b
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x180042991
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180042991
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
jne 0x180042974
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x180042920
mov edx, 0x60000c
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042974
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180042974
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10f]
test eax, eax
je 0x180042974
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10e]
test eax, eax
jne 0x180042974
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
jne 0x180042974
mov edx, 0x600004
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov eax, dword [rsp + 0xa0]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
movzx eax, byte [rsp + 0xf4]
test eax, eax
jne 0x1800429ad
movzx eax, byte [rsp + 0xca]
test eax, eax
je 0x180042ad3
mov eax, dword [rsp + 0x7f8]
and eax, 0x800
test eax, eax
je 0x1800429ca
mov dword [rsp + 0x1c0], 1
jmp 0x1800429d5
mov dword [rsp + 0x1c0], 0
movzx eax, byte [rsp + 0x1c0]
mov byte [rsp + 0xcb], al
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180042a37
movzx eax, byte [rsp + 0xca]
test eax, eax
jne 0x180042a37
movzx eax, byte [rsp + 0xcb]
test eax, eax
je 0x180042a18
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x180042a37
movzx eax, byte [rsp + 0xcb]
test eax, eax
jne 0x180042a6e
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x10c]
test eax, eax
je 0x180042a6e
mov byte [rsp + 0x9c], 1
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x54]
test eax, eax
je 0x180042a64
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180042a64
mov rcx, qword [rsp + 0x68]
call fcn.180029970
jmp 0x180042a6c
mov byte [rsp + 0x83], 1
jmp 0x180042ace
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180042ace
mov dword [rsp + 0x6d4], 0xa
mov byte [rsp + 0x28], 1
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x800]
mov r8d, dword [rsp + 0x7f8]
lea rdx, [rsp + 0x6d4]
mov rcx, qword [rsp + 0x78]
call fcn.18003ff30
movzx eax, al
test eax, eax
je 0x180042ace
mov edx, dword [rsp + 0x6d4]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
jmp 0x180042f2c
movzx eax, byte [rsp + 0xf5]
test eax, eax
je 0x180042b5a
mov eax, dword [rsp + 0x7f8]
and eax, 0x100000
test eax, eax
je 0x180042b2d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x7e0]
movsx eax, byte [rcx + rax]
test eax, eax
je 0x180042b12
mov byte [rsp + 0x86], 1
jmp 0x180042b2b
mov byte [rsp + 0x71], 0
movzx eax, byte [rsp + 0x71]
mov byte [rsp + 0x80], al
mov byte [rsp + 0x83], 1
jmp 0x180042b55
mov byte [rsp + 0x86], 1
movzx eax, byte [rsp + 0x86]
mov byte [rsp + 0x83], al
mov byte [rsp + 0x71], 0
movzx eax, byte [rsp + 0x71]
mov byte [rsp + 0x80], al
jmp 0x180042f2c
movzx eax, byte [rsp + 0xcc]
test eax, eax
jne 0x180042b72
movzx eax, byte [rsp + 0xf6]
test eax, eax
je 0x180042bb6
movzx eax, byte [rsp + 0xcc]
test eax, eax
je 0x180042b8b
mov dword [rsp + 0x1c8], 0x20000a
jmp 0x180042b96
mov dword [rsp + 0x1c8], 0x20000b
mov edx, dword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x68]
call fcn.1800b6240
mov rcx, qword [rsp + 0x68]
call fcn.180029940
jmp 0x180042f2c
movzx eax, byte [rsp + 0xe4]
test eax, eax
je 0x180042bdd
mov rcx, qword [rsp + 0x68]
call fcn.180029970
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 1
jmp 0x180042f2c
movzx eax, byte [rsp + 0x9a]
test eax, eax
jne 0x180042bf9
movzx eax, byte [rsp + 0xe5]
test eax, eax
je 0x180042da2
mov rax, qword [rsp + 0x88]
cmp qword [rax + 0xa8], 0
je 0x180042d54
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
je 0x180042c3e
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x58]
call fcn.18004c050
mov dword [rsp + 0x1dc], eax
jmp 0x180042c49
mov dword [rsp + 0x1dc], 0
mov eax, dword [rsp + 0x1dc]
mov dword [rsp + 0x1d4], eax
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
je 0x180042c86
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x58]
call fcn.18004c9e0
mov dword [rsp + 0x1cc], eax
jmp 0x180042c95
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x1cc], eax
mov eax, dword [rsp + 0x1cc]
mov dword [rsp + 0x1d0], eax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x20]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.18006aa50
inc eax
mov dword [rsp + 0x1d8], eax
movsxd rax, dword [rsp + 0x1d8]
mov rcx, rax
call fcn.18006f070
mov qword [rsp + 0x280], rax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x20]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x20]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x280]
call fcn.18006a940
mov rcx, qword [rsp + 0x280]
call fcn.18006f2a0
mov rcx, qword [rsp + 0x280]
call fcn.18006f0e0
movzx eax, byte [rsp + 0x9a]
test eax, eax
je 0x180042d9d
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
jne 0x180042d7b
mov rcx, qword [rsp + 0x68]
call fcn.180029970
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 1
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002c090
jmp 0x180042f2c
movzx eax, byte [rsp + 0xe6]
test eax, eax
je 0x180042f2c
call fcn.18006f240
mov qword [rsp + 0x278], rax
cmp qword [rsp + 0x278], 0
je 0x180042f2c
mov rcx, qword [rsp + 0x278]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov dword [rsp + 0x244], eax
mov eax, dword [rsp + 0x244]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.18006f070
mov qword [rsp + 0x210], rax
mov dword [rsp + 0x100], 0
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x218]
movsx eax, byte [rax]
test eax, eax
je 0x180042ecd
xor r8d, r8d
mov rdx, qword [rsp + 0x218]
lea rcx, [rsp + 0x6d0]
call fcn.18006a120
cdqe
mov rcx, qword [rsp + 0x218]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x218], rax
mov byte [rsp + 0x28], 1
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x800]
mov r8d, dword [rsp + 0x7f8]
lea rdx, [rsp + 0x6d0]
mov rcx, qword [rsp + 0x78]
call fcn.18003ff30
movzx eax, al
test eax, eax
jne 0x180042e9c
jmp 0x180042e1c
movsxd rax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x210]
movzx edx, word [rsp + 0x6d0]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
jmp 0x180042e1c
movsxd rax, dword [rsp + 0x100]
xor ecx, ecx
mov rdx, qword [rsp + 0x210]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x100], 0
jle 0x180042f1f
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov r9d, dword [rsp + 0x100]
mov r8, qword [rsp + 0x210]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002c6f0
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 1
mov rcx, qword [rsp + 0x210]
call fcn.18006f0e0
mov rcx, qword [rsp + 0x68]
call fcn.180029900
movzx eax, al
test eax, eax
je 0x180042f5c
xor eax, eax
test eax, eax
jne 0x180042f4f
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180042f5c
mov dword [rsp + 0x1e0], 1
jmp 0x180042f67
mov dword [rsp + 0x1e0], 0
movzx eax, byte [rsp + 0x71]
or eax, dword [rsp + 0x1e0]
mov byte [rsp + 0x71], al
mov qword [rsp + 0x120], 0
mov dword [rsp + 0xa4], 0
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x18004378b
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180043149
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180043149
mov eax, dword [rsp + 0x7f8]
and eax, 0x100000
test eax, eax
je 0x180043018
lea rax, [0x180220b4a]
mov qword [rsp + 0x120], rax
mov dword [rsp + 0xa4], 0
mov byte [rsp + 0x84], 1
mov rax, qword [rsp + 0x68]
add rax, 0x54
xor r9d, r9d
lea r8, [rsp + 0x700]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002c730
jmp 0x180043149
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x40]
mov rcx, qword [rsp + 0x7e0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
je 0x180043149
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x38]
dec eax
mov dword [rsp + 0xa4], eax
mov byte [rsp + 0x84], 1
lea rcx, [rsp + 0x648]
call fcn.1800487e0
nop
cmp dword [rsp + 0xa4], 0
jle 0x1800430ee
movsxd rax, dword [rsp + 0xa4]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x120]
call fcn.18006a6b0
inc eax
mov edx, eax
lea rcx, [rsp + 0x648]
call fcn.180048740
movsxd rax, dword [rsp + 0xa4]
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 + 0x648]
mov rcx, qword [rsp + 0x650]
call fcn.18006a5b0
cmp dword [rsp + 0xa4], 0
jle 0x18004310a
mov eax, dword [rsp + 0x648]
dec eax
mov dword [rsp + 0x1e4], eax
jmp 0x180043115
mov dword [rsp + 0x1e4], 0
mov rax, qword [rsp + 0x68]
add rax, 0x54
mov r9d, dword [rsp + 0x1e4]
mov r8, qword [rsp + 0x650]
mov rdx, rax
mov rcx, qword [rsp + 0x68]
call fcn.18002c730
nop
lea rcx, [rsp + 0x648]
call fcn.1800487b0
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1800431ac
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x48], 1
mov rax, qword [rsp + 0x68]
add rax, 0x28
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x18]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x358]
call fcn.1800486f0
xor r9d, r9d
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x20]
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x28]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x30]
call fcn.18006a940
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x1800431dc
movzx eax, byte [rsp + 0x9c]
test eax, eax
je 0x1800431d2
mov eax, dword [rsp + 0x7f8]
and eax, 0x20
test eax, eax
jne 0x1800431dc
mov byte [rsp + 0xcd], 0
jmp 0x1800431e4
mov byte [rsp + 0xcd], 1
movzx eax, byte [rsp + 0xcd]
mov byte [rsp + 0xe7], al
movzx eax, byte [rsp + 0xe7]
test eax, eax
je 0x18004378b
mov eax, dword [rsp + 0x7f8]
and eax, 0x801c0
test eax, eax
je 0x18004373f
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x7f8]
and eax, 0x40
test eax, eax
je 0x18004326e
xor r8d, r8d
mov edx, dword [rsp + 0x74]
mov ecx, 0x200
call fcn.180081ac0
movzx eax, al
test eax, eax
je 0x18004326e
mov dword [rsp + 0xf0], 0x40
mov dword [rsp + 0x130], 0x200
jmp 0x18004332f
mov eax, dword [rsp + 0x7f8]
and eax, 0x80
test eax, eax
je 0x1800432ac
mov dl, 1
mov ecx, 0x203
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800432ac
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x130], 0x203
jmp 0x18004332f
mov eax, dword [rsp + 0x7f8]
and eax, 0x80
test eax, eax
je 0x1800432e7
mov dl, 1
mov ecx, 0x204
call fcn.18007ddd0
movzx eax, al
test eax, eax
je 0x1800432e7
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x130], 0x204
jmp 0x18004332f
mov eax, dword [rsp + 0x7f8]
and eax, 0x80000
test eax, eax
je 0x180043314
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe86]
test eax, eax
je 0x180043314
mov dword [rsp + 0xf0], 0x80000
jmp 0x18004332f
mov eax, dword [rsp + 0x7f8]
and eax, 0x100
test eax, eax
je 0x18004332f
mov dword [rsp + 0xf0], 0x100
cmp dword [rsp + 0xf0], 0
je 0x18004373f
lea rcx, [rsp + 0x600]
call fcn.1800b6290
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x600], rax
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x608], eax
mov eax, dword [rsp + 0x7f8]
mov dword [rsp + 0x60c], eax
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x610], rax
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18004339e
mov rax, qword [rsp + 0x7e0]
mov qword [rsp + 0x2c8], rax
jmp 0x1800433af
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x2d8], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x61c], eax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x620], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x628], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x62c], eax
mov byte [rsp + 0x630], 0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x168]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x168]
call fcn.18006aa50
mov dword [rsp + 0x634], eax
mov eax, dword [rsp + 0x634]
mov dword [rsp + 0x290], eax
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x58]
mov rcx, qword [rsp + 0x168]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x168]
call fcn.18006aa50
mov dword [rsp + 0x638], eax
mov eax, dword [rsp + 0x638]
mov dword [rsp + 0x268], eax
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x5c]
mov rcx, qword [rsp + 0x168]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x168]
call fcn.18006aa50
mov dword [rsp + 0x63c], eax
mov eax, dword [rsp + 0x63c]
mov dword [rsp + 0x228], eax
mov rax, qword [rsp + 0x800]
mov qword [rsp + 0x350], rax
lea rcx, [rsp + 0x600]
call qword [rsp + 0x350]
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1800434fc
mov rax, qword [rsp + 0x7e0]
mov qword [rsp + 0x2d0], rax
jmp 0x18004350d
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
mov qword [rsp + 0x2d8], rax
movzx eax, byte [rsp + 0x630]
mov byte [rsp + 0x94], al
mov eax, dword [rsp + 0x290]
cmp dword [rsp + 0x634], eax
jne 0x180043548
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x180043582
movsxd rax, dword [rsp + 0x634]
mov rcx, qword [rsp + 0x620]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x620]
call fcn.18006a6b0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x54], eax
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 1
mov eax, dword [rsp + 0x268]
cmp dword [rsp + 0x638], eax
jne 0x18004359e
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x1800435fb
mov eax, dword [rsp + 0x634]
cmp dword [rsp + 0x638], eax
jne 0x1800435bf
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x1e8], eax
jmp 0x1800435ec
movsxd rax, dword [rsp + 0x638]
mov rcx, qword [rsp + 0x620]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x620]
call fcn.18006a6b0
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x1e8]
mov dword [rax + 0x58], ecx
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x63c], eax
jne 0x180043617
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x180043674
mov eax, dword [rsp + 0x638]
cmp dword [rsp + 0x63c], eax
jne 0x180043638
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x58]
mov dword [rsp + 0x1ec], eax
jmp 0x180043665
movsxd rax, dword [rsp + 0x63c]
mov rcx, qword [rsp + 0x620]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x620]
call fcn.18006a6b0
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x1ec]
mov dword [rax + 0x5c], ecx
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x18004373f
mov r8d, dword [rsp + 0x628]
mov rdx, qword [rsp + 0x620]
mov rcx, qword [rsp + 0x68]
call fcn.180040390
mov eax, dword [rsp + 0x150]
cmp dword [rsp + 0x628], eax
jle 0x1800436f4
movzx eax, byte [rsp + 0x9b]
test eax, eax
je 0x1800436f4
mov rax, qword [rsp + 0x68]
add rax, 0x18
mov qword [rsp + 0x3a8], rax
mov eax, dword [rsp + 0x150]
mov ecx, dword [rsp + 0x628]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x68]
add eax, dword [rcx + 0x18]
mov edx, eax
mov rcx, qword [rsp + 0x3a8]
call fcn.180048740
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x620]
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x18]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x20]
call fcn.18006a5b0
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x628]
mov dword [rax + 0x10], ecx
mov rcx, qword [rsp + 0x68]
call fcn.180029870
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x18004378b
mov rdx, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
je 0x18004378b
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0xa4], eax
mov byte [rsp + 0x84], 1
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x5d80], ecx
jne 0x180043823
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
je 0x180043814
call fcn.180072e30
movzx eax, al
test eax, eax
je 0x180043814
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180043814
mov rdx, qword [rsp + 0x7e0]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x5d90]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
je 0x180043814
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x5d90]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x5d88]
dec eax
mov dword [rsp + 0xa4], eax
mov byte [rsp + 0x84], 1
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x5d80], 0
cmp qword [rsp + 0x120], 0
je 0x18004394d
movzx eax, byte [rsp + 0x9b]
test eax, eax
je 0x18004391c
lea rcx, [rsp + 0x670]
call fcn.1800b6290
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x670], rax
mov dword [rsp + 0x678], 0x40000
mov eax, dword [rsp + 0x7f8]
mov dword [rsp + 0x67c], eax
mov rax, qword [rsp + 0x7e0]
mov qword [rsp + 0x690], rax
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x698], eax
mov eax, dword [rsp + 0xa4]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x7e8]
call fcn.18004c9e0
mov dword [rsp + 0x69c], eax
mov rax, qword [rsp + 0x808]
mov qword [rsp + 0x680], rax
mov rax, qword [rsp + 0x800]
mov qword [rsp + 0x390], rax
lea rcx, [rsp + 0x670]
call qword [rsp + 0x390]
mov rax, qword [rsp + 0x690]
mov qword [rsp + 0x7e0], rax
mov eax, dword [rsp + 0x69c]
mov dword [rsp + 0x7e8], eax
mov eax, dword [rsp + 0x7e8]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x698]
call fcn.18004c050
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xa4]
inc eax
mov edx, dword [rsp + 0x7e8]
mov ecx, eax
call fcn.18004c050
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x7e0]
call fcn.180069320
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180043971
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180043971
call fcn.18006e5f0
jmp 0x180043991
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x180043991
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x6218], 1
mov r8d, dword [rsp + 0x74]
lea rdx, [rsp + 0x5e0]
mov rcx, qword [0x18078e5b0]
call fcn.180053f10
mov qword [rsp + 0x5e0], rax
call fcn.18006f2f0
movss xmm0, dword [rax + 0x10]
mulss xmm0, dword [0x18024547c]
movss dword [rsp + 0x28c], xmm0
call fcn.180072d20
movzx eax, al
test eax, eax
je 0x1800439ec
movss xmm0, dword [0x1802453b8]
movss dword [rsp + 0x1f0], xmm0
jmp 0x1800439f8
xorps xmm0, xmm0
movss dword [rsp + 0x1f0], xmm0
mov rax, qword [rsp + 0x5e0]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x288], xmm0
movss xmm2, dword [rsp + 0x28c]
movss xmm1, dword [rsp + 0x1f0]
movss xmm0, dword [rsp + 0x288]
call fcn.18004ca60
movss dword [rsp + 0x2ac], xmm0
mov rax, qword [rsp + 0x5e0]
movss xmm0, dword [rsp + 0x2ac]
movss dword [rax + 8], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180043cd5
mov rax, qword [0x18078e618]
movss xmm0, dword [rax + 0x1fc]
movss dword [rsp + 0x2a8], xmm0
mov rax, qword [0x18078e5a0]
add rax, 0x80
movss xmm2, dword [0x1802453b8]
mov rdx, rax
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x2a4], eax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x378], rax
mov dword [rsp + 0x30], 0
movss xmm0, dword [rsp + 0x2a8]
movss dword [rsp + 0x28], xmm0
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x6e8]
lea r8, [rsp + 0x6e0]
mov rdx, qword [rsp + 0x378]
mov rcx, qword [0x18078e5b8]
call fcn.1800259f0
mov rax, qword [0x18078e618]
movss xmm0, dword [rax + 0x1fc]
movss dword [rsp + 0x2a0], xmm0
mov rax, qword [0x18078e5a0]
add rax, 0x70
movss xmm2, dword [0x1802453b8]
mov rdx, rax
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x29c], eax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x370], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov dword [rsp + 0x30], 0
movss xmm0, dword [rsp + 0x2a0]
movss dword [rsp + 0x28], xmm0
mov eax, dword [rsp + 0x29c]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x6e8]
lea r8, [rsp + 0x6e0]
mov rdx, qword [rsp + 0x370]
mov rcx, qword [0x18078e5b8]
call fcn.180025aa0
movss xmm2, dword [0x180245320]
movss xmm1, dword [0x1802453b8]
lea rcx, [rsp + 0x368]
call fcn.180022010
mov rax, qword [0x18078e5a0]
movss xmm2, dword [0x1802453b8]
mov rdx, rax
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x298], eax
mov rax, qword [0x18078e618]
movss xmm0, dword [0x180245484]
mulss xmm0, dword [rax + 0x134]
xorps xmm2, xmm2
movaps xmm1, xmm0
lea rcx, [rsp + 0x4b0]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x6e8]
lea rcx, [rsp + 0x4b8]
call fcn.180022100
mov qword [rsp + 0x380], rax
mov eax, 8
imul rax, rax, 3
mov rcx, qword [0x18078e618]
mov rax, qword [rcx + rax + 0x1d0]
mov qword [rsp + 0x388], rax
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x398], rax
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x368]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov rax, qword [rsp + 0x7d0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x298]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x380]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x6e0]
mov r8, qword [rsp + 0x388]
mov rdx, qword [rsp + 0x398]
mov rcx, qword [0x18078e5b8]
call fcn.180025620
movss xmm0, dword [rsp + 0x5d4]
addss xmm0, dword [rsp + 0x5bc]
movss xmm1, dword [rsp + 0x5d0]
addss xmm1, dword [rsp + 0x5b8]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm2, dword [rsp + 0x5d4]
movss xmm1, dword [rsp + 0x5d0]
lea rcx, [rsp + 0x710]
call fcn.180022050
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180043d56
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x110]
mov qword [rsp + 0x3a0], rax
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x2e0], rax
jmp 0x180043e3d
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x7d8]
lea rcx, [rsp + 0x4c0]
call fcn.180072830
mov rcx, qword [rsp + 0x7f0]
movss xmm0, dword [rcx + 4]
subss xmm0, dword [rax + 4]
subss xmm0, dword [0x1802453b8]
movss dword [rsp + 0x294], xmm0
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x20], xmm0
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x7d8]
lea rcx, [rsp + 0x4c8]
call fcn.180072830
mov rcx, qword [rsp + 0x7f0]
movss xmm0, dword [rcx + 4]
subss xmm0, dword [rax + 4]
movss dword [rsp + 0x2b0], xmm0
movss xmm2, dword [rsp + 0x294]
movss xmm1, dword [rsp + 0x2b0]
lea rcx, [rsp + 0x4d0]
call fcn.180022010
movss xmm2, dword [0x180245428]
mov rdx, rax
lea rcx, [rsp + 0x4d8]
call fcn.180028940
mov r8, rax
lea rdx, [rsp + 0x5d0]
lea rcx, [rsp + 0x4e0]
call fcn.1800220b0
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3b8]
mov rax, qword [rax]
mov qword [rsp + 0x6c0], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x5f0]
call fcn.180022010
mov dword [rsp + 0x340], 0x200000
movzx eax, byte [rsp + 0xce]
test eax, eax
je 0x180043e9d
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x2e8], rax
jmp 0x180043ead
mov rax, qword [rsp + 0x7e0]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x5c0], 0
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180043f09
mov rax, qword [rsp + 0x7d8]
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0x7d8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rcx, qword [rsp + 0x7d8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5c0], rax
movzx eax, byte [rsp + 0x80]
test eax, eax
jne 0x180043f22
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18004503e
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x180043f4d
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x118]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5c0], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0x6b0]
call fcn.180028810
lea rcx, [rsp + 0x708]
call fcn.180028810
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov dword [rsp + 0xf8], 0xfffffc18
mov dword [rsp + 0xfc], 0xfffffc18
mov dword [rsp + 0xa8], 0
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180044007
mov rax, qword [rsp + 0x68]
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 + 0x200], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0xa8]
inc eax
mov dword [rsp + 0xa8], eax
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180044068
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x58]
call fcn.18004c050
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x200], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0xa8]
inc eax
mov dword [rsp + 0xa8], eax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18004407e
mov dword [rsp + 0x1f4], 1
jmp 0x180044089
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x1f4]
mov ecx, dword [rsp + 0xa8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xe0], 0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x160], rax
jmp 0x1800440d3
mov rax, qword [rsp + 0x160]
add rax, 2
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
movzx eax, word [rax]
test eax, eax
je 0x1800441d1
mov rax, qword [rsp + 0x160]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x1800441cc
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 0x18004416b
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x200]
cmp qword [rsp + 0x160], rax
jb 0x18004416b
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0xa8]
dec eax
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0
jg 0x18004416b
jmp 0x1800441d1
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x1800441cc
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x200]
cmp qword [rsp + 0x160], rax
jb 0x1800441cc
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0xa8]
dec eax
mov dword [rsp + 0xa8], eax
cmp dword [rsp + 0xa8], 0
jg 0x1800441cc
jmp 0x1800441d1
jmp 0x1800440bf
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 0x18004420b
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 0x180044235
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 + 0x200]
mov qword [rsp + 0x3b0], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + rax + 0x200]
call fcn.180069530
mov qword [rsp + 0x410], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x3b0]
mov r8, qword [rsp + 0x410]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x4e8]
call fcn.18002b150
movss xmm0, dword [rax]
movss dword [rsp + 0x6b0], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movss dword [rsp + 0x6b4], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0
jl 0x1800443a6
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x200]
mov qword [rsp + 0x328], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rsp + rax + 0x200]
call fcn.180069530
mov qword [rsp + 0x320], rax
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, qword [rsp + 0x328]
mov r8, qword [rsp + 0x320]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x4f0]
call fcn.18002b150
movss xmm0, dword [rax]
movss dword [rsp + 0x708], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movss dword [rsp + 0x70c], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800443e9
cvtsi2ss xmm0, dword [rsp + 0xe0]
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x5b8]
lea rcx, [rsp + 0x4f8]
call fcn.180022010
mov rax, qword [rax]
mov qword [rsp + 0x5f0], rax
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180044681
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xe84]
test eax, eax
je 0x180044681
mov eax, dword [rsp + 0x7f8]
and eax, 0x1000
test eax, eax
jne 0x1800444eb
movss xmm0, dword [rsp + 0x5b8]
mulss xmm0, dword [0x1802452e4]
movss dword [rsp + 0x1fc], xmm0
mov rax, qword [rsp + 0x108]
movss xmm0, dword [rsp + 0x5b8]
subss xmm0, dword [rax + 0x3c]
movss dword [rsp + 0x1f8], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x50]
comiss xmm0, dword [rsp + 0x6b0]
jbe 0x18004449f
movss xmm0, dword [rsp + 0x6b0]
subss xmm0, dword [rsp + 0x1fc]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.180027500
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
movss dword [rax + 0x50], xmm0
jmp 0x1800444e9
movss xmm0, dword [rsp + 0x6b0]
subss xmm0, dword [rsp + 0x1f8]
mov rax, qword [rsp + 0x68]
comiss xmm0, dword [rax + 0x50]
jb 0x1800444e9
movss xmm0, dword [rsp + 0x6b0]
subss xmm0, dword [rsp + 0x1f8]
addss xmm0, dword [rsp + 0x1fc]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
movss dword [rax + 0x50], xmm0
jmp 0x1800444f8
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
movss dword [rax + 0x50], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180044675
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x6b4]
subss xmm0, dword [rax + 0x3d48]
movss xmm1, dword [rsp + 0xac]
comiss xmm1, xmm0
jbe 0x180044555
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x6b4]
subss xmm0, dword [rax + 0x3d48]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.180027500
movss dword [rsp + 0xac], xmm0
jmp 0x1800445c8
mov rax, qword [rsp + 0x108]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x180245428]
movss xmm1, dword [rsp + 0x5bc]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x6b4]
subss xmm1, xmm0
movaps xmm0, xmm1
comiss xmm0, dword [rsp + 0xac]
jb 0x1800445c8
movss xmm0, dword [rsp + 0x6b4]
subss xmm0, dword [rsp + 0x5bc]
mov rax, qword [rsp + 0x108]
movss xmm1, dword [rax + 0x40]
mulss xmm1, dword [0x180245428]
addss xmm0, xmm1
movss dword [rsp + 0xac], xmm0
mov rax, qword [rsp + 0x108]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x180245428]
movss xmm1, dword [rsp + 0x5f4]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x5bc]
xorps xmm1, xmm1
call fcn.180027500
movss dword [rsp + 0x248], xmm0
movss xmm2, dword [rsp + 0x248]
xorps xmm1, xmm1
movss xmm0, dword [rsp + 0xac]
call fcn.180027680
movss dword [rsp + 0xac], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x90]
subss xmm0, dword [rsp + 0xac]
movss xmm1, dword [rsp + 0x6c4]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x6c4], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0xac]
movss dword [rax + 0x90], xmm0
mov rax, qword [rsp + 0x68]
mov byte [rax + 0xe84], 0
xorps xmm2, xmm2
mov rax, qword [rsp + 0x68]
movss xmm1, dword [rax + 0x50]
lea rcx, [rsp + 0x6f0]
call fcn.180022010
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180044b18
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x58]
call fcn.18004c050
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x68]
mov edx, dword [rax + 0x5c]
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x58]
call fcn.18004c9e0
cdqe
mov rcx, qword [rsp + 0x158]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x220], rax
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x18004471d
movss xmm0, dword [0x1802453b8]
movss dword [rsp + 0x170], xmm0
jmp 0x18004472e
movss xmm0, dword [0x18024534c]
movss dword [rsp + 0x170], xmm0
movss xmm1, dword [rsp + 0x170]
mov ecx, 0x2f
call fcn.18006b750
mov dword [rsp + 0x344], eax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18004475f
xorps xmm0, xmm0
movss dword [rsp + 0x174], xmm0
jmp 0x180044770
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x174], xmm0
movss xmm0, dword [rsp + 0x174]
movss dword [rsp + 0x254], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180044799
xorps xmm0, xmm0
movss dword [rsp + 0x198], xmm0
jmp 0x1800447aa
movss xmm0, dword [0x180245428]
movss dword [rsp + 0x198], xmm0
movss xmm0, dword [rsp + 0x198]
movss dword [rsp + 0x250], xmm0
lea r8, [rsp + 0x708]
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x500]
call fcn.1800220b0
lea r8, [rsp + 0x6f0]
mov rdx, rax
lea rcx, [rsp + 0x6c8]
call fcn.180022100
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x5c8], rax
mov rax, qword [rsp + 0x220]
cmp qword [rsp + 0x5c8], rax
jae 0x180044b18
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x71c]
addss xmm0, dword [rax + 0x3d48]
movss xmm1, dword [rsp + 0x6cc]
comiss xmm1, xmm0
jbe 0x180044840
jmp 0x180044b18
movss xmm0, dword [rsp + 0x714]
comiss xmm0, dword [rsp + 0x6cc]
jbe 0x18004489e
mov rax, qword [rsp + 0x220]
cmp qword [rsp + 0x5c8], rax
jae 0x180044899
mov rax, qword [rsp + 0x5c8]
movzx eax, word [rax]
mov dword [rsp + 0x24c], eax
mov rax, qword [rsp + 0x5c8]
add rax, 2
mov qword [rsp + 0x5c8], rax
cmp dword [rsp + 0x24c], 0xa
jne 0x180044897
jmp 0x180044899
jmp 0x180044853
jmp 0x180044ad9
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x5c8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x220]
mov r8, qword [rsp + 0x5c8]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x640]
call fcn.18002b150
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x640]
jb 0x180044926
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov qword [rsp + 0x310], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x310]
call fcn.180028ae0
mulss xmm0, dword [0x180245320]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x640], xmm0
movss xmm2, dword [rsp + 0x250]
movss xmm1, dword [rsp + 0x640]
lea rcx, [rsp + 0x508]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x6c8]
lea rcx, [rsp + 0x510]
call fcn.1800220b0
mov qword [rsp + 0x330], rax
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x254]
subss xmm0, dword [rax + 0x3d48]
movaps xmm2, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x518]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x6c8]
lea rcx, [rsp + 0x520]
call fcn.1800220b0
mov qword [rsp + 0x400], rax
mov r8, qword [rsp + 0x330]
mov rdx, qword [rsp + 0x400]
lea rcx, [rsp + 0x720]
call fcn.1800293e0
lea rdx, [rsp + 0x710]
lea rcx, [rsp + 0x588]
call fcn.180029420
lea rdx, [rsp + 0x588]
lea rcx, [rsp + 0x720]
call fcn.1800296e0
lea rdx, [rsp + 0x710]
lea rcx, [rsp + 0x598]
call fcn.180029420
lea rdx, [rsp + 0x598]
lea rcx, [rsp + 0x720]
call fcn.180029660
movzx eax, al
test eax, eax
je 0x180044ad9
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x470], rax
mov rax, qword [0x18078e5a0]
movss xmm2, dword [0x1802452d8]
mov rdx, rax
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x258], eax
movss xmm2, dword [0x180245428]
xorps xmm1, xmm1
lea rcx, [rsp + 0x528]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x728]
lea rcx, [rsp + 0x530]
call fcn.1800220b0
mov qword [rsp + 0x408], rax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x180245428]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x258]
mov r8, qword [rsp + 0x408]
lea rdx, [rsp + 0x720]
mov rcx, qword [rsp + 0x470]
call fcn.1800a1730
movss xmm0, dword [rsp + 0x6c0]
subss xmm0, dword [rsp + 0x6f0]
movss dword [rsp + 0x6c8], xmm0
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x6cc]
addss xmm0, dword [rax + 0x3d48]
movss dword [rsp + 0x6cc], xmm0
jmp 0x180044801
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180044b43
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x5c0]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x180044cac
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180044b66
mov rax, qword [0x18078e5a0]
add rax, 0x130
mov qword [rsp + 0x2f0], rax
jmp 0x180044b7b
mov rax, qword [0x18078e5a0]
add rax, 0x110
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x418], rax
movss xmm2, dword [0x1802453b8]
mov rdx, qword [rsp + 0x418]
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x25c], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x438], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180044bdc
mov qword [rsp + 0x2f8], 0
jmp 0x180044bec
lea rax, [rsp + 0x710]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x5c0]
mov qword [rsp + 0x420], rax
lea r8, [rsp + 0x6f0]
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x538]
call fcn.180022100
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rax + 0x3d48]
movss dword [rsp + 0x260], xmm0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov qword [rsp + 0x430], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x420]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x25c]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x428]
movss xmm2, dword [rsp + 0x260]
mov rdx, qword [rsp + 0x430]
mov rcx, qword [rsp + 0x438]
call fcn.1800a1b10
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180045039
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x88]
movss xmm0, dword [rax + 0xe80]
addss xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x68]
movss dword [rax + 0xe80], xmm0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x5b]
test eax, eax
je 0x180044d36
mov rax, qword [rsp + 0x68]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe80]
jae 0x180044d36
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0xe80]
movss xmm1, dword [0x1802453c4]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss xmm1, dword [0x18024537c]
comiss xmm1, xmm0
jae 0x180044d36
mov dword [rsp + 0x1c4], 0
jmp 0x180044d41
mov dword [rsp + 0x1c4], 1
movzx eax, byte [rsp + 0x1c4]
mov byte [rsp + 0xe8], al
lea r8, [rsp + 0x6b0]
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x540]
call fcn.1800220b0
lea r8, [rsp + 0x6f0]
mov rdx, rax
lea rcx, [rsp + 0x580]
call fcn.180022100
mov rdx, rax
lea rcx, [rsp + 0x5e8]
call fcn.180029350
movss xmm0, dword [rsp + 0x5ec]
subss xmm0, dword [0x1802453d8]
movss xmm1, dword [rsp + 0x5e8]
addss xmm1, dword [0x1802453b8]
mov rax, qword [rsp + 0x78]
movss xmm2, dword [rsp + 0x5ec]
subss xmm2, dword [rax + 0x3d48]
addss xmm2, dword [0x180245320]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm1, dword [rsp + 0x5e8]
lea rcx, [rsp + 0x738]
call fcn.180029490
movss xmm1, dword [0x1802454a8]
mov rcx, qword [0x18078e5b0]
call fcn.18002a0b0
movss dword [rsp + 0x2b4], xmm0
mov rax, qword [rsp + 0x5e0]
movss xmm0, dword [rax + 4]
movss dword [rsp + 0x264], xmm0
movss xmm0, dword [rsp + 0x738]
subss xmm0, dword [rsp + 0x5d0]
movss xmm2, dword [rsp + 0x2b4]
movaps xmm1, xmm0
movss xmm0, dword [rsp + 0x264]
call fcn.18004ca60
movss dword [rsp + 0x26c], xmm0
mov rax, qword [rsp + 0x5e0]
movss xmm0, dword [rsp + 0x26c]
movss dword [rax + 4], xmm0
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x180044fc4
lea rdx, [rsp + 0x710]
lea rcx, [rsp + 0x5a8]
call fcn.180029420
lea rdx, [rsp + 0x5a8]
lea rcx, [rsp + 0x738]
call fcn.180029660
movzx eax, al
test eax, eax
je 0x180044fc4
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x450], rax
mov rax, qword [0x18078e5a0]
add rax, 0x10
mov rcx, rax
call fcn.18006b7f0
mov dword [rsp + 0x270], eax
mov rax, qword [0x18078e618]
movss xmm0, dword [0x180245468]
mulss xmm0, dword [rax + 0x134]
movss xmm1, dword [rsp + 0x5dc]
subss xmm1, xmm0
movaps xmm0, xmm1
mov rax, qword [rsp + 0x5e0]
movss xmm1, dword [rsp + 0x5d0]
addss xmm1, dword [rax + 4]
movaps xmm2, xmm0
lea rcx, [rsp + 0x548]
call fcn.180022010
mov qword [rsp + 0x440], rax
mov rax, qword [0x18078e618]
movss xmm0, dword [0x180245468]
mulss xmm0, dword [rax + 0x134]
movaps xmm2, xmm0
mov rax, qword [rsp + 0x5e0]
movss xmm1, dword [rax + 4]
lea rcx, [rsp + 0x550]
call fcn.180022010
mov r8, rax
lea rdx, [rsp + 0x5d0]
lea rcx, [rsp + 0x558]
call fcn.1800220b0
mov qword [rsp + 0x448], rax
movss xmm0, dword [0x1802453b8]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x270]
mov r8, qword [rsp + 0x440]
mov rdx, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x450]
call fcn.1800a14c0
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180045039
mov rax, qword [rsp + 0x78]
mov byte [rax + 0x5f38], 1
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rsp + 0x5ec]
subss xmm0, dword [rax + 0x3d48]
movss xmm1, dword [rsp + 0x5e8]
subss xmm1, dword [0x1802453b8]
movaps xmm2, xmm0
lea rcx, [rsp + 0x560]
call fcn.180022010
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
mov qword [rcx + 0x5f3c], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
movss xmm0, dword [rcx + 0x3d48]
movss dword [rax + 0x5f44], xmm0
jmp 0x18004523e
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180045093
lea rdx, [rsp + 0x5c0]
mov rcx, qword [rsp + 0x118]
call fcn.1800402d0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x78]
mulss xmm0, dword [rax + 0x3d48]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x5b8]
lea rcx, [rsp + 0x568]
call fcn.180022010
mov rax, qword [rax]
mov qword [rsp + 0x5f0], rax
jmp 0x180045101
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x1800450d1
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x407c], ecx
jne 0x1800450d1
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0x10]
mov rcx, qword [rsp + 0x118]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5c0], rax
jmp 0x180045101
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x180045101
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rcx, qword [rsp + 0x118]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x5c0], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18004512c
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x5c0]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x18004523e
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x18004514f
mov rax, qword [0x18078e5a0]
add rax, 0x130
mov qword [rsp + 0x308], rax
jmp 0x180045164
mov rax, qword [0x18078e5a0]
add rax, 0x110
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x458], rax
movss xmm2, dword [0x1802453b8]
mov rdx, qword [rsp + 0x458]
mov rcx, qword [0x18078e5b0]
call fcn.180035f20
mov dword [rsp + 0x274], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x2a8]
mov qword [rsp + 0x460], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800451c5
mov qword [rsp + 0x300], 0
jmp 0x1800451d5
lea rax, [rsp + 0x710]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x5c0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x6c0]
mov rax, qword [rsp + 0x78]
movss xmm2, dword [rax + 0x3d48]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + 0x3d40]
mov rcx, qword [rsp + 0x460]
call fcn.1800a1b10
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3d40]
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x5c0]
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x28], rcx
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [0x180245594]
movss xmm2, dword [rax + 0x14]
lea rdx, [rsp + 0x570]
mov rcx, qword [rsp + 0x468]
call fcn.1800a7900
movss xmm0, dword [rax]
movss dword [rsp + 0x348], xmm0
movzx eax, byte [rsp + 0x95]
test eax, eax
je 0x1800452db
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x1800452db
call fcn.18007ba40
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1800453a7
mov rax, qword [rsp + 0x108]
movss xmm0, dword [rsp + 0x5f4]
addss xmm0, dword [rax + 0x40]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x5f0]
lea rcx, [rsp + 0x578]
call fcn.180022010
mov rcx, rax
call fcn.1800b3e40
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x49ac]
or eax, 0x401
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x49ac], eax
call fcn.1800733f0
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x49d0]
and eax, 0x80
mov ecx, dword [rsp + 0x758]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x758], eax
call fcn.180082e40
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x49c8], 0
jne 0x1800453a7
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x74]
mov dword [rax + 0x49c8], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x754]
mov dword [rax + 0x49cc], ecx
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x758]
mov dword [rax + 0x49d0], ecx
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x1800453cc
mov eax, dword [rsp + 0x7f8]
and eax, 0x8000000
test eax, eax
jne 0x1800453cc
mov ecx, dword [rsp + 0x74]
call fcn.18006e680
mov eax, dword [rsp + 0x7f8]
and eax, 0x20
test eax, eax
je 0x1800453e6
movzx eax, byte [rsp + 0x9c]
jmp 0x1800453ee
movzx eax, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x7a0]
xor rcx, rsp
call fcn.180189ea0
add rsp, 0x7b8
pop rdi
pop rsi
ret