Function at 0x1800666e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
push rsi
push rdi
mov eax, 0x2ae8
call fcn.1800a3e10
sub rsp, rax
movzx eax, byte [0x1800e367f]
movzx eax, al
mov word [rsp + 0x6a4], ax
mov qword [rsp + 0x68], 0x1282
movzx eax, byte [0x1800e36b8]
mov byte [rsp + 0x31], al
mov dword [rsp + 0x54], 0xf59c
mov byte [rsp + 0x39], 0xda
mov eax, dword [0x1800e373c]
mov byte [rsp + 0x36], al
movzx eax, word [0x1800e3710]
mov word [rsp + 0x40], ax
mov byte [rsp + 0x33], 0x3f
movzx eax, byte [0x1800e36f8]
mov byte [rsp + 0x32], al
movzx eax, byte [0x1800e3758]
mov byte [rsp + 0x37], al
mov dword [rsp + 0x58], 0xf
mov qword [rsp + 0x70], 0x57
movzx eax, byte [0x1800e3740]
mov byte [rsp + 0x35], al
mov byte [rsp + 0x30], 0x56
mov eax, 0xeb
mov word [rsp + 0x48], ax
movzx eax, word [0x1800e36c8]
movsx rax, ax
mov qword [rsp + 0x60], rax
mov eax, dword [0x1800e3758]
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x3a], 0x81
movzx eax, word [0x1800e3758]
mov word [rsp + 0x44], ax
mov rax, qword [0x1800e3730]
mov byte [rsp + 0x34], al
mov eax, 0xd8
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e3708]
mov byte [rsp + 0x38], al
mov eax, dword [0x1800e3770]
mov word [rsp + 0x3c], ax
mov eax, 0x718e
mov word [rsp + 0x6a8], ax
mov eax, dword [0x1800e375c]
mov dword [rsp + 0x7a8], eax
movzx eax, byte [0x1800e36c0]
mov byte [rsp + 0x18c], al
mov eax, 0xae30
mov word [rsp + 0x6ac], ax
movabs rax, 0xfd57335f31f3a
mov qword [rsp + 0x8c8], rax
mov dword [rsp + 0x7ac], 0xb2
mov qword [rsp + 0x8d0], 0xf0af
mov dword [rsp + 0x7b0], 0x1c69105a
mov byte [rsp + 0xe0], 0x67
mov qword [rsp + 0x8d8], 0x6c1c738f
mov eax, 0x2a57
mov word [rsp + 0x688], ax
mov dword [rsp + 0x7b4], 0x33
movzx eax, byte [0x1800e362d]
movzx eax, al
mov dword [rsp + 0x7b8], eax
mov qword [rsp + 0x8e0], 0x9a
mov eax, dword [0x1800e3764]
mov eax, eax
mov qword [rsp + 0x8e8], rax
mov byte [rsp + 0xe1], 0x63
mov byte [rsp + 0xe2], 0xfc
movsx rax, byte [0x1800e362f]
mov qword [rsp + 0x8f0], rax
mov eax, dword [0x1800e3758]
mov qword [rsp + 0x8f8], rax
movabs rax, 0xcd33f9b781e46
mov qword [rsp + 0x900], rax
mov rax, qword [0x1800e3780]
mov dword [rsp + 0x7bc], eax
movzx eax, byte [0x1800e3740]
mov byte [rsp + 0xe3], al
movzx eax, byte [0x1800e362e]
movzx eax, al
mov dword [rsp + 0x7c0], eax
mov eax, dword [0x1800e3770]
mov byte [rsp + 0xe4], al
mov byte [rsp + 0xe5], 0xde
mov eax, 0xffffe36d
mov word [rsp + 0x68c], ax
mov eax, dword [0x1800e3728]
mov dword [rsp + 0x7c4], eax
movzx eax, byte [0x1800e3657]
movzx eax, al
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
cmp eax, ecx
jg 0x180066961
mov dword [rsp + 0x524], 1
jmp 0x18006696c
mov dword [rsp + 0x524], 0
movsx eax, byte [rsp + 0x39]
cmp eax, dword [0x1800e3728]
jle 0x180066986
mov dword [rsp + 0x208], 1
jmp 0x180066991
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x524]
not eax
or eax, dword [rsp + 0x208]
test eax, eax
jne 0x180066a08
mov rax, qword [0x1800e3730]
mov ecx, dword [rsp + 0x58]
mov ecx, ecx
cmp rax, rcx
jne 0x1800669c4
mov dword [rsp + 0x210], 1
jmp 0x1800669cf
mov dword [rsp + 0x210], 0
movzx eax, word [0x1800e36e0]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
jl 0x1800669ed
mov dword [rsp + 0x20c], 1
jmp 0x1800669f8
mov dword [rsp + 0x20c], 0
mov eax, dword [rsp + 0x20c]
cmp dword [rsp + 0x210], eax
jne 0x180066a0a
jmp 0x180066a34
movzx eax, byte [rsp + 0x36]
movzx eax, al
not eax
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
not ecx
xor eax, ecx
movsx ecx, byte [rsp + 0x3a]
add ecx, 0xc6525e28
or eax, ecx
mov word [0x1800e36f0], ax
mov eax, dword [0x180ada590]
mov dword [rsp + 0xe8], eax
movabs rax, 0x24b76e106581f
mov qword [0x1800e36e8], rax
mov rax, qword [rsp + 0x68]
mov ecx, 0xe6ed0a49
sub rax, rcx
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0xe8]
add eax, 0x10a
mov dword [rsp + 0x7c8], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x283
mov dword [rsp + 0x260], eax
mov eax, dword [rsp + 0x58]
add eax, 0xb4f3
mov byte [rsp + 0x37], al
movzx eax, byte [0x1800e362d]
movzx eax, al
sub eax, 0x596ccc56
mov dword [0x1800e36cc], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x114
mov dword [rsp + 0x7cc], eax
movzx eax, byte [rsp + 0x37]
movzx eax, al
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
sub eax, ecx
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x37], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0xec]
add eax, 0x33a
mov dword [rsp + 0x300], eax
movzx eax, byte [rsp + 0x33]
movsx eax, al
movsx ecx, byte [rsp + 0x34]
cmp eax, ecx
jle 0x180066b20
mov dword [rsp + 0x218], 1
jmp 0x180066b2b
mov dword [rsp + 0x218], 0
movzx eax, byte [rsp + 0x33]
movsx eax, al
cmp eax, 0x40
jle 0x180066b45
mov dword [rsp + 0x214], 1
jmp 0x180066b50
mov dword [rsp + 0x214], 0
mov eax, dword [rsp + 0x214]
cmp dword [rsp + 0x218], eax
je 0x180066b7c
mov eax, dword [0x1800e3708]
mov eax, eax
movabs rcx, 0xedd96164be1cc
add rax, rcx
mov word [0x1800e376c], ax
mov eax, dword [rsp + 0xec]
add eax, 0x72
mov dword [rsp + 0x7d0], eax
mov eax, dword [rsp + 0xec]
add eax, 0x15d
mov dword [rsp + 0x304], eax
mov qword [rsp + 0x68], 3
movzx eax, byte [0x1800e3656]
movzx eax, al
sub eax, 0xd3a4b6ea
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x530], rax
cmp qword [rsp + 0x530], 0
je 0x180066c06
cmp qword [rsp + 0x530], 1
je 0x180066c78
cmp qword [rsp + 0x530], 2
je 0x180066cd0
cmp qword [rsp + 0x530], 3
je 0x180066d09
jmp 0x180066d16
movzx eax, word [0x1800e36f4]
movzx eax, ax
test eax, eax
jne 0x180066c21
mov dword [rsp + 0x21c], 1
jmp 0x180066c2c
mov dword [rsp + 0x21c], 0
movsx eax, byte [rsp + 0x31]
movzx ecx, word [0x1800e3760]
movzx ecx, cx
add eax, ecx
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
add ecx, dword [rsp + 0x21c]
sub eax, ecx
cdqe
movsx ecx, byte [rsp + 0x31]
movsx edx, byte [0x1800e362f]
imul ecx, edx
movsxd rcx, ecx
mov rdx, qword [0x1800e3778]
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x39], al
jmp 0x180066d16
movzx eax, byte [rsp + 0x37]
movzx eax, al
mov rcx, qword [0x1800e3780]
imul rcx, rax
mov rax, rcx
mov qword [0x1800e3780], rax
movsx eax, byte [rsp + 0x3a]
test eax, eax
je 0x180066cb0
movzx eax, byte [rsp + 0x32]
movzx eax, al
mov qword [rsp + 0x710], rax
jmp 0x180066cbf
mov rax, qword [0x1800e36e8]
mov qword [rsp + 0x710], rax
movzx eax, word [rsp + 0x710]
mov word [0x1800e372c], ax
jmp 0x180066d16
mov eax, 4
imul rax, rax, 0xa5
lea rcx, [0x180cf44e0]
mov edx, dword [0x1800e3708]
add edx, dword [rcx + rax]
mov eax, edx
mov dword [0x1800e3708], eax
mov rax, qword [0x1800e36d0]
sub rax, 0xfca5
mov dword [0x1800e3770], eax
jmp 0x180066d16
mov eax, dword [0x180ada590]
mov qword [0x1800e3750], rax
mov eax, dword [0x180ada590]
mov dword [rsp + 0xf0], eax
cmp qword [0x1800e3710], 0
je 0x180066d40
movzx eax, byte [rsp + 0x33]
movsx rax, al
mov qword [rsp + 0x718], rax
jmp 0x180066d4f
mov rax, qword [0x1800e36d8]
mov qword [rsp + 0x718], rax
movzx eax, byte [rsp + 0x718]
mov byte [0x1800e3657], al
movzx eax, byte [0x1800e367f]
movzx eax, al
add eax, dword [0x1800e3768]
mov eax, eax
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xaf30e2e646362
add rax, rdx
add rax, rcx
test rax, rax
jne 0x180066d96
mov dword [rsp + 0x220], 1
jmp 0x180066da1
mov dword [rsp + 0x220], 0
movzx eax, byte [rsp + 0x37]
movzx eax, al
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
mov rdx, qword [rsp + 0x68]
sub rcx, rdx
xor rax, rcx
test rax, rax
jne 0x180066dd0
mov dword [rsp + 0x224], 1
jmp 0x180066ddb
mov dword [rsp + 0x224], 0
mov eax, dword [rsp + 0x220]
imul eax, dword [rsp + 0x224]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0xf0]
add eax, 0xa7
mov dword [rsp + 0x554], eax
movzx eax, word [0x1800e3744]
cwde
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
cmp eax, ecx
jg 0x180066e22
mov dword [rsp + 0x22c], 1
jmp 0x180066e2d
mov dword [rsp + 0x22c], 0
movzx eax, word [0x1800e3744]
cwde
cmp eax, 0x4b
jg 0x180066e47
mov dword [rsp + 0x228], 1
jmp 0x180066e52
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x22c], eax
jg 0x180066fa9
mov dword [0x1800e36e4], 4
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180066e89
mov eax, dword [0x1800e36bc]
mov dword [rsp + 0x230], eax
jmp 0x180066e98
movzx eax, word [rsp + 0x4c]
movzx eax, ax
mov dword [rsp + 0x230], eax
mov eax, dword [rsp + 0x230]
mov dword [0x1800e3740], eax
movzx eax, word [rsp + 0x44]
add eax, 0xf
mov ecx, dword [0x1800e3770]
or ecx, eax
mov eax, ecx
mov dword [0x1800e3770], eax
mov eax, dword [0x1800e36e4]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0
je 0x180066efb
cmp dword [rsp + 0xd0], 2
je 0x180066f23
cmp dword [rsp + 0xd0], 3
je 0x180066f57
cmp dword [rsp + 0xd0], 4
je 0x180066f89
jmp 0x180066fa7
movzx eax, word [0x1800e36c8]
mov word [0x1800e3760], ax
mov rax, qword [rsp + 0x60]
shr rax, 5
mov word [0x1800e376c], ax
jmp 0x180066fa7
cmp qword [0x1800e3710], 0
je 0x180066f3b
movsx eax, word [rsp + 0x3c]
mov dword [rsp + 0x234], eax
jmp 0x180066f47
movsx eax, byte [rsp + 0x39]
mov dword [rsp + 0x234], eax
movzx eax, byte [rsp + 0x234]
mov byte [0x1800e362e], al
jmp 0x180066fa7
mov eax, dword [0x180ada590]
mov qword [0x1800e3720], rax
mov eax, dword [0x1800e3770]
mov eax, eax
add rax, qword [0x1800e36b0]
mov ecx, dword [0x1800e3770]
mov ecx, ecx
and rcx, rax
mov rax, rcx
mov dword [0x1800e3770], eax
jmp 0x180066fa7
mov eax, 2
imul rax, rax, 0x9b
lea rcx, [0x180b45020]
movzx edx, word [0x1800e3718]
mov word [rcx + rax], dx
jmp 0x180067006
movsx eax, byte [rsp + 0x34]
test eax, eax
je 0x180066fe6
movsx eax, word [rsp + 0x3c]
test eax, eax
jne 0x180066fc9
mov qword [rsp + 0x720], 1
jmp 0x180066fd5
mov qword [rsp + 0x720], 0
mov rax, qword [rsp + 0x720]
mov qword [0x1800e3710], rax
jmp 0x180067006
movzx eax, byte [rsp + 0x36]
movzx eax, al
not eax
test eax, eax
je 0x180067006
movsx eax, byte [rsp + 0x34]
imul eax, eax, 0x87
mov word [0x1800e370c], ax
mov eax, dword [rsp + 0xf0]
add eax, 0xdc
mov dword [rsp + 0x840], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x218
mov dword [rsp + 0x128], eax
movzx eax, byte [0x1800e3657]
movzx eax, al
test eax, eax
je 0x180067045
movzx eax, byte [rsp + 0x35]
mov byte [rsp + 0x78], al
jmp 0x18006704e
movzx eax, byte [rsp + 0x32]
mov byte [rsp + 0x78], al
movzx eax, byte [rsp + 0x78]
mov dword [0x1800e3758], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0xf4], eax
lea rax, [rsp + 0x950]
lea rcx, str.User_SIDs_dont_ma
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x950]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0xf4]
add eax, 0x96aa
mov dword [rsp + 0x83c], eax
mov qword [rsp + 0x68], 0
mov eax, 0x12
mov word [0x1800e376c], ax
mov byte [rsp + 0x3a], 0x82
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x8c0], rax
cmp qword [rsp + 0x8c0], 0
je 0x1800670db
jmp 0x1800670fa
movsx eax, byte [rsp + 0x34]
mov ecx, dword [0x1800e3758]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e3758]
or ecx, eax
mov eax, ecx
mov dword [0x1800e3758], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x7cf2
mov dword [rsp + 0x6a0], eax
movzx eax, byte [0x1800e362d]
movzx eax, al
sub eax, 0x7c4d
mov dword [0x1800e36e4], eax
mov eax, dword [0x1800e3764]
movsx ecx, byte [rsp + 0x34]
lea eax, [rcx + rax + 0xd8]
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0xf4]
add eax, 0x7d
mov dword [rsp + 0x698], eax
mov eax, dword [0x180ada590]
mov qword [rsp + 0x68], rax
mov rax, qword [0x1800e36b0]
not rax
movsx rcx, byte [0x1800e362f]
cmp rax, rcx
jb 0x18006716d
jmp 0x1800671a0
xor eax, eax
cmp eax, 0x16f5
je 0x18006718c
cmp dword [0x1800e3758], 0
je 0x18006718c
mov dword [rsp + 0x238], 1
jmp 0x180067197
mov dword [rsp + 0x238], 0
mov eax, dword [rsp + 0x238]
not eax
mov eax, dword [rsp + 0x6a0]
mov ecx, dword [rsp + 0x698]
sub eax, ecx
mov ecx, 0x7d4e
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x560], eax
movzx eax, byte [rsp + 0x35]
movzx eax, al
cmp dword [rsp + 0x50], eax
jb 0x180067211
mov eax, dword [0x1800e36cc]
sub eax, 0xd60d
mov byte [0x1800e367f], al
cmp qword [0x1800e36b0], 0
jne 0x1800671f6
mov dword [rsp + 0x23c], 1
jmp 0x180067201
mov dword [rsp + 0x23c], 0
mov eax, dword [rsp + 0x23c]
add eax, 0x3a3635c5
mov byte [rsp + 0x35], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0xf8], eax
lea rax, [rsp + 0x908]
lea rcx, str._Allocate_Heap_Det
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x908]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [0x1800e3700], rax
mov eax, dword [rsp + 0xf8]
add eax, 0xa3
mov dword [rsp + 0x538], eax
mov eax, dword [rsp + 0x58]
not eax
mov word [0x1800e376c], ax
mov eax, dword [0x1800e3708]
mov ecx, dword [0x1800e373c]
add eax, ecx
mov ecx, dword [0x1800e3708]
or ecx, eax
mov eax, ecx
mov dword [0x1800e3708], eax
mov eax, dword [rsp + 0xf8]
add eax, 0xb20b
mov dword [rsp + 0x838], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x93
mov dword [rsp + 0x69c], eax
movzx eax, byte [rsp + 0x36]
movzx eax, al
cmp rax, qword [0x1800e36c0]
jg 0x1800672d3
mov dword [rsp + 0x240], 1
jmp 0x1800672de
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
not eax
mov ecx, dword [0x1800e3738]
cmp eax, ecx
jl 0x1800672fe
mov dword [rsp + 0x244], 1
jmp 0x180067309
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
not eax
test eax, eax
je 0x180067318
jmp 0x18006733d
movsx eax, byte [0x1800e362f]
sub eax, 0xbf
mov word [0x1800e3774], ax
mov eax, dword [0x1800e3740]
add eax, 0xf3fc74ed
mov word [0x1800e372c], ax
mov rax, qword [0x1800e3778]
mov rcx, qword [rsp + 0x70]
add rax, rcx
mov rcx, qword [0x1800e3778]
add rcx, rax
mov rax, rcx
mov qword [0x1800e3778], rax
mov eax, dword [rsp + 0x69c]
imul eax, eax, 0x4d
mov ecx, dword [rsp + 0x538]
imul ecx, ecx, 0xca81
imul eax, ecx
mov eax, eax
movabs rcx, 0x1644f99b55
sub rax, rcx
mov dword [rsp + 0x564], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0xfc], eax
movzx eax, byte [0x1800e367e]
movzx eax, al
mov ecx, dword [0x1800e3708]
cmp eax, ecx
je 0x1800673be
mov dword [rsp + 0x24c], 1
jmp 0x1800673c9
mov dword [rsp + 0x24c], 0
movzx eax, byte [0x1800e367e]
movzx eax, al
cmp eax, 7
je 0x1800673e5
mov dword [rsp + 0x248], 1
jmp 0x1800673f0
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
cmp dword [rsp + 0x24c], eax
je 0x180067435
cmp dword [0x1800e3728], 0
je 0x18006741a
mov rax, qword [0x1800e36e8]
mov qword [rsp + 0x728], rax
jmp 0x180067426
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x728], rax
mov rax, qword [rsp + 0x728]
mov qword [rsp + 0x68], rax
jmp 0x1800674a2
mov rax, qword [0x1800e3778]
test rax, rax
je 0x18006749a
mov eax, dword [0x1800e3768]
cmp rax, qword [rsp + 0x60]
jb 0x18006749a
mov rax, qword [rsp + 0x60]
sub rax, 0x3b
mov dword [0x1800e3758], eax
mov eax, dword [0x1800e3770]
test eax, eax
jne 0x180067474
mov dword [rsp + 0x250], 1
jmp 0x18006747f
mov dword [rsp + 0x250], 0
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov ecx, dword [rsp + 0x250]
xor ecx, eax
mov eax, ecx
mov dword [0x1800e3758], eax
jmp 0x1800674a2
movzx eax, byte [rsp + 0x35]
movzx eax, al
mov eax, dword [rsp + 0xfc]
add eax, 0x819f
mov dword [rsp + 0x25c], eax
mov rax, qword [0x1800e3780]
mov ecx, dword [0x1800e3758]
cmp rax, rcx
jg 0x1800674d4
mov dword [rsp + 0x258], 1
jmp 0x1800674df
mov dword [rsp + 0x258], 0
mov rax, qword [0x1800e3780]
cmp rax, 0x41
jg 0x1800674f9
mov dword [rsp + 0x254], 1
jmp 0x180067504
mov dword [rsp + 0x254], 0
mov eax, dword [rsp + 0x254]
cmp dword [rsp + 0x258], eax
jle 0x180067522
mov eax, dword [0x180ada590]
mov dword [0x1800e375c], eax
jmp 0x18006756c
movsx eax, word [rsp + 0x3c]
test eax, eax
je 0x18006753e
movzx eax, byte [0x1800e3656]
movzx eax, al
mov qword [0x1800e3710], rax
jmp 0x18006756c
movzx eax, word [rsp + 0x44]
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
cmp eax, ecx
jg 0x18006756c
movabs rax, 0xa94e10c9c8daa
mov rcx, qword [0x1800e3710]
add rcx, rax
mov rax, rcx
mov byte [0x1800e362f], al
mov eax, dword [rsp + 0xfc]
add eax, 0xc6
mov dword [rsp + 0x834], eax
mov rax, qword [0x1800e36d8]
cmp rax, qword [0x1800e36b0]
jbe 0x18006759a
mov qword [0x1800e36b0], 0x80de
mov eax, dword [rsp + 0xfc]
add eax, 0x34a3
mov dword [rsp + 0x830], eax
movsx eax, byte [rsp + 0x39]
mov ecx, 4
imul rcx, rcx, 4
lea rdx, [0x180c9cc40]
mov dword [rdx + rcx], eax
mov rax, qword [0x1800e3750]
add rax, 0xc828
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x25c]
mov ecx, dword [rsp + 0x25c]
or eax, ecx
add eax, 0x14a820
xor eax, 0x15291d
mov dword [rsp + 0x568], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
add eax, 0xc1cb
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x50]
movabs rcx, 0xdd6856337beb2
sub rax, rcx
mov byte [rsp + 0x34], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x104], eax
lea rax, [rsp + 0x978]
lea rcx, str.interaction_requir
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x978]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x104]
add eax, 0x69
mov dword [rsp + 0x540], eax
mov eax, dword [rsp + 0x104]
add eax, 0x75ad
mov dword [rsp + 0x82c], eax
mov eax, 2
mov word [0x1800e372c], ax
movzx eax, word [0x1800e36c8]
cwde
add eax, 0xd2
mov byte [rsp + 0x32], al
imul eax, dword [0x1800e375c], 0x564d
mov eax, eax
mov rcx, qword [0x1800e36e8]
add rcx, rax
mov rax, rcx
mov qword [0x1800e36e8], rax
movzx eax, word [0x1800e372c]
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x100], 0
je 0x1800676f4
cmp dword [rsp + 0x100], 1
je 0x18006771e
cmp dword [rsp + 0x100], 2
je 0x180067737
jmp 0x18006775c
movsx rax, byte [rsp + 0x31]
mov rcx, qword [0x1800e36e8]
add rcx, rax
mov rax, rcx
mov qword [0x1800e36e8], rax
mov eax, dword [rsp + 0x50]
add eax, 0x4929d02f
mov word [rsp + 0x44], ax
jmp 0x18006775c
movsxd rax, dword [rsp + 0x54]
movabs rcx, 0x650e2d9861406
and rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18006775c
mov eax, 2
imul rax, rax, 0x70
lea rcx, [0x180cf4eb0]
movsx eax, word [rcx + rax]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
and ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x104]
add eax, 0xfad4
mov dword [rsp + 0x53c], eax
mov eax, dword [rsp + 0x53c]
mov ecx, dword [rsp + 0x540]
xor eax, ecx
mov ecx, dword [rsp + 0x260]
mov edx, dword [rsp + 0x260]
sub ecx, edx
xor edx, edx
sub edx, ecx
mov ecx, edx
mov edx, 0xffff07ec
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x570], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
cmp qword [0x1800e36f8], rax
jg 0x1800677c6
mov dword [rsp + 0x268], 1
jmp 0x1800677d1
mov dword [rsp + 0x268], 0
cmp qword [0x1800e36f8], 0x64
jg 0x1800677e8
mov dword [rsp + 0x264], 1
jmp 0x1800677f3
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
cmp dword [rsp + 0x268], eax
jge 0x18006781e
movzx eax, byte [rsp + 0x37]
movzx eax, al
movabs rcx, 0xb4aa6465fdce3
xor rax, rcx
mov byte [rsp + 0x34], al
jmp 0x18006783c
movsx eax, byte [rsp + 0x31]
test eax, eax
jne 0x18006783c
movzx eax, byte [0x180ada590]
mov byte [rsp + 0x35], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x50], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x108]
add eax, 0x2ae8
mov dword [rsp + 0x26c], eax
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
je 0x180067897
movzx eax, byte [rsp + 0x30]
movzx eax, al
imul eax, dword [rsp + 0x54]
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
movzx eax, word [rsp + 0x40]
movzx eax, ax
sub eax, 0xc8
cdqe
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x108]
add eax, 0x94c4
mov dword [rsp + 0x544], eax
movzx eax, byte [0x1800e362e]
movzx eax, al
shl eax, 6
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x108]
add eax, 0x5b
mov dword [rsp + 0x828], eax
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [0x1800e3738]
mov ecx, dword [0x1800e3764]
add eax, ecx
mov ecx, dword [0x1800e3738]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e3738], eax
movzx eax, byte [rsp + 0x35]
movzx eax, al
not eax
cdqe
mov rcx, qword [0x1800e3730]
xor rax, rcx
not rax
movzx ecx, byte [rsp + 0x38]
or ecx, 0xb55a
movsxd rcx, ecx
sub rax, rcx
movzx ecx, byte [0x1800e362d]
movzx ecx, cl
mov edx, dword [0x1800e373c]
imul edx, ecx
mov ecx, edx
movsxd rcx, ecx
add rcx, qword [0x1800e36b0]
imul rax, rcx
not rax
mov byte [rsp + 0x36], al
movzx eax, byte [0x180ada590]
mov byte [0x1800e3657], al
mov eax, dword [rsp + 0x544]
mov ecx, dword [rsp + 0x26c]
add eax, ecx
mov ecx, dword [rsp + 0x26c]
add ecx, 0xae76
imul eax, ecx
mov eax, eax
mov ecx, 0xa2bf2a57
sub rax, rcx
mov dword [rsp + 0x578], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x72
mov dword [rsp + 0x548], eax
movsx eax, byte [rsp + 0x3a]
test eax, eax
je 0x1800679bd
jmp 0x180067a67
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x1800679e2
movzx eax, byte [0x180ada590]
mov byte [rsp + 0x33], al
movzx eax, byte [0x180ada590]
mov byte [rsp + 0x33], al
jmp 0x180067a67
movsx eax, byte [rsp + 0x3a]
test eax, eax
je 0x180067a05
movzx eax, word [0x1800e3744]
cwde
mov ecx, dword [0x1800e3728]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e3728], eax
jmp 0x180067a67
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
je 0x180067a67
movzx eax, word [rsp + 0x4c]
movzx eax, ax
test eax, eax
je 0x180067a67
movzx eax, byte [0x1800e367f]
movzx eax, al
test eax, eax
jne 0x180067a38
mov dword [rsp + 0x270], 1
jmp 0x180067a43
mov dword [rsp + 0x270], 0
movzx eax, byte [0x1800e367f]
movzx eax, al
mov ecx, dword [rsp + 0x270]
add ecx, eax
mov eax, ecx
add eax, dword [0x1800e3740]
mov eax, eax
mov qword [0x1800e3718], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x9357
mov dword [rsp + 0x824], eax
movsx rax, byte [rsp + 0x31]
movabs rcx, 0xb3ea9290dbca5
add rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0x40]
movzx eax, ax
sar eax, 3
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x10c]
add eax, 0xe4
mov dword [rsp + 0x820], eax
movzx eax, byte [0x1800e367e]
movzx eax, al
mov rcx, qword [0x1800e36d8]
cmp rax, rcx
jne 0x180067ad8
mov dword [rsp + 0x278], 1
jmp 0x180067ae3
mov dword [rsp + 0x278], 0
movzx eax, byte [0x1800e367e]
movzx eax, al
cmp eax, 0x62
jne 0x180067aff
mov dword [rsp + 0x274], 1
jmp 0x180067b0a
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
cmp dword [rsp + 0x278], eax
jl 0x180067b4d
movsx eax, byte [rsp + 0x3a]
movzx ecx, word [0x1800e36f4]
movzx ecx, cx
and eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [0x1800e36cc]
imul eax, dword [0x1800e375c]
mov ecx, dword [0x1800e36cc]
or ecx, eax
mov eax, ecx
mov dword [0x1800e36cc], eax
mov eax, dword [rsp + 0x548]
imul eax, eax, 0xa7b2
mov ecx, 0x4aaffb
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x57c], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x110], eax
movsxd rax, dword [0x1800e3728]
mov rcx, qword [0x1800e3700]
imul rax, rcx
mov dword [0x1800e3728], eax
mov eax, dword [rsp + 0x110]
add eax, 0x2069
mov dword [rsp + 0x898], eax
mov eax, dword [rsp + 0x110]
add eax, 0x1212
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x110]
add eax, 0x533f
mov dword [rsp + 0x844], eax
movsx eax, byte [rsp + 0x39]
test eax, eax
je 0x180067c20
movsx eax, byte [rsp + 0x39]
movzx ecx, byte [rsp + 0x38]
cmp eax, ecx
jge 0x180067bec
mov dword [rsp + 0x27c], 1
jmp 0x180067bf7
mov dword [rsp + 0x27c], 0
movzx eax, byte [0x1800e367f]
movzx eax, al
cmp eax, dword [rsp + 0x27c]
jne 0x180067c1e
movzx eax, word [0x1800e3744]
cwde
sub eax, dword [0x1800e36e4]
mov dword [0x1800e36e4], eax
jmp 0x180067c32
mov rax, qword [0x1800e36c0]
sar rax, 4
mov qword [0x1800e3710], rax
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x280]
xor eax, ecx
mov ecx, 0x21b
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x580], eax
movzx eax, word [0x1800e36c8]
cwde
mov ecx, dword [0x1800e3708]
cmp eax, ecx
jne 0x180067c71
mov dword [rsp + 0x288], 1
jmp 0x180067c7c
mov dword [rsp + 0x288], 0
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x180067c9a
xor eax, eax
cmp eax, 0x1d
je 0x180067c9a
mov dword [rsp + 0x284], 0
jmp 0x180067ca5
mov dword [rsp + 0x284], 1
mov eax, dword [rsp + 0x284]
cmp dword [rsp + 0x288], eax
jge 0x180067cc2
mov dword [rsp + 0x298], 1
jmp 0x180067ccd
mov dword [rsp + 0x298], 0
mov rax, qword [0x1800e36d8]
cmp rax, 0xe
jbe 0x180067ce7
mov dword [rsp + 0x290], 1
jmp 0x180067cf2
mov dword [rsp + 0x290], 0
movsx rax, byte [0x1800e362f]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jg 0x180067d11
mov dword [rsp + 0x28c], 1
jmp 0x180067d1c
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
cmp dword [rsp + 0x290], eax
jge 0x180067d39
mov dword [rsp + 0x294], 1
jmp 0x180067d44
mov dword [rsp + 0x294], 0
mov eax, dword [rsp + 0x294]
cmp dword [rsp + 0x298], eax
jge 0x180067e20
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x180067d6e
mov rax, qword [0x1800e3780]
test rax, rax
je 0x180067da3
movzx eax, word [0x1800e36f0]
test eax, eax
je 0x180067d86
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x29c], eax
jmp 0x180067d93
mov eax, dword [0x1800e3768]
mov dword [rsp + 0x29c], eax
mov eax, dword [rsp + 0x29c]
mov qword [0x1800e36c0], rax
jmp 0x180067e20
cmp dword [0x1800e3740], 0
je 0x180067dc5
movzx eax, byte [rsp + 0x37]
movzx eax, al
test eax, eax
jne 0x180067dc5
mov dword [rsp + 0x2a4], 1
jmp 0x180067dd0
mov dword [rsp + 0x2a4], 0
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
je 0x180067df3
mov eax, dword [0x1800e36ac]
test eax, eax
je 0x180067df3
mov dword [rsp + 0x2a0], 1
jmp 0x180067dfe
mov dword [rsp + 0x2a0], 0
mov eax, dword [rsp + 0x2a0]
cmp dword [rsp + 0x2a4], eax
jg 0x180067e20
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x1800e3764]
imul eax, ecx
mov byte [rsp + 0x31], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x114], eax
movzx eax, word [rsp + 0x40]
movzx eax, ax
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x114]
add eax, 0xe27e
mov dword [rsp + 0x2b0], eax
cmp dword [0x1800e3740], 0
jne 0x180067e82
movzx eax, word [rsp + 0x44]
test eax, eax
jne 0x180067e82
mov dword [rsp + 0x2a8], 0
jmp 0x180067e8d
mov dword [rsp + 0x2a8], 1
movzx eax, word [rsp + 0x48]
cwde
cmp eax, dword [rsp + 0x2a8]
je 0x180067ea9
mov dword [rsp + 0x2ac], 1
jmp 0x180067eb4
mov dword [rsp + 0x2ac], 0
mov eax, dword [0x1800e373c]
cmp dword [rsp + 0x2ac], eax
jg 0x180067ee4
movzx eax, byte [rsp + 0x32]
movzx eax, al
movsx ecx, word [rsp + 0x3c]
add eax, ecx
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x32], al
jmp 0x180067f12
cmp qword [rsp + 0x60], 0
je 0x180067f12
movzx eax, word [0x1800e36f4]
movzx eax, ax
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
sub eax, ecx
mov dword [rsp + 0x54], eax
movzx eax, word [0x1800e36e0]
mov qword [0x1800e36d8], rax
mov eax, dword [rsp + 0x114]
add eax, 0x27
mov dword [rsp + 0x848], eax
mov eax, dword [rsp + 0x114]
add eax, 0x811b
mov dword [rsp + 0x84c], eax
movzx eax, byte [0x1800e3657]
movzx eax, al
movsx ecx, byte [rsp + 0x31]
cmp eax, ecx
je 0x180067f7b
movzx eax, byte [0x1800e3657]
movzx eax, al
add eax, 0xdb13a202
mov word [rsp + 0x40], ax
mov eax, dword [0x1800e36ac]
mov eax, eax
movabs rcx, 0x2179f09094f2b
add rax, rcx
mov qword [0x1800e36b0], rax
jmp 0x180067fca
cmp dword [0x1800e36bc], 0
je 0x180067fca
movsx rax, byte [rsp + 0x34]
sub rax, qword [0x1800e3718]
movsx rcx, byte [rsp + 0x34]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x34], al
mov eax, dword [0x1800e36e4]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov eax, eax
mov ecx, dword [0x1800e375c]
mov rdx, qword [0x1800e36d0]
and rcx, rdx
sub rax, rcx
mov dword [0x1800e3740], eax
movzx eax, word [0x1800e36c8]
cwde
test eax, eax
je 0x180067fd8
jmp 0x180068018
movzx eax, byte [rsp + 0x30]
movzx eax, al
test eax, eax
je 0x180068018
movzx eax, word [0x1800e36f0]
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
add eax, ecx
cdqe
mov rcx, qword [0x1800e36e8]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x40], ax
mov rax, qword [0x1800e3710]
sub rax, 0x6e
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x2b0]
mov ecx, dword [rsp + 0x2b0]
sub eax, ecx
add eax, 0x4e
mov dword [rsp + 0x584], eax
mov eax, dword [0x1800e3738]
movzx ecx, word [0x1800e36c8]
movsx ecx, cx
cmp eax, ecx
jg 0x180068238
mov eax, dword [0x1800e373c]
test eax, eax
je 0x18006806a
xor eax, eax
cmp eax, 0x97
je 0x18006806a
mov dword [rsp + 0x2c4], 0
jmp 0x180068075
mov dword [rsp + 0x2c4], 1
movzx eax, byte [rsp + 0x35]
movzx eax, al
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jl 0x180068094
mov dword [rsp + 0x2bc], 1
jmp 0x18006809f
mov dword [rsp + 0x2bc], 0
movzx eax, word [0x1800e36f0]
test eax, eax
jne 0x1800680b7
mov dword [rsp + 0x2b4], 1
jmp 0x1800680c2
mov dword [rsp + 0x2b4], 0
movzx eax, word [rsp + 0x44]
cmp eax, dword [rsp + 0x2b4]
jl 0x1800680dd
mov dword [rsp + 0x2b8], 1
jmp 0x1800680e8
mov dword [rsp + 0x2b8], 0
mov eax, dword [rsp + 0x2b8]
cmp dword [rsp + 0x2bc], eax
je 0x180068105
mov dword [rsp + 0x2c0], 1
jmp 0x180068110
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0x2c4], eax
jl 0x1800681b2
movsx eax, word [rsp + 0x3c]
movzx ecx, word [0x1800e376c]
not ecx
sub eax, ecx
cdqe
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
mov rdx, qword [rsp + 0x60]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
movsx ecx, byte [rsp + 0x3a]
movzx edx, byte [rsp + 0x30]
movzx edx, dl
not edx
or ecx, edx
movsxd rcx, ecx
movzx edx, byte [0x1800e367f]
movzx edx, dl
not edx
movsxd rdx, edx
mov rdi, qword [0x1800e3750]
sub rdi, rdx
mov rdx, rdi
sub rcx, rdx
imul rax, rcx
mov byte [0x1800e3656], al
movzx eax, byte [rsp + 0x36]
movzx eax, al
movzx ecx, byte [0x1800e367f]
movzx ecx, cl
sub eax, ecx
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x36], al
jmp 0x180068233
movzx eax, word [0x1800e36f4]
movzx eax, ax
cmp qword [0x1800e3718], rax
jb 0x1800681d2
mov dword [rsp + 0x2c8], 1
jmp 0x1800681dd
mov dword [rsp + 0x2c8], 0
mov eax, dword [rsp + 0x2c8]
not eax
test eax, eax
jne 0x180068200
cmp qword [0x1800e36f8], 0
je 0x180068233
movzx eax, byte [rsp + 0x32]
movzx eax, al
test eax, eax
je 0x180068233
mov eax, dword [0x1800e3708]
add eax, 0xdb04
mov word [0x1800e36f0], ax
movzx eax, word [0x1800e36c8]
cwde
test eax, eax
jne 0x180068225
mov byte [rsp + 0x79], 1
jmp 0x18006822a
mov byte [rsp + 0x79], 0
movzx eax, byte [rsp + 0x79]
mov byte [rsp + 0x36], al
jmp 0x1800682b9
movsx eax, word [rsp + 0x3c]
cmp eax, 0x8e
je 0x180068251
mov dword [rsp + 0x2d0], 1
jmp 0x18006825c
mov dword [rsp + 0x2d0], 0
movzx eax, byte [rsp + 0x32]
movzx eax, al
mov rcx, qword [0x1800e3778]
cmp rax, rcx
ja 0x18006827d
mov dword [rsp + 0x2cc], 1
jmp 0x180068288
mov dword [rsp + 0x2cc], 0
mov eax, dword [rsp + 0x2cc]
not eax
cmp dword [rsp + 0x2d0], eax
je 0x1800682b9
mov rax, qword [0x1800e3780]
and rax, 0x4641383a
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
xor rcx, rax
mov rax, rcx
mov byte [rsp + 0x36], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
add eax, 0x8e23
mov dword [rsp + 0x850], eax
movsx eax, word [0x1800e36b8]
movzx ecx, word [0x1800e36e0]
cmp eax, ecx
jle 0x1800682f8
mov dword [rsp + 0x2d8], 1
jmp 0x180068303
mov dword [rsp + 0x2d8], 0
movsx eax, word [0x1800e36b8]
cmp eax, 0x1c
jle 0x18006831c
mov dword [rsp + 0x2d4], 1
jmp 0x180068327
mov dword [rsp + 0x2d4], 0
mov eax, dword [rsp + 0x2d4]
cmp dword [rsp + 0x2d8], eax
je 0x180068339
jmp 0x18006834c
movzx eax, word [0x1800e36f4]
movzx eax, ax
sub eax, 0x37
mov dword [0x1800e36cc], eax
mov eax, dword [rsp + 0x118]
add eax, 0xc6
mov dword [rsp + 0x550], eax
movzx eax, word [rsp + 0x44]
movzx ecx, byte [0x1800e3656]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x118]
add eax, 0xad
mov dword [rsp + 0x54c], eax
mov dword [rsp + 0x54], 4
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov ecx, dword [0x1800e375c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e375c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e375c], eax
mov rax, qword [0x1800e36e8]
sub rax, 0x60f8187b
movsx rcx, byte [rsp + 0x39]
and rcx, rax
mov rax, rcx
mov byte [rsp + 0x39], al
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], 0
je 0x180068423
cmp dword [rsp + 0xac], 1
je 0x180068448
cmp dword [rsp + 0xac], 2
je 0x180068480
cmp dword [rsp + 0xac], 3
je 0x1800684a8
cmp dword [rsp + 0xac], 4
je 0x1800684df
jmp 0x18006853f
movzx eax, word [rsp + 0x48]
cwde
mov ecx, dword [0x1800e36cc]
xor ecx, eax
mov eax, ecx
mov dword [0x1800e36cc], eax
mov eax, 0x1686
mov word [rsp + 0x44], ax
jmp 0x18006853f
movsx eax, word [rsp + 0x3c]
movzx ecx, word [0x1800e36c8]
movsx ecx, cx
add eax, ecx
mov word [rsp + 0x3c], ax
movzx eax, word [0x1800e36c8]
movsx rax, ax
mov rcx, qword [0x1800e3730]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x35], al
jmp 0x18006853f
mov dword [0x1800e3708], 0xee11
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
lea rax, [rcx + rax - 0xb7]
mov byte [rsp + 0x36], al
jmp 0x18006853f
movzx eax, byte [0x1800e367e]
movzx eax, al
movabs rcx, 0xb010349887599
and rax, rcx
mov dword [rsp + 0x54], eax
movsx ax, byte [rsp + 0x39]
mov ecx, 2
imul rcx, rcx, 0x25
lea rdx, [0x180b45020]
mov word [rdx + rcx], ax
jmp 0x18006853f
movzx eax, word [0x1800e36e0]
imul eax, eax, 0
test eax, eax
jne 0x1800684fa
mov dword [rsp + 0x2dc], 1
jmp 0x180068505
mov dword [rsp + 0x2dc], 0
mov eax, dword [0x1800e3764]
not eax
mov ecx, dword [rsp + 0x2dc]
imul ecx, eax
mov eax, ecx
mov eax, eax
mov qword [0x1800e3778], rax
movzx eax, byte [rsp + 0x33]
movsx eax, al
add eax, 0x74ed74ed
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x54c]
mov ecx, dword [rsp + 0x550]
or eax, ecx
xor eax, 0x39
mov dword [rsp + 0x58c], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x120]
add eax, 0xcc
mov dword [rsp + 0x854], eax
mov rax, qword [0x1800e3780]
test rax, rax
je 0x18006869c
movzx eax, byte [0x1800e367f]
movzx eax, al
test eax, eax
je 0x18006869c
movzx eax, word [0x1800e3774]
movzx eax, ax
cmp qword [0x1800e36f8], rax
jle 0x1800685e5
movsx eax, byte [rsp + 0x31]
test eax, eax
je 0x1800685c5
movsx eax, byte [rsp + 0x34]
mov dword [rsp + 0x2e0], eax
jmp 0x1800685d4
movzx eax, word [0x1800e3744]
cwde
mov dword [rsp + 0x2e0], eax
movzx eax, byte [rsp + 0x2e0]
mov byte [rsp + 0x36], al
jmp 0x180068697
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
je 0x180068606
movzx eax, word [0x1800e370c]
movzx eax, ax
movzx ecx, word [rsp + 0x44]
sub eax, ecx
test eax, eax
je 0x180068617
movzx eax, word [rsp + 0x44]
sub eax, 0x3c
mov byte [rsp + 0x3a], al
jmp 0x180068697
mov eax, dword [0x1800e373c]
cmp eax, 0x47
jne 0x18006862f
mov dword [rsp + 0x2e4], 1
jmp 0x18006863a
mov dword [rsp + 0x2e4], 0
movzx eax, byte [rsp + 0x30]
movzx eax, al
cmp eax, dword [rsp + 0x2e4]
jg 0x180068669
movsx eax, byte [rsp + 0x34]
add eax, 0xebe
cdqe
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x180068697
movzx eax, byte [rsp + 0x36]
movzx eax, al
test eax, eax
je 0x180068697
movzx eax, word [0x1800e36e0]
not eax
cdqe
and rax, qword [rsp + 0x60]
mov dword [0x1800e36cc], eax
mov rax, qword [0x1800e36f8]
mov qword [rsp + 0x68], rax
jmp 0x18006874a
mov rax, qword [0x1800e36e8]
test rax, rax
jne 0x1800686b5
mov dword [rsp + 0x2f0], 1
jmp 0x1800686c0
mov dword [rsp + 0x2f0], 0
movsx eax, byte [rsp + 0x31]
test eax, eax
jne 0x1800686d6
mov dword [rsp + 0x2e8], 1
jmp 0x1800686e1
mov dword [rsp + 0x2e8], 0
mov eax, dword [rsp + 0x2e8]
cmp dword [rsp + 0x50], eax
jbe 0x1800686fb
mov dword [rsp + 0x2ec], 1
jmp 0x180068706
mov dword [rsp + 0x2ec], 0
mov eax, dword [rsp + 0x2ec]
cmp dword [rsp + 0x2f0], eax
je 0x18006874a
mov rax, qword [0x1800e36e8]
sub rax, 0x2c7937c
mov word [rsp + 0x40], ax
movsxd rax, dword [rsp + 0x54]
movabs rcx, 0x4b6bab0d60f8b
sub rax, rcx
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x120]
add eax, 0x9095
mov dword [rsp + 0x858], eax
mov eax, 3
mov word [rsp + 0x40], ax
movzx eax, word [0x1800e376c]
sub eax, 0x7d
cdqe
mov qword [0x1800e36c0], rax
movzx eax, word [rsp + 0x40]
movzx eax, ax
mov dword [rsp + 0x11c], eax
cmp dword [rsp + 0x11c], 0
je 0x1800687a9
cmp dword [rsp + 0x11c], 1
je 0x1800687cd
cmp dword [rsp + 0x11c], 3
je 0x1800687ee
jmp 0x180068818
movzx eax, word [0x180ada590]
mov word [0x1800e36e0], ax
mov eax, dword [0x1800e3740]
mov rcx, qword [rsp + 0x68]
sub rax, rcx
mov dword [0x1800e3740], eax
jmp 0x180068818
movzx eax, byte [rsp + 0x33]
movsx eax, al
sub eax, 0xccc5
mov ecx, dword [0x1800e36ac]
and ecx, eax
mov eax, ecx
mov dword [0x1800e36ac], eax
jmp 0x180068818
movzx eax, word [rsp + 0x4c]
movzx eax, ax
imul eax, eax, 0x1f35640
cdqe
mov rcx, qword [0x1800e36e8]
not rcx
mov edx, 0x80f39b55
imul rcx, rdx
xor rax, rcx
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x120]
add eax, 0xa026
mov dword [rsp + 0x2fc], eax
movsx eax, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x38]
cmp eax, ecx
je 0x180068846
mov dword [rsp + 0x2f8], 1
jmp 0x180068851
mov dword [rsp + 0x2f8], 0
movsx eax, byte [rsp + 0x31]
cmp eax, 0x4f
je 0x180068868
mov dword [rsp + 0x2f4], 1
jmp 0x180068873
mov dword [rsp + 0x2f4], 0
mov eax, dword [rsp + 0x2f4]
mov eax, dword [rsp + 0x2fc]
mov ecx, dword [rsp + 0x2fc]
add eax, ecx
imul eax, eax, 0x5c9b
xor eax, 0x73dd3ecc
mov ecx, dword [rsp + 0x300]
mov edx, dword [rsp + 0x300]
xor ecx, edx
mov edx, dword [rsp + 0x304]
mov edi, dword [rsp + 0x304]
sub edx, edi
sub ecx, edx
sub eax, ecx
mov dword [rsp + 0x590], eax
mov eax, 0x6db4
mov word [rsp + 0x4c], ax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x124]
add eax, 0xc4
mov dword [rsp + 0x85c], eax
mov eax, dword [0x180ada590]
mov dword [0x1800e36bc], eax
mov eax, dword [rsp + 0x124]
add eax, 0x82
mov dword [rsp + 0x310], eax
movzx eax, byte [rsp + 0x32]
movzx eax, al
sub eax, 0xab
mov word [0x1800e372c], ax
movzx eax, word [rsp + 0x4c]
movzx eax, ax
movsx ecx, byte [rsp + 0x3a]
sub eax, ecx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x124]
add eax, 0x16
mov dword [rsp + 0x860], eax
mov rax, qword [0x1800e3780]
mov ecx, dword [0x1800e36ac]
mov ecx, ecx
cmp rax, rcx
jl 0x180068963
mov dword [rsp + 0x30c], 1
jmp 0x18006896e
mov dword [rsp + 0x30c], 0
mov rax, qword [0x1800e3780]
cmp rax, 0x2c
jl 0x180068988
mov dword [rsp + 0x308], 1
jmp 0x180068993
mov dword [rsp + 0x308], 0
mov eax, dword [rsp + 0x308]
cmp dword [rsp + 0x30c], eax
jge 0x1800689a5
jmp 0x1800689d9
movzx eax, word [0x1800e370c]
movzx eax, ax
mov ecx, dword [rsp + 0x58]
cmp eax, ecx
jne 0x1800689d9
mov eax, dword [0x1800e36e4]
not eax
sub eax, 0x8c
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
add ecx, 0x84cf5b37
sub eax, ecx
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x310]
mov ecx, dword [rsp + 0x310]
or eax, ecx
mov ecx, dword [rsp + 0x128]
mov edx, dword [rsp + 0x554]
sub ecx, edx
mov edx, dword [rsp + 0x128]
mov edi, dword [rsp + 0x128]
sub edx, edi
imul ecx, edx
lea eax, [rax + rcx + 0x1c8]
mov dword [rsp + 0x594], eax
mov eax, dword [rsp + 0x58]
mov eax, eax
cmp rax, qword [0x1800e3750]
jg 0x180068a35
mov eax, 0xae4
mov word [0x1800e372c], ax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x12c], eax
movzx eax, word [0x1800e370c]
movzx eax, ax
movzx ecx, word [0x1800e36c8]
movsx ecx, cx
cmp eax, ecx
jg 0x180068a67
mov dword [rsp + 0x318], 1
jmp 0x180068a72
mov dword [rsp + 0x318], 0
movzx eax, word [0x1800e370c]
movzx eax, ax
cmp eax, 0xa
jg 0x180068a8e
mov dword [rsp + 0x314], 1
jmp 0x180068a99
mov dword [rsp + 0x314], 0
mov eax, dword [rsp + 0x314]
cmp dword [rsp + 0x318], eax
jge 0x180068bb5
mov eax, 4
mov word [0x1800e36b8], ax
movzx eax, word [0x180ada590]
mov word [rsp + 0x3c], ax
movsx eax, word [0x1800e36b8]
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
je 0x180068b12
cmp dword [rsp + 0xb0], 1
je 0x180068b2c
cmp dword [rsp + 0xb0], 2
je 0x180068b4f
cmp dword [rsp + 0xb0], 3
je 0x180068b82
cmp dword [rsp + 0xb0], 4
je 0x180068b9f
jmp 0x180068bb3
movzx eax, byte [rsp + 0x33]
movsx eax, al
movzx ecx, word [0x1800e36e0]
sub eax, ecx
mov byte [rsp + 0x33], al
jmp 0x180068bb3
mov eax, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
imul eax, dword [0x1800e3768], 0xe0e3abcd
mov eax, eax
mov qword [rsp + 0x70], rax
jmp 0x180068bb3
mov dword [rsp + 0x58], 1
mov eax, dword [0x1800e3708]
mov eax, eax
sub rax, qword [rsp + 0x60]
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
mov rdx, qword [0x1800e3748]
add rcx, rdx
sub rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180068bb3
mov rax, qword [0x1800e3780]
movabs rcx, 0x20e6b372403c9
add rax, rcx
mov qword [0x1800e3700], rax
jmp 0x180068bb3
movzx eax, byte [rsp + 0x30]
movzx eax, al
sub eax, 0x8e
mov word [0x1800e36f0], ax
jmp 0x180068bbe
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x32], al
mov eax, dword [rsp + 0x12c]
add eax, 0xffbb
mov dword [rsp + 0x864], eax
movsx eax, byte [rsp + 0x34]
movzx ecx, word [0x1800e36f0]
sub eax, ecx
movsx ecx, byte [rsp + 0x34]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x12c]
add eax, 0x5df8
mov dword [rsp + 0x868], eax
mov rax, qword [rsp + 0x60]
inc rax
mov qword [rsp + 0x60], rax
movzx eax, word [0x1800e3774]
movzx eax, ax
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x12c]
add eax, 0xe89a
mov dword [rsp + 0x86c], eax
cmp qword [0x1800e3710], 0
je 0x180068da4
movzx eax, byte [rsp + 0x35]
movzx eax, al
test eax, eax
jne 0x180068c58
movsx eax, byte [rsp + 0x31]
test eax, eax
je 0x180068ca5
mov rax, qword [rsp + 0x60]
not rax
mov ecx, 0x9842160f
cmp rax, rcx
je 0x180068ca5
movsx eax, byte [rsp + 0x39]
mov ecx, dword [0x1800e375c]
add ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [0x1800e3748]
sub rcx, rax
mov rax, rcx
mov dword [0x1800e3738], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
sar eax, 8
mov word [0x1800e3774], ax
jmp 0x180068d9f
xor eax, eax
cmp eax, 0xa
je 0x180068d20
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x180068cc2
mov dword [rsp + 0x31c], 1
jmp 0x180068ccd
mov dword [rsp + 0x31c], 0
movzx eax, byte [rsp + 0x36]
movzx eax, al
mov rcx, qword [0x1800e36d0]
imul rcx, rax
mov rax, rcx
not rax
movzx ecx, byte [0x1800e367e]
movzx ecx, cl
mov edx, dword [rsp + 0x31c]
imul edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
mov byte [rsp + 0x38], al
mov rax, qword [0x1800e36e8]
mov rcx, qword [0x1800e3720]
add rax, rcx
mov qword [0x1800e36e8], rax
jmp 0x180068d9f
cmp qword [0x1800e36c0], 0
je 0x180068d65
movsx rax, byte [rsp + 0x31]
movabs rcx, 0x9b0b3262cafac
imul rax, rcx
movzx ecx, byte [0x1800e362c]
movzx ecx, cl
add rcx, rax
mov rax, rcx
mov byte [0x1800e362c], al
mov eax, dword [rsp + 0x50]
add eax, 0x286d5815
mov dword [0x1800e3768], eax
jmp 0x180068d9f
movzx eax, byte [rsp + 0x32]
movzx eax, al
test eax, eax
je 0x180068d9f
movzx eax, byte [rsp + 0x37]
movzx eax, al
add eax, dword [0x1800e3758]
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x37], al
imul eax, dword [0x1800e3758], 0x68a7
mov dword [0x1800e36bc], eax
jmp 0x180068ea9
movsx eax, word [rsp + 0x3c]
test eax, eax
je 0x180068e40
movzx eax, word [0x1800e3760]
movzx eax, ax
mov ecx, dword [0x1800e3764]
imul eax, ecx
mov word [0x1800e3760], ax
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x180068de2
mov dword [rsp + 0x320], 1
jmp 0x180068ded
mov dword [rsp + 0x320], 0
movzx eax, word [0x1800e376c]
movzx ecx, byte [rsp + 0x33]
movsx ecx, cl
not ecx
xor eax, ecx
mov ecx, dword [rsp + 0x320]
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
imul ecx, ecx, 0xfa
movsxd rcx, ecx
movsxd rdx, dword [0x1800e36bc]
mov rdi, qword [0x1800e3730]
sub rdi, rdx
mov rdx, rdi
imul rcx, rdx
imul rax, rcx
mov byte [rsp + 0x33], al
jmp 0x180068ea9
movsx eax, word [rsp + 0x3c]
test eax, eax
je 0x180068e71
mov eax, dword [0x1800e373c]
sar eax, 8
mov word [0x1800e36c8], ax
movzx eax, byte [0x1800e362d]
movzx eax, al
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
jmp 0x180068ea9
mov eax, dword [0x1800e36cc]
test eax, eax
je 0x180068ea9
mov rax, qword [0x1800e3748]
add rax, 0x690af2a3
mov qword [0x1800e36d0], rax
movzx eax, byte [0x1800e362d]
movzx eax, al
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
xor eax, ecx
mov byte [0x1800e362d], al
movzx eax, byte [rsp + 0x37]
movzx eax, al
mov ecx, dword [0x1800e36cc]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x37]
movzx ecx, cl
xor eax, ecx
test eax, eax
jne 0x180068ed6
mov dword [rsp + 0x324], 1
jmp 0x180068ee1
mov dword [rsp + 0x324], 0
movzx eax, word [0x1800e36e0]
not eax
movzx ecx, word [0x1800e36c8]
movsx ecx, cx
xor eax, ecx
mov ecx, dword [rsp + 0x324]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x34], al
mov dword [rsp + 0x598], 0x2be
mov eax, dword [0x1800e3738]
sub eax, 0x8d
mov word [0x1800e372c], ax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x130], eax
movzx eax, byte [rsp + 0x33]
movsx eax, al
imul eax, eax, 0xa6a5
mov word [0x1800e3760], ax
mov eax, dword [0x1800e373c]
not eax
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x130]
add eax, 0xde
mov dword [rsp + 0x55c], eax
movzx eax, byte [0x1800e362c]
movzx eax, al
movzx ecx, byte [0x1800e362e]
movzx ecx, cl
cmp eax, ecx
jle 0x180068f8f
xor eax, eax
cmp eax, 0x29
je 0x180068f8d
mov rax, qword [rsp + 0x68]
mov byte [0x1800e3657], al
jmp 0x180068fee
movzx eax, byte [0x1800e362d]
movzx eax, al
test eax, eax
je 0x180068fac
mov eax, dword [rsp + 0x50]
add eax, 0xa635
mov dword [rsp + 0x50], eax
jmp 0x180068fee
cmp qword [0x1800e36f8], 0
je 0x180068fcc
mov dword [0x1800e3728], 1
mov dword [0x1800e3764], 0xebac
jmp 0x180068fee
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180068fee
movzx eax, word [rsp + 0x40]
mov byte [rsp + 0x34], al
mov rax, qword [rsp + 0x70]
sar rax, 4
mov qword [0x1800e3700], rax
mov eax, dword [rsp + 0x130]
add eax, 0x18
mov dword [rsp + 0x558], eax
movzx eax, byte [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jle 0x18006901b
mov dword [rsp + 0x32c], 1
jmp 0x180069026
mov dword [rsp + 0x32c], 0
movzx eax, byte [rsp + 0x38]
cmp eax, 0x20
jle 0x18006903d
mov dword [rsp + 0x328], 1
jmp 0x180069048
mov dword [rsp + 0x328], 0
mov eax, dword [rsp + 0x328]
cmp dword [rsp + 0x32c], eax
jg 0x180069087
movzx eax, word [rsp + 0x48]
cwde
movzx ecx, byte [0x1800e367f]
movzx ecx, cl
add eax, ecx
mov word [rsp + 0x48], ax
movzx eax, byte [0x1800e362c]
movzx eax, al
sub eax, 0x73047472
cdqe
mov qword [0x1800e36d0], rax
mov eax, dword [rsp + 0x130]
add eax, 0x42a0
mov dword [rsp + 0x870], eax
mov rax, qword [0x1800e3778]
cmp rax, qword [0x1800e3750]
ja 0x1800690b7
mov dword [rsp + 0x334], 1
jmp 0x1800690c2
mov dword [rsp + 0x334], 0
mov rax, qword [0x1800e3778]
cmp rax, 0x14
ja 0x1800690dc
mov dword [rsp + 0x330], 1
jmp 0x1800690e7
mov dword [rsp + 0x330], 0
mov eax, dword [rsp + 0x330]
cmp dword [rsp + 0x334], eax
jge 0x1800691cb
cmp dword [rsp + 0x50], 0
jne 0x18006910f
mov dword [rsp + 0x338], 1
jmp 0x18006911a
mov dword [rsp + 0x338], 0
cmp dword [rsp + 0x50], 0
jne 0x180069135
cmp dword [rsp + 0x54], 0
jne 0x180069135
mov dword [rsp + 0x33c], 0
jmp 0x180069140
mov dword [rsp + 0x33c], 1
movzx eax, word [0x1800e36f0]
sub eax, dword [rsp + 0x338]
cmp eax, dword [rsp + 0x33c]
je 0x180069164
mov dword [rsp + 0x344], 1
jmp 0x18006916f
mov dword [rsp + 0x344], 0
movzx eax, byte [rsp + 0x37]
movzx eax, al
cmp eax, 0x19
jle 0x180069189
mov dword [rsp + 0x340], 1
jmp 0x180069194
mov dword [rsp + 0x340], 0
mov eax, dword [0x1800e3738]
sub eax, dword [rsp + 0x54]
xor eax, dword [rsp + 0x340]
cmp dword [rsp + 0x344], eax
jge 0x1800691cb
movsx eax, word [rsp + 0x3c]
imul eax, eax, 0xd0a47fc4
movzx ecx, word [0x1800e376c]
sub ecx, eax
mov eax, ecx
mov word [0x1800e376c], ax
mov eax, dword [rsp + 0x558]
mov ecx, dword [rsp + 0x55c]
or eax, ecx
mov ecx, 0x46a
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x59c], eax
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180069281
mov rax, qword [rsp + 0x70]
movsx rcx, byte [0x1800e362f]
cmp rax, rcx
je 0x180069217
mov dword [rsp + 0x34c], 1
jmp 0x180069222
mov dword [rsp + 0x34c], 0
mov rax, qword [rsp + 0x70]
cmp rax, 0x26
je 0x18006923a
mov dword [rsp + 0x348], 1
jmp 0x180069245
mov dword [rsp + 0x348], 0
mov eax, dword [rsp + 0x348]
cmp dword [rsp + 0x34c], eax
je 0x18006927f
mov eax, 8
imul rax, rax, 0x9b
lea rcx, [0x180cf3dd0]
movzx edx, byte [0x1800e3656]
movzx edx, dl
add rdx, qword [rcx + rax]
mov rax, rdx
mov byte [0x1800e3656], al
jmp 0x1800692a4
movzx eax, word [0x1800e376c]
movzx ecx, byte [0x1800e3657]
movzx ecx, cl
add eax, ecx
movzx ecx, word [rsp + 0x4c]
movzx ecx, cx
add eax, ecx
mov dword [0x1800e36cc], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x138]
add eax, 0x168
mov dword [rsp + 0x3bc], eax
mov byte [rsp + 0x36], 3
movsx rax, byte [rsp + 0x3a]
movabs rcx, 0x6fc16db26fee5
sub rax, rcx
mov byte [0x1800e362d], al
movzx eax, byte [0x1800e3656]
movzx eax, al
sub eax, 0x1a18
mov word [rsp + 0x40], ax
movzx eax, byte [rsp + 0x36]
mov byte [rsp + 0x134], al
cmp byte [rsp + 0x134], 0
je 0x180069329
cmp byte [rsp + 0x134], 1
je 0x180069343
cmp byte [rsp + 0x134], 2
je 0x180069412
jmp 0x180069430
movsx eax, word [0x1800e36b8]
sub eax, 0xdd
cdqe
mov qword [0x1800e3700], rax
jmp 0x180069430
movzx eax, byte [rsp + 0x33]
movsx eax, al
imul eax, dword [0x1800e3728]
test eax, eax
jne 0x180069363
mov dword [rsp + 0x350], 1
jmp 0x18006936e
mov dword [rsp + 0x350], 0
movzx eax, word [0x1800e36e0]
test eax, eax
jne 0x180069386
mov dword [rsp + 0x354], 1
jmp 0x180069391
mov dword [rsp + 0x354], 0
movzx eax, byte [rsp + 0x35]
movzx eax, al
test eax, eax
jne 0x1800693aa
mov dword [rsp + 0x358], 1
jmp 0x1800693b5
mov dword [rsp + 0x358], 0
imul eax, dword [rsp + 0x350], 0xfff0462c
mov ecx, dword [rsp + 0x354]
imul ecx, dword [rsp + 0x358]
not ecx
movzx edx, byte [rsp + 0x35]
movzx edx, dl
or edx, 0xb00
add ecx, edx
not ecx
add eax, ecx
mov dword [0x1800e3738], eax
mov rax, qword [0x1800e3720]
mov rcx, qword [0x1800e3780]
add rax, rcx
mov rcx, qword [0x1800e3720]
or rcx, rax
mov rax, rcx
mov qword [0x1800e3720], rax
jmp 0x180069430
movzx eax, byte [0x1800e367e]
movzx eax, al
and eax, 0x17d8
mov byte [rsp + 0x30], al
mov qword [0x1800e3750], 2
mov eax, dword [rsp + 0x138]
add eax, 0x199
mov dword [rsp + 0x874], eax
mov eax, dword [rsp + 0x138]
add eax, 0x97
mov dword [rsp + 0x3c0], eax
movsx eax, word [rsp + 0x3c]
add eax, 0x81d4
mov dword [rsp + 0x54], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x13c], eax
movzx eax, byte [rsp + 0x35]
movzx eax, al
add eax, 0x68a8
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x13c]
add eax, 0xdf
mov dword [rsp + 0x40c], eax
mov rax, qword [0x1800e36e8]
movsx rcx, byte [0x1800e362f]
cmp rax, rcx
jl 0x1800694b6
mov dword [rsp + 0x360], 1
jmp 0x1800694c1
mov dword [rsp + 0x360], 0
mov rax, qword [0x1800e36e8]
cmp rax, 0x4d
jl 0x1800694db
mov dword [rsp + 0x35c], 1
jmp 0x1800694e6
mov dword [rsp + 0x35c], 0
mov eax, dword [rsp + 0x35c]
cmp dword [rsp + 0x360], eax
jl 0x18006950b
mov rax, qword [rsp + 0x68]
imul rax, rax, 0x72b6739f
mov qword [0x1800e3718], rax
jmp 0x18006957b
movzx eax, word [0x1800e36f0]
test eax, eax
je 0x18006957b
movzx eax, byte [0x1800e362c]
movzx eax, al
test eax, eax
jne 0x180069531
mov dword [rsp + 0x364], 1
jmp 0x18006953c
mov dword [rsp + 0x364], 0
cmp dword [0x1800e3758], 0
jne 0x180069552
mov dword [rsp + 0x368], 1
jmp 0x18006955d
mov dword [rsp + 0x368], 0
movzx eax, word [0x1800e36c8]
cwde
xor eax, dword [rsp + 0x364]
imul eax, dword [rsp + 0x368]
mov word [0x1800e376c], ax
mov eax, dword [rsp + 0x13c]
add eax, 0x115
mov dword [rsp + 0x878], eax
mov eax, dword [rsp + 0x13c]
add eax, 0x3de
mov dword [rsp + 0x87c], eax
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1800695b9
mov qword [rsp + 0x730], 1
jmp 0x1800695c5
mov qword [rsp + 0x730], 0
movzx eax, word [0x1800e36f4]
movzx eax, ax
movzx ecx, word [0x1800e36c8]
movsx rcx, cx
mov rdx, qword [0x1800e3720]
mov rdi, qword [rsp + 0x730]
add rdi, rdx
mov rdx, rdi
sub rcx, rdx
xor rax, rcx
mov dword [0x1800e3740], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0x140]
add eax, 0x271
mov dword [rsp + 0x190], eax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x140]
add eax, 0x299
mov dword [rsp + 0x880], eax
mov eax, dword [rsp + 0x140]
add eax, 0x121
mov dword [rsp + 0x884], eax
mov eax, 2
imul rax, rax, 0xcd87
lea rcx, [0x180c49490]
movzx eax, word [rcx + rax]
mov qword [0x1800e36e8], rax
movzx eax, word [0x1800e3774]
movzx eax, ax
imul eax, eax, 0xc039
not eax
cdqe
movzx ecx, word [0x1800e36f0]
mov rdx, qword [0x1800e36b0]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
mov byte [rsp + 0x35], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x144], eax
movzx eax, word [rsp + 0x44]
mov rcx, qword [0x1800e36e8]
cmp rax, rcx
jle 0x1800696c3
mov dword [rsp + 0x370], 1
jmp 0x1800696ce
mov dword [rsp + 0x370], 0
movzx eax, word [rsp + 0x44]
cmp eax, 0x53
jle 0x1800696e5
mov dword [rsp + 0x36c], 1
jmp 0x1800696f0
mov dword [rsp + 0x36c], 0
mov eax, dword [rsp + 0x36c]
cmp dword [rsp + 0x370], eax
jle 0x180069707
mov byte [rsp + 0x32], 0x5c
jmp 0x180069780
movzx eax, word [0x1800e370c]
movzx eax, ax
test eax, eax
je 0x18006975a
movzx eax, word [0x1800e372c]
movzx ecx, byte [0x1800e362d]
movzx ecx, cl
xor eax, ecx
movzx ecx, word [0x1800e372c]
sub ecx, eax
mov eax, ecx
mov word [0x1800e372c], ax
movzx eax, word [rsp + 0x48]
cwde
movsx ecx, byte [rsp + 0x39]
sub eax, ecx
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
jmp 0x180069780
movzx eax, word [rsp + 0x40]
movzx eax, ax
test eax, eax
je 0x180069780
mov rax, qword [0x1800e3700]
mov rcx, qword [0x1800e3718]
add rcx, rax
mov rax, rcx
mov byte [0x1800e362d], al
mov eax, dword [rsp + 0x144]
add eax, 0x342
mov dword [rsp + 0x5e8], eax
mov eax, dword [rsp + 0x144]
add eax, 0x20c
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x144]
add eax, 0x1ec
mov dword [rsp + 0x5ec], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov rcx, qword [rsp + 0x60]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x33], 0xb8
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xc0], 0
movzx eax, byte [0x1800e3657]
movzx eax, al
movzx ecx, word [0x1800e36c8]
movsx ecx, cx
sub eax, ecx
cdqe
add rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
movzx edx, byte [rsp + 0x32]
movzx edx, dl
mov rdi, qword [0x1800e3730]
add rdi, rdx
mov rdx, rdi
xor rcx, rdx
sub rax, rcx
mov byte [rsp + 0x30], al
mov dword [rsp + 0x88], 0
mov qword [0x1800e36f8], 2
movsx eax, byte [rsp + 0x34]
sub eax, 0x22e1dd8a
mov byte [rsp + 0x34], al
movzx eax, byte [0x180ada590]
mov byte [rsp + 0x35], al
mov rax, qword [0x1800e36f8]
mov qword [rsp + 0x690], rax
cmp qword [rsp + 0x690], 0
je 0x180069893
cmp qword [rsp + 0x690], 1
je 0x1800698bb
cmp qword [rsp + 0x690], 2
je 0x1800698e3
jmp 0x180069922
mov eax, dword [0x180ada590]
mov qword [0x1800e3778], rax
movzx eax, word [rsp + 0x44]
add eax, dword [0x1800e36bc]
movzx ecx, word [rsp + 0x44]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
jmp 0x180069922
movzx eax, word [rsp + 0x40]
movzx eax, ax
mov ecx, dword [0x1800e3764]
xor eax, ecx
mov word [rsp + 0x40], ax
movzx eax, byte [rsp + 0x36]
movzx eax, al
add eax, 0x878f84d5
mov byte [rsp + 0x35], al
jmp 0x180069922
mov eax, 4
imul rax, rax, 0xa0
lea rcx, [0x180cf44e0]
movzx eax, word [rcx + rax]
mov word [0x1800e3760], ax
movzx eax, byte [0x1800e362d]
movzx eax, al
add eax, 0x71f
cdqe
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x90], 0
mov rax, qword [rsp + 0x70]
mov rcx, qword [0x1800e36f8]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e36f8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e36f8], rax
movzx eax, byte [rsp + 0x36]
movzx eax, al
movzx ecx, word [0x1800e36e0]
imul eax, ecx
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x38]
sar eax, 8
mov byte [rsp + 0x3a], al
mov rax, qword [0x1800e3778]
sub rax, 0x62
movzx ecx, byte [0x1800e3657]
movzx ecx, cl
xor rcx, rax
mov rax, rcx
mov byte [0x1800e3657], al
mov dword [rsp + 0x1a4], 0
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1800699d1
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x738], rax
jmp 0x1800699de
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x738], rax
movzx eax, word [rsp + 0x738]
mov word [rsp + 0x3c], ax
mov eax, 4
imul rax, rax, 0xa
lea rcx, [0x180c9cc40]
movzx edx, byte [0x1800e367e]
movzx edx, dl
sub edx, dword [rcx + rax]
mov eax, edx
mov byte [0x1800e367e], al
mov dword [rsp + 0x1a8], 0
movzx eax, word [0x1800e372c]
mov ecx, dword [0x1800e36cc]
xor eax, ecx
mov word [0x1800e372c], ax
mov eax, dword [0x1800e375c]
add eax, 0x32
mov word [rsp + 0x48], ax
mov dword [rsp + 0x66c], 0
mov dword [rsp + 0x450], 0
mov dword [rsp + 0x5a8], 8
cmp dword [rsp + 0x2b00], 0
jne 0x180069bdc
cmp dword [rsp + 0x54], 0
je 0x180069a77
jmp 0x180069a84
mov eax, dword [rsp + 0x54]
sub eax, 0x95dcbda9
mov byte [rsp + 0x35], al
mov eax, dword [0x180ada590]
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x560]
mov ecx, dword [rsp + 0x148]
add eax, ecx
mov dword [rsp + 0x574], eax
mov eax, dword [rsp + 0x564]
mov ecx, dword [rsp + 0x148]
add eax, ecx
mov dword [rsp + 0x56c], eax
movsx eax, byte [rsp + 0x31]
movsx ecx, byte [rsp + 0x31]
xor eax, ecx
movsx ecx, byte [rsp + 0x31]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x31], al
cmp qword [0x1800e36f8], 0
jne 0x180069af0
mov qword [rsp + 0x740], 1
jmp 0x180069afc
mov qword [rsp + 0x740], 0
mov rax, qword [rsp + 0x740]
mov rcx, qword [0x1800e3718]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x568]
mov ecx, dword [rsp + 0x148]
add eax, ecx
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x56c]
mov ecx, dword [rsp + 0x14c]
add eax, ecx
mov ecx, dword [rsp + 0x570]
or eax, ecx
mov ecx, dword [rsp + 0x14c]
mov edx, dword [rsp + 0x14c]
add ecx, edx
mov edx, dword [rsp + 0x574]
sub ecx, edx
cmp eax, ecx
je 0x180069bd7
movzx eax, word [rsp + 0x40]
movzx eax, ax
not eax
cdqe
mov rcx, qword [0x1800e36d0]
cmp rax, rcx
jg 0x180069b88
mov dword [rsp + 0x374], 1
jmp 0x180069b93
mov dword [rsp + 0x374], 0
mov eax, dword [0x1800e3738]
cmp dword [rsp + 0x374], eax
jl 0x180069ba4
jmp 0x180069ecf
mov eax, 2
mov word [rsp + 0x48], ax
mov eax, 0xb4
mov word [0x1800e36f4], ax
cmp qword [rsp + 0x60], 0
je 0x180069c08
movsx eax, word [rsp + 0x3c]
mov dword [rsp + 0x378], eax
jmp 0x180069c17
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov dword [rsp + 0x378], eax
mov eax, dword [rsp + 0x378]
mov dword [rsp + 0x50], eax
movzx eax, word [rsp + 0x48]
cwde
mov dword [rsp + 0x150], eax
cmp dword [rsp + 0x150], 0
je 0x180069c4f
cmp dword [rsp + 0x150], 1
je 0x180069c7d
cmp dword [rsp + 0x150], 2
je 0x180069c93
jmp 0x180069cb9
movzx eax, word [rsp + 0x44]
movabs rcx, 0xe7839f8bd8149
sub rax, rcx
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x30], al
mov dword [rsp + 0x50], 0x656da79e
jmp 0x180069cb9
movzx eax, word [rsp + 0x44]
movzx ecx, byte [rsp + 0x36]
movzx ecx, cl
sub eax, ecx
mov word [rsp + 0x44], ax
jmp 0x180069cb9
movzx eax, byte [0x1800e362d]
movzx eax, al
movzx ecx, byte [rsp + 0x32]
movzx ecx, cl
imul eax, ecx
mov byte [0x1800e362d], al
movzx eax, byte [rsp + 0x37]
dec al
mov byte [rsp + 0x37], al
mov qword [0x1800e36d0], 0x3c7114f5
movsx eax, word [rsp + 0x3c]
test eax, eax
je 0x180069cde
mov rax, qword [0x1800e3718]
mov qword [rsp + 0x748], rax
jmp 0x180069ced
movsxd rax, dword [0x1800e36bc]
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x748]
mov qword [0x1800e3780], rax
mov eax, dword [0x180ada590]
mov dword [rsp + 0x154], eax
mov eax, dword [rsp + 0x578]
mov ecx, dword [rsp + 0x154]
add eax, ecx
mov dword [rsp + 0x380], eax
movzx eax, byte [rsp + 0x37]
movzx eax, al
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x180069d36
mov eax, dword [rsp + 0x450]
cmp qword [rsp + 0xd8], rax
jne 0x18006a43e