Function at 0x180104e60
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
sub rsp, 0x628
call fcn.1800e7d00
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax + 0x93]
test eax, eax
je 0x180104ea2
xor al, al
jmp 0x1801093e1
mov rax, qword [0x180231260]
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, 0x1570
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x176], 0
mov eax, dword [rsp + 0x658]
and eax, 0x4000000
test eax, eax
je 0x180104ef1
mov byte [rsp + 0xc3], 1
jmp 0x180104ef9
mov byte [rsp + 0xc3], 0
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x658]
and eax, 0x4000
test eax, eax
je 0x180104f1f
mov byte [rsp + 0xc4], 1
jmp 0x180104f27
mov byte [rsp + 0xc4], 0
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x658]
and eax, 0x8000
test eax, eax
je 0x180104f4d
mov byte [rsp + 0xc5], 1
jmp 0x180104f55
mov byte [rsp + 0xc5], 0
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x81], al
mov eax, dword [rsp + 0x658]
and eax, 0x10000
test eax, eax
jne 0x180104f7e
mov byte [rsp + 0xc6], 1
jmp 0x180104f86
mov byte [rsp + 0xc6], 0
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0xba], al
mov eax, dword [rsp + 0x658]
and eax, 0x40000
test eax, eax
je 0x180104faf
mov byte [rsp + 0xc7], 1
jmp 0x180104fb7
mov byte [rsp + 0xc7], 0
movzx eax, byte [rsp + 0xc7]
mov byte [rsp + 0x8b], al
movzx eax, byte [rsp + 0x8b]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180104fdd
call fcn.1800bfcf0
nop
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
mov rcx, qword [rsp + 0x128]
call fcn.1800cb1a0
mov dword [rsp + 0x74], eax
vmovss xmm0, dword [0x1801e4810]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
lea rcx, [rsp + 0x2b0]
call fcn.1800c3540
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18010504c
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmulss xmm0, xmm0, dword [0x180180d1c]
vmovss dword [rsp + 0x214], xmm0
jmp 0x18010505e
vmovss xmm0, dword [rsp + 0x2b4]
vmovss dword [rsp + 0x214], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x1801e4720]
vmovss xmm1, dword [rsp + 0x214]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x32c], xmm0
call fcn.1800bf680
vmovss dword [rsp + 0x330], xmm0
mov rax, qword [rsp + 0x650]
mov rax, qword [rax]
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d8]
mov qword [rsp + 0x4e0], rax
vmovss xmm3, dword [rsp + 0x32c]
vmovss xmm2, dword [rsp + 0x330]
mov rdx, qword [rsp + 0x4e0]
lea rcx, [rsp + 0x2b8]
call fcn.1800cf270
nop
vmovss xmm0, dword [rsp + 0x2bc]
vmovss dword [rsp + 0x360], xmm0
vmovss xmm0, dword [rsp + 0x2b0]
vcomiss xmm0, dword [0x180180ca4]
jbe 0x180105128
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x54]
vaddss xmm0, xmm0, dword [rsp + 0x2b0]
vmovss dword [rsp + 0x218], xmm0
jmp 0x180105135
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x218], xmm0
vmovss xmm0, dword [rsp + 0x2b8]
vaddss xmm0, xmm0, dword [rsp + 0x218]
vmovss xmm2, dword [rsp + 0x360]
vmovups xmm1, xmm0
lea rcx, [rsp + 0x4e8]
call fcn.180006e40
nop
mov rax, qword [rsp + 0x128]
add rax, 0xd8
lea r8, [rsp + 0x2b8]
mov rdx, rax
lea rcx, [rsp + 0x5b0]
call fcn.1800f97b0
mov rcx, qword [rsp + 0x128]
add rcx, 0xd8
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x158]
call fcn.180077cb0
nop
lea r8, [rsp + 0x4e8]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5b8]
call fcn.1800f97b0
mov r8, rax
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x3d0]
call fcn.180077cb0
nop
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x2b8]
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x170], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801053fd
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x4f0], rax
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.1800ced50
nop
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3d0]
call fcn.1800ced90
movzx eax, al
test eax, eax
jne 0x18010527d
call fcn.1800bfef0
xor al, al
jmp 0x1801093e1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1ce0]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x4f0]
mov qword [rax + 0xd8], rcx
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xc8]
mov rdx, rax
mov ecx, 3
call fcn.1800bf090
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1800bf1c0
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.1800bf1c0
nop
lea rdx, [rsp + 0x5c0]
lea rcx, [rsp + 0x158]
call fcn.1800e7ee0
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x630]
call fcn.1800cfc80
mov byte [rsp + 0xf0], al
mov ecx, 2
call fcn.1800bf320
mov ecx, 1
call fcn.1800bf130
nop
movzx eax, byte [rsp + 0xf0]
test eax, eax
jne 0x180105368
call fcn.1800bdc90
call fcn.1800bfef0
xor al, al
jmp 0x1801093e1
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c20]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov ecx, 1
mov eax, dword [rax + 0x124]
shlx eax, ecx, eax
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x12a]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x12a], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov rcx, qword [rsp + 0xd0]
add rcx, 0xd8
mov rdx, rax
call fcn.1800f9870
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x110]
vsubss xmm0, xmm0, dword [rax + 0x84]
vmovss dword [rsp + 0x110], xmm0
jmp 0x180105467
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x3d0]
call fcn.1800ced50
nop
mov eax, dword [rsp + 0x658]
and eax, 0x10000000
test eax, eax
jne 0x180105455
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x3d0]
call fcn.1800ced90
movzx eax, al
test eax, eax
jne 0x180105455
xor al, al
jmp 0x1801093e1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1ce0]
mov dword [rsp + 0x170], eax
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x158]
call fcn.1800cefa0
mov byte [rsp + 0x82], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18010549a
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x1fa8], 1
mov ecx, dword [rsp + 0x74]
call fcn.180120470
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x170]
and eax, 0x100
test eax, eax
je 0x1801054c2
mov byte [rsp + 0xc8], 1
jmp 0x1801054ca
mov byte [rsp + 0xc8], 0
movzx eax, byte [rsp + 0xc8]
mov byte [rsp + 0xa5], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x180105524
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1e34], ecx
je 0x18010551a
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1e28], ecx
jne 0x180105524
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1e50], 2
jne 0x180105524
mov byte [rsp + 0xc9], 1
jmp 0x18010552c
mov byte [rsp + 0xc9], 0
movzx eax, byte [rsp + 0xc9]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18010556b
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x18010556b
mov byte [rsp + 0x9c], 1
jmp 0x180105573
mov byte [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x9c]
mov byte [rsp + 0xa6], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801055ca
cmp qword [rsp + 0x58], 0
je 0x1801055ca
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1c6c], 0
jne 0x1801055ca
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.180100b70
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1ca8], eax
jne 0x1801055ca
mov byte [rsp + 0x9d], 1
jmp 0x1801055d2
mov byte [rsp + 0x9d], 0
movzx eax, byte [rsp + 0x9d]
mov byte [rsp + 0xf1], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18010561b
cmp qword [rsp + 0x58], 0
je 0x18010561b
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.180100b70
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1c6c], eax
jne 0x18010561b
mov byte [rsp + 0x9e], 1
jmp 0x180105623
mov byte [rsp + 0x9e], 0
movzx eax, byte [rsp + 0x9e]
mov byte [rsp + 0xa8], al
mov byte [rsp + 0x70], 0
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180105660
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x60]
vmovss dword [rsp + 0x1f4], xmm0
jmp 0x180105671
vmovss xmm0, dword [0x1801e4804]
vmovss dword [rsp + 0x1f4], xmm0
vmovss xmm0, dword [rsp + 0x1f4]
vmovss dword [rsp + 0x98], xmm0
cmp qword [rsp + 0x58], 0
je 0x1801056c8
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1801056a1
mov dword [rsp + 0x21c], 1
jmp 0x1801056ac
mov dword [rsp + 0x21c], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x21c]
je 0x1801056c8
mov byte [rsp + 0x9f], 1
jmp 0x1801056d0
mov byte [rsp + 0x9f], 0
movzx eax, byte [rsp + 0x9f]
mov byte [rsp + 0xa2], al
movzx eax, byte [rsp + 0xa6]
test eax, eax
jne 0x180105719
movzx eax, byte [rsp + 0xf1]
test eax, eax
jne 0x180105719
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x180105719
movzx eax, byte [rsp + 0xa5]
test eax, eax
jne 0x180105719
mov byte [rsp + 0xa0], 0
jmp 0x180105721
mov byte [rsp + 0xa0], 1
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x88], al
movzx eax, byte [rsp + 0x88]
test eax, eax
jne 0x180105752
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x180105752
mov byte [rsp + 0xa1], 0
jmp 0x18010575a
mov byte [rsp + 0xa1], 1
movzx eax, byte [rsp + 0xa1]
mov byte [rsp + 0xa7], al
movzx eax, byte [rsp + 0xa7]
test eax, eax
je 0x180105786
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180105796
movzx eax, byte [rsp + 0xa2]
test eax, eax
je 0x180105a02
mov rax, qword [rsp + 0x68]
add rax, 0x2128
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.180120210
mov rcx, qword [rsp + 0x640]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x224], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x4f8], rax
mov eax, dword [rsp + 0x224]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x4f8]
call fcn.1800ea3e0
mov eax, dword [rsp + 0x224]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x640]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x3b0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x510], rax
mov eax, dword [rsp + 0x648]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x510]
call fcn.1800ea430
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x3f0], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f0]
call fcn.1800ea3e0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x640]
mov edx, dword [rsp + 0x648]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.1800c92c0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x3b0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
cmp dword [rax], ecx
jne 0x1801058e5
movzx eax, byte [rsp + 0xa2]
test eax, eax
jne 0x1801058e5
mov byte [rsp + 0xa3], 1
jmp 0x1801058ed
mov byte [rsp + 0xa3], 0
movzx eax, byte [rsp + 0xa3]
mov byte [rsp + 0xa4], al
movzx eax, byte [rsp + 0xa4]
test eax, eax
je 0x180105915
mov rcx, qword [rsp + 0x58]
call fcn.180120230
nop
jmp 0x180105968
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180105944
mov dword [rsp + 0x228], 1
jmp 0x18010594f
mov dword [rsp + 0x228], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x228]
mov rcx, rax
call fcn.1801101f0
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1801059e9
mov eax, dword [rsp + 0x658]
and eax, 0x10
test eax, eax
je 0x180105987
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1801059b9
movzx eax, byte [rsp + 0xa4]
test eax, eax
je 0x1801059b1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1e38]
and eax, 4
test eax, eax
jne 0x1801059b9
mov byte [rsp + 0x80], 1
movzx eax, byte [rsp + 0xa5]
test eax, eax
jne 0x1801059e1
movzx eax, byte [rsp + 0xa6]
test eax, eax
je 0x1801059e9
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x1801059e9
mov byte [rsp + 0x80], 1
mov eax, dword [rsp + 0x658]
and eax, 0x2000
test eax, eax
je 0x180105a02
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x180105b29
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x180105b29
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.1800ce540
mov rdx, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x74]
call fcn.1800ce6f0
mov rcx, qword [rsp + 0x128]
call fcn.1800cbd50
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c80]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c80], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180105a88
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x180105aa1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c80]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1c84]
or eax, 2
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1c84], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 0x180
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180105afd
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 0x60
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
mov eax, dword [rsp + 0x658]
and eax, 0x440
test eax, eax
je 0x180105b29
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1c88]
or rax, 1
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1c88], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180105b48
cmp qword [rsp + 0x58], 0
jne 0x180105b48
call fcn.1800ce820
nop
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180105b90
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x180105b90
movzx eax, byte [rsp + 0xa7]
test eax, eax
jne 0x180105b90
movzx eax, byte [rsp + 0x88]
test eax, eax
jne 0x180105b90
mov byte [rsp + 0x70], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
je 0x180105bbf
cmp qword [rsp + 0x58], 0
je 0x180105bb5
movzx eax, byte [rsp + 0xa8]
test eax, eax
jne 0x180105bbf
mov byte [rsp + 0xa9], 0
jmp 0x180105bc7
mov byte [rsp + 0xa9], 1
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0x62], al
cmp qword [rsp + 0x58], 0
je 0x180105c14
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
jne 0x180105bf8
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x180105c14
xor eax, eax
test eax, eax
jne 0x180105c07
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180105c14
mov dword [rsp + 0x22c], 1
jmp 0x180105c1f
mov dword [rsp + 0x22c], 0
movzx eax, byte [rsp + 0x22c]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x8c], 0
mov byte [rsp + 0x87], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x180105d25
cmp qword [rsp + 0x58], 0
je 0x180105d25
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180105c6a
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x180105d25
mov qword [rsp + 0x3b8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x3f8], rax
mov eax, dword [rsp + 0x648]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3f8]
call fcn.1800ea430
lea rax, [rsp + 0x3b8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x640]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.1800c92c0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x640]
mov rcx, qword [rsp + 0x3b8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.180120230
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x2e8], eax
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
mov ecx, dword [rsp + 0x2e8]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180105d48
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x180105d48
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180105d70
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180105d70
cmp qword [rsp + 0x58], 0
je 0x180105d70
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x180105d70
mov byte [rsp + 0xaa], 1
jmp 0x180105d78
mov byte [rsp + 0xaa], 0
movzx eax, byte [rsp + 0xaa]
mov byte [rsp + 0xc2], al
cmp qword [rsp + 0x638], 0
je 0x180105de4
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x180105db1
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3c0], rax
jmp 0x180105dc1
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x3c0], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x3c0]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x180105de4
mov byte [rsp + 0xab], 1
jmp 0x180105dec
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [rsp + 0x63], al
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180105f25
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180105f25
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x400], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x400]
call fcn.18012c5c0
mov qword [rsp + 0x3c8], rax
mov rax, qword [rsp + 0x68]
add rax, 0x2fc0
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x14]
vmovss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x5c]
vmovss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x60]
vmovss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
vmovss xmm0, dword [rax + 0x64]
vmovss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x140]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x3c8]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x3c8]
vmovss xmm0, dword [rcx + 4]
vmovss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x140]
call fcn.1800beea0
nop
mov dword [rsp + 0x17c], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x1801066b8
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x17c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x648]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x658]
mov dword [rax + 0xe80], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x660]
mov qword [rax + 0xe88], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x668]
mov qword [rax + 0xe90], rcx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
jne 0x180105fd0
mov dword [rsp + 0x230], 1
jmp 0x180105fdb
mov dword [rsp + 0x230], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x230]
mov byte [rax + 0x1c79], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x33ac], 1
mov rax, qword [rsp + 0x78]
vmovss xmm0, dword [rax + 0x120]
vsubss xmm0, xmm0, dword [rsp + 0x158]
mov rax, qword [rsp + 0xe0]
vsubss xmm0, xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
vaddss xmm0, xmm0, dword [rax + 0x48]
vmovss dword [rsp + 0x184], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106064
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x124]
vsubss xmm0, xmm0, dword [rcx + 0xdc]
vmovss dword [rsp + 0x234], xmm0
jmp 0x180106082
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmulss xmm0, xmm0, dword [0x1801e46ec]
vmovss dword [rsp + 0x234], xmm0
vmovss xmm0, dword [rsp + 0x234]
vmovss dword [rsp + 0x168], xmm0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xc1]
mov byte [rsp + 0xfa], al
movzx eax, byte [rsp + 0x80]
test eax, eax
je 0x1801060ce
mov rcx, qword [rsp + 0x58]
call fcn.180120700
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x180106412
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x180106316
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x422]
cmp eax, 2
jl 0x180106316
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
jne 0x180106316
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18010da50
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, word [rcx + rax + 0x422]
sub eax, 2
mov dword [rsp + 0x328], eax
mov eax, dword [rsp + 0x328]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x180106252
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x4c], 0
je 0x1801061a3
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.18010cf50
movzx eax, ax
cmp eax, 0xa
je 0x1801061a3
mov byte [rsp + 0xac], 0
jmp 0x1801061ab
mov byte [rsp + 0xac], 1
movzx eax, byte [rsp + 0xac]
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 0x1801061d8
movzx eax, byte [rsp + 0xf2]
test eax, eax
jne 0x1801061e8
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x18010620c
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rcx, rax
call fcn.18010e830
nop
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.18010d3e0
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.18010e500
nop
jmp 0x180106306
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.18010cf50
movzx eax, ax
cmp eax, 0xa
jne 0x180106276
mov byte [rsp + 0xad], 1
jmp 0x18010627e
mov byte [rsp + 0xad], 0
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xf3], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
movzx eax, byte [rsp + 0xf3]
test eax, eax
jne 0x1801062fa
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801062fa
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov rcx, qword [rsp + 0x58]
add rcx, 0x50
mov rdx, rax
call fcn.180110300
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.180120210
nop
jmp 0x180106412
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x418]
test eax, eax
je 0x180106384
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x180106384
movzx eax, byte [rsp + 0x82]
test eax, eax
je 0x18010637f
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18010da50
mov rcx, qword [rsp + 0x58]
call fcn.180120210
nop
jmp 0x180106412
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
je 0x180106412
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x180106412
mov rax, qword [rsp + 0x78]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x3ac]
jne 0x1801063d4
mov rax, qword [rsp + 0x78]
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [rax + 0x3b0]
je 0x180106412
mov rax, qword [rsp + 0x58]
add rax, 0x4c
vmovss xmm3, dword [rsp + 0x168]
vmovss xmm2, dword [rsp + 0x184]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.18010db00
mov rcx, qword [rsp + 0x58]
call fcn.180120210
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x180106448
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
movzx eax, byte [rcx + rax + 0x128]
test eax, eax
jne 0x180106448
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180106468
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
je 0x18010648e
movzx eax, byte [rsp + 0xfa]
test eax, eax
je 0x180106484
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
jne 0x18010648e
mov byte [rsp + 0xae], 0
jmp 0x180106496
mov byte [rsp + 0xae], 1
movzx eax, byte [rsp + 0xae]
mov byte [rsp + 0xaf], al
mov eax, dword [rsp + 0x658]
and eax, 0x400
test eax, eax
je 0x18010658a
mov dl, 1
xor ecx, ecx
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x18010658a
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x18010658a
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
jne 0x18010658a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18010658a
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x408], rax
mov eax, 9
mov word [rsp + 0x174], ax
lea rdx, [rsp + 0x174]
mov rcx, qword [rsp + 0x408]
call fcn.1801207b0
movzx eax, al
test eax, eax
jne 0x18010658a
mov dword [rsp + 0x238], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x238]
call fcn.18010b290
movzx eax, al
test eax, eax
je 0x18010658a
mov edx, dword [rsp + 0x238]
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x1558], 0
jle 0x1801066b8
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x180106695
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180106695
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x180106695
mov dword [rsp + 0x13c], 0
jmp 0x1801065e6
mov eax, dword [rsp + 0x13c]
inc eax
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x1558]
cmp dword [rsp + 0x13c], eax
jge 0x180106695
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x410], rax
mov edx, dword [rsp + 0x13c]
mov rcx, qword [rsp + 0x410]
call fcn.18008d5b0
movzx eax, word [rax]
mov dword [rsp + 0x180], eax
cmp dword [rsp + 0x180], 9
jne 0x18010664b
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
je 0x18010664b
jmp 0x1801065d6
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x180]
call fcn.18010b290
movzx eax, al
test eax, eax
je 0x180106690
mov edx, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801065d6
mov rax, qword [rsp + 0x78]
add rax, 0x1558
mov qword [rsp + 0x418], rax
xor edx, edx
mov rcx, qword [rsp + 0x418]
call fcn.1800ea430
nop
mov byte [rsp + 0x85], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x1801076f0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x1c78]
test eax, eax
jne 0x1801076f0
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x1801076f0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x114]
vsubss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x68]
vdivss xmm0, xmm0, dword [rax + 0x1990]
vcvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.18010cd80
mov dword [rsp + 0x16c], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x16c]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x139]
test eax, eax
je 0x18010675c
mov dword [rsp + 0x23c], 0x400000
jmp 0x180106767
mov dword [rsp + 0x23c], 0
mov eax, dword [rsp + 0x23c]
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0xc1]
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x1801067ac
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 0xa
jne 0x1801067ac
mov byte [rsp + 0xb0], 1
jmp 0x1801067b4
mov byte [rsp + 0xb0], 0
movzx eax, byte [rsp + 0xb0]
mov byte [rsp + 0xf8], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x1801067e4
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
mov byte [rsp + 0xb1], al
jmp 0x1801067f7
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
mov byte [rsp + 0xb1], al
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x18010684c
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
je 0x18010684c
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
jne 0x18010684c
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
jne 0x18010684c
mov byte [rsp + 0xb2], 1
jmp 0x180106854
mov byte [rsp + 0xb2], 0
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0x83], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 1
jne 0x18010687b
mov byte [rsp + 0xb3], 1
jmp 0x180106883
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0xf9], al
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 2
jne 0x1801068aa
mov byte [rsp + 0xb4], 1
jmp 0x1801068b2
mov byte [rsp + 0xb4], 0
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0xb7], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xc9]
test eax, eax
je 0x180106907
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 8
jne 0x1801068ec
mov dword [rsp + 0x240], 1
jmp 0x1801068f7
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
mov dword [rsp + 0x248], eax
jmp 0x18010693b
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x3b8], 1
jne 0x180106922
mov dword [rsp + 0x244], 1
jmp 0x18010692d
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
mov dword [rsp + 0x248], eax
movzx eax, byte [rsp + 0x248]
mov byte [rsp + 0x71], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180106963
mov dl, 1
mov ecx, 0x13
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106982
movzx eax, byte [rsp + 0xb7]
test eax, eax
je 0x1801069bb
mov dl, 1
mov ecx, 0xa
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x1801069bb
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801069bb
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x1801069bb
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801069b1
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
je 0x1801069bb
mov byte [rsp + 0xb5], 1
jmp 0x1801069c3
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xc1], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1801069ee
mov dl, 1
mov ecx, 0x11
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106a0d
movzx eax, byte [rsp + 0xf9]
test eax, eax
je 0x180106a3d
mov dl, 1
mov ecx, 9
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106a3d
movzx eax, byte [rsp + 0x81]
test eax, eax
jne 0x180106a3d
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106a33
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
je 0x180106a3d
mov byte [rsp + 0xb6], 1
jmp 0x180106a45
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xec], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180106a70
mov dl, 1
mov ecx, 0x12
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106a8f
movzx eax, byte [rsp + 0xb7]
test eax, eax
je 0x180106aa2
mov dl, 1
mov ecx, 9
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106aa2
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180106aa2
mov byte [rsp + 0xb8], 1
jmp 0x180106aaa
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0xed], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180106af4
mov dl, 1
mov ecx, 0x15
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106af4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180106af4
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x180106af4
mov byte [rsp + 0xb9], 1
jmp 0x180106afc
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xc0], al
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180106b27
mov dl, 1
mov ecx, 0x14
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106b46
movzx eax, byte [rsp + 0xf8]
test eax, eax
je 0x180106b65
mov dl, 1
mov ecx, 0x15
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106b65
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180106b65
movzx eax, byte [rsp + 0xba]
test eax, eax
je 0x180106b65
mov byte [rsp + 0xbb], 1
jmp 0x180106b6d
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xeb], al
mov dl, 1
mov ecx, 0xd
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106bac
mov dl, 1
mov ecx, 0xf
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106bac
mov byte [rsp + 0xbc], 0
jmp 0x180106bb4
mov byte [rsp + 0xbc], 1
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xe8], al
mov edx, 1
xor ecx, ecx
call fcn.1800e82e0
movzx eax, al
test eax, eax
je 0x180106be9
mov dl, 1
mov ecx, 0xc
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106c09
mov edx, 1
mov ecx, 2
call fcn.1800e82e0
movzx eax, al
test eax, eax
jne 0x180106c09
mov byte [rsp + 0xbd], 0
jmp 0x180106c11
mov byte [rsp + 0xbd], 1
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0xe9], al
mov dl, 1
mov ecx, 0xe
call fcn.1800e8230
movzx eax, al
test eax, eax
jne 0x180106c53
mov edx, 1
mov ecx, 1
call fcn.1800e82e0
movzx eax, al
test eax, eax
jne 0x180106c53
mov byte [rsp + 0xbe], 0
jmp 0x180106c5b
mov byte [rsp + 0xbe], 1
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xea], al
mov dl, 1
mov ecx, 1
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106cec
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180106c96
mov dword [rsp + 0x250], 0x200004
jmp 0x180106cc8
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180106caf
mov dword [rsp + 0x24c], 0x20000c
jmp 0x180106cba
mov dword [rsp + 0x24c], 0x200000
mov eax, dword [rsp + 0x24c]
mov dword [rsp + 0x250], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x250]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 2
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106d6e
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180106d18
mov dword [rsp + 0x258], 0x200005
jmp 0x180106d4a
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180106d31
mov dword [rsp + 0x254], 0x20000d
jmp 0x180106d3c
mov dword [rsp + 0x254], 0x200001
mov eax, dword [rsp + 0x254]
mov dword [rsp + 0x258], eax
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x258]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 3
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106e21
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106e21
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180106dd9
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x60]
vsubss xmm0, xmm0, dword [rcx + 0x1990]
vxorps xmm1, xmm1, xmm1
call fcn.1800f9ef0
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1800cdc10
nop
jmp 0x180106e1c
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180106df2
mov dword [rsp + 0x25c], 0x200006
jmp 0x180106dfd
mov dword [rsp + 0x25c], 0x200002
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.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 4
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106ef9
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106ef9
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180106eb1
call fcn.1800bebe0
vmovss dword [rsp + 0x2ec], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x60]
vaddss xmm0, xmm0, dword [rcx + 0x1990]
vmovss dword [rsp + 0x2f0], xmm0
vmovss xmm1, dword [rsp + 0x2ec]
vmovss xmm0, dword [rsp + 0x2f0]
call fcn.1800f9ea0
vmovups xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.1800cdc10
nop
jmp 0x180106ef4
movzx eax, byte [rsp + 0x83]
test eax, eax
je 0x180106eca
mov dword [rsp + 0x260], 0x200007
jmp 0x180106ed5
mov dword [rsp + 0x260], 0x200003
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.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 5
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106f5e
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106f5e
mov eax, dword [rsp + 0x90]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x16c]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x98]
vsubss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x98], xmm0
jmp 0x1801076a8
mov dl, 1
mov ecx, 6
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180106fc3
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180106fc3
mov eax, dword [rsp + 0x90]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
vcvtsi2ss xmm0, xmm0, dword [rsp + 0x16c]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x98]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x98], xmm0
jmp 0x1801076a8
mov dl, 1
mov ecx, 7
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180107025
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180106ffb
mov eax, dword [rsp + 0x90]
or eax, 0x200006
mov dword [rsp + 0x270], eax
jmp 0x18010700e
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.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 8
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180107087
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x18010705d
mov eax, dword [rsp + 0x90]
or eax, 0x200007
mov dword [rsp + 0x1b8], eax
jmp 0x180107070
mov eax, dword [rsp + 0x90]
or eax, 0x200005
mov dword [rsp + 0x1b8], eax
mov edx, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 0xa
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x1801070c1
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801070c1
mov eax, dword [rsp + 0x90]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
mov dl, 1
mov ecx, 0xb
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x18010717e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18010717e
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
jne 0x180107160
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x180107114
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x180107160
movzx eax, byte [rsp + 0x84]
test eax, eax
je 0x180107160
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13b]
test eax, eax
je 0x180107160
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x13a]
test eax, eax
jne 0x180107160
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
jne 0x180107160
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
mov eax, dword [rsp + 0x90]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
movzx eax, byte [rsp + 0xe8]
test eax, eax
je 0x180107277
mov eax, dword [rsp + 0x658]
and eax, 0x800
test eax, eax
je 0x1801071ab
mov dword [rsp + 0x1bc], 1
jmp 0x1801071b6
mov dword [rsp + 0x1bc], 0
movzx eax, byte [rsp + 0x1bc]
mov byte [rsp + 0xbf], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180107206
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x1801071ea
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180107206
movzx eax, byte [rsp + 0xbf]
test eax, eax
jne 0x180107219
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x138]
test eax, eax
je 0x180107219
mov byte [rsp + 0x70], 1
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x87], al
jmp 0x180107272
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180107272
mov dword [rsp + 0x1c0], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x1c0]
call fcn.18010b290
movzx eax, al
test eax, eax
je 0x180107272
mov edx, dword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
nop
jmp 0x1801076a8
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x180107299
mov byte [rsp + 0x70], 1
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x87], al
jmp 0x1801076a8
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x1801072be
mov byte [rsp + 0x85], 1
movzx eax, byte [rsp + 0x85]
mov byte [rsp + 0x70], al
jmp 0x1801076a8
movzx eax, byte [rsp + 0xc0]
test eax, eax
jne 0x1801072d6
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x18010731b
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x1801072ef
mov dword [rsp + 0x1c4], 0x20000a
jmp 0x1801072fa
mov dword [rsp + 0x1c4], 0x20000b
mov edx, dword [rsp + 0x1c4]
mov rcx, qword [rsp + 0x58]
call fcn.1800fa220
mov rcx, qword [rsp + 0x58]
call fcn.180120180
nop
jmp 0x1801076a8
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x180107352
mov dl, 1
mov ecx, 0x10
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180107352
mov rcx, qword [rsp + 0x58]
call fcn.180120700
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x1801076a8
movzx eax, byte [rsp + 0xc1]
test eax, eax
jne 0x18010736e
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x180107517
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x100], 0
je 0x1801074c7
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
je 0x1801073b0
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1800fa270
mov dword [rsp + 0x1c8], eax
jmp 0x1801073bb
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
mov dword [rsp + 0x1d4], eax
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
je 0x1801073f8
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18010cd80
mov dword [rsp + 0x1cc], eax
jmp 0x180107407
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1cc], eax
mov eax, dword [rsp + 0x1cc]
mov dword [rsp + 0x1d0], eax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.1800c9470
inc eax
mov dword [rsp + 0x1d8], eax
movsxd rax, dword [rsp + 0x1d8]
mov rcx, rax
call fcn.1800c4e40
mov qword [rsp + 0x338], rax
movsxd rax, dword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1d4]
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 + 0x1d8]
mov rcx, qword [rsp + 0x338]
call fcn.1800c8d50
mov rcx, qword [rsp + 0x338]
call fcn.1800c4570
mov rcx, qword [rsp + 0x338]
call fcn.1800c4ea0
nop
movzx eax, byte [rsp + 0xc1]
test eax, eax
je 0x180107512
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
jne 0x1801074ef
mov rcx, qword [rsp + 0x58]
call fcn.180120700
nop
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.18010e880
nop
jmp 0x1801076a8
movzx eax, byte [rsp + 0xed]
test eax, eax
je 0x1801076a8
call fcn.1800c4500
mov qword [rsp + 0x340], rax
cmp qword [rsp + 0x340], 0
je 0x1801076a8
mov rcx, qword [rsp + 0x340]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov dword [rsp + 0x2f4], eax
mov eax, dword [rsp + 0x2f4]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.1800c4e40
mov qword [rsp + 0x2d8], rax
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x2d0]
movsx eax, byte [rax]
test eax, eax
je 0x180107648
xor r8d, r8d
mov rdx, qword [rsp + 0x2d0]
lea rcx, [rsp + 0x178]
call fcn.1800c8e70
cdqe
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2d0], rax
cmp dword [rsp + 0x178], 0
jne 0x1801075df
jmp 0x180107648
mov dword [rsp + 0x20], 5
mov r9, qword [rsp + 0x668]
mov r8, qword [rsp + 0x660]
mov edx, dword [rsp + 0x658]
lea rcx, [rsp + 0x178]
call fcn.18010b290
movzx eax, al
test eax, eax
jne 0x180107617
jmp 0x180107590
movsxd rax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x2d8]
movzx edx, word [rsp + 0x178]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x108]
inc eax
mov dword [rsp + 0x108], eax
jmp 0x180107590
movsxd rax, dword [rsp + 0x108]
xor ecx, ecx
mov rdx, qword [rsp + 0x2d8]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x108], 0
jle 0x18010769a
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x108]
mov r8, qword [rsp + 0x2d8]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180110220
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x2d8]
call fcn.1800c4ea0
nop
mov rcx, qword [rsp + 0x58]
call fcn.1801205b0
movzx eax, al
test eax, eax
je 0x1801076d5
xor eax, eax
test eax, eax
jne 0x1801076c8
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1801076d5
mov dword [rsp + 0x1dc], 1
jmp 0x1801076e0
mov dword [rsp + 0x1dc], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1dc]
mov byte [rsp + 0x61], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180107f68
mov qword [rsp + 0x148], 0
mov dword [rsp + 0xcc], 0
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180107863
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180107863
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0x640]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180107863
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x380]
call fcn.1800e47c0
nop
cmp dword [rsp + 0xcc], 0
jle 0x180107807
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x148]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.1800c93b0
inc eax
mov edx, eax
lea rcx, [rsp + 0x380]
call fcn.1800ea430
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x148]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x148]
mov edx, dword [rsp + 0x380]
mov rcx, qword [rsp + 0x388]
call fcn.1800c92c0
nop
cmp dword [rsp + 0xcc], 0
jle 0x180107823
mov eax, dword [rsp + 0x380]
dec eax
mov dword [rsp + 0x1e0], eax
jmp 0x18010782e
mov dword [rsp + 0x1e0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x1e0]
mov r8, qword [rsp + 0x388]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.180110260
nop
lea rcx, [rsp + 0x380]
call fcn.1800e6660
nop
movzx eax, byte [rsp + 0x85]
test eax, eax
je 0x180107896
movzx eax, byte [rsp + 0x87]
test eax, eax
je 0x180107889
mov eax, dword [rsp + 0x658]
and eax, 0x20
test eax, eax
jne 0x180107896
mov dword [rsp + 0x1e4], 0
jmp 0x1801078a1
mov dword [rsp + 0x1e4], 1
movzx eax, byte [rsp + 0x1e4]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0xee]
test eax, eax
je 0x180107e14
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180107924
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x420], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x420]
call fcn.1800ea3e0
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.1800c8d50
nop
mov eax, dword [rsp + 0x658]
and eax, 0x801c0
test eax, eax
je 0x180107dd1
mov dword [rsp + 0xf4], 0
mov dword [rsp + 0x138], 0x16
mov eax, dword [rsp + 0x658]
and eax, 0x40
test eax, eax
je 0x180107987
mov dl, 1
xor ecx, ecx
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180107987
mov dword [rsp + 0xf4], 0x40
mov dword [rsp + 0x138], 0
jmp 0x180107a48
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x1801079c5
mov dl, 1
mov ecx, 3
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x1801079c5
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x138], 3
jmp 0x180107a48
mov eax, dword [rsp + 0x658]
and eax, 0x80
test eax, eax
je 0x180107a00
mov dl, 1
mov ecx, 4
call fcn.1800e8230
movzx eax, al
test eax, eax
je 0x180107a00
mov dword [rsp + 0xf4], 0x80
mov dword [rsp + 0x138], 4
jmp 0x180107a48
mov eax, dword [rsp + 0x658]
and eax, 0x80000
test eax, eax
je 0x180107a2d
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x180107a2d
mov dword [rsp + 0xf4], 0x80000
jmp 0x180107a48
mov eax, dword [rsp + 0x658]
and eax, 0x100
test eax, eax
je 0x180107a48
mov dword [rsp + 0xf4], 0x100
cmp dword [rsp + 0xf4], 0
je 0x180107dd1
lea rcx, [rsp + 0x278]
call fcn.1800f8cb0
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 + 0x658]
mov dword [rsp + 0x27c], eax
mov rax, qword [rsp + 0x668]
mov qword [rsp + 0x280], rax
mov eax, dword [rsp + 0x138]
mov dword [rsp + 0x28c], eax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
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 + 0x1a0], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.1800c9470
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0x2a4]
mov dword [rsp + 0x2f8], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.1800c9470
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x2a8]
mov dword [rsp + 0x2fc], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x1a0]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1a0]
call fcn.1800c9470
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0x2ac]
mov dword [rsp + 0x300], eax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x428], rax
lea rcx, [rsp + 0x278]
call qword [rsp + 0x428]
movzx eax, byte [rsp + 0x2a0]
mov byte [rsp + 0x86], al
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0x2a4], eax
jne 0x180107bf2
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180107c2c
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.1800c93b0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x2fc]
cmp dword [rsp + 0x2a8], eax
jne 0x180107c48
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180107ca5
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x2a8], eax
jne 0x180107c69
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x1e8], eax
jmp 0x180107c96
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.1800c93b0
mov dword [rsp + 0x1e8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1e8]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x300]
cmp dword [rsp + 0x2ac], eax
jne 0x180107cc1
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180107d1e
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jne 0x180107ce2
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x1ec], eax
jmp 0x180107d0f
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.1800c93b0
mov dword [rsp + 0x1ec], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1ec]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x86]
test eax, eax
je 0x180107dd1
mov eax, dword [rsp + 0x17c]
cmp dword [rsp + 0x298], eax
jle 0x180107d85
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x180107d85
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x430], rax
mov eax, dword [rsp + 0x17c]
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 + 0x430]
call fcn.1800ea430
nop
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.1800c92c0
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.180120210
nop
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x180107e14
mov rdx, qword [rsp + 0x640]
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 0x180107e14
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xcc], eax
cmp qword [rsp + 0x148], 0
je 0x180107f39
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x180107f00
lea rcx, [rsp + 0x518]
call fcn.1800f8cb0
mov dword [rsp + 0x518], 0x40000
mov eax, dword [rsp + 0x658]
mov dword [rsp + 0x51c], eax
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x530], rax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x648]
call fcn.18010cd80
mov dword [rsp + 0x53c], eax
mov rax, qword [rsp + 0x668]
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0x438], rax
lea rcx, [rsp + 0x518]
call qword [rsp + 0x438]
mov rax, qword [rsp + 0x530]
mov qword [rsp + 0x640], rax
mov eax, dword [rsp + 0x53c]
mov dword [rsp + 0x648], eax
mov eax, dword [rsp + 0x648]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x538]
call fcn.1800fa270
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, dword [rsp + 0x648]
mov ecx, eax
call fcn.1800fa270
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x640]
call fcn.1800c8620
mov byte [rsp + 0x8c], 1
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe88], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe90], 0
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x180107f88
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180107f88
call fcn.1800ce820
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180108007
mov r8d, 1
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x158]
call fcn.1800d3e60
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x44]
vmovss dword [rsp + 0x304], xmm0
vmovss xmm1, dword [0x1801e46f8]
mov ecx, 7
call fcn.1800bf880
mov dword [rsp + 0x308], eax
vmovss xmm0, dword [rsp + 0x304]
vmovss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x308]
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
call fcn.1800d3aa0
nop
vmovss xmm0, dword [rsp + 0x15c]
vaddss xmm0, xmm0, dword [rsp + 0x114]
vmovss xmm1, dword [rsp + 0x158]
vaddss xmm1, xmm1, dword [rsp + 0x110]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm2, dword [rsp + 0x15c]
vmovss xmm1, dword [rsp + 0x158]
lea rcx, [rsp + 0x370]
call fcn.180016a10
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180108087
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x440], rax
lea rax, [rsp + 0x440]
mov qword [rsp + 0x398], rax
jmp 0x1801080b3
mov rax, qword [rsp + 0xe0]
add rax, 0x3c
mov r8, rax
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x5c8]
call fcn.1800f97b0
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x398]
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov rax, qword [rax]
mov qword [rsp + 0x150], rax
vxorps xmm2, xmm2, xmm2
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x268]
call fcn.180006e40
mov dword [rsp + 0x4d0], 0x200000
movzx eax, byte [rsp + 0xc2]
test eax, eax
je 0x180108115
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x3a0], rax
jmp 0x180108125
mov rax, qword [rsp + 0x640]
mov qword [rsp + 0x3a0], rax
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x130], 0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x18010817d
mov rax, qword [rsp + 0x638]
mov qword [rsp + 0x120], rax
mov rcx, qword [rsp + 0x638]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rcx, qword [rsp + 0x638]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x180108193
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1801090a7
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x1801081bb
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 + 0x198], rax
lea rcx, [rsp + 0x118]
call fcn.1800169d0
lea rcx, [rsp + 0x348]
call fcn.1800169d0
nop
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x2c8], 0
mov dword [rsp + 0x100], 0xfffffc18
mov dword [rsp + 0x104], 0xfffffc18
mov dword [rsp + 0x94], 0
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180108273
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x2c0], 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 + 0x61]
test eax, eax
je 0x1801082d4
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1800fa270
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x2c0], 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 0x1801082ea
mov dword [rsp + 0x1f0], 1
jmp 0x1801082f5
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
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 + 0x198]
mov qword [rsp + 0x1a8], rax
jmp 0x18010833f
mov rax, qword [rsp + 0x1a8]
add rax, 2
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
test eax, eax
je 0x18010843d
mov rax, qword [rsp + 0x1a8]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x180108438
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 0x1801083d7
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x2c0]
cmp qword [rsp + 0x1a8], rax
jb 0x1801083d7
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 0x1801083d7
jmp 0x18010843d
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0xffffffff
jne 0x180108438
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2c0]
cmp qword [rsp + 0x1a8], rax
jb 0x180108438
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 0x180108438
jmp 0x18010843d
jmp 0x18010832b
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 0x180108477
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 0x1801084a1
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 + 0x2c0]
mov qword [rsp + 0x450], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + rax + 0x2c0]
call fcn.1800c88b0
mov qword [rsp + 0x458], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x450]
mov rdx, qword [rsp + 0x458]
lea rcx, [rsp + 0x5d0]
call fcn.18010b670
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x118], xmm0
mov eax, 4
imul rax, rax, 0
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x11c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x100], 0
jl 0x1801085fc
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x2c0]
mov qword [rsp + 0x460], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x198]
mov rcx, qword [rsp + rax + 0x2c0]
call fcn.1800c88b0
mov qword [rsp + 0x468], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x460]
mov rdx, qword [rsp + 0x468]
lea rcx, [rsp + 0x5a0]
call fcn.18010b670
vmovss xmm0, dword [rax]
vmovss dword [rsp + 0x348], xmm0
mov eax, 4
imul rax, rax, 1
vcvtsi2ss xmm0, xmm0, dword [rsp + rax + 0x100]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x34c], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180108640
vcvtsi2ss xmm0, xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x5d8]
call fcn.180006e40
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1801088ad
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x1801088ad
mov eax, dword [rsp + 0x658]
and eax, 0x1000
test eax, eax
jne 0x180108743
vmovss xmm0, dword [rsp + 0x110]
vmulss xmm0, xmm0, dword [0x180180cd4]
vmovss dword [rsp + 0x1f8], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x110]
vsubss xmm0, xmm0, dword [rax + 0x3c]
vmovss dword [rsp + 0x220], xmm0
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rsp + 0x118]
vcomiss xmm0, dword [rax + 0x48]
jae 0x1801086f6
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x1f8]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.1800f9ef0
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x48], xmm0
jmp 0x180108741
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x220]
mov rax, qword [rsp + 0x58]
vcomiss xmm0, dword [rax + 0x48]
jb 0x180108741
vmovss xmm0, dword [rsp + 0x118]
vsubss xmm0, xmm0, dword [rsp + 0x220]
vaddss xmm0, xmm0, dword [rsp + 0x1f8]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0x48], xmm0
jmp 0x180108751
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vmovss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801088a1
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vcomiss xmm0, dword [rsp + 0x98]
jae 0x1801087ad
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm1, xmm0
vxorps xmm0, xmm0, xmm0
call fcn.1800f9ef0
vmovss dword [rsp + 0x98], xmm0
jmp 0x1801087fe
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rsp + 0x114]
vcomiss xmm0, dword [rsp + 0x98]
jb 0x1801087fe
vmovss xmm0, dword [rsp + 0x11c]
vsubss xmm0, xmm0, dword [rsp + 0x114]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rax + 0x40]
vmulss xmm1, xmm1, dword [0x1801e4720]
vaddss xmm0, xmm0, xmm1
vmovss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rax + 0x40]
vmulss xmm0, xmm0, dword [0x1801e4720]
vmovss xmm1, dword [rsp + 0x26c]
vaddss xmm0, xmm1, xmm0
vsubss xmm0, xmm0, dword [rsp + 0x114]
vxorps xmm1, xmm1, xmm1
call fcn.1800f9ef0
vmovss dword [rsp + 0x30c], xmm0
vmovss xmm2, dword [rsp + 0x30c]
vxorps xmm1, xmm1, xmm1
vmovss xmm0, dword [rsp + 0x98]
call fcn.18010b880
vmovss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rax + 0x60]
vsubss xmm0, xmm0, dword [rsp + 0x98]
vmovss xmm1, dword [rsp + 0x154]
vaddss xmm0, xmm1, xmm0
vmovss dword [rsp + 0x154], xmm0
mov rax, qword [rsp + 0xd0]
vmovss xmm0, dword [rsp + 0x98]
vmovss dword [rax + 0x60], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
vxorps xmm2, xmm2, xmm2
mov rax, qword [rsp + 0x58]
vmovss xmm1, dword [rax + 0x48]
lea rcx, [rsp + 0x2e0]
call fcn.180006e40
nop
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x180108ce5
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1800fa270
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.18010cd80
cdqe
mov rcx, qword [rsp + 0x198]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x350], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x180108948
vmovss xmm0, dword [0x1801e46f8]
vmovss dword [rsp + 0x1fc], xmm0
jmp 0x180108959
vmovss xmm0, dword [0x1801e46f0]
vmovss dword [rsp + 0x1fc], xmm0
vmovss xmm1, dword [rsp + 0x1fc]
mov ecx, 0x2f
call fcn.1800bf880
mov dword [rsp + 0x368], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18010898b
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x200], xmm0
jmp 0x18010899c
vmovss xmm0, dword [0x1801e4810]
vmovss dword [rsp + 0x200], xmm0
vmovss xmm0, dword [rsp + 0x200]
vmovss dword [rsp + 0x318], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801089c6
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x204], xmm0
jmp 0x1801089d7
vmovss xmm0, dword [0x1801e4720]
vmovss dword [rsp + 0x204], xmm0
vmovss xmm0, dword [rsp + 0x204]
vmovss dword [rsp + 0x314], xmm0
lea r8, [rsp + 0x348]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x610]
call fcn.1800f97b0
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x190]
call fcn.1800f9810
nop
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x350]
cmp qword [rsp + 0x188], rax
jae 0x180108ce5
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x37c]
vaddss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x194]
vcomiss xmm1, xmm0
jbe 0x180108a6f
jmp 0x180108ce5
vmovss xmm0, dword [rsp + 0x194]
vcomiss xmm0, dword [rsp + 0x374]
jae 0x180108ace
mov rax, qword [rsp + 0x350]
cmp qword [rsp + 0x188], rax
jae 0x180108ac9
mov rax, qword [rsp + 0x188]
movzx eax, word [rax]
mov dword [rsp + 0x310], eax
mov rax, qword [rsp + 0x188]
add rax, 2
mov qword [rsp + 0x188], rax
cmp dword [rsp + 0x310], 0xa
jne 0x180108ac7
jmp 0x180108ac9
jmp 0x180108a83
jmp 0x180108ca6
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x188]
mov r8, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x188]
lea rcx, [rsp + 0x358]
call fcn.18010b670
nop
vmovss xmm0, dword [rsp + 0x358]
vcomiss xmm0, dword [0x180180ca4]
ja 0x180108b53
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x478], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x478]
call fcn.1801203e0
vmulss xmm0, xmm0, dword [0x1801e46ec]
vcvttss2si eax, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rsp + 0x358], xmm0
vmovss xmm2, dword [rsp + 0x314]
vmovss xmm1, dword [rsp + 0x358]
lea rcx, [rsp + 0x550]
call fcn.180006e40
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x558]
call fcn.1800f97b0
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x318]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vxorps xmm1, xmm1, xmm1
lea rcx, [rsp + 0x560]
call fcn.180006e40
mov r8, rax
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x568]
call fcn.1800f97b0
mov qword [rsp + 0x488], rax
mov r8, qword [rsp + 0x480]
mov rdx, qword [rsp + 0x488]
lea rcx, [rsp + 0x3e0]
call fcn.180077cb0
nop
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x5e0]
call fcn.1800e63d0
lea rdx, [rsp + 0x5e0]
lea rcx, [rsp + 0x3e0]
call fcn.1800e77a0
nop
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x5f0]
call fcn.1800e63d0
lea rdx, [rsp + 0x5f0]
lea rcx, [rsp + 0x3e0]
call fcn.1800e8450
movzx eax, al
test eax, eax
je 0x180108ca6
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x490], rax
mov dword [rsp + 0x28], 0
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x368]
lea r8, [rsp + 0x3e8]
lea rdx, [rsp + 0x3e0]
mov rcx, qword [rsp + 0x490]
call fcn.180124d40
nop
vmovss xmm0, dword [rsp + 0x150]
vsubss xmm0, xmm0, dword [rsp + 0x2e0]
vmovss dword [rsp + 0x190], xmm0
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x194]
vaddss xmm0, xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x194], xmm0
jmp 0x180108a2f
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x180108d10
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x180108e4c
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x180108d26
mov dword [rsp + 0x208], 1
jmp 0x180108d31
mov dword [rsp + 0x208], 0
vmovss xmm1, dword [0x1801e46f8]
mov ecx, dword [rsp + 0x208]
call fcn.1800bf880
mov dword [rsp + 0x31c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4b0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x180108d7a
mov qword [rsp + 0x3a8], 0
jmp 0x180108d8a
lea rax, [rsp + 0x370]
mov qword [rsp + 0x3a8], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x498], rax
lea r8, [rsp + 0x2e0]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x570]
call fcn.1800f9810
mov qword [rsp + 0x4a0], rax
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rax + 0x1990]
vmovss dword [rsp + 0x320], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1988]
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x3a8]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x498]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x31c]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4a0]
vmovss xmm2, dword [rsp + 0x320]
mov rdx, qword [rsp + 0x4a8]
mov rcx, qword [rsp + 0x4b0]
call fcn.1801255c0
nop
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1801090a2
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
vmovss xmm0, dword [rax + 0xe78]
vaddss xmm0, xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
vmovss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xca]
test eax, eax
je 0x180108ed2
mov rax, qword [rsp + 0x58]
vxorps xmm0, xmm0, xmm0
vcomiss xmm0, dword [rax + 0xe78]
jae 0x180108ed2
mov rax, qword [rsp + 0x58]
vmovss xmm0, dword [rax + 0xe78]
vmovss xmm1, dword [0x1801e46fc]
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_fmodf]
vcomiss xmm0, dword [0x180180cf8]
jbe 0x180108ed2
mov dword [rsp + 0x20c], 0
jmp 0x180108edd
mov dword [rsp + 0x20c], 1
movzx eax, byte [rsp + 0x20c]
mov byte [rsp + 0xef], al
lea r8, [rsp + 0x118]
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x578]
call fcn.1800f97b0
lea r8, [rsp + 0x2e0]
mov rdx, rax
lea rcx, [rsp + 0x580]
call fcn.1800f9810
mov rdx, rax
lea rcx, [rsp + 0x1b0]
call fcn.1800f9d50
nop
vmovss xmm0, dword [rsp + 0x1b4]
vsubss xmm0, xmm0, dword [0x180181580]
vmovss xmm1, dword [rsp + 0x1b0]
vaddss xmm1, xmm1, dword [0x1801e46f8]
mov rax, qword [rsp + 0x68]
vmovss xmm2, dword [rsp + 0x1b4]
vsubss xmm2, xmm2, dword [rax + 0x1990]
vaddss xmm2, xmm2, dword [0x1801e46ec]
vmovss dword [rsp + 0x20], xmm0
vmovups xmm3, xmm1
vmovss xmm1, dword [rsp + 0x1b0]
lea rcx, [rsp + 0x500]
call fcn.1800e6440
nop
movzx eax, byte [rsp + 0xef]
test eax, eax
je 0x180109052
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x600]
call fcn.1800e63d0
lea rdx, [rsp + 0x600]
lea rcx, [rsp + 0x500]
call fcn.1800e8450
movzx eax, al
test eax, eax
je 0x180109052
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4c0], rax
vmovss xmm1, dword [0x1801e46f8]
xor ecx, ecx
call fcn.1800bf880
mov dword [rsp + 0x324], eax
lea rdx, [rsp + 0x588]
lea rcx, [rsp + 0x500]
call fcn.1800e7bc0
mov qword [rsp + 0x4b8], rax
vmovss xmm0, dword [0x1801e46f8]
vmovss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x324]
mov r8, qword [rsp + 0x4b8]
lea rdx, [rsp + 0x500]
mov rcx, qword [rsp + 0x4c0]
call fcn.180124ac0
nop
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1801090a2
mov rax, qword [rsp + 0x68]
vmovss xmm0, dword [rsp + 0x1b4]
vsubss xmm0, xmm0, dword [rax + 0x1990]
vmovss xmm1, dword [rsp + 0x1b0]
vsubss xmm1, xmm1, dword [0x1801e46f8]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x590]
call fcn.180006e40
mov rax, qword [rax]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x30c8], rax
jmp 0x180109274
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801090fd
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
call fcn.18010b5b0
vcvtsi2ss xmm0, xmm0, eax
mov rax, qword [rsp + 0x68]
vmulss xmm0, xmm0, dword [rax + 0x1990]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x110]
lea rcx, [rsp + 0x598]
call fcn.180006e40
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
jmp 0x180109164
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180109138
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1c6c], ecx
jne 0x180109138
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 0x180109164
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x180109164
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 0x18010918f
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x130]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x180109274
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x1801091a5
mov dword [rsp + 0x210], 1
jmp 0x1801091b0
mov dword [rsp + 0x210], 0
vmovss xmm1, dword [0x1801e46f8]
mov ecx, dword [rsp + 0x210]
call fcn.1800bf880
mov dword [rsp + 0x364], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x268]
mov qword [rsp + 0x4c8], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801091f9
mov qword [rsp + 0x390], 0
jmp 0x180109209
lea rax, [rsp + 0x370]
mov qword [rsp + 0x390], rax
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x40], rax
vxorps xmm0, xmm0, xmm0
vmovss 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 + 0x364]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x150]
mov rax, qword [rsp + 0x68]
vmovss xmm2, dword [rax + 0x1990]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x1988]
mov rcx, qword [rsp + 0x4c8]
call fcn.1801255c0
nop
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x18010928f
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x18010928f
call fcn.1800bef30
nop
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1801092dc
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x26c]
vaddss xmm0, xmm0, dword [rax + 0x40]
vmovups xmm2, xmm0
vmovss xmm1, dword [rsp + 0x268]
lea rcx, [rsp + 0x618]
call fcn.180006e40
mov rcx, rax
call fcn.1800eabf0
nop
call fcn.1800bdc90
call fcn.1800bfef0
nop
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3134]
test eax, eax
je 0x180109332
movzx eax, byte [rsp + 0x81]
test eax, eax
je 0x180109301
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x180109332
lea rdx, [0x180181398]
lea rcx, [0x18018139c]
call fcn.1800cfc30
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x150]
call fcn.1800cf910
nop
vmovss xmm0, dword [rsp + 0x2b0]
vcomiss xmm0, dword [0x180180ca4]
jbe 0x180109399
mov rax, qword [rsp + 0xe0]
vmovss xmm0, dword [rsp + 0x15c]
vaddss xmm0, xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0xe0]
vmovss xmm1, dword [rsp + 0x160]
vaddss xmm1, xmm1, dword [rax + 0x54]
vmovups xmm2, xmm0
lea rcx, [rsp + 0x5a8]
call fcn.180006e40
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x630]
mov rcx, qword [rax]
call fcn.1800d2ce0
nop
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x1801093bf
mov eax, dword [rsp + 0x658]
and eax, 0x8000000
test eax, eax
jne 0x1801093bf
mov ecx, dword [rsp + 0x74]
call fcn.1800ce970
nop
mov eax, dword [rsp + 0x658]
and eax, 0x20
test eax, eax
je 0x1801093d9
movzx eax, byte [rsp + 0x87]
jmp 0x1801093e1
movzx eax, byte [rsp + 0x8c]
add rsp, 0x628
ret