Function at 0x1801373d0
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, 0x688
call fcn.180119e20
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax + 0x9b]
test eax, eax
je 0x180137414
xor al, al
jmp 0x18013bb03
mov rax, qword [0x18029bd38]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x68]
add rax, 0x37d8
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x17c], 0
mov eax, dword [rsp + 0x6c8]
and eax, 0x4000000
test eax, eax
je 0x180137463
mov byte [rsp + 0xc5], 1
jmp 0x18013746b
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x6c8]
and eax, 0x4000
test eax, eax
je 0x180137491
mov byte [rsp + 0xc6], 1
jmp 0x180137499
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x6c8]
and eax, 0x8000
test eax, eax
je 0x1801374bf
mov byte [rsp + 0xc7], 1
jmp 0x1801374c7
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0x82], al
mov eax, dword [rsp + 0x6c8]
and eax, 0x10000
test eax, eax
jne 0x1801374f0
mov byte [rsp + 0xc8], 1
jmp 0x1801374f8
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0xb8], al
mov eax, dword [rsp + 0x6c8]
and eax, 0x40000
test eax, eax
je 0x180137521
mov byte [rsp + 0xc9], 1
jmp 0x180137529
mov byte [rsp + 0xc9], 0
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x8d]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013754e
call fcn.1800f2e40
xor r8d, r8d
mov rdx, qword [rsp + 0x6a0]
mov rcx, qword [rsp + 0x128]
call fcn.1800feae0
mov dword [rsp + 0x74], eax
movss xmm0, dword [0x1801a5c78]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x6a0]
lea rcx, [rsp + 0x2b0]
call fcn.1800f6770
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801375bc
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3c08]
mulss xmm0, dword [0x1801db1c8]
movss dword [rsp + 0x218], xmm0
jmp 0x1801375ce
movss xmm0, dword [rsp + 0x2b4]
movss dword [rsp + 0x218], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1801db188]
movss xmm1, dword [rsp + 0x218]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x368], xmm0
call fcn.1800f27f0
movss dword [rsp + 0x370], xmm0
mov rax, qword [rsp + 0x6c0]
mov rax, qword [rax]
mov qword [rsp + 0x4f0], rax
mov rax, qword [rsp + 0x4f0]
mov qword [rsp + 0x4f8], rax
movss xmm3, dword [rsp + 0x368]
movss xmm2, dword [rsp + 0x370]
mov rdx, qword [rsp + 0x4f8]
lea rcx, [rsp + 0x2b8]
call fcn.180103660
movss xmm0, dword [rsp + 0x2bc]
movss dword [rsp + 0x2e8], xmm0
movss xmm0, dword [rsp + 0x2b0]
comiss xmm0, dword [0x1801f43ac]
jbe 0x180137699
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x54]
addss xmm0, dword [rsp + 0x2b0]
movss dword [rsp + 0x1fc], xmm0
jmp 0x1801376a5
xorps xmm0, xmm0
movss dword [rsp + 0x1fc], xmm0
movss xmm0, dword [rsp + 0x2b8]
addss xmm0, dword [rsp + 0x1fc]
movss xmm2, dword [rsp + 0x2e8]
movaps xmm1, xmm0
lea rcx, [rsp + 0x500]
call fcn.1801185c0
mov rax, qword [rsp + 0x128]
add rax, 0xe0
lea r8, [rsp + 0x2b8]
mov rdx, rax
lea rcx, [rsp + 0x5d0]
call fcn.18012bf20
mov rcx, qword [rsp + 0x128]
add rcx, 0xe0
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x160]
call fcn.180118430
lea r8, [rsp + 0x500]
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x5d8]
call fcn.18012bf20
mov r8, rax
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x3f0]
call fcn.180118430
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2b8]
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x174], 0
lea rcx, [rsp + 0x640]
call fcn.180117bb0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801379bf
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x508], rax
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3f0]
call fcn.1801539a0
mov r9d, 0x100
lea r8, [rsp + 0x160]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3f0]
call fcn.1801030f0
movzx eax, al
test eax, eax
jne 0x1801377f5
call fcn.1800f3040
xor al, al
jmp 0x18013bb03
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f64]
mov dword [rsp + 0x174], eax
lea rax, [rsp + 0x640]
mov rcx, qword [rsp + 0x68]
mov rdi, rax
lea rsi, [rcx + 0x3f5c]
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x508]
mov qword [rax + 0xe0], rcx
mov eax, 0x10
imul rax, rax, 8
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xc8]
mov rdx, rax
mov ecx, 4
call fcn.1800f2210
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1800f2340
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.1800f2340
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x5e0]
call fcn.1801185c0
mov rdx, rax
mov ecx, 2
call fcn.1800f23f0
lea rdx, [rsp + 0x5e8]
lea rcx, [rsp + 0x160]
call fcn.180119f80
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x6a0]
call fcn.180104060
mov byte [rsp + 0xf0], al
mov ecx, 3
call fcn.1800f24a0
mov ecx, 1
call fcn.1800f22b0
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x18013791c
call fcn.1800f0e30
call fcn.1800f3040
xor al, al
jmp 0x18013bb03
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3e98]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 0x138]
mov ecx, 1
mov dword [rsp + 0x2ec], ecx
movzx ecx, al
mov eax, dword [rsp + 0x2ec]
shl eax, cl
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x13e]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x13e], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xd0]
add rcx, 0xe0
mov rdx, rax
call fcn.18012bfe0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x110]
subss xmm0, dword [rax + 0x8c]
movss dword [rsp + 0x110], xmm0
jmp 0x180137a28
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3f0]
call fcn.1801539a0
mov eax, dword [rsp + 0x6c8]
and eax, 0x10000000
test eax, eax
jne 0x180137a16
mov r9d, 0x100
lea r8, [rsp + 0x160]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3f0]
call fcn.1801030f0
movzx eax, al
test eax, eax
jne 0x180137a16
xor al, al
jmp 0x18013bb03
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f64]
mov dword [rsp + 0x174], eax
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x160]
call fcn.180103310
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180137a5b
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x4240], 1
mov ecx, dword [rsp + 0x74]
call fcn.1801537e0
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x174]
and eax, 0x100
test eax, eax
je 0x180137a83
mov byte [rsp + 0xca], 1
jmp 0x180137a8b
mov byte [rsp + 0xca], 0
movzx eax, byte [rsp + 0xca]
mov byte [rsp + 0xa3], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
je 0x180137ae5
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x40bc], ecx
je 0x180137adb
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x40b0], ecx
jne 0x180137ae5
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x40d8], 2
jne 0x180137ae5
mov byte [rsp + 0xcb], 1
jmp 0x180137aed
mov byte [rsp + 0xcb], 0
movzx eax, byte [rsp + 0xcb]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180137b2c
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x3728]
test eax, eax
je 0x180137b2c
mov byte [rsp + 0x9c], 1
jmp 0x180137b34
mov byte [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0xa4], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180137b8b
cmp qword [rsp + 0x58], 0
je 0x180137b8b
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x3ee4], 0
jne 0x180137b8b
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.180133370
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x3f10], eax
jne 0x180137b8b
mov byte [rsp + 0x9d], 1
jmp 0x180137b93
mov byte [rsp + 0x9d], 0
movzx eax, byte [rsp + 0x9d]
mov byte [rsp + 0xf1], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180137bdc
cmp qword [rsp + 0x58], 0
je 0x180137bdc
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.180133370
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x3ee4], eax
jne 0x180137bdc
mov byte [rsp + 0x9e], 1
jmp 0x180137be4
mov byte [rsp + 0x9e], 0
movzx eax, byte [rsp + 0x9e]
mov byte [rsp + 0xa6], al
mov byte [rsp + 0x81], 0
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180137c24
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x68]
movss dword [rsp + 0x21c], xmm0
jmp 0x180137c35
movss xmm0, dword [0x1801f4410]
movss dword [rsp + 0x21c], xmm0
movss xmm0, dword [rsp + 0x21c]
movss dword [rsp + 0x98], xmm0
cmp qword [rsp + 0x58], 0
je 0x180137c8c
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180137c65
mov dword [rsp + 0x220], 1
jmp 0x180137c70
mov dword [rsp + 0x220], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x220]
je 0x180137c8c
mov byte [rsp + 0x9f], 1
jmp 0x180137c94
mov byte [rsp + 0x9f], 0
movzx eax, byte [rsp + 0x9f]
mov byte [rsp + 0xa2], al
movzx eax, byte [rsp + 0xa4]
test eax, eax
jne 0x180137cdd
movzx eax, byte [rsp + 0xf1]
test eax, eax
jne 0x180137cdd
movzx eax, byte [rsp + 0x8a]
test eax, eax
jne 0x180137cdd
movzx eax, byte [rsp + 0xa3]
test eax, eax
jne 0x180137cdd
mov byte [rsp + 0xa0], 0
jmp 0x180137ce5
mov byte [rsp + 0xa0], 1
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x180137d16
movzx eax, byte [rsp + 0xa6]
test eax, eax
jne 0x180137d16
mov byte [rsp + 0xa1], 0
jmp 0x180137d1e
mov byte [rsp + 0xa1], 1
movzx eax, byte [rsp + 0xa1]
mov byte [rsp + 0xa5], al
movzx eax, byte [rsp + 0xa5]
test eax, eax
je 0x180137d4a
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x180137d5a
movzx eax, byte [rsp + 0xa2]
test eax, eax
je 0x180138021
mov rax, qword [rsp + 0x68]
add rax, 0x43c0
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.180153550
mov rcx, qword [rsp + 0x6b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x510], rax
mov eax, dword [rsp + 0x13c]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x510]
call fcn.18011ca40
mov eax, dword [rsp + 0x13c]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x6b0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
cmp dword [rax], ecx
jne 0x180137dfb
movzx eax, byte [rsp + 0xa2]
test eax, eax
jne 0x180137dfb
mov dword [rsp + 0x228], 1
jmp 0x180137e06
mov dword [rsp + 0x228], 0
movzx eax, byte [rsp + 0x228]
mov byte [rsp + 0x83], al
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180137e6d
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x13c]
cmp dword [rax + 8], ecx
jne 0x180137e65
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x180137e6d
movsxd rax, dword [rsp + 0x13c]
mov r8, rax
mov rdx, qword [rsp + 0x6b0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x180137e6d
mov byte [rsp + 0x83], 0
mov qword [rsp + 0x3d0], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x528], rax
mov eax, dword [rsp + 0x6b8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x528]
call fcn.18011cb40
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x410], rax
xor edx, edx
mov rcx, qword [rsp + 0x410]
call fcn.18011ca40
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x3d0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x6b0]
mov edx, dword [rsp + 0x6b8]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.1800fcba0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x6b0]
mov rcx, qword [rsp + 0x3d0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180137f41
mov rcx, qword [rsp + 0x58]
call fcn.180153570
jmp 0x180137f87
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180137f64
mov dword [rsp + 0x22c], 1
jmp 0x180137f6f
mov dword [rsp + 0x22c], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x22c]
mov rcx, rax
call fcn.180142930
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180138008
mov eax, dword [rsp + 0x6c8]
and eax, 0x10
test eax, eax
je 0x180137fa6
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180137fd8
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180137fd0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x40c0]
and eax, 4
test eax, eax
jne 0x180137fd8
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0xa3]
test eax, eax
jne 0x180138000
movzx eax, byte [rsp + 0xa4]
test eax, eax
je 0x180138008
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x180138008
mov byte [rsp + 0x80], 1
mov eax, dword [rsp + 0x6c8]
and eax, 0x2000
test eax, eax
je 0x180138021
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
je 0x18013811f
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x18013811f
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.1801027c0
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.180102a70
mov rcx, qword [rsp + 0x128]
call fcn.1800ff590
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f28]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3f28], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1801380a7
mov eax, dword [rsp + 0x6c8]
and eax, 0x80
test eax, eax
je 0x1801380c0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f28]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3f28], eax
mov ecx, 0x20e
call fcn.18011a6c0
mov ecx, 0x26c
call fcn.18011a6c0
mov ecx, 0x207
call fcn.18011a6c0
mov ecx, 0x208
call fcn.18011a6c0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180138105
mov ecx, 0x205
call fcn.18011a6c0
mov ecx, 0x206
call fcn.18011a6c0
mov eax, dword [rsp + 0x6c8]
and eax, 0x440
test eax, eax
je 0x18013811f
mov ecx, 0x200
call fcn.18011a6c0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x18013813d
cmp qword [rsp + 0x58], 0
jne 0x18013813d
call fcn.180102b90
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x180138188
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x3728]
test eax, eax
je 0x180138188
movzx eax, byte [rsp + 0xa5]
test eax, eax
jne 0x180138188
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x180138188
mov byte [rsp + 0x81], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
je 0x1801381b7
cmp qword [rsp + 0x58], 0
je 0x1801381ad
movzx eax, byte [rsp + 0xa6]
test eax, eax
jne 0x1801381b7
mov byte [rsp + 0xa7], 0
jmp 0x1801381bf
mov byte [rsp + 0xa7], 1
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0x71], al
cmp qword [rsp + 0x58], 0
je 0x18013820c
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
jne 0x1801381f0
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x18013820c
xor eax, eax
test eax, eax
jne 0x1801381ff
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18013820c
mov dword [rsp + 0x230], 1
jmp 0x180138217
mov dword [rsp + 0x230], 0
movzx eax, byte [rsp + 0x230]
mov byte [rsp + 0x70], al
mov byte [rsp + 0x8f], 0
mov byte [rsp + 0x8e], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18013831d
cmp qword [rsp + 0x58], 0
je 0x18013831d
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x180138262
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18013831d
mov qword [rsp + 0x3d8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x418], rax
mov eax, dword [rsp + 0x6b8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x418]
call fcn.18011cb40
lea rax, [rsp + 0x3d8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x6b0]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.1800fcba0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x6b0]
mov rcx, qword [rsp + 0x3d8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.180153570
movzx eax, byte [rsp + 0x70]
mov dword [rsp + 0x2f0], eax
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
mov ecx, dword [rsp + 0x2f0]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x180138340
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x180138340
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x180138368
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180138368
cmp qword [rsp + 0x58], 0
je 0x180138368
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x180138368
mov byte [rsp + 0xa8], 1
jmp 0x180138370
mov byte [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0xc4], al
cmp qword [rsp + 0x6a8], 0
je 0x1801383dc
movzx eax, byte [rsp + 0xc4]
test eax, eax
je 0x1801383a9
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3e0], rax
jmp 0x1801383b9
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x3e0], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x3e0]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x1801383dc
mov byte [rsp + 0xa9], 1
jmp 0x1801383e4
mov byte [rsp + 0xa9], 0
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18013851c
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18013851c
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov qword [rsp + 0x420], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x420]
call fcn.18015fc60
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x68]
add rax, 0x5248
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x148]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x148]
movss xmm0, dword [rax + 0x5c]
movss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x148]
movss xmm0, dword [rax + 0x60]
movss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x148]
movss xmm0, dword [rax + 0x64]
movss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x148]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x398]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x398]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x148]
call fcn.1800f2020
mov dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x180138c2c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x180], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x6b8]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x6c8]
mov dword [rax + 0xe80], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0xdf4]
test eax, eax
jne 0x18013859f
mov dword [rsp + 0x234], 1
jmp 0x1801385aa
mov dword [rsp + 0x234], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x234]
mov byte [rax + 0x3ef1], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x556c], 1
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rax + 0xdec]
subss xmm0, dword [rsp + 0x160]
mov rax, qword [rsp + 0xe0]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
addss xmm0, dword [rax + 0x48]
movss dword [rsp + 0x188], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180138633
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xdf0]
subss xmm0, dword [rcx + 0xe4]
movss dword [rsp + 0x238], xmm0
jmp 0x180138651
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3c08]
mulss xmm0, dword [0x1801a5c2c]
movss dword [rsp + 0x238], xmm0
movss xmm0, dword [rsp + 0x238]
movss dword [rsp + 0x18c], xmm0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x69]
mov byte [rsp + 0xfa], al
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x18013869a
mov rcx, qword [rsp + 0x58]
call fcn.180153af0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x1801389e2
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x1801388dd
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x3732]
cmp eax, 2
jl 0x1801388dd
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe05]
test eax, eax
jne 0x1801388dd
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x18c]
movss xmm2, dword [rsp + 0x188]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801401a0
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x3732]
sub eax, 2
mov dword [rsp + 0x2f4], eax
mov eax, dword [rsp + 0x2f4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x18013881b
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x4c], 0
je 0x18013876f
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18013f670
movzx eax, ax
cmp eax, 0xa
je 0x18013876f
mov byte [rsp + 0xaa], 0
jmp 0x180138777
mov byte [rsp + 0xaa], 1
movzx eax, byte [rsp + 0xaa]
mov byte [rsp + 0xf2], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x1801387a4
movzx eax, byte [rsp + 0xf2]
test eax, eax
jne 0x1801387b3
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x1801387d6
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rcx, rax
call fcn.180140f80
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.18013fb00
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180140c50
jmp 0x1801388ce
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.18013f670
movzx eax, ax
cmp eax, 0xa
jne 0x18013883f
mov byte [rsp + 0xab], 1
jmp 0x180138847
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [rsp + 0xf3], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
movzx eax, byte [rsp + 0xf3]
test eax, eax
jne 0x1801388c2
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801388c2
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, qword [rsp + 0x58]
add rcx, 0x50
mov rdx, rax
call fcn.180142cb0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
mov rcx, qword [rsp + 0x58]
call fcn.180153550
jmp 0x1801389e2
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x3728]
test eax, eax
je 0x18013894a
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x18013894a
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180138945
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x18c]
movss xmm2, dword [rsp + 0x188]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801401a0
mov rcx, qword [rsp + 0x58]
call fcn.180153550
jmp 0x1801389e2
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0xdf4]
test eax, eax
je 0x1801389e2
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x1801389e2
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rax + 0xe8]
ucomiss xmm0, dword [0x1801f43ac]
jp 0x1801389a4
jne 0x1801389a4
mov rax, qword [rsp + 0x78]
movss xmm0, dword [rax + 0xec]
ucomiss xmm0, dword [0x1801f43ac]
jp 0x1801389a4
je 0x1801389e2
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x18c]
movss xmm2, dword [rsp + 0x188]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180140250
mov rcx, qword [rsp + 0x58]
call fcn.180153550
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x180138a18
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0xdf4]
test eax, eax
jne 0x180138a18
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x180138a38
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe06]
test eax, eax
je 0x180138a5e
movzx eax, byte [rsp + 0xfa]
test eax, eax
je 0x180138a54
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe07]
test eax, eax
jne 0x180138a5e
mov byte [rsp + 0xac], 0
jmp 0x180138a66
mov byte [rsp + 0xac], 1
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0xad], al
mov eax, dword [rsp + 0x6c8]
and eax, 0x400
test eax, eax
je 0x180138b10
mov dl, 1
mov ecx, 0x200
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180138b10
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x180138b10
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe05]
test eax, eax
jne 0x180138b10
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180138b10
mov dword [rsp + 0x23c], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x6d8]
mov r8, qword [rsp + 0x6d0]
mov edx, dword [rsp + 0x6c8]
lea rcx, [rsp + 0x23c]
call fcn.18013d980
movzx eax, al
test eax, eax
je 0x180138b10
mov edx, dword [rsp + 0x23c]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x37a0], 0
jle 0x180138c2c
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x180138c0a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180138c0a
movzx eax, byte [rsp + 0x8a]
test eax, eax
jne 0x180138c0a
mov dword [rsp + 0x138], 0
jmp 0x180138b6c
mov eax, dword [rsp + 0x138]
inc eax
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x37a0]
cmp dword [rsp + 0x138], eax
jge 0x180138c0a
mov rax, qword [rsp + 0x78]
add rax, 0x37a0
mov qword [rsp + 0x428], rax
mov edx, dword [rsp + 0x138]
mov rcx, qword [rsp + 0x428]
call fcn.180118f20
movzx eax, word [rax]
mov dword [rsp + 0x184], eax
cmp dword [rsp + 0x184], 9
jne 0x180138bc1
jmp 0x180138b5c
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x6d8]
mov r8, qword [rsp + 0x6d0]
mov edx, dword [rsp + 0x6c8]
lea rcx, [rsp + 0x184]
call fcn.18013d980
movzx eax, al
test eax, eax
je 0x180138c05
mov edx, dword [rsp + 0x184]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180138b5c
mov rax, qword [rsp + 0x78]
add rax, 0x37a0
mov qword [rsp + 0x430], rax
xor edx, edx
mov rcx, qword [rsp + 0x430]
call fcn.18011cb40
mov byte [rsp + 0x87], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x180139ce2
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3ef0]
test eax, eax
jne 0x180139ce2
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x180139ce2
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x114]
subss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x68]
divss xmm0, dword [rax + 0x3c08]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.18013f400
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x170]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe05]
test eax, eax
je 0x180138cd3
mov dword [rsp + 0x240], 0x400000
jmp 0x180138cde
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x69]
mov byte [rsp + 0x86], al
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180138d20
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xe08], 0xa
jne 0x180138d20
mov byte [rsp + 0xae], 1
jmp 0x180138d28
mov byte [rsp + 0xae], 0
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0xf8], al
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180138d58
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe06]
mov byte [rsp + 0xaf], al
jmp 0x180138d6b
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
mov byte [rsp + 0xaf], al
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180138dc0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe07]
test eax, eax
je 0x180138dc0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
jne 0x180138dc0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe06]
test eax, eax
jne 0x180138dc0
mov byte [rsp + 0xb0], 1
jmp 0x180138dc8
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0x85], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xe08], 1
jne 0x180138def
mov byte [rsp + 0xb1], 1
jmp 0x180138df7
mov byte [rsp + 0xb1], 0
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0xf9], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xe08], 2
jne 0x180138e1e
mov byte [rsp + 0xb2], 1
jmp 0x180138e26
mov byte [rsp + 0xb2], 0
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0xb5], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x71]
test eax, eax
je 0x180138e78
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xe08], 8
jne 0x180138e5d
mov dword [rsp + 0x244], 1
jmp 0x180138e68
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
mov dword [rsp + 0x24c], eax
jmp 0x180138eac
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0xe08], 1
jne 0x180138e93
mov dword [rsp + 0x248], 1
jmp 0x180138e9e
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
mov dword [rsp + 0x24c], eax
movzx eax, byte [rsp + 0x24c]
mov byte [rsp + 0x73], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180138ed4
mov dl, 1
mov ecx, 0x239
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x180138ef3
movzx eax, byte [rsp + 0xb5]
test eax, eax
je 0x180138f2c
mov dl, 1
mov ecx, 0x20a
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180138f2c
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180138f2c
movzx eax, byte [rsp + 0x82]
test eax, eax
jne 0x180138f2c
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180138f22
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
je 0x180138f2c
mov byte [rsp + 0xb3], 1
jmp 0x180138f34
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180138f5f
mov dl, 1
mov ecx, 0x224
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x180138f7e
movzx eax, byte [rsp + 0xf9]
test eax, eax
je 0x180138fae
mov dl, 1
mov ecx, 0x209
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180138fae
movzx eax, byte [rsp + 0x82]
test eax, eax
jne 0x180138fae
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180138fa4
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
je 0x180138fae
mov byte [rsp + 0xb4], 1
jmp 0x180138fb6
mov byte [rsp + 0xb4], 0
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0xec], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180138fe1
mov dl, 1
mov ecx, 0x237
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x180139000
movzx eax, byte [rsp + 0xb5]
test eax, eax
je 0x180139013
mov dl, 1
mov ecx, 0x209
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139013
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180139013
mov byte [rsp + 0xb6], 1
jmp 0x18013901b
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xed], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180139065
mov dl, 1
mov ecx, 0x23b
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139065
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180139065
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x180139065
mov byte [rsp + 0xb7], 1
jmp 0x18013906d
mov byte [rsp + 0xb7], 0
movzx eax, byte [rsp + 0xb7]
mov byte [rsp + 0xc2], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180139098
mov dl, 1
mov ecx, 0x23a
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x1801390b7
movzx eax, byte [rsp + 0xf8]
test eax, eax
je 0x1801390d6
mov dl, 1
mov ecx, 0x23b
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801390d6
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801390d6
movzx eax, byte [rsp + 0xb8]
test eax, eax
je 0x1801390d6
mov byte [rsp + 0xb9], 1
jmp 0x1801390de
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xea], al
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x180139113
mov dl, 1
mov ecx, 0x222
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139113
mov byte [rsp + 0xba], 1
jmp 0x18013911b
mov byte [rsp + 0xba], 0
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0xeb], al
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x180139151
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x180139151
mov byte [rsp + 0xbb], 1
jmp 0x180139159
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xbe], al
mov dl, 1
mov ecx, 0x20d
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x180139198
mov dl, 1
mov ecx, 0x267
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x180139198
mov byte [rsp + 0xbc], 0
jmp 0x1801391a0
mov byte [rsp + 0xbc], 1
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xe8], al
movzx eax, byte [rsp + 0xbe]
test eax, eax
je 0x1801391eb
xor edx, edx
mov ecx, 0x26e
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x1801391e1
xor edx, edx
mov ecx, 0x26d
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801391eb
mov byte [rsp + 0xbd], 1
jmp 0x1801391f3
mov byte [rsp + 0xbd], 0
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0xc0], al
xor edx, edx
mov ecx, 0x20e
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x18013923e
movzx eax, byte [rsp + 0xbe]
test eax, eax
je 0x180139234
xor edx, edx
mov ecx, 0x26c
call fcn.1800f6e60
movzx eax, al
test eax, eax
jne 0x18013923e
mov byte [rsp + 0xbf], 0
jmp 0x180139246
mov byte [rsp + 0xbf], 1
movzx eax, byte [rsp + 0xbf]
mov byte [rsp + 0xe9], al
mov dl, 1
mov ecx, 0x201
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801392d6
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180139281
mov dword [rsp + 0x254], 0x200004
jmp 0x1801392b3
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18013929a
mov dword [rsp + 0x250], 0x20000c
jmp 0x1801392a5
mov dword [rsp + 0x250], 0x200000
mov eax, dword [rsp + 0x250]
mov dword [rsp + 0x254], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x254]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x202
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139357
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180139302
mov dword [rsp + 0x25c], 0x200005
jmp 0x180139334
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18013931b
mov dword [rsp + 0x258], 0x20000d
jmp 0x180139326
mov dword [rsp + 0x258], 0x200001
mov eax, dword [rsp + 0x258]
mov dword [rsp + 0x25c], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x25c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x203
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139406
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180139406
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x1801393bf
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x68]
subss xmm0, dword [rcx + 0x3c08]
xorps xmm1, xmm1
call fcn.18012c660
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.180101ea0
jmp 0x180139401
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x1801393d8
mov dword [rsp + 0x260], 0x200006
jmp 0x1801393e3
mov dword [rsp + 0x260], 0x200002
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x260]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x204
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801394db
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801394db
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x180139494
call fcn.1800f1d60
movss dword [rsp + 0x2f8], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x68]
addss xmm0, dword [rcx + 0x3c08]
movss dword [rsp + 0x2fc], xmm0
movss xmm1, dword [rsp + 0x2f8]
movss xmm0, dword [rsp + 0x2fc]
call fcn.18012c610
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.180101ea0
jmp 0x1801394d6
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x1801394ad
mov dword [rsp + 0x264], 0x200007
jmp 0x1801394b8
mov dword [rsp + 0x264], 0x200003
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x264]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x205
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139543
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180139543
mov eax, dword [rsp + 0x90]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
cvtsi2ss xmm0, dword [rsp + 0x170]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movss xmm1, dword [rsp + 0x98]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x206
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801395ab
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801395ab
mov eax, dword [rsp + 0x90]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
cvtsi2ss xmm0, dword [rsp + 0x170]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movss xmm1, dword [rsp + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x207
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x18013960c
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x1801395e3
mov eax, dword [rsp + 0x90]
or eax, 0x200006
mov dword [rsp + 0x270], eax
jmp 0x1801395f6
mov eax, dword [rsp + 0x90]
or eax, 0x200004
mov dword [rsp + 0x270], eax
mov edx, dword [rsp + 0x270]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x208
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x18013966d
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x180139644
mov eax, dword [rsp + 0x90]
or eax, 0x200007
mov dword [rsp + 0x1c0], eax
jmp 0x180139657
mov eax, dword [rsp + 0x90]
or eax, 0x200005
mov dword [rsp + 0x1c0], eax
mov edx, dword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x20a
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x1801396b2
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801396b2
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x1801396b2
mov eax, dword [rsp + 0x90]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
mov dl, 1
mov ecx, 0x20b
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x18013976c
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18013976c
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
jne 0x18013974f
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x180139704
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x18013974f
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x18013974f
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe07]
test eax, eax
je 0x18013974f
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe06]
test eax, eax
jne 0x18013974f
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
jne 0x18013974f
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov eax, dword [rsp + 0x90]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
movzx eax, byte [rsp + 0xe8]
test eax, eax
jne 0x180139788
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x18013989d
mov eax, dword [rsp + 0x6c8]
and eax, 0x800
test eax, eax
je 0x1801397a5
mov dword [rsp + 0x1c4], 1
jmp 0x1801397b0
mov dword [rsp + 0x1c4], 0
movzx eax, byte [rsp + 0x1c4]
mov byte [rsp + 0xc1], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013980c
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x18013980c
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x1801397f0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x18013980c
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x180139840
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xe04]
test eax, eax
je 0x180139840
mov byte [rsp + 0x8e], 1
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x6c]
test eax, eax
je 0x180139836
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180139836
mov rcx, qword [rsp + 0x58]
call fcn.180153af0
jmp 0x18013983e
mov byte [rsp + 0x81], 1
jmp 0x180139898
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180139898
mov dword [rsp + 0x1c8], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x6d8]
mov r8, qword [rsp + 0x6d0]
mov edx, dword [rsp + 0x6c8]
lea rcx, [rsp + 0x1c8]
call fcn.18013d980
movzx eax, al
test eax, eax
je 0x180139898
mov edx, dword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
jmp 0x180139c9a
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x1801398c5
mov byte [rsp + 0x87], 1
movzx eax, byte [rsp + 0x87]
mov byte [rsp + 0x81], al
jmp 0x180139c9a
movzx eax, byte [rsp + 0xc2]
test eax, eax
jne 0x1801398dd
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x180139921
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x1801398f6
mov dword [rsp + 0x1cc], 0x20000a
jmp 0x180139901
mov dword [rsp + 0x1cc], 0x20000b
mov edx, dword [rsp + 0x1cc]
mov rcx, qword [rsp + 0x58]
call fcn.18012c980
mov rcx, qword [rsp + 0x58]
call fcn.1801534c0
jmp 0x180139c9a
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x180139948
mov rcx, qword [rsp + 0x58]
call fcn.180153af0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x180139c9a
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x180139964
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x180139b0a
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0xa8], 0
je 0x180139abc
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
je 0x1801399a6
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18012c9d0
mov dword [rsp + 0x1d0], eax
jmp 0x1801399b1
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
mov dword [rsp + 0x1dc], eax
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
je 0x1801399ee
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18013f400
mov dword [rsp + 0x1d4], eax
jmp 0x1801399fd
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1d4], eax
mov eax, dword [rsp + 0x1d4]
mov dword [rsp + 0x1d8], eax
movsxd rax, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1dc]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.1800fcd50
inc eax
mov dword [rsp + 0x1e0], eax
movsxd rax, dword [rsp + 0x1e0]
mov rcx, rax
call fcn.1800f8050
mov qword [rsp + 0x340], rax
movsxd rax, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1dc]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x340]
call fcn.1800fc5e0
mov rcx, qword [rsp + 0x340]
call fcn.1800f7770
mov rcx, qword [rsp + 0x340]
call fcn.1800f80b0
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x180139b05
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
jne 0x180139ae3
mov rcx, qword [rsp + 0x58]
call fcn.180153af0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180140fd0
jmp 0x180139c9a
movzx eax, byte [rsp + 0xed]
test eax, eax
je 0x180139c9a
call fcn.1800f7700
mov qword [rsp + 0x348], rax
cmp qword [rsp + 0x348], 0
je 0x180139c9a
mov rcx, qword [rsp + 0x348]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x300], eax
mov eax, dword [rsp + 0x300]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.1800f8050
mov qword [rsp + 0x2c0], rax
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x2c8], rax
mov rax, qword [rsp + 0x2c8]
movsx eax, byte [rax]
test eax, eax
je 0x180139c3b
xor r8d, r8d
mov rdx, qword [rsp + 0x2c8]
lea rcx, [rsp + 0x178]
call fcn.1800fc700
cdqe
mov rcx, qword [rsp + 0x2c8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2c8], rax
cmp dword [rsp + 0x178], 0
jne 0x180139bd2
jmp 0x180139c3b
mov dword [rsp + 0x20], 4
mov r9, qword [rsp + 0x6d8]
mov r8, qword [rsp + 0x6d0]
mov edx, dword [rsp + 0x6c8]
lea rcx, [rsp + 0x178]
call fcn.18013d980
movzx eax, al
test eax, eax
jne 0x180139c0a
jmp 0x180139b83
movsxd rax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x2c0]
movzx edx, word [rsp + 0x178]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
jmp 0x180139b83
movsxd rax, dword [rsp + 0x108]
xor ecx, ecx
mov rdx, qword [rsp + 0x2c0]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x108], 0
jle 0x180139c8d
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x108]
mov r8, qword [rsp + 0x2c0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180142960
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x2c0]
call fcn.1800f80b0
mov rcx, qword [rsp + 0x58]
call fcn.180153960
movzx eax, al
test eax, eax
je 0x180139cc7
xor eax, eax
test eax, eax
jne 0x180139cba
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180139cc7
mov dword [rsp + 0x1e4], 1
jmp 0x180139cd2
mov dword [rsp + 0x1e4], 0
movzx eax, byte [rsp + 0x70]
or eax, dword [rsp + 0x1e4]
mov byte [rsp + 0x70], al
mov qword [rsp + 0x150], 0
mov dword [rsp + 0xcc], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x18013a49e
movzx eax, byte [rsp + 0x87]
test eax, eax
je 0x180139e53
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180139e53
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x6b0]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180139e53
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x388]
call fcn.1801166c0
nop
cmp dword [rsp + 0xcc], 0
jle 0x180139df8
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x150]
call fcn.1800fcc90
inc eax
mov edx, eax
lea rcx, [rsp + 0x388]
call fcn.18011cb40
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x150]
mov edx, dword [rsp + 0x388]
mov rcx, qword [rsp + 0x390]
call fcn.1800fcba0
cmp dword [rsp + 0xcc], 0
jle 0x180139e14
mov eax, dword [rsp + 0x388]
dec eax
mov dword [rsp + 0x1e8], eax
jmp 0x180139e1f
mov dword [rsp + 0x1e8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x1e8]
mov r8, qword [rsp + 0x390]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1801429a0
nop
lea rcx, [rsp + 0x388]
call fcn.180118810
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180139eb6
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x438]
call fcn.18011ca40
xor r9d, r9d
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x20]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.1800fc5e0
movzx eax, byte [rsp + 0x87]
test eax, eax
je 0x180139ee6
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x180139edc
mov eax, dword [rsp + 0x6c8]
and eax, 0x20
test eax, eax
jne 0x180139ee6
mov byte [rsp + 0xc3], 0
jmp 0x180139eee
mov byte [rsp + 0xc3], 1
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0xee]
test eax, eax
je 0x18013a48f
mov eax, dword [rsp + 0x6c8]
and eax, 0x801c0
test eax, eax
je 0x18013a44c
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x6c8]
and eax, 0x40
test eax, eax
je 0x180139f73
mov dl, 1
mov ecx, 0x200
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139f73
mov dword [rsp + 0xf4], 0x40
mov dword [rsp + 0x140], 0x200
jmp 0x18013a034
mov eax, dword [rsp + 0x6c8]
and eax, 0x80
test eax, eax
je 0x180139fb1
mov dl, 1
mov ecx, 0x203
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139fb1
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x140], 0x203
jmp 0x18013a034
mov eax, dword [rsp + 0x6c8]
and eax, 0x80
test eax, eax
je 0x180139fec
mov dl, 1
mov ecx, 0x204
call fcn.1800f6e60
movzx eax, al
test eax, eax
je 0x180139fec
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x140], 0x204
jmp 0x18013a034
mov eax, dword [rsp + 0x6c8]
and eax, 0x80000
test eax, eax
je 0x18013a019
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x18013a019
mov dword [rsp + 0xf4], 0x80000
jmp 0x18013a034
mov eax, dword [rsp + 0x6c8]
and eax, 0x100
test eax, eax
je 0x18013a034
mov dword [rsp + 0xf4], 0x100
cmp dword [rsp + 0xf4], 0
je 0x18013a44c
lea rcx, [rsp + 0x278]
call fcn.18012b1f0
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x278]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [rsp + 0xf4]
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0x6c8]
mov dword [rsp + 0x27c], eax
mov rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x280], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18013a0ab
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x3e8], rax
jmp 0x18013a0bc
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e8]
mov qword [rsp + 0x3b0], rax
mov eax, dword [rsp + 0x140]
mov dword [rsp + 0x28c], eax
mov rax, qword [rsp + 0x3b0]
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x298], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x29c], eax
mov byte [rsp + 0x2a0], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1a8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a8]
call fcn.1800fcd50
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x304], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x1a8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a8]
call fcn.1800fcd50
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x308], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x1a8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a8]
call fcn.1800fcd50
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x338], eax
mov rax, qword [rsp + 0x6d0]
mov qword [rsp + 0x440], rax
lea rcx, [rsp + 0x278]
call qword [rsp + 0x440]
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18013a209
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x3a8], rax
jmp 0x18013a21a
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x3b0], rax
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x88], al
mov eax, dword [rsp + 0x304]
cmp dword [rsp + 0x2a4], eax
jne 0x18013a255
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18013a28f
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.1800fcc90
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x308]
cmp dword [rsp + 0x2a8], eax
jne 0x18013a2ab
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18013a308
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x2a8], eax
jne 0x18013a2cc
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x1ec], eax
jmp 0x18013a2f9
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.1800fcc90
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1ec]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x338]
cmp dword [rsp + 0x2ac], eax
jne 0x18013a324
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18013a381
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jne 0x18013a345
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x1f0], eax
jmp 0x18013a372
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.1800fcc90
mov dword [rsp + 0x1f0], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1f0]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18013a44c
mov r8d, dword [rsp + 0x298]
mov rdx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x58]
call fcn.180142a40
mov eax, dword [rsp + 0x180]
cmp dword [rsp + 0x298], eax
jle 0x18013a401
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x18013a401
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x448], rax
mov eax, dword [rsp + 0x180]
mov ecx, dword [rsp + 0x298]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x448]
call fcn.18011cb40
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x290]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.1800fcba0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x298]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x58]
call fcn.180153550
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18013a48f
mov rdx, qword [rsp + 0x6b0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x18013a48f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xcc], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
cmp qword [rsp + 0x150], 0
je 0x18013a5c3
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x18013a58a
lea rcx, [rsp + 0x530]
call fcn.18012b1f0
mov dword [rsp + 0x530], 0x40000
mov eax, dword [rsp + 0x6c8]
mov dword [rsp + 0x534], eax
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x548], rax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x550], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x6b8]
call fcn.18013f400
mov dword [rsp + 0x554], eax
mov rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x538], rax
mov rax, qword [rsp + 0x6d0]
mov qword [rsp + 0x450], rax
lea rcx, [rsp + 0x530]
call qword [rsp + 0x450]
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x6b0], rax
mov eax, dword [rsp + 0x554]
mov dword [rsp + 0x6b8], eax
mov eax, dword [rsp + 0x6b8]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x550]
call fcn.18012c9d0
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, dword [rsp + 0x6b8]
mov ecx, eax
call fcn.18012c9d0
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x6b0]
call fcn.1800fbd70
mov byte [rsp + 0x8f], 1
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x18013a5e5
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x18013a5e5
call fcn.180102b90
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18013a663
mov r8d, 1
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x160]
call fcn.180108500
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x44]
movss dword [rsp + 0x310], xmm0
movss xmm1, dword [0x1801a4d54]
mov ecx, 8
call fcn.1800f29e0
mov dword [rsp + 0x314], eax
movss xmm0, dword [rsp + 0x310]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x314]
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x160]
call fcn.180108140
movss xmm0, dword [rsp + 0x164]
addss xmm0, dword [rsp + 0x114]
movss xmm1, dword [rsp + 0x160]
addss xmm1, dword [rsp + 0x110]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm2, dword [rsp + 0x164]
movss xmm1, dword [rsp + 0x160]
lea rcx, [rsp + 0x378]
call fcn.1801186d0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013a6e1
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0xe0]
mov qword [rsp + 0x458], rax
lea rax, [rsp + 0x458]
mov qword [rsp + 0x3b8], rax
jmp 0x18013a70d
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x5f0]
call fcn.18012bf20
mov qword [rsp + 0x3b8], rax
mov rax, qword [rsp + 0x3b8]
mov qword [rsp + 0x460], rax
mov rax, qword [rsp + 0x460]
mov rax, qword [rax]
mov qword [rsp + 0x158], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x268]
call fcn.1801185c0
mov dword [rsp + 0x4e8], 0x200000
movzx eax, byte [rsp + 0xc4]
test eax, eax
je 0x18013a76d
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3c0], rax
jmp 0x18013a77d
mov rax, qword [rsp + 0x6b0]
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], 0
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x18013a7d5
mov rax, qword [rsp + 0x6a8]
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x6a8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x6a8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x18013a7eb
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18013b72f
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18013a813
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1a0], rax
lea rcx, [rsp + 0x118]
call fcn.180118600
lea rcx, [rsp + 0x350]
call fcn.180118600
mov qword [rsp + 0x2d8], 0
mov qword [rsp + 0x2e0], 0
mov dword [rsp + 0x100], 0xfffffc18
mov dword [rsp + 0x104], 0xfffffc18
mov dword [rsp + 0x94], 0
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18013a8ca
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x2d8], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18013a92b
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18012c9d0
cdqe
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x2d8], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x100], 0xffffffff
mov eax, dword [rsp + 0x94]
inc eax
mov dword [rsp + 0x94], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013a941
mov dword [rsp + 0x1f4], 1
jmp 0x18013a94c
mov dword [rsp + 0x1f4], 0
mov eax, dword [rsp + 0x1f4]
mov ecx, dword [rsp + 0x94]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x94], eax
mov dword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x1b0], rax
jmp 0x18013a996
mov rax, qword [rsp + 0x1b0]
add rax, 2
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
movzx eax, word [rax]
test eax, eax
je 0x18013aa94
mov rax, qword [rsp + 0x1b0]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x18013aa8f
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x18013aa2e
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x2d8]
cmp qword [rsp + 0x1b0], rax
jb 0x18013aa2e
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x94]
dec eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
jg 0x18013aa2e
jmp 0x18013aa94
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x18013aa8f
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2d8]
cmp qword [rsp + 0x1b0], rax
jb 0x18013aa8f
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, dword [rsp + 0x94]
dec eax
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
jg 0x18013aa8f
jmp 0x18013aa94
jmp 0x18013a982
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x18013aace
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x18013aaf8
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0x100], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x2d8]
mov qword [rsp + 0x468], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + rax + 0x2d8]
call fcn.1800fc000
mov qword [rsp + 0x470], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x468]
mov rdx, qword [rsp + 0x470]
lea rcx, [rsp + 0x5f8]
call fcn.18013dd60
movss xmm0, dword [rax]
movss dword [rsp + 0x118], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movss dword [rsp + 0x11c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0
jl 0x18013ac53
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2d8]
mov qword [rsp + 0x478], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x1a0]
mov rcx, qword [rsp + rax + 0x2d8]
call fcn.1800fc000
mov qword [rsp + 0x480], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x478]
mov rdx, qword [rsp + 0x480]
lea rcx, [rsp + 0x600]
call fcn.18013dd60
movss xmm0, dword [rax]
movss dword [rsp + 0x350], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movss dword [rsp + 0x354], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013ac96
cvtsi2ss xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x638]
call fcn.1801185c0
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18013af25
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x18013af25
mov eax, dword [rsp + 0x6c8]
and eax, 0x1000
test eax, eax
jne 0x18013ad95
movss xmm0, dword [rsp + 0x110]
mulss xmm0, dword [0x1801a5c28]
movss dword [rsp + 0x224], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x110]
subss xmm0, dword [rax + 0x3c]
movss dword [rsp + 0x1f8], xmm0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x48]
comiss xmm0, dword [rsp + 0x118]
jbe 0x18013ad49
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x224]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.18012c660
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x18013ad93
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x1f8]
mov rax, qword [rsp + 0x58]
comiss xmm0, dword [rax + 0x48]
jb 0x18013ad93
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x1f8]
addss xmm0, dword [rsp + 0x224]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x18013ada2
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013af19
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3c08]
movss xmm1, dword [rsp + 0x98]
comiss xmm1, xmm0
jbe 0x18013adff
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3c08]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.18012c660
movss dword [rsp + 0x98], xmm0
jmp 0x18013ae72
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1801db188]
movss xmm1, dword [rsp + 0x114]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x11c]
subss xmm1, xmm0
movaps xmm0, xmm1
comiss xmm0, dword [rsp + 0x98]
jb 0x18013ae72
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rsp + 0x114]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x40]
mulss xmm1, dword [0x1801db188]
addss xmm0, xmm1
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1801db188]
movss xmm1, dword [rsp + 0x26c]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x114]
xorps xmm1, xmm1
call fcn.18012c660
movss dword [rsp + 0x318], xmm0
movss xmm2, dword [rsp + 0x318]
xorps xmm1, xmm1
movss xmm0, dword [rsp + 0x98]
call fcn.18013df80
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x68]
subss xmm0, dword [rsp + 0x98]
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 + 0x98]
movss dword [rax + 0x68], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
xorps xmm2, xmm2
mov rax, qword [rsp + 0x58]
movss xmm1, dword [rax + 0x48]
lea rcx, [rsp + 0x2d0]
call fcn.1801185c0
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18013b349
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18012c9d0
cdqe
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18013f400
cdqe
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x358], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18013afbe
movss xmm0, dword [0x1801a4d54]
movss dword [rsp + 0x200], xmm0
jmp 0x18013afcf
movss xmm0, dword [0x1801a5c30]
movss dword [rsp + 0x200], xmm0
movss xmm1, dword [rsp + 0x200]
mov ecx, 0x30
call fcn.1800f29e0
mov dword [rsp + 0x324], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013b000
xorps xmm0, xmm0
movss dword [rsp + 0x204], xmm0
jmp 0x18013b011
movss xmm0, dword [0x1801a5c78]
movss dword [rsp + 0x204], xmm0
movss xmm0, dword [rsp + 0x204]
movss dword [rsp + 0x320], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013b03a
xorps xmm0, xmm0
movss dword [rsp + 0x208], xmm0
jmp 0x18013b04b
movss xmm0, dword [0x1801db188]
movss dword [rsp + 0x208], xmm0
movss xmm0, dword [rsp + 0x208]
movss dword [rsp + 0x330], xmm0
lea r8, [rsp + 0x350]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x568]
call fcn.18012bf20
lea r8, [rsp + 0x2d0]
mov rdx, rax
lea rcx, [rsp + 0x198]
call fcn.18012bf80
mov rax, qword [rsp + 0x488]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x358]
cmp qword [rsp + 0x190], rax
jae 0x18013b349
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x384]
addss xmm0, dword [rax + 0x3c08]
movss xmm1, dword [rsp + 0x19c]
comiss xmm1, xmm0
jbe 0x18013b0e1
jmp 0x18013b349
movss xmm0, dword [rsp + 0x37c]
comiss xmm0, dword [rsp + 0x19c]
jbe 0x18013b13f
mov rax, qword [rsp + 0x358]
cmp qword [rsp + 0x190], rax
jae 0x18013b13a
mov rax, qword [rsp + 0x190]
movzx eax, word [rax]
mov dword [rsp + 0x31c], eax
mov rax, qword [rsp + 0x190]
add rax, 2
mov qword [rsp + 0x190], rax
cmp dword [rsp + 0x31c], 0xa
jne 0x18013b138
jmp 0x18013b13a
jmp 0x18013b0f4
jmp 0x18013b30a
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x190]
mov r8, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x190]
lea rcx, [rsp + 0x360]
call fcn.18013dd60
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x360]
jb 0x18013b1bd
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov qword [rsp + 0x490], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x490]
call fcn.180153750
mulss xmm0, dword [0x1801a5c2c]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x360], xmm0
movss xmm2, dword [rsp + 0x330]
movss xmm1, dword [rsp + 0x360]
lea rcx, [rsp + 0x570]
call fcn.1801185c0
mov r8, rax
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x578]
call fcn.18012bf20
mov qword [rsp + 0x498], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x320]
subss xmm0, dword [rax + 0x3c08]
movaps xmm2, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x580]
call fcn.1801185c0
mov r8, rax
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x588]
call fcn.18012bf20
mov qword [rsp + 0x4a0], rax
mov r8, qword [rsp + 0x498]
mov rdx, qword [rsp + 0x4a0]
lea rcx, [rsp + 0x400]
call fcn.180118430
lea rdx, [rsp + 0x378]
lea rcx, [rsp + 0x608]
call fcn.180118470
lea rdx, [rsp + 0x608]
lea rcx, [rsp + 0x400]
call fcn.180119970
lea rdx, [rsp + 0x378]
lea rcx, [rsp + 0x618]
call fcn.180118470
lea rdx, [rsp + 0x618]
lea rcx, [rsp + 0x400]
call fcn.18011a480
movzx eax, al
test eax, eax
je 0x18013b30a
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x280]
mov qword [rsp + 0x4a8], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x324]
lea r8, [rsp + 0x408]
lea rdx, [rsp + 0x400]
mov rcx, qword [rsp + 0x4a8]
call fcn.1801580e0
movss xmm0, dword [rsp + 0x158]
subss xmm0, dword [rsp + 0x2d0]
movss dword [rsp + 0x198], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x19c]
addss xmm0, dword [rax + 0x3c08]
movss dword [rsp + 0x19c], xmm0
jmp 0x18013b0a2
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18013b374
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x18013b4ae
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x18013b38a
mov dword [rsp + 0x20c], 2
jmp 0x18013b395
mov dword [rsp + 0x20c], 1
movss xmm1, dword [0x1801a4d54]
mov ecx, dword [rsp + 0x20c]
call fcn.1800f29e0
mov dword [rsp + 0x328], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x280]
mov qword [rsp + 0x4c8], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013b3de
mov qword [rsp + 0x3c8], 0
jmp 0x18013b3ee
lea rax, [rsp + 0x378]
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x4b0], rax
lea r8, [rsp + 0x2d0]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x590]
call fcn.18012bf80
mov qword [rsp + 0x4b8], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3c08]
movss dword [rsp + 0x32c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3c00]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x3c8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x4b0]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x328]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4b8]
movss xmm2, dword [rsp + 0x32c]
mov rdx, qword [rsp + 0x4c0]
mov rcx, qword [rsp + 0x4c8]
call fcn.180158950
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18013b72a
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
movss xmm0, dword [rax + 0xe78]
addss xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
movss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x73]
test eax, eax
je 0x18013b532
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe78]
jae 0x18013b532
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0xe78]
movss xmm1, dword [0x1801db170]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
movss xmm1, dword [0x1801f100c]
comiss xmm1, xmm0
jae 0x18013b532
mov dword [rsp + 0x210], 0
jmp 0x18013b53d
mov dword [rsp + 0x210], 1
movzx eax, byte [rsp + 0x210]
mov byte [rsp + 0xef], al
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x598]
call fcn.18012bf20
lea r8, [rsp + 0x2d0]
mov rdx, rax
lea rcx, [rsp + 0x5a0]
call fcn.18012bf80
mov rdx, rax
lea rcx, [rsp + 0x1b8]
call fcn.18012c4c0
movss xmm0, dword [rsp + 0x1bc]
subss xmm0, dword [0x1801db174]
movss xmm1, dword [rsp + 0x1b8]
addss xmm1, dword [0x1801a4d54]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rsp + 0x1bc]
subss xmm2, dword [rax + 0x3c08]
addss xmm2, dword [0x1801a5c2c]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm1, dword [rsp + 0x1b8]
lea rcx, [rsp + 0x518]
call fcn.1801184e0
movzx eax, byte [rsp + 0xef]
test eax, eax
je 0x18013b6b5
lea rdx, [rsp + 0x378]
lea rcx, [rsp + 0x628]
call fcn.180118470
lea rdx, [rsp + 0x628]
lea rcx, [rsp + 0x518]
call fcn.18011a480
movzx eax, al
test eax, eax
je 0x18013b6b5
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x280]
mov qword [rsp + 0x4d8], rax
movss xmm1, dword [0x1801a4d54]
mov ecx, 1
call fcn.1800f29e0
mov dword [rsp + 0x36c], eax
lea rdx, [rsp + 0x5a8]
lea rcx, [rsp + 0x518]
call fcn.180119d10
mov qword [rsp + 0x4d0], rax
movss xmm0, dword [0x1801a4d54]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x36c]
mov r8, qword [rsp + 0x4d0]
lea rdx, [rsp + 0x518]
mov rcx, qword [rsp + 0x4d8]
call fcn.180157e70
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18013b72a
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x5350], 1
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x1bc]
subss xmm0, dword [rax + 0x3c08]
movss xmm1, dword [rsp + 0x1b8]
subss xmm1, dword [0x1801a4d54]
movaps xmm2, xmm0
lea rcx, [rsp + 0x5b0]
call fcn.1801185c0
mov rax, qword [rax]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x5354], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rcx + 0x3c08]
movss dword [rax + 0x535c], xmm0
jmp 0x18013b8f9
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013b784
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
call fcn.18013dca0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3c08]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x5b8]
call fcn.1801185c0
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
jmp 0x18013b7eb
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18013b7bf
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x3ee4], ecx
jne 0x18013b7bf
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
jmp 0x18013b7eb
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18013b7eb
mov rcx, qword [rsp + 0x120]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18013b816
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x18013b8f9
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x18013b82c
mov dword [rsp + 0x214], 2
jmp 0x18013b837
mov dword [rsp + 0x214], 1
movss xmm1, dword [0x1801a4d54]
mov ecx, dword [rsp + 0x214]
call fcn.1800f29e0
mov dword [rsp + 0x30c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x280]
mov qword [rsp + 0x4e0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013b880
mov qword [rsp + 0x3a0], 0
jmp 0x18013b890
lea rax, [rsp + 0x378]
mov qword [rsp + 0x3a0], rax
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x30c]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x158]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rax + 0x3c08]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x3c00]
mov rcx, qword [rsp + 0x4e0]
call fcn.180158950
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18013b913
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18013b913
call fcn.1800f20b0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18013ba03
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x26c]
addss xmm0, dword [rax + 0x40]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x268]
lea rcx, [rsp + 0x5c0]
call fcn.1801185c0
mov rcx, rax
call fcn.18011d2c0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f44]
mov dword [rsp + 0x334], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f44]
or eax, 0x101
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3f44], eax
call fcn.1800f0e30
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3f64]
and eax, 0x80
mov ecx, dword [rsp + 0x648]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x648], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x334]
mov dword [rax + 0x3f44], ecx
call fcn.1800f3040
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x3f5c], 0
jne 0x18013ba03
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
mov dword [rax + 0x3f5c], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x644]
mov dword [rax + 0x3f60], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x648]
mov dword [rax + 0x3f64], ecx
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x53cc]
test eax, eax
je 0x18013ba58
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18013ba28
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x18013ba58
lea rdx, [0x1801f4758]
lea rcx, [0x1801f475c]
call fcn.180104010
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x158]
call fcn.180103cf0
movss xmm0, dword [rsp + 0x2b0]
comiss xmm0, dword [0x1801f43ac]
jbe 0x18013babc
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x164]
addss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rsp + 0x168]
addss xmm1, dword [rax + 0x54]
movaps xmm2, xmm0
lea rcx, [rsp + 0x5c8]
call fcn.1801185c0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x6a0]
mov rcx, qword [rax]
call fcn.180107380
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x18013bae1
mov eax, dword [rsp + 0x6c8]
and eax, 0x8000000
test eax, eax
jne 0x18013bae1
mov ecx, dword [rsp + 0x74]
call fcn.180102ce0
mov eax, dword [rsp + 0x6c8]
and eax, 0x20
test eax, eax
je 0x18013bafb
movzx eax, byte [rsp + 0x8e]
jmp 0x18013bb03
movzx eax, byte [rsp + 0x8f]
add rsp, 0x688
pop rdi
pop rsi
ret