Function at 0x1800212c0
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x5b8
mov byte [rsp + 0xf4], 0x30
mov byte [rsp + 0x41], 0xba
mov byte [rsp + 0x42], 0xba
movzx eax, byte [0x1800c62ab]
movzx eax, al
mov qword [rsp + 0x80], rax
movzx eax, byte [0x1800c62aa]
mov byte [rsp + 0x43], al
mov eax, 0x59
mov word [rsp + 0x58], ax
mov qword [rsp + 0x98], 0xef8d
mov eax, 0x23b
mov word [rsp + 0x4c], ax
mov eax, 0xffffe1c2
mov word [rsp + 0x50], ax
movzx eax, byte [0x1800c623f]
movsx ax, al
mov word [rsp + 0x5c], ax
mov rax, qword [0x1800c62d0]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x68], 0xd4
mov dword [rsp + 0x64], 0xb6
movzx eax, byte [0x1800c6212]
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x6c], 0x77aa
mov byte [rsp + 0x44], 0xb1
mov rax, qword [0x1800c62f0]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x1800c6207]
movzx eax, al
mov qword [rsp + 0xb8], rax
mov byte [rsp + 0x40], 0xb1
mov eax, 0x1de2
mov word [rsp + 0x54], ax
mov eax, dword [0x1800c631c]
cdqe
mov qword [rsp + 0xa0], rax
mov eax, dword [0x1800c6304]
mov dword [rsp + 0x70], eax
mov rax, qword [0x1800c6310]
mov qword [rsp + 0x90], rax
movzx eax, byte [0x1800c62aa]
mov byte [rsp + 0xf5], al
movzx eax, byte [0x1800c623e]
mov byte [rsp + 0xf6], al
mov eax, dword [0x1800c62c4]
cdqe
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x508], 0x29234323
movzx eax, word [0x1800c62f8]
mov qword [rsp + 0x510], rax
movzx eax, word [0x1800c62c8]
mov word [rsp + 0x3b8], ax
mov eax, 0xffffb77c
mov word [rsp + 0x3b4], ax
movabs rax, 0x111fe4ca19377
mov qword [rsp + 0x518], rax
mov eax, dword [0x1800c62d8]
mov dword [rsp + 0x4b8], eax
movzx eax, byte [0x1800c6207]
movzx eax, al
mov qword [rsp + 0x520], rax
mov eax, dword [0x1800c62c4]
mov dword [rsp + 0x4bc], eax
mov eax, 0x7d59
mov word [rsp + 0x3b0], ax
mov eax, dword [0x1800c6214]
mov word [rsp + 0x3ac], ax
movzx eax, byte [0x1800c62aa]
mov word [rsp + 0x3a8], ax
movzx eax, word [0x1800c62c8]
mov byte [rsp + 0x178], al
movzx eax, byte [0x1800c628f]
movsx ax, al
mov word [rsp + 0x3a4], ax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x134], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
movzx ecx, byte [0x1800c6206]
movsx ecx, cl
cmp eax, ecx
jge 0x1800214ef
mov dword [rsp + 0x2f0], 1
jmp 0x1800214fa
mov dword [rsp + 0x2f0], 0
movzx eax, byte [rsp + 0x40]
movsx eax, al
cmp eax, 0x27
jge 0x180021514
mov dword [rsp + 0x2ec], 1
jmp 0x18002151f
mov dword [rsp + 0x2ec], 0
mov eax, dword [rsp + 0x2ec]
cmp dword [rsp + 0x2f0], eax
jne 0x180021600
movzx eax, byte [rsp + 0x44]
movsx eax, al
cmp eax, 0x60a82a1a
jl 0x180021550
mov qword [rsp + 0x3e0], 1
jmp 0x18002155c
mov qword [rsp + 0x3e0], 0
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x3e0], rax
jae 0x18002157b
mov dword [rsp + 0x184], 1
jmp 0x180021586
mov dword [rsp + 0x184], 0
movzx eax, word [0x1800c6308]
cwde
movsx ecx, byte [rsp + 0x41]
cmp eax, ecx
je 0x1800215ad
movsx eax, word [rsp + 0x4c]
test eax, eax
je 0x1800215ad
mov dword [rsp + 0x180], 1
jmp 0x1800215b8
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
cmp dword [rsp + 0x184], eax
jl 0x1800215fe
movzx eax, word [rsp + 0x58]
cwde
mov ecx, dword [rsp + 0x64]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x70]
add eax, 0x87
movzx ecx, word [0x1800c62cc]
sub ecx, eax
mov eax, ecx
mov word [0x1800c62cc], ax
jmp 0x18002161c
movzx eax, byte [rsp + 0x44]
movsx eax, al
mov dword [0x1800c6294], eax
imul eax, dword [rsp + 0x70], 0xa52d
mov byte [0x1800c6266], al
mov eax, dword [rsp + 0x134]
add eax, 0x127
mov dword [rsp + 0x4c0], eax
movzx eax, byte [rsp + 0x44]
movsx eax, al
sub eax, 0x979fe4fd
mov eax, eax
mov qword [rsp + 0xb8], rax
movzx eax, byte [0x18020f330]
mov byte [0x1800c6213], al
mov eax, dword [rsp + 0x134]
add eax, 0x231
mov dword [rsp + 0x334], eax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x180021670
jmp 0x1800216a6
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov dword [0x1800c6290], 0xb231b0a3
mov eax, dword [rsp + 0x134]
add eax, 0x368
mov dword [rsp + 0x1e4], eax
mov eax, dword [0x1800c62ec]
add eax, 0x6279
movsx ecx, byte [rsp + 0x42]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x42], al
mov eax, dword [0x18020f330]
mov dword [rsp + 0xf8], eax
mov eax, dword [0x1800c62b4]
mov eax, eax
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0xf8]
add eax, 0x1cf
mov dword [rsp + 0x4c4], eax
mov eax, dword [rsp + 0x60]
sub eax, 0xf0
mov eax, eax
mov rcx, qword [0x1800c62a0]
add rcx, rax
mov rax, rcx
mov qword [0x1800c62a0], rax
movsx eax, word [0x1800c62ac]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x1800c6267]
movzx edx, word [rsp + 0x58]
movsx edx, dx
add ecx, edx
sub eax, ecx
mov eax, eax
mov rcx, qword [0x1800c6298]
imul rcx, rax
mov rax, rcx
mov byte [0x1800c623f], al
mov eax, dword [rsp + 0xf8]
add eax, 0x300
mov dword [rsp + 0x350], eax
movzx eax, byte [rsp + 0x44]
movsx eax, al
movzx ecx, byte [0x1800c623f]
movsx ecx, cl
add eax, ecx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0xf8]
add eax, 0x221
mov dword [rsp + 0x228], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0xfc], eax
movzx eax, byte [0x1800c6266]
movzx eax, al
add eax, 0x67
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0xfc]
add eax, 0x7b
mov dword [rsp + 0x4c8], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x3cb
mov dword [rsp + 0x358], eax
movzx eax, byte [0x18020f330]
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x60]
xor eax, 0xc1
mov byte [0x1800c6206], al
mov eax, dword [rsp + 0xfc]
add eax, 0x289
mov dword [rsp + 0x238], eax
mov eax, dword [0x1800c630c]
add eax, 0xa2
mov byte [0x1800c6207], al
mov eax, dword [0x18020f330]
mov dword [rsp + 0x100], eax
movabs rax, 0x2e9b726c56fda
mov rcx, qword [rsp + 0xa0]
imul rcx, rax
mov rax, rcx
mov dword [0x1800c6304], eax
mov eax, dword [rsp + 0x100]
add eax, 0x164
mov dword [rsp + 0x35c], eax
mov eax, dword [rsp + 0x100]
add eax, 0x3d
mov dword [rsp + 0x13c], eax
mov eax, dword [rsp + 0x100]
add eax, 0xc7
mov dword [rsp + 0x484], eax
movzx eax, byte [rsp + 0x40]
movsx eax, al
test eax, eax
je 0x1800218a4
movzx eax, word [0x1800c62c8]
movsx rax, ax
mov rcx, qword [0x1800c62b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c62b8], rax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x104], eax
mov eax, dword [0x1800c6214]
test eax, eax
je 0x1800218d9
movzx eax, byte [rsp + 0x40]
movsx rax, al
movabs rcx, 0x22c2fb7529a55
add rax, rcx
mov dword [0x1800c6214], eax
jmp 0x180021917
mov eax, dword [rsp + 0x64]
not eax
cmp dword [rsp + 0x60], eax
jae 0x1800218ef
mov dword [rsp + 0x68], 0x6b3b
jmp 0x180021917
mov rax, qword [0x1800c6328]
test rax, rax
je 0x180021917
mov eax, 4
imul rax, rax, 0x5480
lea rcx, [0x180339c20]
movzx eax, word [rcx + rax]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x104]
add eax, 0x350
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0x104]
add eax, 0x1d5
mov dword [rsp + 0x360], eax
mov eax, dword [0x1800c62c4]
mov eax, dword [rsp + 0x104]
add eax, 0xac
mov dword [rsp + 0x364], eax
mov byte [0x1800c6213], 0xdd
movsxd rax, dword [rsp + 0x6c]
movabs rcx, 0xdb39d2c6bac3c
add rax, rcx
mov dword [0x1800c6290], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x108], eax
lea rax, [rsp + 0x558]
lea rcx, str.._AV___Ref_count_o
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x558]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1800c62c8], ax
mov eax, dword [rsp + 0x108]
add eax, 0x205
mov dword [rsp + 0x250], eax
movzx eax, byte [0x1800c61c7]
movzx ecx, word [rsp + 0x58]
movsx ecx, cx
not ecx
cmp eax, ecx
je 0x1800219dd
jmp 0x1800219e9
movzx eax, word [0x18020f330]
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x108]
add eax, 0x19b
mov dword [rsp + 0x24c], eax
movzx eax, word [0x1800c62cc]
movsx ecx, word [rsp + 0x4c]
add eax, ecx
mov word [0x1800c62cc], ax
mov eax, dword [0x1800c6318]
mov dword [0x1800c631c], eax
mov eax, dword [rsp + 0x108]
add eax, 0x2c0
mov dword [rsp + 0x140], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x101
mov dword [rsp + 0x258], eax
movzx eax, word [0x1800c62dc]
movzx eax, ax
add eax, 0x1722fa57
mov byte [0x1800c623e], al
mov eax, dword [rsp + 0x10c]
add eax, 0x31f
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x50
mov dword [rsp + 0x144], eax
movsx eax, word [rsp + 0x50]
test eax, eax
je 0x180021aa8
movzx eax, byte [0x1800c6266]
movzx eax, al
shl eax, 5
mov byte [rsp + 0x43], al
jmp 0x180021b46
xor eax, eax
cmp eax, 1
je 0x180021b46
movsx eax, word [rsp + 0x4c]
test eax, eax
je 0x180021acc
movsx rax, byte [rsp + 0x41]
mov qword [rsp + 0x3e8], rax
jmp 0x180021adc
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x3e8], rax
mov rax, qword [rsp + 0x3e8]
mov qword [0x1800c62f0], rax
movzx eax, byte [0x1800c62ab]
movzx eax, al
mov ecx, dword [0x1800c6294]
not ecx
xor eax, ecx
test eax, eax
jne 0x180021b10
mov dword [rsp + 0x188], 1
jmp 0x180021b1b
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x68]
imul eax, ecx
movzx ecx, byte [0x1800c623f]
movsx ecx, cl
not ecx
imul ecx, dword [rsp + 0x188]
imul eax, ecx
cdqe
mov qword [0x1800c6328], rax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
imul rax, qword [0x1800c6310]
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x110]
add eax, 0x27c
mov dword [rsp + 0x368], eax
mov eax, dword [rsp + 0x110]
add eax, 0xc
mov dword [rsp + 0x4cc], eax
mov eax, dword [rsp + 0x110]
add eax, 5
mov dword [rsp + 0xc4], eax
lea rax, [rsp + 0x528]
lea rcx, [0x1800a0718]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x528]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800c6267], al
mov eax, dword [0x18020f330]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
add eax, 0x2459
mov dword [rsp + 0x3c0], eax
mov eax, dword [rsp + 0x114]
add eax, 0x1097
mov dword [rsp + 0x3bc], eax
mov eax, dword [0x1800c6214]
mov eax, eax
mov rcx, qword [rsp + 0xa8]
cmp rax, rcx
ja 0x180021c22
mov dword [rsp + 0x190], 1
jmp 0x180021c2d
mov dword [rsp + 0x190], 0
mov eax, dword [0x1800c6214]
cmp eax, 0x63
ja 0x180021c45
mov dword [rsp + 0x18c], 1
jmp 0x180021c50
mov dword [rsp + 0x18c], 0
mov eax, dword [rsp + 0x18c]
cmp dword [rsp + 0x190], eax
jg 0x180021cbe
mov eax, dword [0x1800c62b0]
mov eax, eax
mov rcx, qword [rsp + 0xa8]
add rax, rcx
mov ecx, dword [0x1800c62b0]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [0x1800c62b0], eax
movsx eax, byte [0x1800c6267]
test eax, eax
je 0x180021ca2
mov eax, dword [rsp + 0x64]
cdqe
mov qword [rsp + 0x3f0], rax
jmp 0x180021caf
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x3f0], rax
mov rax, qword [rsp + 0x3f0]
mov qword [0x1800c6328], rax
mov eax, dword [rsp + 0x114]
add eax, 0x1134
mov dword [rsp + 0x4d0], eax
movsx rax, word [rsp + 0x50]
and rax, qword [rsp + 0x98]
mov word [rsp + 0x50], ax
mov eax, dword [0x1800c6294]
mov byte [rsp + 0x40], al
movzx eax, byte [0x1800c6213]
or rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
movzx ecx, byte [0x1800c628e]
movzx ecx, cl
not ecx
xor ecx, 0xf2
movsxd rcx, ecx
sub rax, rcx
mov word [0x1800c6300], ax
mov eax, dword [rsp + 0x3bc]
mov ecx, dword [rsp + 0x3c0]
mov edx, 0xffffcb10
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x338], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x118], eax
mov eax, dword [0x1800c6294]
test eax, eax
je 0x180021d7b
mov rax, qword [0x1800c6320]
not rax
test rax, rax
je 0x180021d7b
mov dword [rsp + 0x194], 1
jmp 0x180021d86
mov dword [rsp + 0x194], 0
movsx eax, byte [rsp + 0x41]
movsx ecx, byte [0x1800c61db]
sub eax, ecx
cmp eax, dword [rsp + 0x194]
jle 0x180021ecb
mov dword [rsp + 0x60], 3
mov eax, dword [rsp + 0x68]
dec eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe8], 0
je 0x180021df3
cmp dword [rsp + 0xe8], 1
je 0x180021e2a
cmp dword [rsp + 0xe8], 2
je 0x180021e6c
cmp dword [rsp + 0xe8], 3
je 0x180021e96
jmp 0x180021ec9
movzx eax, byte [0x1800c628f]
mov ecx, 1
imul rcx, rcx, 0x46
lea rdx, [0x180279ae0]
mov byte [rdx + rcx], al
movsxd rax, dword [rsp + 0x6c]
movabs rcx, 0x666b422d66f30
imul rax, rcx
mov word [rsp + 0x4c], ax
jmp 0x180021ec9
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [0x1800c62d0]
xor rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1800c62d8]
mov rdx, qword [rsp + 0x80]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [0x1800c62d0]
sub rcx, rdx
sub rax, rcx
not rax
mov dword [0x1800c6294], eax
jmp 0x180021ec9
mov qword [rsp + 0x90], 0x23e6
mov rax, qword [rsp + 0xa8]
movabs rcx, 0xe0dce48733d2e
and rax, rcx
mov word [0x1800c62fc], ax
jmp 0x180021ec9
mov eax, 0x99
mov word [rsp + 0x58], ax
movzx eax, word [0x1800c62e8]
movzx eax, ax
sub rax, qword [rsp + 0xb8]
movzx ecx, word [0x1800c62e8]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800c62e8], ax
jmp 0x180021eea
movsx eax, word [0x1800c62ac]
shl eax, 5
cdqe
mov qword [rsp + 0x78], rax
movsx eax, word [rsp + 0x4c]
sub eax, 0xb06c879b
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x118]
add eax, 0x61
mov dword [rsp + 0x39c], eax
mov eax, dword [rsp + 0x118]
add eax, 0x4a
mov dword [rsp + 0x4a4], eax
mov eax, dword [rsp + 0x118]
add eax, 0x64
mov dword [rsp + 0x4d4], eax
movzx eax, word [0x1800c62dc]
movzx eax, ax
not eax
movsx ecx, byte [0x1800c61db]
imul eax, ecx
mov byte [rsp + 0x44], al
movsx eax, word [rsp + 0x50]
test eax, eax
je 0x180021f4e
movsx eax, word [rsp + 0x5c]
mov dword [rsp + 0x198], eax
jmp 0x180021f5d
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov dword [rsp + 0x198], eax
movsxd rax, dword [rsp + 0x198]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x39c]
mov ecx, 0x83e8
sub ecx, eax
mov eax, ecx
xor eax, 0x8387
mov dword [rsp + 0x33c], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
add eax, 0xb70f
mov dword [rsp + 0x3c4], eax
mov eax, 4
imul rax, rax, 0x2d
lea rcx, [0x1802884a0]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x11c]
add eax, 0xdeb7
mov dword [rsp + 0x3c8], eax
movsx rax, word [rsp + 0x5c]
mov rcx, qword [0x1800c6310]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c6310], rax
mov eax, dword [0x18020f330]
mov dword [0x1800c62b0], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x9621
mov dword [rsp + 0x19c], eax
mov eax, dword [rsp + 0x19c]
mov ecx, dword [rsp + 0x19c]
xor eax, ecx
mov ecx, dword [rsp + 0x3c4]
mov edx, dword [rsp + 0x3c8]
or ecx, edx
imul eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x340], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x120], eax
mov eax, dword [0x1800c6214]
imul eax, eax, 0x6485f22a
mov eax, eax
mov qword [rsp + 0x90], rax
mov rax, qword [0x1800c62b8]
movabs rcx, 0x5dceaa719ded7
add rax, rcx
mov byte [0x1800c623e], al
mov eax, dword [rsp + 0x120]
add eax, 0x7cc6
mov dword [rsp + 0x474], eax
mov eax, dword [rsp + 0x120]
add eax, 0x6b8
mov dword [rsp + 0x1a0], eax
movzx eax, byte [0x1800c623f]
movsx eax, al
not eax
cdqe
mov rcx, qword [0x1800c62d0]
sub rax, rcx
sub rax, 0xa3
mov ecx, dword [rsp + 0x68]
imul ecx, ecx, 0
movsx edx, word [0x1800c62ac]
sub ecx, edx
movsxd rcx, ecx
xor rax, rcx
mov word [rsp + 0x5c], ax
movsx eax, byte [rsp + 0x41]
movsx ecx, word [rsp + 0x4c]
imul eax, ecx
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x120]
add eax, 0xd3
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0x1a0]
mov ecx, dword [rsp + 0x1a4]
xor eax, ecx
mov ecx, dword [rsp + 0x1a0]
mov edx, dword [rsp + 0x1a4]
imul ecx, edx
or eax, ecx
mov ecx, 0x58fef
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x344], eax
mov eax, dword [0x1800c630c]
sub eax, 0xe3ba513d
mov eax, eax
mov rcx, qword [0x1800c6298]
add rcx, rax
mov rax, rcx
mov qword [0x1800c6298], rax
movsx eax, word [rsp + 0x50]
add eax, 0xa8176fc6
mov byte [0x1800c623e], al
mov eax, dword [0x18020f330]
mov dword [rsp + 0x124], eax
mov rax, qword [rsp + 0x98]
add rax, 0x9580
mov rcx, qword [rsp + 0xa8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
mov eax, dword [rsp + 0x68]
cdqe
movabs rcx, 0xfec0a73b31e9
add rax, rcx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x124]
add eax, 0x97
mov dword [rsp + 0x3cc], eax
mov eax, dword [rsp + 0x124]
add eax, 0x5c
mov dword [rsp + 0x478], eax
mov eax, dword [0x1800c62d8]
inc eax
mov dword [0x1800c62d8], eax
mov eax, dword [rsp + 0x124]
add eax, 0xc7
mov dword [rsp + 0x3d0], eax
movsx eax, word [rsp + 0x4c]
test eax, eax
je 0x1800221fd
jmp 0x180022231
mov rax, qword [0x1800c62f0]
mov ecx, dword [rsp + 0x60]
cmp rax, rcx
jb 0x180022231
mov qword [0x1800c6310], 8
movzx eax, word [0x1800c62f8]
mov rcx, qword [0x1800c62d0]
imul rax, rcx
mov word [0x1800c62f8], ax
mov eax, dword [rsp + 0x3cc]
mov ecx, 0x57a3
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x3d0]
lea eax, [rax + rcx + 8]
mov ecx, 0x57ea
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x348], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x128], eax
cmp dword [0x1800c62ec], 0
je 0x180022280
movsx eax, word [rsp + 0x4c]
mov dword [rsp + 0x1a8], eax
jmp 0x18002228b
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x1a8], eax
movsxd rax, dword [rsp + 0x1a8]
mov qword [rsp + 0x98], rax
mov eax, dword [0x1800c62b0]
mov eax, eax
mov rcx, qword [rsp + 0x78]
imul rcx, rax
mov rax, rcx
movsx rcx, byte [0x1800c6211]
imul rax, rcx
mov word [0x1800c62c0], ax
mov eax, dword [rsp + 0x128]
add eax, 0x17f7
mov dword [rsp + 0x47c], eax
movsx eax, word [rsp + 0x4c]
cmp dword [0x1800c62ec], eax
jg 0x1800222ef
mov dword [rsp + 0x1b0], 1
jmp 0x1800222fa
mov dword [rsp + 0x1b0], 0
cmp dword [0x1800c62ec], 0x58
jg 0x180022310
mov dword [rsp + 0x1ac], 1
jmp 0x18002231b
mov dword [rsp + 0x1ac], 0
mov eax, dword [rsp + 0x1ac]
cmp dword [rsp + 0x1b0], eax
jge 0x180022379
movzx eax, byte [0x1800c6213]
test eax, eax
je 0x180022356
mov eax, dword [0x18020f330]
mov qword [0x1800c62b8], rax
movsx eax, word [rsp + 0x50]
add eax, 0xd894
mov word [0x1800c62c8], ax
jmp 0x180022377
movzx eax, word [0x1800c62cc]
movzx ecx, byte [0x1800c628f]
movsx ecx, cl
sub eax, ecx
test eax, eax
je 0x180022377
mov eax, 0x53b0
mov word [rsp + 0x54], ax
jmp 0x180022397
mov eax, dword [0x1800c62b0]
mov ecx, dword [0x1800c6290]
add eax, ecx
mov ecx, dword [0x1800c62b0]
or ecx, eax
mov eax, ecx
mov dword [0x1800c62b0], eax
mov eax, dword [rsp + 0x128]
add eax, 0x53
mov dword [rsp + 0x480], eax
cmp qword [rsp + 0x98], 0x4e4764a8
jbe 0x1800223c3
mov dword [rsp + 0x1b8], 1
jmp 0x1800223ce
mov dword [rsp + 0x1b8], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, word [0x1800c62c0]
cmp eax, ecx
jne 0x1800223ee
mov dword [rsp + 0x1b4], 1
jmp 0x1800223f9
mov dword [rsp + 0x1b4], 0
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + 0x1b8], eax
jl 0x180022416
mov dword [rsp + 0x1c0], 1
jmp 0x180022421
mov dword [rsp + 0x1c0], 0
movzx eax, byte [rsp + 0x43]
movsx rax, al
cmp rax, qword [0x1800c6298]
jle 0x180022448
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x180022448
mov dword [rsp + 0x1bc], 0
jmp 0x180022453
mov dword [rsp + 0x1bc], 1
mov eax, dword [rsp + 0x1bc]
cmp dword [rsp + 0x1c0], eax
jl 0x180022468
jmp 0x1800225b0
movzx eax, word [0x1800c62dc]
movzx eax, ax
cmp eax, 0x118639c4
jle 0x180022480
cmp dword [rsp + 0x60], 0
je 0x180022485
jmp 0x1800225b0
movzx eax, byte [rsp + 0x40]
movsx eax, al
cmp eax, 0x1a
jne 0x18002249f
mov dword [rsp + 0x1c4], 1
jmp 0x1800224aa
mov dword [rsp + 0x1c4], 0
movzx eax, word [rsp + 0x58]
cwde
cmp eax, dword [rsp + 0x1c4]
je 0x180022584
movzx eax, byte [0x1800c628e]
movzx eax, al
sub eax, 0xce0ac050
mov word [rsp + 0x50], ax
cmp qword [rsp + 0x78], 0
jne 0x1800224e7
mov qword [rsp + 0x3f8], 1
jmp 0x1800224f3
mov qword [rsp + 0x3f8], 0
movsx eax, word [rsp + 0x4c]
test eax, eax
jne 0x180022509
mov dword [rsp + 0x1c8], 1
jmp 0x180022514
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x180022535
mov qword [rsp + 0x400], 1
jmp 0x180022541
mov qword [rsp + 0x400], 0
mov eax, dword [0x1800c6304]
cdqe
add rax, qword [0x1800c6310]
imul rax, qword [rsp + 0x3f8]
mov rcx, qword [rsp + 0x90]
not rcx
movsx rdx, word [rsp + 0x4c]
add rcx, rdx
mov rdx, qword [rsp + 0x400]
xor rdx, rcx
mov rcx, rdx
sub rax, rcx
mov dword [rsp + 0x60], eax
jmp 0x1800225b0
cmp qword [rsp + 0xa0], 0
je 0x1800225b0
movzx eax, byte [0x1800c6213]
mov ecx, dword [0x1800c631c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c631c]
add ecx, eax
mov eax, ecx
mov dword [0x1800c631c], eax
mov eax, dword [rsp + 0x128]
add eax, 0x77
mov dword [rsp + 0x1cc], eax
cmp dword [0x1800c62ec], 0
je 0x1800225cc
jmp 0x1800225fc
movzx eax, byte [rsp + 0x44]
movsx eax, al
cmp dword [0x1800c6318], eax
je 0x1800225fc
movzx eax, byte [0x1800c62ab]
movzx eax, al
mov ecx, dword [rsp + 0x68]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
mov eax, 0x65fd
mov word [rsp + 0x58], ax
movsx rax, byte [rsp + 0x41]
mov qword [0x1800c6328], rax
mov eax, dword [rsp + 0x1cc]
mov ecx, dword [rsp + 0x1cc]
imul eax, ecx
xor eax, 0x358d
mov dword [rsp + 0x384], eax
mov eax, dword [rsp + 0x6c]
mov ecx, dword [0x1800c62ec]
add ecx, eax
mov eax, ecx
mov byte [0x1800c628e], al
movzx eax, byte [rsp + 0x43]
movsx eax, al
sar eax, 2
mov word [rsp + 0x54], ax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x64
mov dword [rsp + 0x488], eax
movsx rax, byte [0x1800c61c6]
movabs rcx, 0x19fc0d68207bb
add rax, rcx
mov word [0x1800c62e8], ax
movsx ax, byte [0x1800c61db]
mov word [0x1800c62cc], ax
mov eax, dword [rsp + 0x12c]
add eax, 0xa632
mov dword [rsp + 0x48c], eax
mov rax, qword [0x1800c62f0]
test rax, rax
je 0x1800226ba
mov dword [rsp + 0x64], 2
mov eax, dword [rsp + 0x12c]
add eax, 0xcd
mov dword [rsp + 0x1d4], eax
movzx eax, word [0x1800c6308]
cwde
test eax, eax
je 0x180022744
movzx eax, byte [0x1800c6212]
mov rcx, qword [rsp + 0x78]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [0x1800c6328]
test rax, rax
jne 0x180022715
mov dword [rsp + 0x1d0], 1
jmp 0x180022720
mov dword [rsp + 0x1d0], 0
movsx eax, word [rsp + 0x50]
movzx ecx, byte [0x1800c623f]
movsx ecx, cl
mov edx, dword [rsp + 0x1d0]
imul edx, ecx
mov ecx, edx
sub eax, ecx
mov word [0x1800c62dc], ax
mov eax, dword [rsp + 0x1d4]
xor eax, 0xbc
mov ecx, dword [rsp + 0x1d4]
xor ecx, 0xe65b
or eax, ecx
xor eax, 0xe546
mov dword [rsp + 0x388], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x130], eax
movzx eax, word [0x1800c6300]
movzx eax, ax
movzx ecx, word [0x1800c62e8]
movzx ecx, cx
cmp eax, ecx
jl 0x18002279d
mov dword [rsp + 0x1dc], 1
jmp 0x1800227a8
mov dword [rsp + 0x1dc], 0
movzx eax, word [0x1800c6300]
movzx eax, ax
cmp eax, 0x55
jl 0x1800227c4
mov dword [rsp + 0x1d8], 1
jmp 0x1800227cf
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
je 0x1800227e1
jmp 0x18002282d
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [0x1800c62b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c62b8], rax
movzx eax, word [0x1800c62f8]
test eax, eax
jne 0x180022815
mov dword [rsp + 0x1e0], 1
jmp 0x180022820
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
mov dword [0x1800c6318], eax
mov eax, dword [rsp + 0x130]
add eax, 0x6e
mov dword [rsp + 0x3d4], eax
mov eax, dword [rsp + 0x130]
add eax, 0x7094
mov dword [rsp + 0x330], eax
mov eax, dword [rsp + 0x130]
add eax, 0x3d
mov dword [rsp + 0x490], eax
mov eax, dword [0x1800c631c]
cdqe
movabs rcx, 0x6c5913caba879
add rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x3d4]
mov ecx, dword [rsp + 0x330]
or eax, ecx
mov ecx, 0x725a
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1e4]
mov edx, dword [rsp + 0x1e4]
sub ecx, edx
mov edx, dword [rsp + 0x334]
add edx, 0x1d6
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x38c], eax
mov dword [rsp + 0x2e8], 0
mov dword [rsp + 0x34c], 0
lea rax, [rsp + 0x580]
lea rcx, str.DisableThreadLibra
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x580]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1800c6290], eax
mov dword [rsp + 0x138], 0x104
movzx eax, byte [rsp + 0x43]
movsx rax, al
cmp qword [rsp + 0x90], rax
je 0x18002292e
mov dword [rsp + 0x1e8], 1
jmp 0x180022939
mov dword [rsp + 0x1e8], 0
movzx eax, byte [0x1800c62ab]
movzx eax, al
mov ecx, dword [rsp + 0x64]
or eax, ecx
cmp dword [rsp + 0x1e8], eax
jg 0x18002299b
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x180022970
movsx eax, byte [rsp + 0x41]
test eax, eax
je 0x180022970
mov dword [rsp + 0x1ec], 1
jmp 0x18002297b
mov dword [rsp + 0x1ec], 0
movzx eax, byte [0x1800c628f]
movsx eax, al
cmp dword [rsp + 0x1ec], eax
jne 0x18002299b
mov dword [rsp + 0x1f0], 1
jmp 0x1800229a6
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
not eax
test eax, eax
je 0x1800229b5
jmp 0x180022a2e
movsx eax, byte [0x1800c61c6]
test eax, eax
je 0x180022a2e
mov rax, qword [rsp + 0x80]
sub rax, 0x561ea593
mov qword [0x1800c62e0], rax
movzx eax, word [0x1800c62f8]
add eax, dword [rsp + 0x60]
movsx ecx, word [0x1800c62a8]
and eax, ecx
test eax, eax
jne 0x1800229fa
mov dword [rsp + 0x1f4], 1
jmp 0x180022a05
mov dword [rsp + 0x1f4], 0
movzx eax, byte [0x1800c6206]
movsx eax, al
movsx ecx, word [0x1800c62a8]
movzx edx, byte [0x1800c6213]
add ecx, edx
sub eax, ecx
sub eax, dword [rsp + 0x1f4]
mov dword [0x1800c62b4], eax
mov dword [rsp + 0x48], 0x64
mov qword [rsp + 0x320], 0
mov qword [rsp + 0xe0], 0
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rsp + 0x40]
movsx rcx, cl
cmp rax, rcx
ja 0x180022a93
movzx eax, byte [rsp + 0x40]
movsx rax, al
cmp qword [rsp + 0x78], rax
jg 0x180022a8e
mov eax, dword [0x1800c62c4]
sub eax, 0x89f5a50f
mov word [0x1800c62dc], ax
mov dword [rsp + 0x70], 0x138c7612
jmp 0x180022baf
cmp qword [rsp + 0xb8], 0
je 0x180022ac3
movzx eax, byte [rsp + 0x43]
movsx ax, al
mov ecx, 2
imul rcx, rcx, 0x500
lea rdx, [0x180274360]
mov word [rdx + rcx], ax
jmp 0x180022baf
movsx eax, byte [0x1800c6211]
test eax, eax
jne 0x180022adc
mov qword [rsp + 0x408], 1
jmp 0x180022ae8
mov qword [rsp + 0x408], 0
mov rax, qword [0x1800c62b8]
cmp rax, qword [rsp + 0x408]
ja 0x180022b06
mov dword [rsp + 0x200], 1
jmp 0x180022b11
mov dword [rsp + 0x200], 0
movsx eax, word [rsp + 0x4c]
test eax, eax
jne 0x180022b27
mov dword [rsp + 0x1f8], 1
jmp 0x180022b32
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x68]
cmp eax, dword [rsp + 0x1f8]
jg 0x180022b4c
mov dword [rsp + 0x1fc], 1
jmp 0x180022b57
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x1fc]
cmp dword [rsp + 0x200], eax
jg 0x180022b7f
mov rax, qword [rsp + 0xa0]
sub rax, 0xd013
mov qword [rsp + 0x80], rax
jmp 0x180022baf
mov rax, qword [rsp + 0xb8]
not rax
test rax, rax
je 0x180022baf
movsx eax, byte [0x1800c61db]
add eax, 0x2fd50d4c
mov ecx, dword [0x1800c6290]
add ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x328], 0
mov qword [rsp + 0xa8], 4
movsx eax, byte [0x1800c61c6]
sub eax, 0x87
mov dword [rsp + 0x60], eax
movzx eax, word [0x1800c62c0]
mov ecx, dword [0x1800c62b0]
add eax, ecx
movzx ecx, word [0x1800c6300]
movzx ecx, cx
mov edx, dword [rsp + 0x70]
not edx
add ecx, edx
sub eax, ecx
mov eax, eax
movzx ecx, word [rsp + 0x58]
movsx ecx, cx
mov edx, dword [rsp + 0x68]
imul ecx, edx
movsxd rcx, ecx
mov rdx, qword [rsp + 0xa0]
not rdx
mov rdi, qword [0x1800c62d0]
xor rdx, rdi
imul rcx, rdx
imul rax, rcx
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x318], rax
cmp qword [rsp + 0x318], 0
je 0x180022c70
cmp qword [rsp + 0x318], 1
je 0x180022c87
cmp qword [rsp + 0x318], 3
je 0x180022cb9
cmp qword [rsp + 0x318], 4
je 0x180022ce6
jmp 0x180022d23
mov rax, qword [rsp + 0x98]
shl rax, 6
mov byte [0x1800c62ab], al
jmp 0x180022d23
movzx eax, word [0x18020f330]
mov word [0x1800c62c8], ax
movzx eax, byte [rsp + 0x43]
movsx rax, al
movabs rcx, 0xab1961359df05
and rax, rcx
not rax
mov word [0x1800c62cc], ax
jmp 0x180022d23
movzx eax, word [rsp + 0x58]
movsx rax, ax
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [0x1800c62ab]
movzx eax, al
shl eax, 2
mov word [rsp + 0x58], ax
jmp 0x180022d23
movzx eax, word [rsp + 0x58]
cwde
imul eax, eax, 0x7ce1
cdqe
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x98], rax
mov eax, 0x994ed6b2
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov byte [0x1800c628f], al
mov qword [rsp + 0x308], 0
movzx eax, byte [0x1800c62ab]
movzx eax, al
imul rax, qword [rsp + 0x98]
mov byte [0x1800c62ab], al
mov qword [rsp + 0x300], 0
mov eax, dword [rsp + 0x338]
mov dword [rsp + 0xc0], eax
mov qword [rsp + 0x98], 2
mov eax, dword [0x1800c6290]
mov eax, eax
sub rax, qword [rsp + 0xa0]
test rax, rax
jne 0x180022d91
mov qword [rsp + 0x418], 1
jmp 0x180022d9d
mov qword [rsp + 0x418], 0
cmp qword [0x1800c6320], 0
jne 0x180022db5
mov qword [rsp + 0x410], 1
jmp 0x180022dc1
mov qword [rsp + 0x410], 0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x410]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x418]
sub rcx, rax
mov rax, rcx
mov dword [0x1800c62d8], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x3d8], rax
cmp qword [rsp + 0x3d8], 0
je 0x180022e1e
cmp qword [rsp + 0x3d8], 1
je 0x180022e3b
cmp qword [rsp + 0x3d8], 2
je 0x180022e89
jmp 0x180022e9d
mov eax, 2
imul rax, rax, 0x2649
lea rcx, [0x180274360]
movsx eax, word [rcx + rax]
mov dword [rsp + 0x68], eax
jmp 0x180022e9d
cmp qword [rsp + 0x90], 0
je 0x180022e57
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov dword [rsp + 0x204], eax
jmp 0x180022e63
movsx eax, word [rsp + 0x5c]
mov dword [rsp + 0x204], eax
movsxd rax, dword [rsp + 0x204]
mov qword [rsp + 0xa8], rax
mov rax, qword [0x1800c62b8]
mov ecx, 0xb45fea72
imul rax, rcx
mov dword [rsp + 0x68], eax
jmp 0x180022e9d
movzx eax, byte [rsp + 0x40]
movsx eax, al
sub eax, 0x24df7d16
cdqe
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x170], 0
mov eax, dword [0x1800c62d8]
not eax
cdqe
mov rcx, qword [0x1800c62b8]
sub rax, rcx
not rax
test rax, rax
je 0x180022f84
movsx eax, byte [rsp + 0x41]
mov ecx, dword [0x1800c630c]
cmp eax, ecx
jl 0x180022ee4
mov dword [rsp + 0x20c], 1
jmp 0x180022eef
mov dword [rsp + 0x20c], 0
movsx eax, byte [rsp + 0x41]
cmp eax, 0x38
jl 0x180022f06
mov dword [rsp + 0x208], 1
jmp 0x180022f11
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x208]
cmp dword [rsp + 0x20c], eax
jne 0x180022f4a
mov dword [0x1800c6290], 0x8ec42f6d
mov eax, dword [0x1800c62c4]
movabs rcx, 0xffffffff5721d0f8
mov edx, dword [rsp + 0x6c]
add rcx, rdx
add eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x180022f82
movsx rax, word [0x1800c62ac]
mov rcx, qword [0x1800c62b8]
sub rax, rcx
test rax, rax
je 0x180022f82
movsx eax, byte [rsp + 0x42]
sar eax, 5
mov byte [0x1800c6211], al
movzx eax, byte [0x1800c6206]
movsx eax, al
imul eax, eax, 0x65
mov dword [0x1800c6318], eax
jmp 0x180022fc5
cmp qword [rsp + 0xb8], 0
je 0x180022fc5
movsx rax, word [rsp + 0x5c]
mov qword [rsp + 0x80], rax
movsx rax, word [rsp + 0x50]
mov rcx, qword [0x1800c62b8]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c62b8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c62b8], rax
mov eax, dword [rsp + 0x33c]
mov dword [rsp + 0x174], eax
lea rax, [rsp + 0x540]
lea rcx, str.Parameter_for_stat
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x340]
mov dword [rsp + 0x2b8], eax
mov byte [rsp + 0x42], 4
movzx eax, byte [0x1800c628e]
movzx eax, al
movabs rcx, 0xebdd55e4d65f0
add rax, rcx
mov dword [0x1800c631c], eax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0xc8], al
cmp byte [rsp + 0xc8], 0
je 0x180023078
cmp byte [rsp + 0xc8], 1
je 0x180023082
cmp byte [rsp + 0xc8], 2
je 0x1800230ad
cmp byte [rsp + 0xc8], 3
je 0x1800230d3
cmp byte [rsp + 0xc8], 4
je 0x180023161
jmp 0x180023178
mov byte [rsp + 0x40], 0x50
jmp 0x180023178
imul eax, dword [rsp + 0x6c], 0xe955
mov dword [0x1800c62ec], eax
mov rax, qword [0x1800c62b8]
movabs rcx, 0x3c00e34a5c8ec
sub rax, rcx
mov byte [rsp + 0x40], al
jmp 0x180023178
movzx eax, word [0x1800c62c8]
movsx rax, ax
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
jmp 0x180023178
mov rax, qword [0x1800c62a0]
mov rcx, qword [rsp + 0xb8]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800230fb
mov dword [rsp + 0x214], 1
jmp 0x180023106
mov dword [rsp + 0x214], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
not eax
imul eax, dword [rsp + 0x60]
test eax, eax
jne 0x180023126
mov dword [rsp + 0x210], 1
jmp 0x180023131
mov dword [rsp + 0x210], 0
movsx eax, byte [0x1800c6267]
sub eax, dword [rsp + 0x60]
mov ecx, dword [0x1800c631c]
imul eax, ecx
mov ecx, dword [rsp + 0x210]
mov edx, dword [rsp + 0x214]
xor edx, ecx
mov ecx, edx
imul eax, ecx
mov word [rsp + 0x54], ax
jmp 0x180023178
movsx eax, word [0x1800c62a8]
movsx ecx, word [0x1800c62ac]
sub eax, ecx
mov word [0x1800c62a8], ax
mov eax, dword [rsp + 0x344]
mov dword [rsp + 0x254], eax
movsx eax, byte [rsp + 0x42]
movsx ecx, word [rsp + 0x4c]
cmp eax, ecx
jge 0x1800231a1
mov dword [rsp + 0x21c], 1
jmp 0x1800231ac
mov dword [rsp + 0x21c], 0
movsx eax, byte [rsp + 0x42]
cmp eax, 0xf
jge 0x1800231c3
mov dword [rsp + 0x218], 1
jmp 0x1800231ce
mov dword [rsp + 0x218], 0
mov eax, dword [rsp + 0x218]
cmp dword [rsp + 0x21c], eax
jg 0x180023292
mov dword [rsp + 0x6c], 2
movzx eax, byte [0x1800c61c7]
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x58]
movsx rcx, cx
mov rdx, qword [0x1800c6298]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
mov dword [0x1800c6304], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x158], eax
cmp dword [rsp + 0x158], 0
je 0x180023249
cmp dword [rsp + 0x158], 1
je 0x180023267
cmp dword [rsp + 0x158], 2
je 0x180023285
jmp 0x180023290
movzx eax, word [rsp + 0x54]
mov ecx, 2
imul rcx, rcx, 0xf4d
lea rdx, [0x180265710]
mov word [rdx + rcx], ax
jmp 0x180023290
movabs rax, 0x1060a3da131a7
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, rcx
mov dword [rsp + 0x60], eax
jmp 0x180023290
mov qword [0x1800c62f0], 0x6b
jmp 0x1800232db
mov eax, dword [0x1800c62c4]
test eax, eax
je 0x1800232db
movzx eax, word [0x1800c6308]
movsx rax, ax
imul rax, qword [0x1800c6310]
movzx ecx, word [0x1800c6308]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800c6308], ax
movzx eax, byte [rsp + 0x44]
movsx eax, al
mov ecx, dword [0x1800c6290]
sub eax, ecx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x348]
mov dword [rsp + 0x354], eax
lea rax, [rsp + 0xb0]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb0]
call fcn.180028ac0
mov rcx, rax
call fcn.180029d60
mov qword [rsp + 0x4d8], rax
movsx eax, byte [0x1800c6267]
movzx ecx, word [0x1800c62c0]
cmp eax, ecx
jl 0x18002332e
jmp 0x18002335a
mov rax, qword [rsp + 0x80]
add rax, 0x23
mov byte [0x1800c62ab], al
imul eax, dword [0x1800c62ec], 0x4be
movzx ecx, byte [rsp + 0x44]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x44], al
lea rax, [rsp + 0xb1]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb1]
call fcn.180028be0
mov rcx, rax
call fcn.180029d20
mov qword [rsp + 0x4e0], rax
mov eax, dword [0x1800c631c]
cdqe
movabs rcx, 0xfff9a1dedd5c9891
mov rdx, qword [rsp + 0x90]
add rcx, rdx
add rax, rcx
mov qword [rsp + 0x90], rax
movzx eax, word [0x1800c6298]
mov word [rsp + 0x54], ax
lea rax, [rsp + 0xb4]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb4]
call fcn.180028d10
mov rcx, rax
call fcn.180029cc0
mov qword [rsp + 0x4e8], rax
movsx eax, byte [0x1800c61db]
movzx ecx, byte [rsp + 0x40]
movsx ecx, cl
cmp eax, ecx
jl 0x1800234d3
mov eax, dword [0x1800c6290]
mov ecx, dword [0x1800c6304]
cmp eax, ecx
jb 0x18002342e
mov rax, qword [rsp + 0xa8]
add rax, 0x24f6da8d
mov dword [rsp + 0x64], eax
jmp 0x1800234d1
movsx eax, byte [0x1800c6267]
test eax, eax
jne 0x180023447
mov qword [rsp + 0x420], 1
jmp 0x180023453
mov qword [rsp + 0x420], 0
movabs rax, 0x4d0e7605c83bb
cmp qword [rsp + 0x420], rax
jl 0x180023475
mov qword [rsp + 0x428], 1
jmp 0x180023481
mov qword [rsp + 0x428], 0
movabs rax, 0xfff829509a5d5096
cmp qword [rsp + 0x428], rax
jge 0x1800234d1
mov rax, qword [0x1800c62f0]
mov ecx, 2
imul rcx, rcx, 0x5027
lea rdx, [0x18027a1e0]
mov word [rdx + rcx], ax
movzx eax, word [0x1800c62dc]
movzx eax, ax
mov rcx, qword [0x1800c62b8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c62b8], rax
jmp 0x18002352d
movzx eax, byte [0x1800c6206]
movsx eax, al
test eax, eax
je 0x18002350c
mov rax, qword [0x1800c62a0]
add rax, 0x58
mov dword [0x1800c62c4], eax
movzx eax, byte [0x1800c62aa]
mov ecx, dword [rsp + 0x60]
lea eax, [rax + rcx - 0x109bfe86]
mov byte [0x1800c62aa], al
jmp 0x18002352d
movsx eax, word [rsp + 0x5c]
not eax
test eax, eax
je 0x18002352d
movzx eax, byte [0x1800c628f]
movsx eax, al
sar eax, 6
cdqe
mov qword [0x1800c62b8], rax
lea rax, [rsp + 0xb2]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb2]
call fcn.180028e00
mov rcx, rax
call fcn.180029d40
mov qword [rsp + 0x460], rax
movzx eax, word [0x1800c62e8]
movzx eax, ax
add eax, 0x2721a960
mov byte [rsp + 0x43], al
lea rax, [rsp + 0xb3]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb3]
call fcn.180028f90
mov rcx, rax
call fcn.180029ce0
mov qword [rsp + 0x4f0], rax
mov eax, dword [rsp + 0x138]
inc eax
cdqe
mov r8, rax
mov edx, 1
lea rcx, [fcn.180090058]
call fcn.18004aa40
mov qword [rsp + 0x320], rax
mov rax, qword [rsp + 0x78]
cmp qword [0x1800c6320], rax
jge 0x1800236b5
movzx eax, byte [0x1800c628f]
movsx eax, al
test eax, eax
je 0x1800236b3
cmp qword [0x1800c6298], 0
jne 0x180023604
mov dword [rsp + 0x220], 1
jmp 0x18002360f
mov dword [rsp + 0x220], 0
mov eax, dword [0x1800c6214]
test eax, eax
jne 0x180023626
mov dword [rsp + 0x224], 1
jmp 0x180023631
mov dword [rsp + 0x224], 0
movsxd rax, dword [rsp + 0x6c]
mov ecx, dword [0x1800c62c4]
not ecx
movsxd rcx, ecx
movabs rdx, 0xfff49493412dd25f
imul rcx, rdx
or rax, rcx
movzx ecx, byte [0x1800c62ab]
movzx ecx, cl
mov edx, dword [rsp + 0x220]
sub edx, ecx
mov ecx, edx
xor ecx, dword [rsp + 0x224]
movsxd rcx, ecx
add rax, rcx
test rax, rax
jne 0x180023687
mov qword [rsp + 0x430], 1
jmp 0x180023693
mov qword [rsp + 0x430], 0
mov rax, qword [rsp + 0x430]
mov qword [0x1800c6328], rax
movzx eax, byte [rsp + 0x44]
movsx eax, al
xor eax, 0x4f761503
mov byte [rsp + 0x41], al
jmp 0x1800236dd
mov byte [rsp + 0x40], 0xe2
movsx eax, word [0x1800c62a8]
movzx ecx, byte [0x1800c61c7]
imul eax, ecx
movsx ecx, word [0x1800c62a8]
sub ecx, eax
mov eax, ecx
mov word [0x1800c62a8], ax
movsxd rax, dword [rsp + 0x138]
mov rcx, qword [rsp + 0x320]
mov byte [rcx + rax], 0
mov dword [rsp + 0x20], 0x104
mov r9, qword [rsp + 0x320]
mov r8, qword [rsp + 0x4d8]
mov edx, 3
mov rcx, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
call fcn.18004aa40
mov dword [rsp + 0x34c], eax
movsxd rax, dword [rsp + 0x138]
mov rcx, qword [rsp + 0x5d8]
lea rax, [rax + rcx + 1]
mov dword [rsp + 0xc0], eax
movzx eax, word [0x1800c62f8]
movzx ecx, byte [rsp + 0x44]
movsx rcx, cl
movabs rdx, 0x8ea99bb7433a9
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0x254]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x170], eax
movsxd rax, dword [rsp + 0xc0]
mov r8, rax
mov edx, 1
lea rcx, [fcn.180090058]
call fcn.18004aa40
mov qword [rsp + 0xe0], rax
movsxd rax, dword [rsp + 0x170]
mov r8, rax
mov edx, 1
lea rcx, [fcn.180090058]
call fcn.18004aa40
mov qword [rsp + 0x328], rax
mov r9, qword [rsp + 0x320]
mov r8, qword [rsp + 0xe0]
mov edx, 2
lea rcx, [0x1800919f0]
call fcn.18004aa40
mov eax, dword [rsp + 0x350]
add eax, 0xab
mov ecx, dword [rsp + 0x228]
mov edx, dword [rsp + 0x228]
sub ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x48], eax
mov byte [0x1800c62aa], 3
movzx eax, byte [0x1800c61c7]
movzx ecx, word [0x1800c62c0]
imul eax, ecx
movzx ecx, byte [0x1800c61c7]
add ecx, eax
mov eax, ecx
mov byte [0x1800c61c7], al
movzx eax, byte [0x1800c62aa]
mov byte [rsp + 0xec], al
cmp byte [rsp + 0xec], 0
je 0x18002387a
cmp byte [rsp + 0xec], 1
je 0x18002389e
cmp byte [rsp + 0xec], 2
je 0x18002390b
cmp byte [rsp + 0xec], 3
je 0x180023989
jmp 0x1800239e2
mov eax, 0x949a
mov word [0x1800c62cc], ax
movsx eax, byte [0x1800c61db]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
jmp 0x1800239e2
movsx eax, byte [0x1800c6267]
test eax, eax
jne 0x1800238b6
mov dword [rsp + 0x22c], 1
jmp 0x1800238c1
mov dword [rsp + 0x22c], 0
movsx eax, byte [rsp + 0x41]
add eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x22c]
mov edx, dword [rsp + 0x70]
sub edx, ecx
mov ecx, edx
add eax, ecx
not eax
cdqe
mov ecx, dword [rsp + 0x64]
movsxd rcx, ecx
mov rdx, qword [0x1800c62f0]
mov rdi, 0xffffffffffffff40
sub rdi, rdx
mov rdx, rdi
add rcx, rdx
xor rax, rcx
mov dword [0x1800c62ec], eax
jmp 0x1800239e2
movzx eax, byte [0x1800c6213]
test eax, eax
jne 0x180023923
mov dword [rsp + 0x230], 1
jmp 0x18002392e
mov dword [rsp + 0x230], 0
movzx eax, byte [0x1800c628e]
movzx eax, al
not eax
mov ecx, dword [rsp + 0x230]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x180023956
mov dword [rsp + 0x234], 1
jmp 0x180023961
mov dword [rsp + 0x234], 0
movzx eax, word [rsp + 0x58]
cwde
mov ecx, dword [rsp + 0x234]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x5c], ax
movsx eax, word [rsp + 0x50]
add eax, dword [0x1800c6318]
mov word [rsp + 0x50], ax
jmp 0x1800239e2
movzx eax, word [0x1800c62c0]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800239b1
mov qword [rsp + 0x438], 1
jmp 0x1800239bd
mov qword [rsp + 0x438], 0
movabs rax, 0xfff649db5b5b4058
mov rcx, qword [0x1800c6310]
add rax, rcx
mov rcx, qword [rsp + 0x438]
add rax, rcx
mov byte [0x1800c6211], al
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x354]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x4e0]
mov r8, qword [rsp + 0xe0]
mov edx, 3
lea rcx, [0x180091ac0]
call fcn.18004aa40
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x80]
sub rax, 0xd7fe
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x238]
mov ecx, dword [rsp + 0x238]
sub eax, ecx
mov ecx, dword [rsp + 0x358]
mov edx, 0x30c
sub edx, ecx
mov ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
xor r9d, r9d
mov r8, qword [rsp + 0xe0]
mov edx, 2
mov rcx, qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
call fcn.18004aa40
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x180023ab0
mov dword [rsp + 0x23c], 1
jmp 0x180023abb
mov dword [rsp + 0x23c], 0
movzx eax, byte [0x1800c6207]
movzx eax, al
sub eax, dword [rsp + 0x23c]
test eax, eax
jne 0x180023add
mov dword [rsp + 0x240], 1
jmp 0x180023ae8
mov dword [rsp + 0x240], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov ecx, dword [rsp + 0x240]
imul ecx, eax
mov eax, ecx
cdqe
movsx rcx, byte [0x1800c61db]
movzx edx, byte [0x1800c628f]
movsx rdx, dl
mov rdi, qword [rsp + 0x90]
add rdi, rdx
mov rdx, rdi
sub rcx, rdx
imul rax, rcx
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, 1
imul rax, rax, 0x33
lea rcx, [0x180279ae0]
movsx ax, byte [rcx + rax]
mov word [rsp + 0x4c], ax
movzx eax, byte [0x18020f330]
mov byte [0x1800c6206], al
mov eax, dword [rsp + 0x35c]
mov ecx, dword [rsp + 0x13c]
xor eax, ecx
mov ecx, dword [rsp + 0x13c]
mov edx, dword [rsp + 0x13c]
sub ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x5d8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x5d0]
mov r8, qword [rsp + 0xe0]
mov edx, 3
lea rcx, [0x180091ac0]
call fcn.18004aa40
mov qword [rsp + 0x78], 0xba13
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800c623e]
not eax
cmp eax, dword [rsp + 0x70]
jne 0x180023be5
mov dword [rsp + 0x244], 1
jmp 0x180023bf0
mov dword [rsp + 0x244], 0
mov eax, dword [0x1800c6290]
mov eax, eax
cmp qword [rsp + 0xa0], rax
je 0x180023c10
mov qword [rsp + 0x440], 1
jmp 0x180023c1c
mov qword [rsp + 0x440], 0
mov rax, qword [rsp + 0xa8]
cmp rax, qword [rsp + 0x440]
jae 0x180023c3b
mov dword [rsp + 0x248], 1
jmp 0x180023c46
mov dword [rsp + 0x248], 0
movzx eax, word [rsp + 0x58]
cwde
sub eax, dword [rsp + 0x244]
mov eax, dword [rsp + 0xcc]
mov ecx, 0x335
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x360]
mov edx, dword [rsp + 0xcc]
sub ecx, edx
sub eax, ecx
mov ecx, dword [rsp + 0xcc]
mov edx, dword [rsp + 0xcc]
xor ecx, edx
mov edx, dword [rsp + 0x364]
mov edi, dword [rsp + 0xcc]
sub edx, edi
imul ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x180023d40
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
je 0x180023cdf
movabs rax, 0x2493880b5c5ad
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x180023d3e
movsx rax, byte [rsp + 0x42]
mov rcx, qword [0x1800c62d0]
sub rcx, rax
mov rax, rcx
movzx ecx, byte [0x1800c623f]
movsx rcx, cl
mov rdx, qword [0x1800c62b8]
imul rcx, rdx
add rax, rcx
test rax, rax
jne 0x180023d1a
mov byte [rsp + 0x88], 1
jmp 0x180023d22
mov byte [rsp + 0x88], 0
movzx eax, byte [rsp + 0x88]
mov byte [rsp + 0x41], al
movsx eax, word [rsp + 0x5c]
sub eax, dword [0x1800c62ec]
mov word [rsp + 0x5c], ax
jmp 0x180023d4b
movzx eax, byte [0x18020f330]
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov r9, qword [rsp + 0x4e8]
mov r8, qword [rsp + 0x328]
mov edx, 2
lea rcx, [0x1800919f0]
call fcn.18004aa40
movzx eax, byte [0x1800c6206]
movsx eax, al
mov ecx, dword [rsp + 0x70]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x140]
mov ecx, dword [rsp + 0x140]
sub eax, ecx
mov ecx, dword [rsp + 0x250]
mov edx, dword [rsp + 0x140]
xor ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x24c]
add ecx, 0xb0
mov edx, dword [rsp + 0x24c]
mov edi, dword [rsp + 0x250]
xor edx, edi
sub ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
lea eax, [rcx + rax + 1]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x328]
add rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0xc0]
mov dword [rsp + 0x20], ecx
mov r9, qword [rsp + 0xe0]
mov r8, rax
mov edx, 3
lea rcx, [0x180091ac0]
call fcn.18004aa40
movzx eax, word [0x1800c62c8]
cwde
test eax, eax
je 0x180023e45
mov rax, qword [rsp + 0xa8]
mov byte [0x1800c6211], al
jmp 0x180023e5a
xor eax, eax
cmp eax, 0x13
je 0x180023e5a
mov eax, dword [0x1800c630c]
inc eax
mov dword [0x1800c630c], eax
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov eax, 3
mov word [rsp + 0x50], ax
mov byte [rsp + 0x42], 0x87
mov rax, qword [0x1800c62f0]
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movsx eax, word [rsp + 0x50]
mov dword [rsp + 0xf0], eax
cmp dword [rsp + 0xf0], 0
je 0x180023ed2
cmp dword [rsp + 0xf0], 1
je 0x180023ef9
cmp dword [rsp + 0xf0], 2
je 0x180023f2a
cmp dword [rsp + 0xf0], 3
je 0x180023f4f
jmp 0x180023f60
movsx eax, word [rsp + 0x5c]
movzx ecx, word [0x1800c6300]
movzx ecx, cx
add eax, ecx
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x60]
add eax, 0xa9
mov dword [0x1800c62c4], eax
jmp 0x180023f60
mov eax, dword [rsp + 0x60]
sub eax, 0xf9
mov eax, eax
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
imul rax, qword [rsp + 0x90], 0x97ca
mov qword [rsp + 0xb8], rax
jmp 0x180023f60
movsx eax, word [rsp + 0x4c]
mov ecx, dword [rsp + 0x68]
add eax, ecx
movsx ecx, word [rsp + 0x4c]
xor ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
mov dword [0x1800c630c], 0xc8ed
jmp 0x180023f60
mov rax, qword [0x1800c6328]
inc rax
mov qword [0x1800c6328], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x144]
mov ecx, dword [rsp + 0x148]
xor eax, ecx
mov ecx, dword [rsp + 0x258]
mov edx, dword [rsp + 0x144]
xor ecx, edx
sub eax, ecx
mov ecx, dword [rsp + 0x144]
mov edx, dword [rsp + 0x258]
sub ecx, edx
mov edx, dword [rsp + 0x148]
mov edi, dword [rsp + 0x148]
xor edx, edi
imul ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x5e8]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x5e0]
mov r8, qword [rsp + 0xe0]
mov edx, 3
lea rcx, [0x1800271d0]
call fcn.18004aa40
movzx eax, byte [0x1800c6212]
mov ecx, dword [0x1800c6290]
add eax, ecx
movzx ecx, byte [0x1800c6212]
add ecx, eax
mov eax, ecx
mov byte [0x1800c6212], al
mov dword [rsp + 0x60], 0xc384e996
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movzx eax, word [0x1800c6300]
movzx eax, ax
add eax, 0x7da2
cdqe
mov qword [rsp + 0x78], rax
mov eax, dword [0x1800c62b0]
mov eax, eax
mov rcx, qword [rsp + 0x80]
not rcx
add rax, rcx
test rax, rax
jne 0x18002405c
mov eax, 1
mov word [rsp + 0xd0], ax
jmp 0x180024066
xor eax, eax
mov word [rsp + 0xd0], ax
movzx eax, word [rsp + 0xd0]
mov word [0x1800c62c0], ax
mov eax, dword [rsp + 0xc4]
imul eax, eax, 0xfe
mov ecx, dword [rsp + 0xc4]
mov edx, dword [rsp + 0x368]
xor ecx, edx
sub eax, ecx
mov ecx, dword [rsp + 0xc4]
mov edx, dword [rsp + 0xc4]
sub ecx, edx
mov edx, dword [rsp + 0xc4]
mov edi, dword [rsp + 0xc4]
add edx, edi
imul ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x43], 0
mov eax, 0xbb7f6e84
mov qword [rsp + 0xa0], rax
imul rax, qword [rsp + 0x90], 0x51e6
mov qword [rsp + 0x90], rax
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x36c], al
cmp byte [rsp + 0x36c], 0
je 0x180024104
jmp 0x180024111
movsx eax, byte [0x1800c61c6]
mov dword [0x1800c631c], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov rdx, qword [rsp + 0x4f0]
mov rcx, qword [rsp + 0xe0]
call fcn.18002bdb0
cmp eax, 1
jne 0x1800253df
movzx eax, word [rsp + 0x58]
cwde
test eax, eax
je 0x180024164
mov eax, 4
imul rax, rax, 0x1818
lea rcx, [0x180339c20]
movsx edx, byte [rsp + 0x42]
and edx, dword [rcx + rax]
mov eax, edx
mov byte [rsp + 0x42], al
jmp 0x18002419e
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x18002417f
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x89], al
jmp 0x18002418d
movzx eax, byte [0x1800c628f]
mov byte [rsp + 0x89], al
movsx rax, byte [rsp + 0x89]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x98]
add rax, 0x23
mov byte [rsp + 0x42], al
mov byte [0x1800c6206], 4
mov eax, dword [0x18020f330]
mov dword [rsp + 0x14c], eax
movsx rax, byte [rsp + 0x42]
cmp rax, qword [0x1800c6310]
jbe 0x180024209
movzx eax, byte [0x1800c628f]
movsx eax, al
movsx ecx, word [rsp + 0x50]
add eax, ecx
mov ecx, dword [0x1800c631c]
imul ecx, ecx, 0xda84793
add eax, ecx
cdqe
mov qword [0x1800c6320], rax
movsx eax, word [rsp + 0x50]
add eax, 0x675c
mov dword [0x1800c62d8], eax
mov eax, dword [rsp + 0x14c]
add eax, 0x273
mov dword [rsp + 0x494], eax
mov eax, dword [rsp + 0x14c]
add eax, 0x344
mov dword [rsp + 0x498], eax
movsx eax, word [0x1800c62fc]
shl eax, 1
cdqe
mov qword [rsp + 0xa8], rax
mov rax, qword [0x1800c6310]
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x14c]
add eax, 0x35e
mov dword [rsp + 0x49c], eax
mov eax, dword [0x1800c62ec]
sub eax, 0xae524d58
mov eax, eax
mov qword [rsp + 0xb8], rax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x150], eax
movsx eax, byte [rsp + 0x41]
movsx ecx, word [0x1800c62ac]
add eax, ecx
movsx ecx, byte [rsp + 0x41]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
mov eax, dword [0x1800c630c]
test eax, eax
je 0x1800242c8
movzx eax, word [rsp + 0x58]
cwde
mov dword [rsp + 0x25c], eax
jmp 0x1800242d9
movzx eax, byte [0x1800c623f]
movsx eax, al
mov dword [rsp + 0x25c], eax
movzx eax, word [rsp + 0x25c]
mov word [0x1800c62ac], ax
mov eax, dword [rsp + 0x150]
add eax, 0x2b4
mov dword [rsp + 0x378], eax
mov eax, dword [rsp + 0x150]
add eax, 0x1a5
mov dword [rsp + 0x374], eax
mov eax, dword [0x1800c6304]
cdqe
cmp qword [0x1800c6310], rax
jb 0x18002432c
mov dword [rsp + 0x264], 1
jmp 0x180024337
mov dword [rsp + 0x264], 0
cmp qword [0x1800c6310], 0x13
jb 0x18002434e
mov dword [rsp + 0x260], 1
jmp 0x180024359
mov dword [rsp + 0x260], 0
mov eax, dword [rsp + 0x260]
cmp dword [rsp + 0x264], eax
jg 0x18002436b
jmp 0x1800243c8
movzx eax, word [0x1800c62cc]
test eax, eax
je 0x1800243c8
mov eax, dword [0x1800c6304]
test eax, eax
je 0x180024392
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x448], rax
jmp 0x1800243a5
movzx eax, byte [0x1800c623f]
movsx rax, al
mov qword [rsp + 0x448], rax
movzx eax, byte [rsp + 0x448]
mov byte [0x1800c62ab], al
movsx eax, word [0x1800c62fc]
movsx ecx, byte [0x1800c61db]
xor eax, ecx
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x150]
add eax, 0xb9
mov dword [rsp + 0x4a0], eax
mov eax, dword [rsp + 0x60]
cmp rax, qword [rsp + 0x80]
jne 0x1800243f6
mov dword [rsp + 0x26c], 1
jmp 0x180024401
mov dword [rsp + 0x26c], 0
cmp dword [rsp + 0x60], 0x54
jne 0x180024415
mov dword [rsp + 0x268], 1
jmp 0x180024420
mov dword [rsp + 0x268], 0
mov eax, dword [rsp + 0x268]
cmp dword [rsp + 0x26c], eax
jg 0x180024552
mov qword [rsp + 0x90], 4
movzx eax, word [rsp + 0x50]
inc ax
mov word [rsp + 0x50], ax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x2f8], rax
cmp qword [rsp + 0x2f8], 0
je 0x18002449d
cmp qword [rsp + 0x2f8], 1
je 0x1800244b7
cmp qword [rsp + 0x2f8], 2
je 0x1800244e1
cmp qword [rsp + 0x2f8], 3
je 0x180024506
cmp qword [rsp + 0x2f8], 4
je 0x180024525
jmp 0x180024550
movsx eax, byte [rsp + 0x41]
movsx ecx, byte [rsp + 0x41]
lea eax, [rcx + rax - 0x68e9]
mov byte [rsp + 0x41], al
jmp 0x180024550
mov eax, 0xffffe3fa
mov word [0x1800c62a8], ax
movzx eax, byte [rsp + 0x44]
movsx eax, al
not eax
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0xa8], rax
jmp 0x180024550
movzx eax, word [0x1800c62f8]
add eax, 0x4a7e
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [0x18020f330]
mov qword [0x1800c6320], rax
jmp 0x180024550
movzx eax, byte [rsp + 0x40]
movsx rax, al
movabs rcx, 0x1eee6140b5c9a
sub rax, rcx
mov qword [0x1800c6328], rax
jmp 0x180024550
movabs rax, 0x2066008559c93
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [rsp + 0x40]
movsx eax, al
mov dword [0x1800c630c], eax
jmp 0x180024557
mov byte [rsp + 0x43], 0xc2
mov eax, dword [0x18020f330]
mov dword [rsp + 0x154], eax
mov eax, dword [0x1800c630c]
add eax, 0x10ce
mov dword [0x1800c62ec], eax
mov eax, dword [rsp + 0x154]
add eax, 0x2b8
mov dword [rsp + 0x470], eax
movabs rax, 0xc3da787549408
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x154]
add eax, 0x33b
mov dword [rsp + 0x4a8], eax
mov eax, dword [rsp + 0x154]
add eax, 0x17e
mov dword [rsp + 0xd8], eax
mov eax, 0xab770776
mov rcx, qword [rsp + 0x98]
imul rcx, rax
mov rax, rcx
movsx rcx, word [rsp + 0x4c]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x17c], eax
movzx eax, byte [0x18020f330]
mov byte [0x1800c6211], al
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x64]
sub eax, ecx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x17c]
add eax, 0x2db
mov dword [rsp + 0x2d0], eax
mov rax, qword [0x1800c62e0]
movabs rcx, 0xa4d205836faa
xor rax, rcx
not rax
mov word [0x1800c62cc], ax
mov eax, dword [rsp + 0x17c]
add eax, 0x1c
mov dword [rsp + 0x37c], eax
mov eax, dword [rsp + 0x17c]
add eax, 0x163
mov dword [rsp + 0x4ac], eax
movzx eax, byte [0x18020f330]
mov byte [0x1800c623f], al
mov eax, dword [0x18020f330]
mov dword [rsp + 0x15c], eax
cmp qword [rsp + 0xb8], 0
je 0x180024713
mov eax, dword [rsp + 0x64]
movzx ecx, byte [0x1800c623f]
movsx ecx, cl
cmp eax, ecx
jle 0x1800246c2
mov dword [rsp + 0x274], 1
jmp 0x1800246cd
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x64]
cmp eax, 0x39
jle 0x1800246e3
mov dword [rsp + 0x270], 1
jmp 0x1800246ee
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
cmp dword [rsp + 0x274], eax
je 0x180024711
movsx eax, byte [rsp + 0x42]
sub eax, 0x54efe57f
cdqe
mov qword [0x1800c62e0], rax
jmp 0x180024730
movsx eax, byte [0x1800c6211]
test eax, eax
je 0x180024730
movzx eax, word [0x1800c6308]
cwde
sub eax, 0x3e1a
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x15c]
add eax, 0x51
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0x15c]
add eax, 0x269
mov dword [rsp + 0x2d4], eax
movzx eax, word [0x1800c62c8]
cwde
sub eax, 0xa3
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x15c]
add eax, 0xd9
mov dword [rsp + 0x3a0], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x160], eax
mov rax, qword [0x1800c62b8]
cmp qword [rsp + 0x98], rax
ja 0x1800247a4
mov dword [rsp + 0x27c], 1
jmp 0x1800247af
mov dword [rsp + 0x27c], 0
cmp qword [rsp + 0x98], 0x58
ja 0x1800247c7
mov dword [rsp + 0x278], 1
jmp 0x1800247d2
mov dword [rsp + 0x278], 0
mov eax, dword [rsp + 0x278]
cmp dword [rsp + 0x27c], eax
jg 0x18002480c
movsxd rax, dword [0x1800c62ec]
movabs rcx, 0xef97aa2d4befd
imul rax, rcx
movzx ecx, byte [rsp + 0x40]
movsx rcx, cl
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
jmp 0x180024829
mov rax, qword [0x1800c62a0]
test rax, rax
je 0x180024829
mov eax, dword [0x1800c62ec]
sub eax, 0x1584
mov byte [0x1800c62ab], al
mov eax, dword [rsp + 0x160]
add eax, 0x44
mov dword [rsp + 0x4b0], eax
xor eax, eax
cmp eax, 0x62a9
je 0x180024848
jmp 0x180024908
movzx eax, byte [0x1800c6212]
test eax, eax
jne 0x18002486e
movzx eax, byte [0x1800c62ab]
movzx eax, al
test eax, eax
jne 0x18002486e
mov dword [rsp + 0x280], 1
jmp 0x180024879
mov dword [rsp + 0x280], 0
movzx eax, byte [rsp + 0x43]
movsx eax, al
cmp dword [rsp + 0x280], eax
jne 0x18002489c
movzx eax, word [0x1800c62f8]
add eax, 0x13bc09d7
mov dword [rsp + 0x70], eax
jmp 0x180024908
xor eax, eax
cmp eax, 0xffffb166
je 0x1800248e0
movzx eax, byte [0x1800c623f]
movsx rax, al
mov rcx, qword [0x1800c6320]
not rcx
sub rax, rcx
mov rcx, qword [rsp + 0x90]
not rcx
movzx edx, word [0x1800c62dc]
movzx edx, dx
sub rcx, rdx
sub rax, rcx
mov dword [0x1800c62b0], eax
jmp 0x180024908
mov rax, qword [0x1800c62e0]
test rax, rax
je 0x180024908
mov eax, dword [0x1800c6304]
cdqe
mov rcx, qword [0x1800c62e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800c62e0], rax
mov eax, dword [rsp + 0x160]
add eax, 0x20f
mov dword [rsp + 0x284], eax
mov eax, dword [rsp + 0x160]
add eax, 0xe0
mov dword [rsp + 0x370], eax
mov eax, dword [rsp + 0x284]
imul eax, eax, 0x96
mov ecx, dword [rsp + 0x370]
mov edx, dword [rsp + 0x284]
imul ecx, edx
cmp eax, ecx
je 0x1800253da
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
jne 0x18002496d
mov dword [rsp + 0x288], 1
jmp 0x180024978
mov dword [rsp + 0x288], 0
movzx eax, word [rsp + 0x54]
movzx eax, ax
cmp dword [rsp + 0x288], eax
jge 0x1800249a9
mov qword [0x1800c62a0], 0x357e
movzx eax, byte [0x1800c62ab]
movzx eax, al
imul eax, eax, 0x32
mov byte [0x1800c623e], al
jmp 0x1800249cf
movzx eax, word [0x1800c6300]
movzx eax, ax
mov rcx, qword [rsp + 0x78]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x78]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x6c]
cmp dword [0x1800c6318], eax
jg 0x1800249e8
mov dword [rsp + 0x290], 1
jmp 0x1800249f3
mov dword [rsp + 0x290], 0
cmp dword [0x1800c6318], 0x28
jg 0x180024a09
mov dword [rsp + 0x28c], 1
jmp 0x180024a14
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
cmp dword [rsp + 0x290], eax
je 0x180024a26
jmp 0x180024a94
movzx eax, word [0x1800c62e8]
movzx eax, ax
not eax
test eax, eax
je 0x180024a94
mov eax, dword [rsp + 0x64]
cdqe
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
cmp qword [rsp + 0x78], 0
je 0x180024a79
mov rax, qword [0x1800c62e0]
mov qword [rsp + 0x450], rax
jmp 0x180024a86
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x450], rax
movzx eax, byte [rsp + 0x450]
mov byte [0x1800c628e], al
mov eax, dword [rsp + 0xc0]
add eax, 4
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x80]
imul rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movsx ecx, byte [0x1800c6211]
add eax, ecx
mov word [rsp + 0x54], ax
mov rax, qword [rsp + 0x460]
mov qword [rsp + 0x4f8], rax
mov qword [rsp + 0x310], 0xffffffffffffffff
inc qword [rsp + 0x310]
mov rax, qword [rsp + 0x4f8]
mov rcx, qword [rsp + 0x310]
cmp byte [rax + rcx], 0
jne 0x180024afe
mov rax, qword [rsp + 0x310]
inc rax
mov dword [rsp + 0x174], eax
movsx eax, word [rsp + 0x4c]
test eax, eax
jne 0x180024b44
mov dword [rsp + 0x294], 1
jmp 0x180024b4f
mov dword [rsp + 0x294], 0
movsx eax, word [rsp + 0x4c]
cmp eax, dword [rsp + 0x294]
je 0x180024b6a
mov dword [rsp + 0x29c], 1
jmp 0x180024b75
mov dword [rsp + 0x29c], 0
movsx eax, byte [0x1800c6267]
test eax, eax
jne 0x180024b8d
mov dword [rsp + 0x298], 1
jmp 0x180024b98
mov dword [rsp + 0x298], 0
mov eax, dword [rsp + 0x298]
cmp dword [rsp + 0x29c], eax
jle 0x180024baa
jmp 0x180024bbc
mov rax, qword [rsp + 0xb8]
add rax, 0xe7
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
movsx rax, byte [rsp + 0x42]
cmp qword [rsp + 0x78], rax
jle 0x180024be8
mov dword [rsp + 0x2a4], 1
jmp 0x180024bf3
mov dword [rsp + 0x2a4], 0
cmp qword [rsp + 0x78], 0x30
jle 0x180024c08
mov dword [rsp + 0x2a0], 1
jmp 0x180024c13
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x2a0]
cmp dword [rsp + 0x2a4], eax
jle 0x180024c46
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180024d04
cmp dword [0x1800c62d8], 0
je 0x180024c65
xor eax, eax
cmp eax, 0x24fa83e2
je 0x180024c65
mov dword [rsp + 0x2a8], 1
jmp 0x180024c70
mov dword [rsp + 0x2a8], 0
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x6c], eax
je 0x180024c8a
mov dword [rsp + 0x2ac], 1
jmp 0x180024c95
mov dword [rsp + 0x2ac], 0
mov eax, dword [rsp + 0x2ac]
not eax
test eax, eax
je 0x180024d04
movzx eax, byte [0x1800c628f]
movsx eax, al
test eax, eax
je 0x180024cc1
movzx eax, byte [rsp + 0x43]
movsx eax, al
mov dword [rsp + 0x2b0], eax
jmp 0x180024cd2
movzx eax, byte [0x1800c628e]
movzx eax, al
mov dword [rsp + 0x2b0], eax
movzx eax, byte [rsp + 0x2b0]
mov byte [rsp + 0x43], al
movzx eax, word [0x1800c62cc]
movzx ecx, byte [0x1800c62ab]
movzx ecx, cl
imul eax, ecx
movzx ecx, word [0x1800c62cc]
sub ecx, eax
mov eax, ecx
mov word [0x1800c62cc], ax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x174]
mov r8, rax
mov edx, 1
lea rcx, [fcn.180090058]
call fcn.18004aa40
mov qword [rsp + 0x308], rax
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movzx eax, byte [rsp + 0x43]
movsx eax, al
add eax, 0xcd05
mov dword [0x1800c62b0], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x40], 1
movsx eax, word [0x1800c62ac]
movzx ecx, byte [0x1800c6206]
movsx ecx, cl
sub eax, ecx
mov word [0x1800c62ac], ax
mov rax, qword [rsp + 0x98]
shr rax, 3
mov word [0x1800c62f8], ax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x2b4], al
cmp byte [rsp + 0x2b4], 0
je 0x180024da9
cmp byte [rsp + 0x2b4], 1
je 0x180024dc8
jmp 0x180024df5
mov eax, 1
imul rax, rax, 0xb7ec
lea rcx, [0x180360df0]
movzx edx, byte [0x1800c6318]
mov byte [rcx + rax], dl
jmp 0x180024df5
mov rax, qword [0x1800c6310]
add rax, 0x54a3
mov byte [0x1800c6211], al
mov eax, 1
imul rax, rax, 0x2a
lea rcx, [0x1802a2e40]
movzx edx, byte [0x1800c62f8]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x374]
mov ecx, dword [rsp + 0x378]
sub ecx, 0x137
lea eax, [rax + rcx + 0x137]
imul eax, eax, 0
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movsxd rax, dword [rsp + 0x2b8]
mov r8, rax
mov edx, 1
lea rcx, [fcn.180090058]
call fcn.18004aa40
mov qword [rsp + 0x300], rax
movsx eax, word [0x1800c62a8]
add eax, 0x1374613f
mov word [rsp + 0x5c], ax
movsx eax, byte [0x1800c6211]
sar eax, 5
mov byte [0x1800c6266], al
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800c6206]
movsx eax, al
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp eax, ecx
jl 0x180024fb9
mov byte [0x1800c628f], 3
mov eax, 0x902c7084
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov word [0x1800c62cc], ax
movzx eax, byte [rsp + 0x43]
movsx eax, al
test eax, eax
je 0x180024ec3
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0x458], rax
jmp 0x180024ed3
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x458]
mov qword [0x1800c6328], rax
movzx eax, byte [0x1800c628f]
mov byte [rsp + 0xd4], al
cmp byte [rsp + 0xd4], 0
je 0x180024f1d
movzx eax, byte [0x1800c623f]
movsx eax, al
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
not eax
cdqe
mov qword [0x1800c62b8], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov r9, qword [rsp + 0x460]
mov r8, qword [rsp + 0x308]
mov edx, 2
lea rcx, [0x1800919f0]
call fcn.18004aa40
mov eax, dword [0x1800c6214]
cmp dword [rsp + 0x70], eax
ja 0x180025020
mov dword [rsp + 0x2c0], 1
jmp 0x18002502b
mov dword [rsp + 0x2c0], 0
cmp dword [rsp + 0x70], 0x61
jg 0x18002503f
jmp 0x1800257f2
mov rax, qword [rsp + 0xa8]
not rax
movsx ecx, word [0x1800c62a8]
mov edx, dword [0x1800c6214]
add edx, ecx
mov ecx, edx
mov ecx, ecx
cmp rax, rcx
jne 0x18002540f
mov dword [rsp + 0x2d8], 1
jmp 0x18002541a
mov dword [rsp + 0x2d8], 0
movzx eax, byte [0x1800c62aa]
cmp eax, dword [rsp + 0x2d8]
jge 0x1800254a0
movzx eax, byte [0x1800c6206]
movsx eax, al
test eax, eax
je 0x180025446
mov eax, dword [0x18020f330]
mov dword [0x1800c6304], eax
jmp 0x18002549e
movsx rax, byte [rsp + 0x41]
sub rax, qword [rsp + 0x98]
movsx rcx, byte [rsp + 0x41]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x41], al
movsx eax, byte [0x1800c61db]
test eax, eax
je 0x180025480
mov rax, qword [0x1800c6298]
mov qword [rsp + 0x468], rax
jmp 0x180025491
movzx eax, byte [rsp + 0x40]
movsx rax, al
mov qword [rsp + 0x468], rax
mov eax, dword [rsp + 0x468]
mov dword [0x1800c6214], eax
jmp 0x1800254bd
mov eax, dword [0x1800c62c4]
test eax, eax
je 0x1800254bd
mov rax, qword [0x1800c62a0]
sub rax, 0xcd0d
mov dword [0x1800c6214], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x164]
add eax, 0x35a
mov dword [rsp + 0x394], eax
mov eax, dword [0x1800c6304]
cdqe
sub rax, qword [rsp + 0xb8]
mov ecx, dword [0x1800c62c4]
add ecx, 0x79df1643
movsxd rcx, ecx
xor rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x164]
add eax, 0x27b
mov dword [rsp + 0x2e0], eax
movzx eax, byte [0x1800c628e]
movzx eax, al
movsx ecx, word [0x1800c62ac]
not ecx
cmp eax, ecx
je 0x18002556d
mov rax, qword [0x1800c6328]
test rax, rax
je 0x18002554e
mov eax, dword [0x1800c62d8]
shl eax, 5
mov byte [0x1800c6213], al
jmp 0x18002556d
xor eax, eax
cmp eax, 0xa43a
je 0x18002556d
mov eax, dword [0x18020f330]
mov dword [0x1800c631c], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x164]
add eax, 0x2a9
mov dword [rsp + 0x4b4], eax
mov eax, dword [0x18020f330]
mov dword [rsp + 0x168], eax
movsx rax, byte [rsp + 0x42]
mov rcx, qword [rsp + 0xa0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x384]
mov ecx, dword [rsp + 0x168]
add eax, ecx
mov dword [rsp + 0x2dc], eax
movsx eax, word [rsp + 0x50]
test eax, eax
je 0x1800255dc
movzx eax, byte [rsp + 0x43]
movsx eax, al
imul eax, dword [rsp + 0x6c]
mov byte [rsp + 0x43], al
jmp 0x18002560b
movsx eax, byte [rsp + 0x41]
test eax, eax
je 0x18002560b
movzx eax, word [0x18020f330]
mov word [0x1800c62c0], ax
movzx eax, word [0x1800c62dc]
movzx eax, ax
mov ecx, dword [rsp + 0x64]
imul eax, ecx
mov word [0x1800c62dc], ax
mov eax, dword [rsp + 0x388]
mov ecx, dword [rsp + 0x168]
add eax, ecx
mov dword [rsp + 0x16c], eax
movzx eax, byte [rsp + 0x43]
movsx rax, al
mov rcx, qword [0x1800c62d0]
xor rax, rcx
not rax
movsx rcx, word [rsp + 0x5c]
imul rax, rcx
mov ecx, dword [rsp + 0x70]
not ecx
movsx edx, byte [rsp + 0x42]
xor ecx, edx
movzx edx, byte [rsp + 0x44]
movsx edx, dl
mov edi, dword [rsp + 0x68]
imul edx, edi
not edx
add ecx, edx
movsxd rcx, ecx
add rax, rcx
not rax
mov byte [0x1800c6266], al
mov eax, dword [rsp + 0x38c]
mov ecx, dword [rsp + 0x168]
add eax, ecx
mov dword [rsp + 0x390], eax
mov eax, dword [rsp + 0x16c]
mov ecx, dword [rsp + 0x2dc]
sub eax, ecx
mov ecx, dword [rsp + 0x2dc]
mov edx, dword [rsp + 0x16c]
imul ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x16c]
mov edx, dword [rsp + 0x390]
add ecx, edx
cmp eax, ecx
je 0x1800257f2
mov eax, dword [0x1800c6304]
cdqe
mov rcx, qword [0x1800c6320]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x68]
cdqe
movzx ecx, byte [rsp + 0x44]
movsx rcx, cl
mov rdx, qword [rsp + 0x98]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
not rax
movsxd rcx, dword [rsp + 0x70]
sub rax, rcx
mov word [0x1800c62a8], ax
mov eax, dword [0x1800c6304]
cdqe
movabs rcx, 0x750cf217226f8
and rax, rcx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x64]
sub eax, 0x4b87
mov dword [0x1800c6214], eax
mov rax, qword [0x1800c62d0]
sub rax, 0x2d
mov byte [0x1800c6206], al
mov eax, dword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x2e0]
xor eax, ecx
mov ecx, dword [rsp + 0x394]
mov edx, 0x15
sub edx, ecx
mov ecx, edx
imul eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x328]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x308], rax
movzx eax, word [0x1800c62c0]
test eax, eax
jne 0x1800257aa
mov dword [rsp + 0x2e4], 1
jmp 0x1800257b5
mov dword [rsp + 0x2e4], 0
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x2e4]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c6290]
add ecx, 0xffffff85
not ecx
and eax, ecx
mov byte [0x1800c62ab], al
mov eax, 0x27b7
mov word [0x1800c62c8], ax
lea rax, [0x1800a0692]
mov qword [rsp + 0x300], rax
mov dword [0x1800c630c], 0
movzx eax, byte [0x1800c6213]
sub rax, qword [rsp + 0x90]
mov byte [0x1800c6213], al
mov eax, dword [0x1800c630c]
mov dword [rsp + 0x398], eax
cmp dword [rsp + 0x398], 0
je 0x18002582a
jmp 0x180025854
movzx eax, byte [0x1800c62ab]
movzx eax, al
movzx ecx, byte [0x1800c6207]
movzx ecx, cl
sub eax, ecx
movzx ecx, byte [0x1800c62ab]
movzx ecx, cl
or ecx, eax
mov eax, ecx
mov byte [0x1800c62ab], al
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x5f8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5f0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x300]
lea rdx, [0x1800a0693]
mov rcx, qword [rsp + 0x308]
call fcn.18001eed0
mov dword [rsp + 0x2e8], eax
mov rax, qword [rsp + 0x80]
add rax, 0x3595
mov word [0x1800c6308], ax
mov eax, dword [rsp + 0x2e8]
add rsp, 0x5b8
pop rdi
pop rsi
ret