Function at 0x1800338f0
Capabilities:
Accept command line arguments
Authenticate hmac
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, 0x2a78
call fcn.180071f90
sub rsp, rax
mov rax, qword [0x1800a66e0]
mov dword [rsp + 0x760], eax
mov byte [rsp + 0x35], 0xb2
movabs rax, 0x517565a82b54c
mov qword [rsp + 0x60], rax
movzx eax, byte [0x1800a6624]
mov byte [rsp + 0x33], al
movzx eax, byte [0x1800a6567]
mov word [rsp + 0x48], ax
movzx eax, word [0x1800a6688]
mov word [rsp + 0x4c], ax
mov byte [rsp + 0x32], 3
mov qword [rsp + 0x80], 0x23
movzx eax, byte [0x1800a65a6]
mov byte [rsp + 0x30], al
mov eax, dword [0x1800a65bc]
cdqe
mov qword [rsp + 0x70], rax
mov eax, 0xffff9724
mov word [rsp + 0x38], ax
mov eax, 0x165f
mov word [rsp + 0x3c], ax
mov byte [rsp + 0x37], 0xd0
mov byte [rsp + 0x34], 0x13
mov rax, qword [0x1800a66e0]
mov word [rsp + 0x44], ax
movabs rax, 0x85405033e25b9
mov qword [rsp + 0x88], rax
mov eax, dword [0x1800a66c8]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x78], 0x964f
movzx eax, byte [0x1800a65e7]
movsx ax, al
mov word [rsp + 0x40], ax
mov byte [rsp + 0x31], 0xb5
mov rax, qword [0x1800a6668]
mov dword [rsp + 0x5c], eax
movzx eax, byte [0x1800a6698]
mov byte [rsp + 0x36], al
mov rax, qword [0x1800a66b8]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x54], 0xb0609ac
movzx eax, byte [0x1800a65a6]
movzx eax, al
mov dword [rsp + 0x58], eax
mov eax, 0xffffecab
mov word [rsp + 0x648], ax
movzx eax, word [0x1800a66ec]
mov word [rsp + 0x5fc], ax
mov dword [rsp + 0x764], 0x51
mov eax, 0x6e6f
mov word [rsp + 0x600], ax
mov eax, 0xffff8d24
mov word [rsp + 0x608], ax
mov eax, 0x79d5
mov word [rsp + 0x60c], ax
movzx eax, byte [0x1800a65a7]
mov word [rsp + 0x610], ax
movzx eax, word [0x1800a668c]
mov word [rsp + 0x614], ax
movabs rax, 0xe3ede16048e27
mov qword [rsp + 0x888], rax
mov eax, 0x24
mov word [rsp + 0x604], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x16c]
add eax, 0x402
mov dword [rsp + 0x210], eax
movzx eax, byte [0x1800a65a6]
movzx eax, al
test eax, eax
je 0x180033ad9
mov eax, 0x7faa
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x16c]
add eax, 0x5e1
mov dword [rsp + 0x4c8], eax
mov eax, dword [0x1800a66e8]
add eax, 0x9d49d128
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x4c]
sub eax, 0xd6444a94
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0x16c]
add eax, 0x713
mov dword [rsp + 0x63c], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xe8], eax
mov rax, qword [rsp + 0x70]
dec rax
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xe8]
add eax, 0x3c0
mov dword [rsp + 0x790], eax
mov eax, 1
mov word [0x1800a668c], ax
movzx eax, word [0x1800a66c0]
movzx eax, ax
movzx ecx, word [rsp + 0x4c]
add eax, ecx
movzx ecx, word [0x1800a66c0]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1800a66c0], ax
movsx eax, byte [rsp + 0x32]
test eax, eax
je 0x180033b96
mov rax, qword [0x1800a6670]
mov qword [rsp + 0x688], rax
jmp 0x180033ba6
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov qword [rsp + 0x688], rax
movzx eax, word [rsp + 0x688]
mov word [0x1800a66c0], ax
movzx eax, word [0x1800a668c]
mov dword [rsp + 0x4a8], eax
cmp dword [rsp + 0x4a8], 0
je 0x180033bd9
cmp dword [rsp + 0x4a8], 1
je 0x180033c2d
jmp 0x180033c51
mov rax, qword [rsp + 0x70]
imul rax, rax, 0x2f75922e
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1800a6566]
movsx eax, al
mov ecx, dword [0x1800a66e8]
xor ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0x4c]
movzx edx, word [0x1800a66b4]
movsx edx, dx
movzx r8d, byte [0x1800a65a3]
movsx r8d, r8b
xor edx, r8d
imul ecx, edx
and eax, ecx
mov eax, eax
mov qword [rsp + 0x80], rax
jmp 0x180033c51
mov eax, dword [rsp + 0x50]
sub rax, qword [rsp + 0x68]
not rax
movzx ecx, byte [rsp + 0x31]
movsx ecx, cl
xor edx, edx
sub edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0xe8]
add eax, 0x6b6
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x493
mov dword [rsp + 0x768], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xec], eax
cmp qword [rsp + 0x80], 0
je 0x180033d00
mov qword [rsp + 0x850], 0
mov qword [rsp + 0x848], 0
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x630], rax
cmp qword [rsp + 0x630], 0
je 0x180033cfb
mov rdx, qword [rsp + 0x848]
mov rcx, qword [rsp + 0x630]
call qword [sym.imp.USER32.dll_BeginPaint]
mov qword [rsp + 0x890], rax
mov rdx, qword [rsp + 0x850]
mov rcx, qword [rsp + 0x630]
call qword [sym.imp.USER32.dll_EndPaint]
mov dword [rsp + 0x76c], eax
jmp 0x180033d8d
mov eax, dword [0x1800a663c]
test eax, eax
jne 0x180033d24
mov rax, qword [rsp + 0x78]
not rax
test rax, rax
jne 0x180033d24
mov dword [rsp + 0x1d4], 0
jmp 0x180033d2f
mov dword [rsp + 0x1d4], 1
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, byte [rsp + 0x35]
movzx ecx, cl
cmp eax, ecx
jne 0x180033d52
mov dword [rsp + 0x1d0], 1
jmp 0x180033d5d
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jge 0x180033d8d
mov eax, dword [0x1800a6688]
imul rax, qword [0x1800a6670]
mov ecx, dword [0x1800a6688]
sub rcx, rax
mov rax, rcx
mov dword [0x1800a6688], eax
mov eax, dword [rsp + 0xec]
add eax, 0x588
mov dword [rsp + 0x770], eax
mov eax, dword [rsp + 0x5c]
shr eax, 2
mov eax, eax
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xec]
add eax, 0x696
mov dword [rsp + 0x228], eax
movsx eax, byte [0x1800a658f]
test eax, eax
je 0x180033ddd
mov ecx, dword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0xec]
add eax, 0x484
mov dword [rsp + 0x4d8], eax
movzx eax, byte [0x1800a65e7]
movsx eax, al
sar eax, 3
mov byte [rsp + 0x33], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x5fb
mov dword [rsp + 0x294], eax
movzx eax, byte [0x1800a65fe]
movsx eax, al
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
cmp eax, ecx
jg 0x180033e46
mov dword [rsp + 0x1dc], 1
jmp 0x180033e51
mov dword [rsp + 0x1dc], 0
movzx eax, byte [0x1800a65fe]
movsx eax, al
cmp eax, 0x47
jg 0x180033e6d
mov dword [rsp + 0x1d8], 1
jmp 0x180033e78
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
jl 0x180033e8a
jmp 0x180033eeb
movzx eax, word [rsp + 0x40]
movsx rax, ax
cmp qword [0x1800a66a8], rax
jb 0x180033ea3
mov byte [rsp + 0x36], 0x5c
jmp 0x180033eeb
cmp qword [rsp + 0x68], 0
je 0x180033eeb
movzx eax, word [0x1800a65fc]
movzx eax, ax
mov ecx, dword [0x1800a6624]
add ecx, eax
mov eax, ecx
mov dword [0x1800a6624], eax
movzx eax, byte [0x1800a65e6]
movzx eax, al
movzx ecx, byte [rsp + 0x35]
movzx ecx, cl
movabs rdx, 0xffffffff264bc71f
lea rcx, [rcx + rdx]
add eax, ecx
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0xf0]
add eax, 0x553
mov dword [rsp + 0x774], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x47c
mov dword [rsp + 0x7b8], eax
movzx eax, byte [0x1800a65fe]
movsx eax, al
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
cmp eax, ecx
jl 0x180033f57
lea rax, [rsp + 0x8e8]
lea rcx, str.Object_is_incorrec
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x8e8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x30], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x694
mov dword [rsp + 0x4fc], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x53c
mov dword [rsp + 0x7b4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x4cd
mov dword [rsp + 0x4f8], eax
movzx eax, byte [0x1800a6566]
movsx eax, al
test eax, eax
je 0x180033fad
jmp 0x180033fb2
mov byte [rsp + 0x31], 0xc1
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xf8], eax
movzx eax, byte [0x1800a65fe]
movsx eax, al
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
sub eax, ecx
mov byte [0x1800a65fe], al
movzx eax, byte [rsp + 0x31]
movsx eax, al
not eax
mov ecx, 0xae
sub ecx, eax
mov eax, ecx
not eax
movzx ecx, word [rsp + 0x4c]
mov edx, dword [rsp + 0x54]
add ecx, edx
sub eax, ecx
mov word [0x1800a669c], ax
mov eax, dword [rsp + 0xf8]
add eax, 0x3e1
mov dword [rsp + 0x7b0], eax
mov eax, dword [rsp + 0xf8]
add eax, 0x4a6
mov dword [rsp + 0x13c], eax
movzx eax, byte [0x1800a6567]
cmp eax, 0x9351
jle 0x18003403d
jmp 0x180034159
cmp qword [rsp + 0x88], 0xffffffffffffffc0
je 0x1800340ab
mov eax, 0x897a1403
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18003406b
mov qword [rsp + 0x690], 1
jmp 0x180034077
mov qword [rsp + 0x690], 0
mov eax, dword [rsp + 0x5c]
not eax
mov eax, eax
mov ecx, dword [0x1800a6688]
mov rdx, qword [rsp + 0x60]
and rdx, rcx
mov rcx, rdx
imul rcx, qword [rsp + 0x690]
imul rax, rcx
mov byte [rsp + 0x35], al
mov byte [rsp + 0x32], 0x19
jmp 0x180034159
movzx eax, byte [0x1800a6567]
test eax, eax
je 0x180034128
cmp dword [0x1800a66c4], 0
jne 0x1800340cc
mov dword [rsp + 0x1e0], 1
jmp 0x1800340d7
mov dword [rsp + 0x1e0], 0
movzx eax, byte [0x1800a65a6]
movzx eax, al
mov rcx, qword [rsp + 0x78]
xor rcx, rax
mov rax, rcx
not rax
mov ecx, dword [0x1800a66b0]
mov edx, dword [rsp + 0x1e0]
or edx, ecx
mov ecx, edx
mov ecx, ecx
sub rax, rcx
mov byte [0x1800a658f], al
movsxd rax, dword [0x1800a66c8]
movabs rcx, 0x4c1eb520b64df
sub rax, rcx
mov qword [0x1800a66d8], rax
jmp 0x180034159
mov eax, dword [rsp + 0x58]
mov eax, eax
mov rcx, qword [0x1800a66a0]
cmp rax, rcx
jg 0x180034159
mov eax, dword [0x1800a6624]
add eax, 0x58
cdqe
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0x48]
cwde
add eax, 0x1c
mov byte [0x1800a65fe], al
mov eax, dword [rsp + 0xf8]
add eax, 0x5fa
mov dword [rsp + 0x7ac], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x698], rax
cmp qword [rsp + 0x698], 0
je 0x18003419b
mov rcx, qword [rsp + 0x698]
call qword [sym.imp.USER32.dll_GetWindowDC]
mov qword [rsp + 0x898], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x737
mov dword [rsp + 0x7a8], eax
movzx eax, byte [0x1800a65e6]
movzx eax, al
test eax, eax
je 0x1800341d4
movsx eax, byte [rsp + 0x33]
test eax, eax
je 0x1800341d4
jmp 0x1800341e9
mov eax, dword [0x1800a66cc]
xor eax, 0xb5e6
cdqe
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xfc]
add eax, 0x5f3
mov dword [rsp + 0x170], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [0x1800a66cc], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x487
mov dword [rsp + 0x558], eax
mov eax, dword [0x1800a66cc]
xor eax, 0xd33782bf
mov word [0x1800a66c0], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x40]
movsx rcx, cx
cmp rax, rcx
jae 0x18003424f
jmp 0x18003428d
movzx eax, byte [0x1800a65a7]
test eax, eax
jne 0x180034267
mov dword [rsp + 0x1e4], 1
jmp 0x180034272
mov dword [rsp + 0x1e4], 0
mov eax, 0x28859986
sub eax, dword [rsp + 0x1e4]
test eax, eax
je 0x18003428d
mov eax, dword [0x18091bdb0]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x100]
add eax, 0x4a8
mov dword [rsp + 0x3c4], eax
movzx eax, word [rsp + 0x48]
cwde
movzx ecx, byte [rsp + 0x36]
movsx ecx, cl
cmp eax, ecx
je 0x1800342bf
mov dword [rsp + 0x1ec], 1
jmp 0x1800342ca
mov dword [rsp + 0x1ec], 0
movzx eax, word [rsp + 0x48]
cwde
cmp eax, 0x12
je 0x1800342e2
mov dword [rsp + 0x1e8], 1
jmp 0x1800342ed
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
cmp dword [rsp + 0x1ec], eax
jge 0x180034310
movzx eax, byte [rsp + 0x31]
movsx eax, al
imul eax, eax, 0x1c
mov dword [0x1800a66e8], eax
jmp 0x180034328
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [0x1800a66a0]
add rax, rcx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x100]
add eax, 0x43c
mov dword [rsp + 0x190], eax
mov eax, dword [rsp + 0x100]
add eax, 0x437
mov dword [rsp + 0x594], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x104], eax
movsx eax, word [rsp + 0x38]
sub eax, dword [rsp + 0x5c]
movsx ecx, word [rsp + 0x38]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x104]
add eax, 0x9537
mov dword [rsp + 0x7a4], eax
movsx eax, word [0x1800a6690]
xor eax, 0xd9ae59f1
mov byte [0x1800a658e], al
movzx eax, word [rsp + 0x40]
cwde
mov ecx, dword [0x1800a65bc]
xor ecx, eax
mov eax, ecx
mov dword [0x1800a65bc], eax
mov eax, dword [rsp + 0x104]
add eax, 0xb6da
mov dword [rsp + 0x644], eax
mov eax, 4
mov word [0x1800a65fc], ax
movzx eax, word [0x1800a65fc]
movzx eax, ax
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], 0
je 0x180034424
cmp dword [rsp + 0xac], 1
je 0x180034478
cmp dword [rsp + 0xac], 2
je 0x180034484
cmp dword [rsp + 0xac], 3
je 0x18003449f
cmp dword [rsp + 0xac], 4
je 0x1800344c3
jmp 0x1800344d1
mov eax, dword [0x1800a66b0]
mov rcx, qword [0x1800a6680]
sub rax, rcx
test rax, rax
jne 0x180034446
mov dword [rsp + 0x1f0], 1
jmp 0x180034451
mov dword [rsp + 0x1f0], 0
movzx eax, word [0x1800a669c]
xor eax, dword [rsp + 0x1f0]
mov byte [0x1800a65fb], al
mov rax, qword [0x1800a6680]
dec rax
mov qword [0x1800a6680], rax
jmp 0x1800344d1
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x58], eax
jmp 0x1800344d1
movsx eax, byte [0x1800a65fb]
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
add eax, ecx
mov byte [0x1800a65fb], al
jmp 0x1800344d1
movzx eax, byte [0x1800a6567]
movzx ecx, byte [rsp + 0x36]
movsx ecx, cl
sub eax, ecx
movzx ecx, byte [0x1800a6567]
add ecx, eax
mov eax, ecx
mov byte [0x1800a6567], al
jmp 0x1800344d1
movsx eax, byte [rsp + 0x33]
and eax, 0x35
mov dword [0x1800a663c], eax
mov eax, dword [rsp + 0x104]
add eax, 0xed40
mov dword [rsp + 0x7a0], eax
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1800345bb
cmp qword [0x1800a6670], 0
je 0x180034577
movzx eax, word [rsp + 0x3c]
movzx eax, ax
and rax, qword [0x1800a6670]
movzx ecx, word [rsp + 0x3c]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x3c], ax
movzx eax, byte [rsp + 0x30]
movzx eax, al
movzx ecx, byte [0x1800a6567]
imul eax, ecx
test eax, eax
jne 0x18003453f
mov dword [rsp + 0x1f4], 1
jmp 0x18003454a
mov dword [rsp + 0x1f4], 0
movsx eax, byte [rsp + 0x34]
movsx ecx, word [0x1800a6690]
sub eax, ecx
mov ecx, dword [rsp + 0x1f4]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x1800345bb
movabs rax, 0xbd61caf9121b7
xor ecx, ecx
cmp rcx, rax
je 0x1800345bb
movzx eax, byte [rsp + 0x31]
movsx eax, al
xor eax, 0xa8c74b5d
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x54]
mov eax, eax
movabs rcx, 0x9ef6214e14c19
add rax, rcx
mov qword [0x1800a66a0], rax
mov eax, dword [0x1800a663c]
mov ecx, 4
imul rcx, rcx, 0x10
lea rdx, [0x18099f290]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x644]
or eax, 0xe8
xor eax, 0x8f
mov ecx, 0xbaed
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x518], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x108], eax
mov eax, dword [0x1800a65bc]
sub eax, 0x791485a8
mov word [0x1800a65fc], ax
imul eax, dword [0x1800a66e8], 0x68032375
mov eax, eax
mov rcx, qword [0x1800a6668]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6668], rax
mov eax, dword [rsp + 0x108]
add eax, 0x429
mov dword [rsp + 0x79c], eax
mov eax, dword [rsp + 0x108]
add eax, 0x3e2
mov dword [rsp + 0x640], eax
mov rax, qword [0x1800a66e0]
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
cmp rax, rcx
jne 0x18003467b
mov dword [rsp + 0x1fc], 1
jmp 0x180034686
mov dword [rsp + 0x1fc], 0
mov rax, qword [0x1800a66e0]
cmp rax, 0x15
jne 0x1800346a0
mov dword [rsp + 0x1f8], 1
jmp 0x1800346ab
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f8]
cmp dword [rsp + 0x1fc], eax
jne 0x180034727
mov rax, qword [0x1800a66b8]
mov ecx, dword [rsp + 0x58]
mov ecx, ecx
cmp rax, rcx
jne 0x180034702
movzx eax, word [rsp + 0x3c]
movzx eax, ax
not eax
mov ecx, dword [rsp + 0x54]
not ecx
sub eax, ecx
mov dword [0x1800a6688], eax
movsxd rax, dword [0x1800a66c8]
movabs rcx, 0xf349760b509db
xor rax, rcx
mov qword [0x1800a66a0], rax
jmp 0x180034725
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov rcx, qword [0x1800a66b8]
cmp rax, rcx
jae 0x180034725
movzx eax, word [rsp + 0x4c]
sub eax, 0x4c0c9c69
mov word [rsp + 0x38], ax
jmp 0x180034758
mov eax, dword [rsp + 0x54]
mov eax, eax
movabs rcx, 0x7d5045f7aef8
sub rax, rcx
movsx rcx, byte [0x1800a658f]
sub rcx, rax
mov rax, rcx
mov byte [0x1800a658f], al
mov eax, 0xf425
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x108]
add eax, 0x3ed
mov dword [rsp + 0x798], eax
mov eax, dword [rsp + 0x640]
add eax, 0xd98
xor eax, 0x1486
mov dword [rsp + 0x51c], eax
movzx eax, byte [0x1800a658e]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1800347bb
mov eax, 1
imul rax, rax, 0x4bdd
lea rcx, [0x1809d9b30]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x36], al
jmp 0x18003481a
movzx eax, word [rsp + 0x3c]
movzx eax, ax
movabs rcx, 0x43558c315cfce
add rax, rcx
movzx ecx, word [0x1800a65fc]
movzx ecx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800a65fc], ax
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x180034800
movzx eax, word [rsp + 0x40]
cwde
mov dword [rsp + 0x200], eax
jmp 0x18003480d
mov eax, dword [0x1800a65bc]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x200]
mov dword [0x1800a65bc], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x3e5
mov dword [rsp + 0x794], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x5576
mov dword [rsp + 0x638], eax
movzx eax, byte [0x1800a65fe]
movsx eax, al
test eax, eax
je 0x180034885
movzx eax, byte [0x1800a658e]
imul eax, eax, 0
mov byte [0x1800a65a6], al
movsx rax, word [0x1800a6690]
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x1800348ad
mov rax, qword [0x1800a66e0]
test rax, rax
jne 0x1800348ad
movzx eax, byte [rsp + 0x31]
movsx eax, al
movsx ecx, byte [0x1800a65fb]
lea eax, [rcx + rax + 0x36c2bf48]
mov byte [0x1800a65fb], al
mov eax, dword [rsp + 0x10c]
add eax, 0x3f7
mov dword [rsp + 0x78c], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
test eax, eax
jne 0x1800348e1
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x1800348e1
mov dword [rsp + 0x208], 0
jmp 0x1800348ec
mov dword [rsp + 0x208], 1
movzx eax, byte [0x1800a6567]
movzx ecx, byte [rsp + 0x31]
movsx ecx, cl
cmp eax, ecx
jl 0x18003490c
mov dword [rsp + 0x204], 1
jmp 0x180034917
mov dword [rsp + 0x204], 0
mov eax, dword [rsp + 0x204]
cmp dword [rsp + 0x208], eax
jle 0x180034942
movzx eax, byte [rsp + 0x31]
movsx eax, al
movsx ecx, byte [rsp + 0x34]
add eax, ecx
cmp dword [0x1800a66c8], eax
jge 0x1800349f8
movsx rax, byte [rsp + 0x34]
cmp rax, qword [rsp + 0x88]
jl 0x1800349f8
mov rax, qword [rsp + 0x78]
not rax
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
add rax, rcx
test rax, rax
jne 0x18003497d
mov qword [rsp + 0x6a0], 1
jmp 0x180034989
mov qword [rsp + 0x6a0], 0
cmp dword [0x1800a6688], 0
jne 0x18003499f
mov dword [rsp + 0x20c], 1
jmp 0x1800349aa
mov dword [rsp + 0x20c], 0
movzx eax, word [0x1800a660c]
mov rcx, qword [0x1800a66b8]
sub rax, rcx
imul rax, qword [rsp + 0x6a0]
movzx ecx, byte [0x1800a6567]
sub ecx, dword [rsp + 0x20c]
mov edx, dword [0x1800a65bc]
imul edx, ecx
mov ecx, edx
movsxd rcx, ecx
add rax, rcx
mov qword [0x1800a66a0], rax
mov eax, dword [rsp + 0x54]
sub eax, 0x3697
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x638]
or eax, 0xef
add eax, 0xc5ba90
mov ecx, 0xc615c4
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x210]
mov edx, dword [rsp + 0x210]
xor ecx, edx
mov edx, dword [rsp + 0x63c]
mov edi, dword [rsp + 0x4c8]
xor edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x524], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x110], eax
mov dword [0x1800a66c8], 3
mov rax, qword [0x1800a66b8]
mov ecx, 1
imul rcx, rcx, 0x7830
lea rdx, [0x18095a840]
mov byte [rdx + rcx], al
mov eax, dword [0x1800a66c8]
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0xd0], 0
je 0x180034aac
cmp dword [rsp + 0xd0], 1
je 0x180034ac0
cmp dword [rsp + 0xd0], 2
je 0x180034aed
cmp dword [rsp + 0xd0], 3
je 0x180034b14
jmp 0x180034b57
movzx eax, byte [0x1800a6566]
inc al
mov byte [0x1800a6566], al
jmp 0x180034b57
mov rax, qword [0x1800a66b8]
shl rax, 4
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x30]
movzx eax, al
add eax, dword [rsp + 0x5c]
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
jmp 0x180034b57
mov eax, dword [0x1800a6624]
sub eax, 0x9ff9
mov byte [rsp + 0x35], al
mov rax, qword [0x1800a6678]
and rax, qword [rsp + 0x80]
mov qword [0x1800a6678], rax
jmp 0x180034b57
mov eax, 8
mov word [rsp + 0x3c], ax
mov rax, qword [0x1800a6680]
test rax, rax
je 0x180034b39
mov eax, dword [0x1800a6688]
mov dword [rsp + 0x214], eax
jmp 0x180034b48
movzx eax, byte [rsp + 0x31]
movsx eax, al
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x214]
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x110]
add eax, 0x43d
mov dword [rsp + 0x788], eax
mov rax, qword [rsp + 0x70]
cmp qword [0x1800a66a8], rax
jbe 0x180034b7a
jmp 0x180034bb9
movsx eax, byte [0x1800a65fb]
test eax, eax
je 0x180034bb9
cmp qword [0x1800a66a8], 0
jne 0x180034b9d
mov qword [rsp + 0x6a8], 1
jmp 0x180034ba9
mov qword [rsp + 0x6a8], 0
mov rax, qword [rsp + 0x6a8]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x110]
add eax, 0x3e2
mov dword [rsp + 0x784], eax
mov eax, dword [rsp + 0x110]
add eax, 0x3e1
mov dword [rsp + 0x218], eax
movsx eax, byte [rsp + 0x34]
xor eax, 0x8ecd
cdqe
mov qword [0x1800a6680], rax
mov rax, qword [0x1800a66d8]
mov byte [0x1800a6567], al
movzx eax, byte [0x1800a668c]
mov byte [0x1800a65e6], al
mov eax, dword [rsp + 0x218]
mov ecx, dword [rsp + 0x218]
imul eax, ecx
mov ecx, 0xf0f43
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x114]
mov edx, dword [rsp + 0x114]
xor ecx, edx
mov edx, dword [rsp + 0x114]
xor edx, 0x134
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x528], eax
call qword [sym.imp.USER32.dll_IsWow64Message]
mov word [rsp + 0x44], ax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
add eax, 0x3d6
mov dword [rsp + 0x780], eax
mov eax, dword [0x1800a6624]
sub eax, 0xd3
mov dword [0x1800a66e8], eax
mov eax, dword [rsp + 0x118]
add eax, 0x3db
mov dword [rsp + 0x4cc], eax
movzx eax, word [0x1800a668c]
movzx ecx, word [0x1800a66b4]
movsx ecx, cx
xor eax, ecx
movzx ecx, word [0x1800a668c]
add ecx, eax
mov eax, ecx
mov word [0x1800a668c], ax
movzx eax, word [rsp + 0x40]
cwde
movzx ecx, byte [0x1800a65a7]
imul eax, ecx
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x118]
add eax, 0x3c7
mov dword [rsp + 0x77c], eax
mov rax, qword [0x1800a66b8]
movzx ecx, word [0x1800a66b4]
movsx rcx, cx
cmp rax, rcx
ja 0x180034d4a
mov rax, qword [0x1800a66d0]
mov ecx, 0xc626c8b3
imul rax, rcx
movsxd rcx, dword [0x1800a66c8]
add rcx, rax
mov rax, rcx
mov dword [0x1800a66c8], eax
mov rax, qword [rsp + 0x70]
movabs rcx, 0xd82bd1fb65df3
imul rax, rcx
movzx ecx, word [rsp + 0x4c]
or rcx, rax
mov rax, rcx
mov word [rsp + 0x4c], ax
jmp 0x180034d65
movzx eax, word [rsp + 0x40]
cwde
sub eax, 0x4703
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
movsx eax, word [0x1800a6690]
test eax, eax
je 0x180034d80
movzx eax, byte [0x18091bdb0]
mov byte [rsp + 0x30], al
jmp 0x180034f1a
movabs rax, 0x7e1892c4388b1
xor ecx, ecx
cmp rcx, rax
je 0x180034e74
movzx eax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0x60]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [0x1800a66cc]
test eax, eax
jne 0x180034dcc
mov dword [rsp + 0x21c], 1
jmp 0x180034dd7
mov dword [rsp + 0x21c], 0
cmp dword [0x1800a6688], 0
jne 0x180034dee
mov qword [rsp + 0x6b0], 1
jmp 0x180034dfa
mov qword [rsp + 0x6b0], 0
mov rax, qword [0x1800a6670]
imul rax, qword [rsp + 0x6b0]
test rax, rax
jne 0x180034e1c
mov dword [rsp + 0x220], 1
jmp 0x180034e27
mov dword [rsp + 0x220], 0
movzx eax, byte [0x1800a65a3]
movsx eax, al
not eax
imul eax, dword [rsp + 0x21c]
sub eax, dword [rsp + 0x220]
cdqe
movsx ecx, byte [0x1800a658f]
xor ecx, 0x9279ab11
mov ecx, ecx
movzx edx, word [0x1800a668c]
mov rdi, qword [0x1800a66a0]
xor rdx, rdi
add rcx, rdx
imul rax, rcx
mov dword [rsp + 0x58], eax
jmp 0x180034f1a
mov rax, qword [0x1800a66a8]
not rax
movsxd rcx, dword [0x1800a66ec]
cmp rax, rcx
jb 0x180034eb8
mov eax, dword [0x1800a66cc]
cdqe
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x180034f1a
cmp dword [rsp + 0x5c], 0
jne 0x180034ecc
mov dword [rsp + 0x224], 1
jmp 0x180034ed7
mov dword [rsp + 0x224], 0
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, word [0x1800a668c]
imul eax, ecx
cmp dword [rsp + 0x224], eax
je 0x180034f1a
movzx eax, byte [0x1800a6566]
movsx eax, al
imul eax, eax, 0xcc4f9137
mov word [0x1800a65fc], ax
mov eax, dword [rsp + 0x58]
add eax, 0x814b
mov dword [0x1800a6698], eax
mov eax, dword [rsp + 0x4cc]
sub eax, 0x8c
xor eax, 0xa1
mov dword [rsp + 0x598], eax
mov eax, dword [0x1800a66c8]
sub eax, 0xdf51
mov dword [0x1800a66cc], eax
mov rax, qword [rsp + 0x80]
dec rax
mov qword [rsp + 0x80], rax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x11c], eax
movzx eax, word [0x18091bdb0]
mov word [rsp + 0x38], ax
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov ecx, dword [rsp + 0x50]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x3dc
mov dword [rsp + 0x81c], eax
mov rax, qword [rsp + 0x68]
xor rax, 0xfffffffff7399b00
mov byte [0x1800a658f], al
mov eax, dword [rsp + 0x11c]
add eax, 0x449
mov dword [rsp + 0x4d4], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x9cef
mov dword [rsp + 0x4d0], eax
movsx eax, word [0x1800a6690]
movzx ecx, word [rsp + 0x4c]
add eax, ecx
mov word [0x1800a6690], ax
mov rax, qword [0x1800a6678]
mov ecx, 0xc00cdd1d
xor rax, rcx
mov byte [0x1800a65a7], al
mov eax, dword [rsp + 0x4d0]
mov ecx, dword [rsp + 0x4d4]
xor eax, ecx
mov ecx, 0x9f73
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x4d8]
xor ecx, 0xb6
imul ecx, ecx, 0
mov edx, dword [rsp + 0x228]
mov edi, dword [rsp + 0x228]
xor edx, edi
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x59c], eax
movzx eax, word [rsp + 0x44]
cwde
movzx ecx, word [0x1800a6694]
movzx ecx, cx
cmp eax, ecx
jg 0x18003505c
mov dword [rsp + 0x230], 1
jmp 0x180035067
mov dword [rsp + 0x230], 0
movzx eax, word [rsp + 0x44]
cwde
cmp eax, 0x2b
jg 0x18003507f
mov dword [rsp + 0x22c], 1
jmp 0x18003508a
mov dword [rsp + 0x22c], 0
mov eax, dword [rsp + 0x22c]
cmp dword [rsp + 0x230], eax
jne 0x1800350bf
mov dword [0x1800a66e8], 0x6df2b68c
mov eax, 0xb21463e1
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x18003517a
cmp dword [rsp + 0x5c], 0
je 0x1800350ff
cmp qword [rsp + 0x80], 0
je 0x1800350e2
movzx eax, word [rsp + 0x3c]
movzx eax, ax
mov dword [rsp + 0x234], eax
jmp 0x1800350f0
movsx eax, byte [0x1800a658f]
mov dword [rsp + 0x234], eax
mov eax, dword [rsp + 0x234]
mov dword [0x1800a66cc], eax
jmp 0x18003517a
movzx eax, word [0x1800a6694]
movzx eax, ax
test eax, eax
je 0x180035129
movabs rax, 0x100bb16a208c3
mov qword [rsp + 0x78], rax
mov qword [0x1800a6680], 0x86
jmp 0x18003517a
xor eax, eax
cmp eax, 0xffffffd7
je 0x18003517a
cmp dword [0x1800a6688], 0
jne 0x180035146
mov dword [rsp + 0x238], 1
jmp 0x180035151
mov dword [rsp + 0x238], 0
movsx eax, word [rsp + 0x38]
add eax, dword [rsp + 0x238]
cdqe
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
not rax
mov qword [0x1800a66d8], rax
mov byte [rsp + 0x34], 0
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x54]
not eax
mov eax, eax
movabs rcx, 0xb0efc7ae49307
add rax, rcx
mov word [0x1800a6694], ax
mov eax, dword [rsp + 0x120]
add eax, 0x6463
mov dword [rsp + 0x4dc], eax
mov eax, dword [rsp + 0x120]
add eax, 0x393
mov dword [rsp + 0x7bc], eax
mov eax, dword [rsp + 0x50]
mov rcx, qword [0x1800a6670]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800351ed
mov dword [rsp + 0x23c], 1
jmp 0x1800351f8
mov dword [rsp + 0x23c], 0
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x18003520f
mov dword [rsp + 0x240], 1
jmp 0x18003521a
mov dword [rsp + 0x240], 0
movzx eax, word [rsp + 0x48]
cwde
test eax, eax
jne 0x180035231
mov dword [rsp + 0x244], 1
jmp 0x18003523c
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x23c]
add eax, 0x60
mov ecx, dword [rsp + 0x240]
imul ecx, dword [rsp + 0x244]
or eax, ecx
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x30]
movzx eax, al
imul eax, eax, 0x72e0e6cb
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x120]
add eax, 0x4a2c
mov dword [rsp + 0x4e0], eax
lea rax, [rsp + 0x8a0]
lea rcx, str.Device_information
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x8a0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1800a66ec], eax
mov eax, dword [rsp + 0x4dc]
mov ecx, dword [rsp + 0x4e0]
xor eax, ecx
xor eax, 0x2dc5
mov dword [rsp + 0x5a0], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x124], eax
call qword [sym.imp.KERNEL32.dll_GetACP]
mov word [0x1800a6690], ax
mov eax, dword [rsp + 0x124]
add eax, 0xd5c6
mov dword [rsp + 0x4e4], eax
mov eax, dword [rsp + 0x124]
add eax, 0x36a
mov dword [rsp + 0x4e8], eax
mov eax, dword [0x1800a65bc]
test eax, eax
jne 0x180035324
mov dword [rsp + 0x24c], 1
jmp 0x18003532f
mov dword [rsp + 0x24c], 0
movzx eax, byte [0x1800a65e6]
movzx eax, al
test eax, eax
jne 0x18003534a
mov dword [rsp + 0x248], 1
jmp 0x180035355
mov dword [rsp + 0x248], 0
mov eax, dword [rsp + 0x248]
cmp dword [rsp + 0x24c], eax
jge 0x180035372
mov dword [rsp + 0x250], 1
jmp 0x18003537d
mov dword [rsp + 0x250], 0
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800353b8
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1800353ab
xor eax, eax
cmp eax, 0x34
jne 0x1800353b8
mov dword [rsp + 0x254], 0
jmp 0x1800353c3
mov dword [rsp + 0x254], 1
movzx eax, byte [rsp + 0x31]
movsx eax, al
mov ecx, dword [rsp + 0x250]
add ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x254]
jge 0x18003545a
mov dword [rsp + 0x5c], 0xa6e3e0d3
movzx eax, byte [0x1800a65fe]
movsx eax, al
imul eax, dword [0x1800a6698]
test eax, eax
jne 0x180035409
mov dword [rsp + 0x258], 1
jmp 0x180035414
mov dword [rsp + 0x258], 0
mov eax, dword [0x1800a66cc]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x258]
mov eax, eax
movzx ecx, word [rsp + 0x40]
movsx rcx, cx
mov rdx, qword [0x1800a6668]
add rdx, rcx
mov rcx, rdx
movzx edx, byte [0x1800a65e6]
movzx edx, dl
add rcx, rdx
imul rax, rcx
mov byte [0x1800a658e], al
jmp 0x1800354aa
movzx eax, word [rsp + 0x44]
cwde
cmp eax, dword [0x1800a66c4]
jb 0x180035475
mov dword [rsp + 0x25c], 1
jmp 0x180035480
mov dword [rsp + 0x25c], 0
movzx eax, word [rsp + 0x3c]
movzx eax, ax
cmp eax, dword [rsp + 0x25c]
je 0x180035493
jmp 0x1800354aa
movsx eax, byte [rsp + 0x33]
test eax, eax
je 0x1800354aa
movsx rax, word [rsp + 0x38]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x124]
add eax, 0x3eb0
mov dword [rsp + 0x7c0], eax
mov qword [rsp + 0x68], 3
movzx eax, byte [0x1800a6566]
movsx eax, al
sar eax, 1
mov byte [0x1800a65e6], al
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x4c0], rax
cmp qword [rsp + 0x4c0], 0
je 0x180035513
cmp qword [rsp + 0x4c0], 1
je 0x18003552e
cmp qword [rsp + 0x4c0], 2
je 0x180035554
cmp qword [rsp + 0x4c0], 3
je 0x18003557b
jmp 0x180035591
mov eax, dword [rsp + 0x58]
mov eax, eax
movabs rcx, 0xdfe9270cc902f
add rax, rcx
mov byte [0x1800a6567], al
jmp 0x180035591
movzx eax, word [rsp + 0x44]
cwde
movsx ecx, word [0x1800a6690]
sub eax, ecx
mov word [rsp + 0x44], ax
movzx eax, word [0x1800a668c]
sub eax, 0xe8
mov byte [rsp + 0x32], al
jmp 0x180035591
mov rax, qword [0x1800a6680]
mov byte [rsp + 0x36], al
mov eax, dword [0x1800a66b0]
mov rcx, qword [0x1800a6678]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6678], rax
jmp 0x180035591
mov eax, dword [0x18091bdb0]
mov dword [0x1800a66cc], eax
mov dword [0x1800a66b0], 0x4d
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, byte [0x1800a65e6]
movzx ecx, cl
cmp eax, ecx
jl 0x180035606
movzx eax, word [rsp + 0x3c]
movzx eax, ax
movzx ecx, byte [0x1800a65e7]
movsx ecx, cl
cmp eax, ecx
jne 0x1800355e4
mov eax, 2
imul rax, rax, 0x6891
lea rcx, [0x1809e40e0]
movsx eax, word [rcx + rax]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
jmp 0x180035601
movzx eax, word [rsp + 0x3c]
movzx eax, ax
sub eax, 0x64
cdqe
mov rcx, qword [rsp + 0x68]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x180035709
movzx eax, word [0x1800a669c]
mov ecx, dword [0x1800a65bc]
cmp eax, ecx
jne 0x180035624
mov dword [rsp + 0x260], 1
jmp 0x18003562f
mov dword [rsp + 0x260], 0
mov eax, dword [rsp + 0x260]
not eax
test eax, eax
je 0x180035652
mov rax, qword [0x1800a66a0]
dec rax
mov qword [0x1800a66a0], rax
jmp 0x180035709
movsx eax, word [0x1800a6690]
test eax, eax
jne 0x18003566a
mov dword [rsp + 0x270], 1
jmp 0x180035675
mov dword [rsp + 0x270], 0
movzx eax, word [rsp + 0x3c]
movzx eax, ax
test eax, eax
jne 0x18003568e
mov dword [rsp + 0x268], 1
jmp 0x180035699
mov dword [rsp + 0x268], 0
mov rax, qword [0x1800a66d0]
test rax, rax
jne 0x1800356b2
mov dword [rsp + 0x264], 1
jmp 0x1800356bd
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
cmp dword [rsp + 0x268], eax
jg 0x1800356da
mov dword [rsp + 0x26c], 1
jmp 0x1800356e5
mov dword [rsp + 0x26c], 0
mov eax, dword [rsp + 0x26c]
mov ecx, dword [rsp + 0x270]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x180035709
movzx eax, word [0x1800a6694]
mov word [0x1800a668c], ax
mov eax, dword [rsp + 0x4e4]
mov ecx, dword [rsp + 0x4e8]
add eax, ecx
xor eax, 0xdbfd
mov dword [rsp + 0x5a4], eax
mov rax, qword [0x1800a66a0]
test rax, rax
je 0x180035742
mov rax, qword [0x1800a6680]
mov qword [rsp + 0x6b8], rax
jmp 0x18003574e
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x6b8], rax
mov eax, dword [rsp + 0x6b8]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x128], eax
movzx eax, word [0x1800a65fc]
movzx eax, ax
movzx ecx, word [rsp + 0x44]
movsx ecx, cx
cmp eax, ecx
jge 0x180035789
mov dword [rsp + 0x278], 1
jmp 0x180035794
mov dword [rsp + 0x278], 0
movzx eax, word [0x1800a65fc]
movzx eax, ax
cmp eax, 0x56
jge 0x1800357b0
mov dword [rsp + 0x274], 1
jmp 0x1800357bb
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
cmp dword [rsp + 0x278], eax
je 0x1800357dc
call qword [sym.imp.USER32.dll_GetActiveWindow]
mov eax, eax
mov qword [0x1800a6680], rax
jmp 0x1800357f6
mov eax, 4
imul rax, rax, 0x79dd
lea rcx, [0x180a6f2d0]
mov edx, dword [rsp + 0x5c]
mov dword [rcx + rax], edx
mov eax, dword [rsp + 0x128]
add eax, 0x3f9
mov dword [rsp + 0x7c4], eax
movzx eax, byte [0x1800a65a3]
movsx eax, al
test eax, eax
je 0x180035918
movsx eax, byte [rsp + 0x33]
test eax, eax
je 0x180035834
mov qword [0x1800a6668], 1
jmp 0x180035918
movzx eax, byte [0x1800a65e6]
movzx eax, al
movzx ecx, byte [0x1800a658e]
not ecx
cmp eax, ecx
je 0x180035858
mov dword [rsp + 0x27c], 1
jmp 0x180035863
mov dword [rsp + 0x27c], 0
movzx eax, byte [rsp + 0x36]
movsx eax, al
not eax
cmp eax, dword [rsp + 0x27c]
jg 0x180035897
mov rax, qword [rsp + 0x70]
movabs rcx, 0x3b3a159384c7
xor rax, rcx
not rax
mov qword [0x1800a66d0], rax
jmp 0x180035918
xor eax, eax
cmp eax, 0xbc4ada8f
je 0x1800358d3
mov rax, qword [rsp + 0x70]
mov ecx, 4
imul rcx, rcx, 0x9e
lea rdx, [0x180acbbd0]
mov dword [rdx + rcx], eax
movzx eax, byte [0x1800a65a3]
movsx eax, al
mov ecx, dword [rsp + 0x58]
xor eax, ecx
mov byte [0x1800a65a3], al
jmp 0x180035918
mov rax, qword [0x1800a66e0]
test rax, rax
je 0x180035918
movzx eax, byte [0x1800a65a6]
movzx eax, al
mov rcx, qword [0x1800a66e0]
sub rax, rcx
movzx ecx, byte [0x1800a65a6]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [0x1800a65a6], al
mov eax, dword [0x1800a65bc]
xor eax, 0xa49b
mov byte [rsp + 0x35], al
mov eax, dword [rsp + 0x128]
add eax, 0xb9ab
mov dword [rsp + 0x4ec], eax
movzx eax, byte [0x1800a65fe]
movsx eax, al
cmp eax, dword [0x1800a6624]
jge 0x18003594a
mov dword [rsp + 0x284], 1
jmp 0x180035955
mov dword [rsp + 0x284], 0
movzx eax, byte [0x1800a65fe]
movsx eax, al
cmp eax, 0xf
jge 0x180035971
mov dword [rsp + 0x280], 1
jmp 0x18003597c
mov dword [rsp + 0x280], 0
mov eax, dword [rsp + 0x280]
cmp dword [rsp + 0x284], eax
jl 0x1800359bc
lea rax, [rsp + 0x878]
lea rcx, str.DownlevelName
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x878]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1800a66c4], eax
mov eax, dword [rsp + 0x128]
add eax, 0x52da
mov dword [rsp + 0x7c8], eax
mov dword [0x1800a66c8], 0xe7b3
movsxd rax, dword [0x1800a66c8]
mov rcx, qword [rsp + 0x60]
add rcx, 0xe7b3
cmp rax, rcx
jne 0x180035a92
movzx eax, byte [rsp + 0x35]
movzx eax, al
add eax, 0x911f
cmp dword [0x1800a6624], eax
jne 0x180035a92
movzx eax, byte [rsp + 0x35]
movzx eax, al
add eax, 0xd4d9
cdqe
movsxd rcx, dword [0x1800a6698]
mov rdx, qword [0x1800a66b8]
xor rdx, rcx
mov rcx, rdx
xor rax, rcx
not rax
mov dword [rsp + 0x54], eax
jmp 0x180035a92
mov dword [0x1800a66c8], 0xe7b3
movzx eax, byte [rsp + 0x37]
movzx eax, al
movabs rcx, 0x41aa3a8d4b9fc
add rax, rcx
movzx ecx, word [0x1800a660c]
sub rcx, rax
mov rax, rcx
mov word [0x1800a660c], ax
movzx eax, word [0x1800a669c]
mov ecx, dword [0x1800a65bc]
cmp eax, ecx
je 0x180035c2e
cmp dword [0x1800a66e8], 0
je 0x180035afa
cmp dword [0x1800a66b0], 0
je 0x180035afa
mov qword [rsp + 0x6c0], 0
jmp 0x180035b06
mov qword [rsp + 0x6c0], 1
movzx eax, word [rsp + 0x3c]
movzx eax, ax
mov rcx, qword [0x1800a6680]
imul rax, rcx
cmp rax, qword [rsp + 0x6c0]
jbe 0x180035b30
mov dword [rsp + 0x28c], 1
jmp 0x180035b3b
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
not eax
cdqe
mov rcx, qword [rsp + 0x60]
add rax, rcx
test rax, rax
je 0x180035c14
movzx eax, byte [rsp + 0x35]
movzx eax, al
test eax, eax
jne 0x180035b70
mov dword [rsp + 0x290], 1
jmp 0x180035b7b
mov dword [rsp + 0x290], 0
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x180035b93
mov qword [rsp + 0x6c8], 1
jmp 0x180035b9f
mov qword [rsp + 0x6c8], 0
movzx eax, byte [rsp + 0x35]
movzx eax, al
mov ecx, dword [rsp + 0x290]
imul ecx, eax
mov eax, ecx
not eax
movsx ecx, byte [rsp + 0x33]
movzx edx, byte [rsp + 0x31]
movsx edx, dl
and ecx, edx
add eax, ecx
cdqe
movzx ecx, word [0x1800a66c0]
movzx ecx, cx
not ecx
movsxd rcx, ecx
add rcx, qword [0x1800a66a8]
add rcx, qword [rsp + 0x6c8]
sub rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, word [rsp + 0x48]
cwde
mov ecx, dword [0x1800a65bc]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x54]
imul ecx, edx
add eax, ecx
not eax
mov word [rsp + 0x3c], ax
jmp 0x180035c2e
movsx eax, word [rsp + 0x38]
test eax, eax
je 0x180035c2e
mov eax, dword [rsp + 0x58]
imul eax, eax, 0xb1d21b69
mov eax, eax
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x4ec]
add eax, 0x52
mov ecx, 0xbdad
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x294]
xor ecx, 0x160
mov edx, dword [rsp + 0x294]
sub edx, 0x160
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x5ac], eax
mov eax, dword [rsp + 0x50]
add eax, 0x8954
movsx ecx, word [rsp + 0x38]
and ecx, eax
mov eax, ecx
mov word [rsp + 0x38], ax
movzx eax, byte [rsp + 0x32]
inc al
mov byte [rsp + 0x32], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x12c], eax
mov eax, dword [0x1800a66e8]
mov rcx, qword [rsp + 0x78]
imul rax, rcx
mov ecx, dword [0x1800a66e8]
sub rcx, rax
mov rax, rcx
mov dword [0x1800a66e8], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x3c0
mov dword [rsp + 0x4f0], eax
mov eax, dword [rsp + 0x12c]
add eax, 0xe3cb
mov dword [rsp + 0x4f4], eax
movsx eax, word [rsp + 0x38]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x12c]
add eax, 0x423
mov dword [rsp + 0x7cc], eax
movzx eax, byte [rsp + 0x36]
movsx rax, al
movabs rcx, 0x4d9ce22fdebb4
sub rax, rcx
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x4f0]
mov ecx, dword [rsp + 0x4f4]
imul eax, ecx
add eax, 0xfca9c9a1
mov dword [rsp + 0x5b0], eax
mov eax, 2
imul rax, rax, 9
lea rcx, [0x1809e3d58]
movzx edx, word [0x1800a668c]
mov word [rcx + rax], dx
mov byte [rsp + 0x33], 0xbb
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x130]
add eax, 0x8e6a
mov dword [rsp + 0x7d0], eax
movzx eax, word [0x1800a65fc]
movzx eax, ax
mov rcx, qword [0x1800a6668]
cmp rax, rcx
jg 0x180035dd6
movzx eax, byte [rsp + 0x36]
movsx eax, al
mov ecx, dword [rsp + 0x54]
cmp eax, ecx
jne 0x180035dd4
mov rax, qword [rsp + 0x80]
not rax
movzx ecx, word [0x1800a66b4]
movsx rcx, cx
sub rax, rcx
mov qword [0x1800a66b8], rax
mov eax, dword [0x1800a66e8]
shr eax, 7
mov eax, eax
mov qword [rsp + 0x80], rax
jmp 0x180035e22
movzx eax, byte [0x1800a65fe]
movsx eax, al
add eax, 0xdf9a
test eax, eax
je 0x180035e22
mov rax, qword [0x1800a6678]
mov ecx, 0xd7e2b0a4
sub rax, rcx
mov qword [rsp + 0x68], rax
movsx rax, byte [0x1800a65fb]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
movsx rcx, byte [0x1800a65fb]
sub rcx, rax
mov rax, rcx
mov byte [0x1800a65fb], al
mov eax, dword [rsp + 0x130]
add eax, 0x40a
mov dword [rsp + 0x7d4], eax
mov eax, dword [rsp + 0x130]
add eax, 0x3f7
mov dword [rsp + 0x298], eax
movzx eax, word [rsp + 0x44]
cwde
movzx ecx, byte [0x1800a65fe]
movsx ecx, cl
add eax, ecx
mov word [rsp + 0x44], ax
movzx eax, byte [rsp + 0x31]
movsx eax, al
add eax, 0x39
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x298]
add eax, 0xcbd
mov ecx, dword [rsp + 0x298]
or ecx, 0x21
imul eax, ecx
xor eax, 0x4239ae
mov ecx, dword [rsp + 0x4f8]
mov edx, dword [rsp + 0x4fc]
xor ecx, edx
imul ecx, ecx, 0
add eax, ecx
mov dword [rsp + 0x5bc], eax
mov rax, qword [rsp + 0x60]
movsx rcx, word [rsp + 0x38]
lea rax, [rcx + rax - 0x39]
mov word [rsp + 0x38], ax
movzx eax, byte [0x1800a65e7]
movsx eax, al
mov ecx, dword [0x1800a663c]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a663c]
and ecx, eax
mov eax, ecx
mov dword [0x1800a663c], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x134], eax
movzx eax, word [0x1800a6694]
movzx eax, ax
mov ecx, dword [0x1800a66c4]
or ecx, eax
mov eax, ecx
mov eax, dword [rsp + 0x134]
add eax, 0x398
mov dword [rsp + 0x7d8], eax
mov eax, dword [rsp + 0x134]
add eax, 0x48b4
mov dword [rsp + 0x500], eax
movsx eax, word [rsp + 0x38]
test eax, eax
je 0x180035f37
jmp 0x180035feb
mov eax, dword [0x1800a66ec]
mov ecx, dword [0x1800a66c8]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x180035f76
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x80]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
jmp 0x180035feb
movsx eax, byte [0x1800a658f]
test eax, eax
jne 0x180035f8e
mov dword [rsp + 0x29c], 1
jmp 0x180035f99
mov dword [rsp + 0x29c], 0
mov eax, dword [rsp + 0x29c]
cmp dword [0x1800a66ec], eax
jne 0x180035fc6
movzx eax, byte [0x1800a6566]
movsx eax, al
add eax, 0xb7455265
movsx ecx, byte [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x34], al
jmp 0x180035feb
movzx eax, word [rsp + 0x4c]
not eax
test eax, eax
je 0x180035feb
mov eax, 1
imul rax, rax, 0x48
lea rcx, [0x1809b3450]
movzx edx, byte [0x1800a65fb]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x134]
add eax, 0x385
mov dword [rsp + 0x504], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x500]
add eax, 0x6e
mov ecx, dword [rsp + 0x504]
imul ecx, ecx, 0x17
or eax, ecx
add eax, 0xffffaaea
mov dword [rsp + 0x5c8], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x138], eax
movzx eax, byte [rsp + 0x31]
movsx eax, al
movzx ecx, byte [rsp + 0x36]
movsx ecx, cl
cmp eax, ecx
jg 0x180036072
mov rax, qword [0x1800a66d8]
add rax, 0xb9af
mov word [0x1800a669c], ax
movzx eax, word [0x1800a660c]
add eax, 0xb8ca2214
mov eax, eax
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x138]
add eax, 0x377
mov dword [rsp + 0x7dc], eax
mov eax, dword [0x1800a66cc]
cdqe
movabs rcx, 0x7451a2f9d8724
imul rax, rcx
mov byte [0x1800a658f], al
movzx eax, byte [rsp + 0x31]
movsx rax, al
mov rcx, qword [rsp + 0x88]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x138]
add eax, 0x5f3d
mov dword [rsp + 0x2a8], eax
lea rax, [rsp + 0x858]
lea rcx, [0x180086c48]
mov rdi, rax
mov rsi, rcx
mov ecx, 9
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x858]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800a65fb], al
mov eax, dword [rsp + 0x138]
add eax, 0xd10e
mov dword [rsp + 0x2a4], eax
movzx eax, word [rsp + 0x48]
movsx rax, ax
mov rcx, rax
call qword [sym.imp.USER32.dll_GetParent]
mov dword [0x1800a663c], eax
movsx eax, byte [rsp + 0x34]
test eax, eax
jne 0x180036151
movsx eax, byte [0x1800a658f]
not eax
test eax, eax
jne 0x180036151
mov dword [rsp + 0x2a0], 0
jmp 0x18003615c
mov dword [rsp + 0x2a0], 1
movsx eax, byte [rsp + 0x32]
cmp dword [rsp + 0x2a0], eax
je 0x18003619a
mov eax, dword [rsp + 0x54]
mov eax, eax
mov rcx, qword [rsp + 0x68]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x68]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
movzx eax, word [rsp + 0x44]
inc ax
mov word [rsp + 0x44], ax
jmp 0x1800361da
movzx eax, byte [rsp + 0x35]
movzx eax, al
movabs rcx, 0xf2a56086a3312
cmp rax, rcx
jne 0x1800361da
movzx eax, word [rsp + 0x4c]
movzx ecx, word [rsp + 0x48]
movsx ecx, cx
not ecx
xor eax, ecx
mov ecx, dword [0x1800a66e8]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov dword [0x1800a65bc], 1
mov eax, dword [rsp + 0x2a4]
mov ecx, dword [rsp + 0x2a8]
or eax, ecx
mov ecx, dword [rsp + 0x2a4]
mov edx, dword [rsp + 0x2a8]
add ecx, edx
add eax, ecx
xor eax, 0x20979
mov ecx, dword [rsp + 0x13c]
mov edx, dword [rsp + 0x13c]
xor ecx, edx
mov edx, dword [rsp + 0x13c]
imul edx, edx, 0xc2
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x5cc], eax
movzx eax, word [rsp + 0x40]
cwde
sub eax, 0xf889
mov byte [0x1800a65e7], al
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x140], eax
cmp dword [0x1800a6624], 0
je 0x180036316
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x180036290
mov rax, qword [0x1800a6678]
movabs rcx, 0x309fc0f33868
add rax, rcx
mov byte [rsp + 0x31], al
movsxd rax, dword [0x1800a66c8]
mov rcx, qword [0x1800a6680]
or rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x180036314
movzx eax, byte [rsp + 0x31]
movsx eax, al
not eax
test eax, eax
je 0x1800362ad
movsx ax, byte [rsp + 0x33]
mov word [0x1800a65fc], ax
jmp 0x180036314
mov eax, dword [rsp + 0x54]
not eax
cmp eax, dword [0x1800a6624]
jae 0x1800362c9
mov qword [rsp + 0x6d0], 1
jmp 0x1800362d5
mov qword [rsp + 0x6d0], 0
mov rax, qword [rsp + 0x88]
not rax
cmp qword [rsp + 0x6d0], rax
je 0x180036314
movzx eax, byte [0x1800a65fe]
movsx rax, al
xor rax, qword [rsp + 0x80]
movzx ecx, byte [0x1800a65fe]
movsx rcx, cl
or rcx, rax
mov rax, rcx
mov byte [0x1800a65fe], al
jmp 0x180036348
movabs rax, 0x306d7bf4203a7
xor ecx, ecx
cmp rcx, rax
je 0x180036348
movsx eax, word [rsp + 0x38]
xor eax, dword [0x1800a6688]
mov word [rsp + 0x38], ax
mov rax, qword [0x1800a66a0]
sub rax, 0x9a2f
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x140]
add eax, 0x5d20
mov dword [rsp + 0x508], eax
mov eax, dword [0x1800a663c]
cmp dword [rsp + 0x5c], eax
jb 0x180036374
mov dword [rsp + 0x2b0], 1
jmp 0x18003637f
mov dword [rsp + 0x2b0], 0
cmp dword [rsp + 0x5c], 0x4c
jb 0x180036393
mov dword [rsp + 0x2ac], 1
jmp 0x18003639e
mov dword [rsp + 0x2ac], 0
mov eax, dword [rsp + 0x2ac]
cmp dword [rsp + 0x2b0], eax
jg 0x1800363b0
jmp 0x1800363cf
movsx eax, byte [rsp + 0x32]
mov ecx, dword [0x1800a66b0]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x1800363cf
movsxd rax, dword [0x1800a6624]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x140]
add eax, 0x794a
mov dword [rsp + 0x50c], eax
mov eax, dword [0x1800a65bc]
shl eax, 5
cdqe
mov qword [0x1800a6680], rax
mov eax, dword [rsp + 0x140]
add eax, 0x4ea4
mov dword [rsp + 0x7e0], eax
mov ecx, dword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x1800a6694], ax
mov eax, 0xb2b417bc
mov qword [0x1800a66a8], rax
movsxd rax, dword [0x1800a66c8]
mov rcx, qword [rsp + 0x60]
add rcx, 0x8193
cmp rax, rcx
jne 0x1800364f0
movsx eax, byte [rsp + 0x33]
mov ecx, dword [0x1800a6688]
add ecx, eax
mov eax, ecx
cmp eax, 1
jne 0x1800364f0
mov rax, qword [0x1800a6678]
mov rcx, qword [0x1800a66a0]
xor rax, rcx
not rax
movzx ecx, word [rsp + 0x44]
movsx ecx, cx
add ecx, dword [0x1800a6624]
movsxd rcx, ecx
imul rax, rcx
not rax
movzx ecx, byte [0x1800a65a3]
movsx rcx, cl
movsx rdx, byte [rsp + 0x32]
movabs rdi, 0xe7d6bed1e04d1
imul rdx, rdi
xor rcx, rdx
add rax, rcx
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x88]
add rax, 0x2670
mov dword [0x1800a65bc], eax
jmp 0x18003641b
mov rax, qword [0x1800a6680]
movsx rcx, byte [rsp + 0x34]
cmp rax, rcx
jne 0x18003650f
mov dword [rsp + 0x2b8], 1
jmp 0x18003651a
mov dword [rsp + 0x2b8], 0
mov rax, qword [0x1800a6680]
cmp rax, 0xc
jne 0x180036534
mov dword [rsp + 0x2b4], 1
jmp 0x18003653f
mov dword [rsp + 0x2b4], 0
mov eax, dword [rsp + 0x2b4]
cmp dword [rsp + 0x2b8], eax
jl 0x18003655a
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x36], al
jmp 0x180036576
mov eax, dword [0x1800a65bc]
movzx ecx, word [0x1800a66b4]
movsx ecx, cx
cmp eax, ecx
jle 0x180036576
mov dword [rsp + 0x58], 0x708f995f
mov eax, dword [rsp + 0x508]
imul eax, eax, 0x83c6
mov ecx, dword [rsp + 0x50c]
or ecx, 0x11
imul eax, ecx
mov eax, eax
movabs rcx, 0x16b931aa3fcf
sub rax, rcx
mov dword [rsp + 0x5d0], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x144], eax
mov eax, dword [rsp + 0x144]
add eax, 0x8df6
mov dword [rsp + 0x514], eax
movsx rax, word [rsp + 0x38]
cmp qword [rsp + 0x88], rax
jl 0x1800365e3
mov dword [rsp + 0x2c0], 1
jmp 0x1800365ee
mov dword [rsp + 0x2c0], 0
cmp qword [rsp + 0x88], 0x3a
jl 0x180036606
mov dword [rsp + 0x2bc], 1
jmp 0x180036611
mov dword [rsp + 0x2bc], 0
mov eax, dword [rsp + 0x2bc]
cmp dword [rsp + 0x2c0], eax
jge 0x180036631
movzx eax, byte [rsp + 0x31]
movsx rax, al
mov qword [0x1800a6668], rax
mov eax, dword [rsp + 0x144]
add eax, 0x3b5
mov dword [rsp + 0x510], eax
movzx eax, byte [rsp + 0x31]
movsx eax, al
movzx ecx, word [0x1800a6694]
movzx ecx, cx
cmp eax, ecx
jl 0x180036678
movzx eax, byte [0x1800a65a6]
movzx eax, al
movzx ecx, word [0x1800a668c]
add eax, ecx
mov byte [0x1800a65a6], al
jmp 0x1800367f8
mov eax, dword [rsp + 0x54]
not eax
test eax, eax
jne 0x180036697
cmp qword [rsp + 0x68], 0
jne 0x180036697
mov dword [rsp + 0x2cc], 0
jmp 0x1800366a2
mov dword [rsp + 0x2cc], 1
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x1800366b7
mov dword [rsp + 0x2c4], 1
jmp 0x1800366c2
mov dword [rsp + 0x2c4], 0
movzx eax, word [rsp + 0x3c]
movzx eax, ax
cmp dword [rsp + 0x2c4], eax
jge 0x1800366e0
mov dword [rsp + 0x2c8], 1
jmp 0x1800366eb
mov dword [rsp + 0x2c8], 0
mov eax, dword [rsp + 0x2c8]
cmp dword [rsp + 0x2cc], eax
jg 0x180036710
movsx eax, byte [0x1800a65fb]
xor eax, 0x7b12a32a
mov dword [rsp + 0x50], eax
jmp 0x1800367f8
cmp dword [0x1800a6698], 0
je 0x180036759
movabs rax, 0x90364d6d243f4
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov dword [rsp + 0x54], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
movabs rcx, 0x836ce9ee4c700
add rax, rcx
mov rcx, qword [rsp + 0x68]
add rax, rcx
mov byte [rsp + 0x30], al
jmp 0x1800367f8
mov rax, qword [0x1800a6668]
test rax, rax
jne 0x180036772
mov dword [rsp + 0x2d0], 1
jmp 0x18003677d
mov dword [rsp + 0x2d0], 0
mov eax, dword [0x1800a6698]
mov ecx, dword [rsp + 0x2d0]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800a66cc]
imul eax, ecx
test eax, eax
je 0x1800367f8
movzx eax, word [0x1800a660c]
test eax, eax
jne 0x1800367b4
mov qword [rsp + 0x6d8], 1
jmp 0x1800367c0
mov qword [rsp + 0x6d8], 0
mov rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x60], rax
movzx eax, byte [0x1800a65e6]
movzx eax, al
movabs rcx, 0x7343444bc2810
sub rax, rcx
mov rcx, qword [0x1800a6670]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6670], rax
mov eax, dword [rsp + 0x144]
add eax, 0x971
mov dword [rsp + 0x7e4], eax
cmp qword [0x1800a6670], 0
jne 0x18003682d
movzx eax, word [rsp + 0x40]
cwde
test eax, eax
je 0x18003682d
mov qword [rsp + 0x6e0], 1
jmp 0x180036839
mov qword [rsp + 0x6e0], 0
mov rax, qword [0x1800a6668]
cmp rax, qword [rsp + 0x6e0]
je 0x18003686e
movzx eax, byte [0x1800a6566]
movsx eax, al
imul eax, eax, 0x5b
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x70]
add rax, 0x499717bf
mov byte [0x1800a6566], al
jmp 0x180036885
mov eax, dword [0x1800a663c]
test eax, eax
je 0x180036885
mov eax, dword [rsp + 0x58]
mov eax, eax
mov qword [0x1800a66a0], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x60], rax
mov byte [0x1800a65a3], 1
mov eax, dword [rsp + 0x510]
mov ecx, dword [rsp + 0x514]
mov edx, 0xffff6ef3
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x5d4], eax
mov rax, qword [0x1800a66e0]
mov ecx, 0xb6d50d81
sub rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800a66e8]
mov rcx, qword [0x1800a66b8]
xor rax, rcx
mov ecx, dword [0x1800a66e8]
add rcx, rax
mov rax, rcx
mov dword [0x1800a66e8], eax
mov eax, dword [0x18091bdb0]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x14c]
add eax, 0x410
mov dword [rsp + 0x534], eax
mov eax, dword [rsp + 0x14c]
add eax, 0x727
mov dword [rsp + 0x530], eax
mov dword [0x1800a6624], 2
movzx eax, word [rsp + 0x48]
cwde
mov ecx, dword [0x1800a66b0]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [0x1800a66e0]
sub rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1800a6698]
sub rax, rcx
mov byte [rsp + 0x36], al
mov eax, dword [0x1800a6624]
mov dword [rsp + 0x148], eax
cmp dword [rsp + 0x148], 0
je 0x180036987
cmp dword [rsp + 0x148], 1
je 0x18003699d
cmp dword [rsp + 0x148], 2
je 0x1800369e5
movzx eax, byte [0x1800a6566]
movsx eax, al
sub eax, 0x13401614
mov word [rsp + 0x38], ax
jmp 0x180036a04
mov rax, qword [0x1800a66d8]
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x88]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [0x1800a6694]
movzx eax, ax
mov rcx, qword [rsp + 0x70]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x180036a04
mov eax, dword [rsp + 0x14c]
add eax, 0x4e1
mov dword [rsp + 0x52c], eax
mov qword [rsp + 0xe0], 0
mov dword [0x1800a66b0], 3
movzx eax, word [rsp + 0x44]
cwde
mov ecx, dword [rsp + 0x54]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
movzx eax, byte [0x1800a65a6]
movzx eax, al
add eax, 0xe05d
mov dword [rsp + 0x54], eax
mov eax, dword [0x1800a66b0]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 0
je 0x180036a99