Function at 0x18016ae70
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xc98
mov qword [rsp + 0x560], 0xfffffffffffffffe
mov dword [rsp + 0x50], 0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x4d], 1
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x40], 0
xor r8d, r8d
lea rdx, [0x1803ac0a8]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bf910
mov byte [rsp + 0x4a], al
xor r8d, r8d
lea rdx, [0x1803ac090]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bf910
mov byte [rsp + 0x64], al
mov rdx, qword [0x1803babf0]
lea rcx, [rsp + 0x168]
call fcn.1801e98d0
nop
xor edx, edx
lea rcx, [rsp + 0x3e0]
call fcn.1801e98d0
nop
mov r8d, 3
lea rdx, [0x1803ac3d0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bef40
mov dword [rsp + 0xf0], eax
xor eax, eax
cmp eax, 1
je 0x18016d37f
movzx eax, byte [rsp + 0x48]
test eax, eax
jne 0x18016af68
xor eax, eax
test eax, eax
jne 0x18016af5d
mov byte [rsp + 0x48], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x9c], eax
mov ecx, 0x1d4c0
call qword [sym.imp.KERNEL32.dll_Sleep]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
cmp eax, 0x13880
jae 0x18016afa8
xor eax, eax
test eax, eax
jne 0x18016afa0
jmp 0x18016af49
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xca0]
cmp eax, dword [rcx + 0x8c]
jb 0x18016d214
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
cmp eax, 0x75300
jbe 0x18016b04f
xor eax, eax
test eax, eax
jne 0x18016afde
mov rax, qword [rsp + 0xca0]
mov dword [rax + 0x8c], 0x1d4c0
mov rax, qword [rsp + 0xca0]
cmp dword [rax + 0x94], 0
jbe 0x18016b040
call fcn.18017d27c
xor edx, edx
mov rcx, qword [rsp + 0xca0]
div dword [rcx + 0x94]
mov eax, edx
imul eax, eax, 0xea60
mov rcx, qword [rsp + 0xca0]
add eax, dword [rcx + 0x8c]
mov rcx, qword [rsp + 0xca0]
mov dword [rcx + 0x8c], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x5c], eax
jmp 0x18016af49
mov byte [rsp + 0x48], 0
mov rax, qword [rsp + 0xca0]
cmp qword [rax + 0x40], 0
jne 0x18016b158
mov ecx, 0x40
call fcn.18017dc14
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x130], 0
je 0x18016b09b
mov rcx, qword [rsp + 0x130]
call fcn.180166d80
mov qword [rsp + 0x138], rax
jmp 0x18016b0a7
mov qword [rsp + 0x138], 0
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0x1e8]
mov qword [rax + 0x40], rcx
xor eax, eax
test eax, eax
jne 0x18016b0cb
xor eax, eax
test eax, eax
jne 0x18016b0d1
mov rcx, qword [0x1803bac08]
call fcn.1800a6090
movzx eax, al
test eax, eax
jne 0x18016b0ff
mov dl, 1
mov rcx, qword [0x1803bac08]
call fcn.18019c9a0
movzx eax, al
test eax, eax
je 0x18016b153
mov byte [rsp + 0x40], 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1803bac08]
call fcn.1801a22a0
xor eax, eax
test eax, eax
jne 0x18016b115
movzx eax, byte [rsp + 0x4a]
test eax, eax
jne 0x18016b153
xor eax, eax
test eax, eax
jne 0x18016b124
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c], eax
jmp 0x18016af49
jmp 0x18016b21f
mov rcx, qword [0x1803bac08]
call fcn.1800a6090
movzx eax, al
test eax, eax
je 0x18016b1b0
mov byte [rsp + 0x40], 1
xor eax, eax
test eax, eax
jne 0x18016b170
movzx eax, byte [rsp + 0x4a]
test eax, eax
jne 0x18016b1ae
xor eax, eax
test eax, eax
jne 0x18016b17f
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c], eax
jmp 0x18016af49
jmp 0x18016b21f
call fcn.18017d27c
and eax, 3
test eax, eax
jne 0x18016b21f
xor edx, edx
mov rcx, qword [0x1803bac08]
call fcn.18019c9a0
movzx eax, al
test eax, eax
je 0x18016b21f
mov byte [rsp + 0x40], 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1803bac08]
call fcn.1801a22a0
movzx eax, byte [rsp + 0x4a]
test eax, eax
jne 0x18016b21f
xor eax, eax
test eax, eax
jne 0x18016b1f0
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c], eax
jmp 0x18016af49
mov dword [rsp + 0xec], 0
mov rax, qword [rsp + 0xca0]
add rax, 0x58
lea rdx, [rsp + 0xec]
mov rcx, rax
call fcn.18016e9c0
mov rcx, rax
call fcn.180074910
movzx eax, al
test eax, eax
je 0x18016b37d
mov dword [rsp + 0xe8], 0
lea r8, [0x1803ac210]
lea rdx, [rsp + 0x9e8]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802c0620
mov qword [rsp + 0x288], rax
mov rax, qword [rsp + 0x288]
mov qword [rsp + 0x298], rax
mov rdx, qword [rsp + 0x298]
lea rcx, [rsp + 0xa28]
call fcn.1800034a0
mov qword [rsp + 0x2c0], rax
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x310], rax
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0xe8]
mov rcx, rax
call fcn.18016e5f0
mov rdx, qword [rsp + 0x310]
mov rcx, rax
call fcn.180073190
nop
lea rcx, [rsp + 0xa28]
call fcn.180073360
nop
lea rcx, [rsp + 0x9e8]
call fcn.180073fc0
mov dword [rsp + 0x104], 0
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0x104]
mov rcx, rax
call fcn.18016e5f0
mov rcx, rax
call fcn.1800738f0
movzx eax, al
test eax, eax
je 0x18016b37d
mov dword [rsp + 0x10c], 0
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0x10c]
mov rcx, rax
call fcn.18016e5f0
lea rdx, [0x1803ad2b0]
mov rcx, rax
call fcn.180073420
mov dword [rsp + 0xf8], 1
mov rax, qword [rsp + 0xca0]
add rax, 0x58
lea rdx, [rsp + 0xf8]
mov rcx, rax
call fcn.18016e9c0
mov rcx, rax
call fcn.180074910
movzx eax, al
test eax, eax
je 0x18016b50b
mov dword [rsp + 0xd4], 1
lea r8, [0x1803ac290]
lea rdx, [rsp + 0x7c8]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802c0620
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x318]
mov qword [rsp + 0x1a8], rax
mov rdx, qword [rsp + 0x1a8]
lea rcx, [rsp + 0x948]
call fcn.1800034a0
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0xd4]
mov rcx, rax
call fcn.18016e5f0
mov rdx, qword [rsp + 0x250]
mov rcx, rax
call fcn.180073190
nop
lea rcx, [rsp + 0x948]
call fcn.180073360
nop
lea rcx, [rsp + 0x7c8]
call fcn.180073fc0
mov dword [rsp + 0x108], 1
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0x108]
mov rcx, rax
call fcn.18016e5f0
mov rcx, rax
call fcn.1800738f0
movzx eax, al
test eax, eax
je 0x18016b50b
mov dword [rsp + 0xdc], 0
mov dword [rsp + 0x100], 1
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0xdc]
mov rcx, rax
call fcn.18016e5f0
mov qword [rsp + 0x190], rax
mov rcx, qword [rsp + 0xca0]
add rcx, 0x48
lea rdx, [rsp + 0x100]
call fcn.18016e5f0
mov rcx, qword [rsp + 0x190]
mov rdx, rcx
mov rcx, rax
call fcn.180073380
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016b51b
mov byte [rsp + 0x4f], 1
jmp 0x18016b520
mov byte [rsp + 0x4f], 0
movzx r9d, byte [rsp + 0x4f]
xor r8d, r8d
lea rdx, [rsp + 0x658]
mov rcx, qword [rsp + 0xca0]
call fcn.18016d480
nop
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016b54f
mov byte [rsp + 0x4c], 1
jmp 0x18016b554
mov byte [rsp + 0x4c], 0
movzx r9d, byte [rsp + 0x4c]
mov r8d, 1
lea rdx, [rsp + 0x600]
mov rcx, qword [rsp + 0xca0]
call fcn.18016d480
nop
lea rcx, [rsp + 0xa8]
call fcn.180073040
nop
lea rcx, [rsp + 0x368]
call fcn.180073040
nop
mov dword [rsp + 0x44], 0
mov byte [rsp + 0x41], 0
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.180003770
mov rcx, rax
call fcn.180074060
lea r9, [rsp + 0x41]
xor r8d, r8d
mov rdx, rax
mov rcx, 0xffffffff80000002
call fcn.1801e8fa0
movzx eax, al
test eax, eax
jne 0x18016b9f7
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x18016b645
mov rdx, qword [0x1803babf0]
lea rcx, [rsp + 0xa68]
call fcn.1801e63d0
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x1a0], rax
mov eax, dword [rsp + 0x50]
or eax, 1
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x1a0]
call fcn.180074060
mov dl, 1
mov rcx, rax
call fcn.1802affd0
movzx eax, al
test eax, eax
je 0x18016b645
mov dword [rsp + 0xa0], 1
jmp 0x18016b650
mov dword [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x63], al
mov eax, dword [rsp + 0x50]
and eax, 1
test eax, eax
je 0x18016b679
and dword [rsp + 0x50], 0xfffffffe
lea rcx, [rsp + 0xa68]
call fcn.180073fc0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x18016b75c
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.180003770
mov rcx, rax
call fcn.180074060
mov r8, rax
lea rdx, [0x1803ad3f0]
lea rcx, [rsp + 0x988]
call fcn.1801e9200
mov qword [rsp + 0x260], rax
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x1b0], rax
mov rcx, qword [rsp + 0x1b0]
call fcn.180073860
mov qword [rsp + 0x2c8], rax
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
mov rcx, qword [rsp + 0x2c8]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0x808]
call fcn.1801eaf60
mov qword [rsp + 0x1c0], rax
mov rdx, qword [rsp + 0x1c0]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x808]
call fcn.180073360
nop
lea rcx, [rsp + 0x988]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016b746
mov eax, dword [rsp + 0x44]
or eax, 2
mov dword [rsp + 0x44], eax
jmp 0x18016b9f2
cmp dword [0x1803bac40], 0x10
je 0x18016b8b0
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x18016b8a5
lea rcx, [rsp + 0x168]
call fcn.180074060
xor edx, edx
mov rcx, rax
call fcn.1801e68f0
movzx eax, al
test eax, eax
jne 0x18016b841
xor eax, eax
test eax, eax
jne 0x18016b798
mov dword [rsp + 0x28], 0x81
mov byte [rsp + 0x20], 1
mov r9d, 0x100000
lea r8, [0x1803ad438]
mov rax, qword [rsp + 0xca0]
mov rdx, qword [rax + 0x38]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.180168210
mov dword [rsp + 0xe4], 0
lea rcx, [rsp + 0x368]
call fcn.180073360
nop
lea rcx, [rsp + 0xa8]
call fcn.180073360
nop
lea rcx, [rsp + 0x600]
call fcn.180073360
nop
lea rcx, [rsp + 0x658]
call fcn.180073360
nop
lea rcx, [rsp + 0x3e0]
call fcn.180073fc0
nop
lea rcx, [rsp + 0x168]
call fcn.180073fc0
mov eax, dword [rsp + 0xe4]
jmp 0x18016d3ac
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
lea r8, [0x1803ad418]
mov rdx, rax
lea rcx, [rsp + 0x848]
call fcn.1801eaf60
mov qword [rsp + 0x270], rax
mov rdx, qword [rsp + 0x270]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x848]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016b892
mov eax, dword [rsp + 0x44]
or eax, 5
mov dword [rsp + 0x44], eax
jmp 0x18016b8ab
xor eax, eax
test eax, eax
jne 0x18016b8a5
jmp 0x18016b9f2
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x18016b990
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.180003770
mov rcx, rax
call fcn.180074060
mov r8, rax
lea rdx, [0x1803ad3f0]
lea rcx, [rsp + 0x888]
call fcn.1801e9200
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x2f0], rax
mov rcx, qword [rsp + 0x2f0]
call fcn.180073860
mov qword [rsp + 0x1e0], rax
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
mov rcx, qword [rsp + 0x1e0]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0xa48]
call fcn.1801eaf60
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x280]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0xa48]
call fcn.180073360
nop
lea rcx, [rsp + 0x888]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016b97d
mov eax, dword [rsp + 0x44]
or eax, 2
mov dword [rsp + 0x44], eax
jmp 0x18016b9f2
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
lea r8, [0x1803ad468]
mov rdx, rax
lea rcx, [rsp + 0x9c8]
call fcn.1801eaf60
mov qword [rsp + 0x1f0], rax
mov rdx, qword [rsp + 0x1f0]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x9c8]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016b9e1
mov eax, dword [rsp + 0x44]
or eax, 8
mov dword [rsp + 0x44], eax
jmp 0x18016bb01
cmp dword [0x1803bac40], 0x10
je 0x18016ba62
mov rdx, qword [0x1803babf0]
lea rcx, [rsp + 0x8c8]
call fcn.1801e63d0
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x200], rax
mov eax, dword [rsp + 0x50]
or eax, 2
mov dword [rsp + 0x50], eax
mov rcx, qword [rsp + 0x200]
call fcn.180074060
mov dl, 1
mov rcx, rax
call fcn.1802affd0
movzx eax, al
test eax, eax
jne 0x18016ba62
mov dword [rsp + 0x98], 1
jmp 0x18016ba6d
mov dword [rsp + 0x98], 0
movzx eax, byte [rsp + 0x98]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x50]
and eax, 2
test eax, eax
je 0x18016ba96
and dword [rsp + 0x50], 0xfffffffd
lea rcx, [rsp + 0x8c8]
call fcn.180073fc0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18016bb01
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
lea r8, [0x1803ad450]
mov rdx, rax
lea rcx, [rsp + 0x768]
call fcn.1801eaf60
mov qword [rsp + 0x290], rax
mov rdx, qword [rsp + 0x290]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x768]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016baf0
mov eax, dword [rsp + 0x44]
or eax, 1
mov dword [rsp + 0x44], eax
mov r8d, 3
lea rdx, [0x1803ac3d0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bef40
cmp dword [rsp + 0xf0], eax
jb 0x18016bd92
lea rcx, [rsp + 0x168]
call fcn.180074060
xor edx, edx
mov rcx, rax
call fcn.1801e68f0
movzx eax, al
test eax, eax
jne 0x18016bc53
lea rdx, [rsp + 0x168]
lea rcx, [rsp + 0x788]
call fcn.1800034a0
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x2f8], rax
mov rcx, qword [rsp + 0x2f8]
call fcn.180073860
mov r8, rax
lea rdx, [0x1803ad498]
lea rcx, [rsp + 0xa08]
call fcn.1801e9200
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x2a0], rax
mov rcx, qword [rsp + 0x2a0]
call fcn.180073860
mov qword [rsp + 0x230], rax
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
mov rcx, qword [rsp + 0x230]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0x908]
call fcn.1801eaf60
mov qword [rsp + 0x308], rax
mov rdx, qword [rsp + 0x308]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x908]
call fcn.180073360
nop
lea rcx, [rsp + 0xa08]
call fcn.180073360
nop
lea rcx, [rsp + 0x788]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016bc3d
mov eax, dword [rsp + 0x44]
or eax, 4
mov dword [rsp + 0x44], eax
jmp 0x18016bd92
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x168]
call fcn.1800861d0
test eax, eax
je 0x18016bd92
lea rcx, [rsp + 0x168]
call fcn.180074060
xor edx, edx
mov rcx, rax
call fcn.1801e68f0
movzx eax, al
test eax, eax
jne 0x18016bd92
lea rdx, [rsp + 0x3e0]
lea rcx, [rsp + 0x828]
call fcn.1800034a0
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x2b8], rax
mov rcx, qword [rsp + 0x2b8]
call fcn.180073860
mov r8, rax
lea rdx, [0x1803ad498]
lea rcx, [rsp + 0x7e8]
call fcn.1801e9200
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x188], rax
mov rcx, qword [rsp + 0x188]
call fcn.180073860
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov r9b, 0x7c
mov rcx, qword [rsp + 0x158]
mov r8, rcx
mov rdx, rax
lea rcx, [rsp + 0x7a8]
call fcn.1801eaf60
mov qword [rsp + 0x150], rax
mov rdx, qword [rsp + 0x150]
lea rcx, [rsp + 0xa8]
call fcn.180073190
lea rcx, [rsp + 0x7a8]
call fcn.180073360
nop
lea rcx, [rsp + 0x7e8]
call fcn.180073360
nop
lea rcx, [rsp + 0x828]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016bd81
mov eax, dword [rsp + 0x44]
or eax, 4
mov dword [rsp + 0x44], eax
mov edx, 7
lea rcx, [rsp + 0x70]
call fcn.180140660
nop
mov edx, 7
lea rcx, [rsp + 0x350]
call fcn.180140660
nop
mov edx, dword [rsp + 0x44]
lea rcx, [rsp + 0x580]
call fcn.1801407e0
nop
lea rdx, [0x1803ad490]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x580]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x580]
call fcn.180140da0
mov edx, dword [rsp + 0x6c]
lea rcx, [rsp + 0x440]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4ac]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x440]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x440]
call fcn.180140da0
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x5d0]
call fcn.180140a20
nop
lea rdx, [0x1803ad4a8]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x5d0]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x5d0]
call fcn.180140da0
mov rax, qword [rsp + 0xca0]
mov edx, dword [rax + 0x88]
lea rcx, [rsp + 0x690]
call fcn.1801407e0
nop
lea rdx, [0x1803a571c]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x690]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x690]
call fcn.180140da0
mov rax, qword [rsp + 0xca0]
mov edx, dword [rax + 0x98]
lea rcx, [rsp + 0x488]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4b8]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x488]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x488]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac100]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x568]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4b0]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x568]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x568]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac188]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x4b8]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4c8]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x4b8]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x4b8]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac140]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x5e8]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4c0]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x5e8]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x5e8]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac158]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x4e8]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4d8]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x4e8]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x4e8]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac1b0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x598]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4d0]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x598]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x598]
call fcn.180140da0
xor r8d, r8d
lea rdx, [0x1803ac170]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x508]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4ec]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x508]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x508]
call fcn.180140da0
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016c386
lea r8, [0x1803a58e0]
mov rax, qword [rsp + 0xca0]
mov rdx, qword [rax + 0x30]
lea rcx, [rsp + 0xc10]
call fcn.1802bf7c0
nop
lea r8, [0x1803ac1d8]
mov rax, qword [rsp + 0xca0]
mov rdx, qword [rax + 0x30]
lea rcx, [rsp + 0xb10]
call fcn.1802bf7c0
nop
lea r8, [0x1803a5898]
mov rax, qword [rsp + 0xca0]
mov rdx, qword [rax + 0x30]
lea rcx, [rsp + 0xb90]
call fcn.1802bf7c0
nop
lea r8, [0x1803a58b8]
mov rax, qword [rsp + 0xca0]
mov rdx, qword [rax + 0x30]
lea rcx, [rsp + 0xa90]
call fcn.1802bf7c0
nop
lea rcx, [rsp + 0xc10]
call fcn.1802bcea0
mov edx, eax
lea rcx, [rsp + 0x678]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4e0]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x678]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x678]
call fcn.180140da0
lea rcx, [rsp + 0xb10]
call fcn.1802bcea0
mov edx, eax
lea rcx, [rsp + 0x528]
call fcn.1801407e0
nop
lea rdx, [0x1803ad508]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x528]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x528]
call fcn.180140da0
lea rcx, [rsp + 0xb90]
call fcn.1802bcea0
mov edx, eax
lea rcx, [rsp + 0x5b8]
call fcn.1801407e0
nop
lea rdx, [0x1803ad4f8]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x5b8]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x5b8]
call fcn.180140da0
lea rcx, [rsp + 0xa90]
call fcn.1802bcea0
mov edx, eax
lea rcx, [rsp + 0x548]
call fcn.1801407e0
nop
lea rdx, [0x1803ad520]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x548]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x548]
call fcn.180140da0
mov r8d, 2
lea rdx, [0x1803a57e0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bef40
mov edx, eax
lea rcx, [rsp + 0x458]
call fcn.1801407e0
nop
lea rdx, [0x1803ad514]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x458]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x458]
call fcn.180140da0
nop
lea rcx, [rsp + 0xa90]
call fcn.1800528a0
nop
lea rcx, [rsp + 0xb90]
call fcn.1800528a0
nop
lea rcx, [rsp + 0xb10]
call fcn.1800528a0
nop
lea rcx, [rsp + 0xc10]
call fcn.1800528a0
jmp 0x18016c486
lea rcx, [rsp + 0x3c8]
call fcn.1800740e0
nop
cmp qword [0x1803bac08], 0
je 0x18016c479
lea rdx, [rsp + 0x3c8]
mov rcx, qword [0x1803bac08]
call fcn.1801a21c0
movzx eax, al
test eax, eax
je 0x18016c479
lea rdx, [0x1803a8e68]
lea rcx, [rsp + 0x708]
call fcn.1800730e0
nop
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x708]
lea rdx, [rsp + 0x3c8]
lea rcx, [rsp + 0x868]
call fcn.1801eb020
mov qword [rsp + 0x1b8], rax
mov rdx, qword [rsp + 0x1b8]
lea rcx, [rsp + 0x368]
call fcn.180073190
lea rcx, [rsp + 0x868]
call fcn.180073360
nop
lea rcx, [rsp + 0x708]
call fcn.180073360
lea rdx, [rsp + 0x368]
lea rcx, [rsp + 0x470]
call fcn.180140900
nop
lea rdx, [0x1803ad534]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x470]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x470]
call fcn.180140da0
nop
lea rcx, [rsp + 0x3c8]
call fcn.180074290
mov edx, dword [0x1803babc0]
lea rcx, [rsp + 0x4a0]
call fcn.1801407e0
nop
lea rdx, str.B9.r
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x4a0]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x4a0]
call fcn.180140da0
xor edx, edx
lea rcx, [rsp + 0x338]
call fcn.180140660
nop
lea rdx, [rsp + 0x338]
mov rcx, qword [0x1803bac08]
call fcn.18019c6e0
movzx eax, al
test eax, eax
je 0x18016c515
lea rdx, [0x1803ad2f0]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x338]
mov rcx, rax
call fcn.180140f00
lea rcx, [rsp + 0x620]
call fcn.1800a60d0
nop
xor r8d, r8d
mov rdx, qword [0x1803bac08]
lea rcx, [rsp + 0x398]
call fcn.18019dfe0
nop
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x18016c558
movzx eax, byte [rsp + 0x64]
test eax, eax
jne 0x18016c558
cmp dword [rsp + 0x44], 0
je 0x18016c73b
xor edx, edx
lea rcx, [rsp + 0x2d0]
call fcn.180140660
nop
mov dword [rsp + 0x68], 0
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016c584
mov eax, dword [rsp + 0x68]
or eax, 0x30
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x44], 0
je 0x18016c596
mov eax, dword [rsp + 0x68]
or eax, 2
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
je 0x18016c5de
mov r8d, dword [rsp + 0x68]
lea rdx, [rsp + 0x2d0]
mov rcx, qword [0x1803bac08]
call fcn.1801a3f50
movzx eax, al
test eax, eax
je 0x18016c5de
lea rdx, [0x1803a565c]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x2d0]
mov rcx, rax
call fcn.180140f00
xor r8d, r8d
lea rdx, [0x1803a5740]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
mov edx, eax
lea rcx, [rsp + 0x4d0]
call fcn.1801407e0
nop
lea rdx, [0x1803ad52c]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x4d0]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x4d0]
call fcn.180140da0
movzx eax, byte [rsp + 0x49]
test eax, eax
jne 0x18016c72e
mov edx, 0xfa0
lea rcx, [rsp + 0x398]
call fcn.18019dec0
movzx eax, al
test eax, eax
je 0x18016c72e
movzx eax, byte [rsp + 0x40]
test eax, eax
je 0x18016c678
mov dword [rsp + 0x94], 3
jmp 0x18016c683
mov dword [rsp + 0x94], 0
mov r8d, dword [rsp + 0x94]
lea rdx, [rsp + 0x620]
mov rcx, qword [0x1803bac08]
call fcn.18019da50
movzx eax, al
test eax, eax
je 0x18016c72e
lea rdx, [0x1803ad338]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x638]
mov rcx, rax
call fcn.180140f00
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016c72e
mov edx, 2
lea rcx, [rsp + 0x620]
call fcn.1800a6120
test rax, rax
jbe 0x18016c72e
mov r8d, 0x3a
lea rdx, [rsp + 0x2d0]
mov rcx, qword [0x1803bac08]
call fcn.1801a3f50
movzx eax, al
test eax, eax
je 0x18016c72e
lea rdx, [0x1803a565c]
lea rcx, [rsp + 0x70]
call fcn.180141b00
lea rdx, [rsp + 0x2d0]
mov rcx, rax
call fcn.180140f00
nop
lea rcx, [rsp + 0x2d0]
call fcn.180140da0
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016c808
mov rcx, qword [0x1803bac08]
call fcn.1800a6090
movzx eax, al
test eax, eax
je 0x18016c808
xor eax, eax
test eax, eax
jne 0x18016c75f
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c], eax
lea rcx, [rsp + 0x398]
call fcn.1800a6450
nop
lea rcx, [rsp + 0x620]
call fcn.1800a6410
nop
lea rcx, [rsp + 0x338]
call fcn.180140da0
nop
lea rcx, [rsp + 0x350]
call fcn.180140da0
nop
lea rcx, [rsp + 0x70]
call fcn.180140da0
nop
lea rcx, [rsp + 0x368]
call fcn.180073360
nop
lea rcx, [rsp + 0xa8]
call fcn.180073360
nop
lea rcx, [rsp + 0x600]
call fcn.180073360
nop
lea rcx, [rsp + 0x658]
call fcn.180073360
jmp 0x18016af49
lea rcx, [rsp + 0xa8]
call fcn.180003ba0
test rax, rax
je 0x18016c831
lea rcx, [rsp + 0xa8]
call fcn.180073860
mov qword [rsp + 0x140], rax
jmp 0x18016c83d
mov qword [rsp + 0x140], 0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
mov r9d, 0x10
mov rax, qword [rsp + 0xca0]
mov r8, qword [rax + 0x40]
lea rdx, [rsp + 0x70]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.18016a260
lea rdx, [0x1803ad340]
lea rcx, [rsp + 0x350]
call fcn.180141b00
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.180140f00
lea rcx, [rsp + 0x120]
call fcn.180074500
nop
lea r9, [0x1803ad340]
mov r8d, 7
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x120]
call fcn.180168730
mov dword [rsp + 0xc8], eax
lea rdx, [0x1803a8e74]
lea rcx, [rsp + 0x6e8]
call fcn.1800730e0
nop
mov rax, qword [rsp + 0xca0]
mov rax, qword [rax + 0x40]
add rax, 0x20
mov qword [rsp + 0x1c8], rax
lea rdx, [rsp + 0x6e8]
lea rcx, [rsp + 0x120]
call fcn.180074ea0
mov rcx, qword [rsp + 0x1c8]
mov rdx, rcx
mov rcx, rax
call fcn.180073380
nop
lea rcx, [rsp + 0x6e8]
call fcn.180073360
lea rcx, [rsp + 0x110]
call fcn.180074500
nop
lea rcx, [rsp + 0x88]
call fcn.1800767e0
mov dword [rsp + 0x20], 0
mov r9b, 1
lea r8, [rsp + 0x110]
lea rdx, [0x1803a8f38]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802c1470
lea rdx, [0x1803aab38]
lea rcx, [rsp + 0x748]
call fcn.1800aac40
nop
lea r8, [rsp + 0x748]
lea rdx, [rsp + 0x5b0]
lea rcx, [rsp + 0x110]
call fcn.180133778
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x500]
lea rcx, [rsp + 0x110]
call fcn.180074700
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.180074730
mov byte [rsp + 0x62], al
lea rcx, [rsp + 0x748]
call fcn.180073fc0
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x18016ca90
lea rdx, [0x1803ace74]
lea rcx, [rsp + 0x728]
call fcn.1800730e0
nop
lea rcx, [rsp + 0x88]
call fcn.180076450
add rax, 0x20
mov rdx, rax
lea rcx, [rsp + 0x8a8]
call fcn.1800034a0
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x148], rax
lea rdx, [rsp + 0x728]
lea rcx, [rsp + 0x120]
call fcn.180074ea0
mov rdx, qword [rsp + 0x148]
mov rcx, rax
call fcn.180073190
nop
lea rcx, [rsp + 0x8a8]
call fcn.180073360
nop
lea rcx, [rsp + 0x728]
call fcn.180073360
lea rdx, [0x1803aab68]
lea rcx, [rsp + 0x6c8]
call fcn.1800aac40
nop
lea r8, [rsp + 0x6c8]
lea rdx, [rsp + 0x520]
lea rcx, [rsp + 0x110]
call fcn.180133778
mov rax, qword [rax]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x540]
lea rcx, [rsp + 0x110]
call fcn.180074700
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.180074730
mov byte [rsp + 0x61], al
lea rcx, [rsp + 0x6c8]
call fcn.180073fc0
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x18016cba0
lea rdx, [0x1803ace3c]
lea rcx, [rsp + 0x6a8]
call fcn.1800730e0
nop
lea rcx, [rsp + 0x88]
call fcn.180076450
add rax, 0x20
mov rdx, rax
lea rcx, [rsp + 0x8e8]
call fcn.1800034a0
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x208], rax
lea rdx, [rsp + 0x6a8]
lea rcx, [rsp + 0x120]
call fcn.180074ea0
mov rdx, qword [rsp + 0x208]
mov rcx, rax
call fcn.180073190
nop
lea rcx, [rsp + 0x8e8]
call fcn.180073360
nop
lea rcx, [rsp + 0x6a8]
call fcn.180073360
nop
lea rcx, [rsp + 0x110]
call fcn.180003690
mov dword [rsp + 0x58], 0
lea rcx, [rsp + 0x420]
call fcn.180073040
nop
lea rcx, [rsp + 0x400]
call fcn.180073040
nop
mov eax, dword [rsp + 0xc8]
and eax, 4
test eax, eax
je 0x18016cc7d
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016cbf3
mov byte [rsp + 0x4b], 1
jmp 0x18016cbf8
mov byte [rsp + 0x4b], 0
mov dword [rsp + 0x58], 1
movzx r9d, byte [rsp + 0x4b]
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x928]
mov rcx, qword [rsp + 0xca0]
call fcn.18016d480
mov qword [rsp + 0x218], rax
mov rdx, qword [rsp + 0x218]
lea rcx, [rsp + 0x420]
call fcn.180073190
lea rcx, [rsp + 0x928]
call fcn.180073360
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18016e7e0
mov rdx, rax
lea rcx, [rsp + 0x400]
call fcn.180073380
mov byte [rsp + 0x49], 1
jmp 0x18016cd12
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016cc8d
mov byte [rsp + 0x4e], 1
jmp 0x18016cc92
mov byte [rsp + 0x4e], 0
mov dword [rsp + 0x58], 0
movzx r9d, byte [rsp + 0x4e]
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x968]
mov rcx, qword [rsp + 0xca0]
call fcn.18016d480
mov qword [rsp + 0x228], rax
mov rdx, qword [rsp + 0x228]
lea rcx, [rsp + 0x420]
call fcn.180073190
lea rcx, [rsp + 0x968]
call fcn.180073360
mov rax, qword [rsp + 0xca0]
add rax, 0x48
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18016e7e0
mov rdx, rax
lea rcx, [rsp + 0x400]
call fcn.180073380
mov byte [rsp + 0x49], 0
xor edx, edx
lea rcx, [rsp + 0x320]
call fcn.180140660
nop
xor eax, eax
test eax, eax
jne 0x18016cd22
lea rcx, [rsp + 0x400]
call fcn.180073860
mov qword [rsp + 0x238], rax
lea rcx, [rsp + 0x420]
call fcn.180073860
mov byte [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
lea rcx, [rsp + 0x320]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x120]
mov qword [rsp + 0x20], rcx
mov r9d, 0x50
mov rcx, qword [rsp + 0x238]
mov r8, rcx
mov rdx, rax
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x38]
call fcn.180161d90
movzx eax, al
test eax, eax
je 0x18016cf2d
mov rcx, qword [rsp + 0xca0]
call fcn.18016d440
mov dword [rsp + 0x6c], 0
mov rax, qword [rsp + 0xca0]
mov eax, dword [rax + 0x98]
inc eax
mov rcx, qword [rsp + 0xca0]
mov dword [rcx + 0x98], eax
mov dword [rsp + 0xf4], 1
mov rax, qword [rsp + 0xca0]
add rax, 0x78
lea rdx, [rsp + 0xf4]
mov rcx, rax
call fcn.18016ef70
movzx eax, byte [rax]
test eax, eax
jne 0x18016ce11
cmp dword [rsp + 0x58], 1
jne 0x18016ce11
mov dword [rsp + 0x58], 0
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xfc], eax
cmp dword [rsp + 0xfc], 1
je 0x18016ce28
jmp 0x18016ce63
mov dword [rsp + 0xcc], 0x493e0
mov rax, qword [rsp + 0xca0]
add rax, 0x90
mov rdx, rax
lea rcx, [rsp + 0xcc]
call fcn.180083730
mov rcx, qword [rsp + 0xca0]
mov eax, dword [rax]
mov dword [rcx + 0x8c], eax
jmp 0x18016ce7f
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
lea rcx, [rsp + 0x398]
call fcn.18019dfc0
movzx eax, al
test eax, eax
je 0x18016ceb4
lea rdx, [rsp + 0x620]
mov rcx, qword [0x1803bac08]
call fcn.18019d890
lea rcx, [rsp + 0x398]
call fcn.18019de80
lea rcx, [rsp + 0x320]
call fcn.180141050
test eax, eax
je 0x18016cf28
lea rcx, [rsp + 0x388]
call fcn.1800a5db0
nop
mov rax, qword [0x1803bac08]
mov rax, qword [rax]
mov qword [rsp + 0x248], rax
xor r9d, r9d
mov r8d, 0xffffffff
mov rdx, qword [rsp + 0x248]
lea rcx, [rsp + 0x388]
call fcn.1800a5e00
xor r8d, r8d
lea rdx, [rsp + 0x320]
mov rcx, qword [0x1803bac08]
call fcn.18019cf80
nop
lea rcx, [rsp + 0x388]
call fcn.1800a5de0
jmp 0x18016d07f
xor r8d, r8d
lea rdx, [0x1803ac158]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac158]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
mov eax, dword [0x1803bac40]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0x10
je 0x18016cf86
jmp 0x18016cfc8
xor r8d, r8d
lea rdx, [0x1803ac170]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac170]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
jmp 0x18016d008
xor r8d, r8d
lea rdx, [0x1803ac1b0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac1b0]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 3
jb 0x18016d037
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rsp + 0xca0]
mov ecx, dword [rcx + 0x90]
mov dword [rax + 0x8c], ecx
jmp 0x18016d049
mov rax, qword [rsp + 0xca0]
mov dword [rax + 0x8c], 0x493e0
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x18016d079
mov r8d, dword [rsp + 0x58]
lea rdx, [rsp + 0x9a8]
mov rcx, qword [rsp + 0xca0]
call fcn.18016d8a0
lea rcx, [rsp + 0x9a8]
call fcn.180073360
xor eax, eax
test eax, eax
jne 0x18016d079
xor r8d, r8d
lea rdx, [0x1803ac100]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac100]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
mov eax, dword [0x1803bac40]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 0x10
je 0x18016d0d8
jmp 0x18016d11a
xor r8d, r8d
lea rdx, [0x1803ac140]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac140]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
jmp 0x18016d15a
xor r8d, r8d
lea rdx, [0x1803ac188]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfe70
inc eax
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, eax
lea rdx, [0x1803ac188]
mov rax, qword [rsp + 0xca0]
mov rcx, qword [rax + 0x30]
call fcn.1802bfd80
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x5c], eax
lea rcx, [rsp + 0x320]
call fcn.180140da0
nop
lea rcx, [rsp + 0x400]
call fcn.180073360
nop
lea rcx, [rsp + 0x420]
call fcn.180073360
nop
lea rcx, [rsp + 0x120]
call fcn.180040c50
nop
lea rcx, [rsp + 0x398]
call fcn.1800a6450
nop
lea rcx, [rsp + 0x620]
call fcn.1800a6410
nop
lea rcx, [rsp + 0x338]
call fcn.180140da0
nop
lea rcx, [rsp + 0x350]
call fcn.180140da0
nop
lea rcx, [rsp + 0x70]
call fcn.180140da0
nop
lea rcx, [rsp + 0x368]
call fcn.180073360
nop
lea rcx, [rsp + 0xa8]
call fcn.180073360
nop
lea rcx, [rsp + 0x600]
call fcn.180073360
nop
lea rcx, [rsp + 0x658]
call fcn.180073360
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
cmp eax, 0x927c0
jae 0x18016d24c
mov rax, qword [rsp + 0xca0]
cmp dword [rax + 0x98], 0
jbe 0x18016d37a
movzx eax, byte [rsp + 0x4d]
test eax, eax
je 0x18016d37a
lea rcx, [rsp + 0x3b8]
call fcn.1800a5db0
nop
mov rax, qword [0x1803bac08]
mov rax, qword [rax]
mov qword [rsp + 0x258], rax
xor r9d, r9d
mov r8d, 0xffffffff
mov rdx, qword [rsp + 0x258]
lea rcx, [rsp + 0x3b8]
call fcn.1800a5e00
lea rcx, [rsp + 0x2a8]
call fcn.1800a5db0
nop
mov rax, qword [0x1803bac08]
mov rax, qword [rax]
mov qword [rsp + 0x268], rax
cmp qword [rsp + 0x268], 0
jne 0x18016d2c1
mov rcx, qword [0x1803bac08]
call fcn.1801a2490
mov rax, qword [0x1803bac08]
mov rax, qword [rax]
mov qword [rsp + 0x278], rax
mov r9b, 1
mov r8d, 0xfa0
mov rdx, qword [rsp + 0x278]
lea rcx, [rsp + 0x2a8]
call fcn.1800a5e00
movzx eax, al
test eax, eax
je 0x18016d31b
mov edx, 1
mov rcx, qword [0x1803bac08]
call fcn.1801a0e10
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x90], eax
mov byte [rsp + 0x4d], 0
jmp 0x18016d35f
lea rcx, [rsp + 0x2a8]
call fcn.180002490
cmp eax, 0x102
je 0x18016d343
mov rcx, qword [0x1803bac08]
call fcn.1801a2490
xor eax, eax
test eax, eax
jne 0x18016d33b
jmp 0x18016d35f
xor eax, eax
test eax, eax
jne 0x18016d343
call fcn.18017d27c
and eax, 0xfff
add eax, 0x64
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rcx, [rsp + 0x2a8]
call fcn.1800a5de0
nop
lea rcx, [rsp + 0x3b8]
call fcn.1800a5de0
jmp 0x18016af49
mov dword [rsp + 0xe0], 0
lea rcx, [rsp + 0x3e0]
call fcn.180073fc0
nop
lea rcx, [rsp + 0x168]
call fcn.180073fc0
mov eax, dword [rsp + 0xe0]
add rsp, 0xc98
ret