Function at 0x180069ff0
Capabilities:
Encode data using base64
Encrypt data using speck
Parse pe header
Query environment variable

Disassembly:
push rsi
push rdi
sub rsp, 0x7d8
mov byte [rsp + 0x120], 0xca
mov eax, dword [0x1800a6b0c]
mov qword [rsp + 0x70], rax
movzx eax, byte [0x1800a6be8]
mov byte [rsp + 0x32], al
movzx eax, word [0x1800a6c1c]
cwde
mov dword [rsp + 0x60], eax
movzx eax, word [0x1800a6c10]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1800a6c38]
mov byte [rsp + 0x30], al
mov eax, dword [0x1800a6b1c]
mov word [rsp + 0x40], ax
mov eax, 0xffff8e5e
mov word [rsp + 0x48], ax
mov byte [rsp + 0x31], 0xe8
mov byte [rsp + 0x34], 0x89
movzx eax, word [0x1800a6c1c]
mov word [rsp + 0x50], ax
mov eax, 0xb076
mov word [rsp + 0x44], ax
mov dword [rsp + 0x54], 0xee355243
mov eax, dword [0x1800a6b1c]
mov dword [rsp + 0x58], eax
mov eax, dword [0x1800a6c4c]
mov eax, eax
mov qword [rsp + 0x90], rax
movzx eax, word [0x1800a6be8]
mov qword [rsp + 0x88], rax
movzx eax, word [0x1800a6c48]
cwde
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x36], 0x78
mov eax, 0x36f
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1800a6af4]
mov byte [rsp + 0x37], al
mov byte [rsp + 0x35], 0x1d
movzx eax, word [0x1800a6c48]
cwde
mov dword [rsp + 0x68], eax
mov eax, 0xca2d9323
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x33], 0x3b
mov byte [rsp + 0x38], 0x4d
mov eax, 0xffffd443
mov word [rsp + 0x47c], ax
movzx eax, byte [0x1800a6ace]
movzx eax, al
mov dword [rsp + 0x5a4], eax
movabs rax, 0x5cb9019c20a4
mov qword [rsp + 0x640], rax
movabs rax, 0xfd6592026c83b
mov qword [rsp + 0x648], rax
mov dword [rsp + 0x5a8], 0xcd34
movzx eax, byte [0x1800a6bfc]
mov byte [rsp + 0x174], al
movsx eax, word [0x1800a6c10]
mov dword [rsp + 0x5ac], eax
movabs rax, 0xe53133c8785cc
mov qword [rsp + 0x650], rax
mov eax, 0x6f81
mov word [rsp + 0x478], ax
movzx eax, word [0x1800a6c50]
movsx rax, ax
mov qword [rsp + 0x658], rax
movzx eax, byte [rsp + 0x32]
dec al
mov byte [rsp + 0x32], al
movzx eax, word [0x1800a6c50]
cwde
add eax, 0xa2
cdqe
mov qword [0x1800a6bd0], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc4]
add eax, 0xcc
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x18006a1dd
mov dword [rsp + 0x388], 1
jmp 0x18006a1e8
mov dword [rsp + 0x388], 0
movzx eax, byte [rsp + 0x37]
xor eax, dword [rsp + 0x388]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xc4]
add eax, 0x2a5
mov dword [rsp + 0x498], eax
movsx eax, word [0x1800a6bec]
movsx ecx, byte [rsp + 0x36]
cmp eax, ecx
jle 0x18006a228
mov dword [rsp + 0x17c], 1
jmp 0x18006a233
mov dword [rsp + 0x17c], 0
movsx eax, word [0x1800a6bec]
cmp eax, 0x61
jle 0x18006a24c
mov dword [rsp + 0x38c], 1
jmp 0x18006a257
mov dword [rsp + 0x38c], 0
mov eax, dword [rsp + 0x38c]
cmp dword [rsp + 0x17c], eax
jge 0x18006a2e1
movzx eax, word [0x1800a6c44]
movzx ecx, byte [rsp + 0x34]
movzx ecx, cl
add eax, ecx
test eax, eax
jne 0x18006a289
mov dword [rsp + 0x184], 1
jmp 0x18006a294
mov dword [rsp + 0x184], 0
movzx eax, word [0x1800a6acc]
movzx eax, ax
mov rcx, qword [rsp + 0x70]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x18006a2bc
mov dword [rsp + 0x180], 1
jmp 0x18006a2c7
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
mov ecx, dword [rsp + 0x184]
sub ecx, eax
mov eax, ecx
mov byte [0x1800a6adf], al
jmp 0x18006a30f
mov eax, 8
imul rax, rax, 0x37
lea rcx, [0x181119c90]
mov edx, dword [rsp + 0x54]
movsxd rdx, edx
and rdx, qword [rcx + rax]
mov rax, rdx
mov dword [rsp + 0x54], eax
mov eax, 0x6e1b
mov word [0x1800a6c18], ax
mov eax, dword [rsp + 0xc4]
add eax, 0x2ac
mov dword [rsp + 0x5b0], eax
movsx eax, word [rsp + 0x48]
imul eax, eax, 0x14a5
movzx ecx, byte [str.uEinvalid_bit_length]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [str.uEinvalid_bit_length], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xc8], eax
movzx eax, byte [0x1800a6b0b]
movsx rax, al
cmp rax, qword [0x1800a6c08]
jbe 0x18006a3a9
movzx eax, byte [rsp + 0x30]
movzx eax, al
cmp qword [rsp + 0x88], rax
jne 0x18006a376
jmp 0x18006a3a7
movzx eax, byte [str.uEinvalid_bit_length]
movsx eax, al
test eax, eax
je 0x18006a3a7
movzx eax, byte [0x1800a6acf]
inc al
mov byte [0x1800a6acf], al
movzx eax, byte [rsp + 0x34]
movzx eax, al
sub eax, 0xa8
mov word [0x1800a6c54], ax
jmp 0x18006a3c2
movzx eax, byte [0x1800a6af7]
movzx eax, al
add eax, 0x13e9
cdqe
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0xc8]
add eax, 0x1dc
mov dword [rsp + 0x234], eax
cmp dword [0x1800a6b0c], 0
je 0x18006a3e3
jmp 0x18006a4d2
mov eax, dword [0x1800a6b64]
test eax, eax
jne 0x18006a420
movzx eax, byte [0x1800a6b0b]
movsx eax, al
sar eax, 7
cdqe
mov qword [0x1800a6c00], rax
movzx eax, word [rsp + 0x3c]
movzx ecx, word [0x1800a6bf8]
movsx ecx, cx
sub eax, ecx
mov word [0x1800a6c18], ax
jmp 0x18006a4d2
cmp qword [0x1800a6c00], 0
jne 0x18006a437
mov dword [rsp + 0x188], 1
jmp 0x18006a442
mov dword [rsp + 0x188], 0
mov eax, dword [0x1800a6b64]
not eax
cmp dword [rsp + 0x188], eax
jle 0x18006a461
movzx eax, word [0x1810c57e8]
mov word [rsp + 0x40], ax
jmp 0x18006a4d2
movsx eax, word [0x1800a6c54]
test eax, eax
jne 0x18006a487
movzx eax, byte [str.uEinvalid_bit_length]
movsx eax, al
test eax, eax
jne 0x18006a487
mov dword [rsp + 0x18c], 0
jmp 0x18006a492
mov dword [rsp + 0x18c], 1
mov eax, dword [rsp + 0x18c]
cmp dword [0x1800a6c14], eax
je 0x18006a4d2
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x58]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
movzx eax, byte [0x1800a6b0b]
movsx eax, al
sub eax, 0xb2c9
mov dword [0x1800a6b64], eax
mov eax, dword [rsp + 0xc8]
add eax, 0x397
mov dword [rsp + 0x5b4], eax
mov dword [0x1800a6b1c], 0x2642
mov eax, 0xe066
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0xc8]
add eax, 0x2f
mov dword [rsp + 0x5b8], eax
movzx eax, byte [0x1800a6af3]
imul eax, eax, 0xec
movzx ecx, word [0x1800a6acc]
movzx ecx, cx
xor ecx, eax
mov eax, ecx
mov word [0x1800a6acc], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x227
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x363
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x3cc
mov dword [rsp + 0x3cc], eax
lea rax, [rsp + 0x670]
lea rcx, str.The_value_specifie
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x670]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x35], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x27e
mov dword [rsp + 0xa0], eax
mov eax, dword [rsp + 0xd0]
add eax, 0x353
mov dword [rsp + 0x3d0], eax
movzx eax, word [0x1800a6c44]
test eax, eax
je 0x18006a61c
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x18006a5f5
movzx eax, word [0x1810c57e8]
mov word [rsp + 0x50], ax
jmp 0x18006a61a
movzx eax, word [0x1800a6c44]
sub eax, 0xb4
mov word [0x1800a6c54], ax
mov rax, qword [rsp + 0x88]
sub rax, 0xbc
mov byte [rsp + 0x33], al
jmp 0x18006a65f
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x18006a65f
mov rax, qword [0x1800a6bc8]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x44]
movzx eax, ax
imul eax, dword [rsp + 0x58]
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
or ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0xd0]
add eax, 0xaa
mov dword [rsp + 0x5bc], eax
lea rax, [rsp + 0x688]
lea rcx, str.__ExceptionPtrDest
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x688]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [str.uEinvalid_bit_length], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xd4], eax
mov qword [rsp + 0x70], 8
mov eax, dword [rsp + 0xd4]
add eax, 0x174
mov dword [rsp + 0x290], eax
call qword [sym.imp.USER32.dll_GetShellWindow]
mov eax, eax
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0xd4]
add eax, 0x3b3
mov dword [rsp + 0x5c0], eax
mov eax, dword [0x1810c57e8]
mov qword [0x1800a6c20], rax
movzx eax, byte [str.uEinvalid_bit_length]
movsx ax, al
mov word [0x1800a6be8], ax
mov eax, dword [rsp + 0xd4]
add eax, 0x367
mov dword [rsp + 0x28c], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x171
mov dword [rsp + 0x2bc], eax
mov eax, dword [rsp + 0xd8]
add eax, 0xb7
mov dword [rsp + 0x5c4], eax
movsx eax, word [0x1800a6bec]
xor eax, 0x848e
mov word [0x1800a6c18], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x29c
mov dword [rsp + 0x2b8], eax
mov eax, 0xffffff46
mov word [0x1800a6c50], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xdc], eax
mov eax, dword [0x1800a6b0c]
sub eax, 0x3a
mov byte [rsp + 0x34], al
mov eax, dword [0x1800a6bbc]
sub eax, 0xf8
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0xdc]
add eax, 0x95
mov dword [rsp + 0x5a0], eax
movzx eax, word [0x1800a6c44]
movsx ecx, word [0x1800a6bec]
cmp eax, ecx
je 0x18006a7f6
movsx eax, byte [rsp + 0x35]
add eax, 0x6aa1
mov word [0x1800a6c10], ax
mov eax, dword [0x1800a6b0c]
add eax, 0x8832
mov byte [rsp + 0x36], al
jmp 0x18006a80b
movzx eax, word [rsp + 0x50]
not eax
test eax, eax
je 0x18006a80b
mov dword [0x1800a6c14], 0xf33d
mov eax, dword [rsp + 0xdc]
add eax, 0x3d
mov dword [rsp + 0x420], eax
movzx eax, word [rsp + 0x3c]
shl eax, 6
mov byte [rsp + 0x34], al
mov eax, dword [rsp + 0x60]
cdqe
mov qword [0x1800a6bc8], rax
mov eax, dword [rsp + 0xdc]
add eax, 0x371
mov dword [rsp + 0x41c], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xe0], eax
movzx eax, byte [rsp + 0x37]
test eax, eax
jne 0x18006a86b
mov dword [rsp + 0x190], 1
jmp 0x18006a876
mov dword [rsp + 0x190], 0
movzx eax, word [0x1800a6bf8]
cwde
movsx ecx, byte [rsp + 0x36]
add eax, ecx
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
sub ecx, dword [rsp + 0x190]
and eax, ecx
not eax
mov word [0x1800a6bf8], ax
movzx eax, word [0x1800a6c44]
shl eax, 8
mov word [0x1800a6bf8], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x76
mov dword [rsp + 0x5c8], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov rcx, qword [rsp + 0x78]
mov eax, dword [rsp + 0xe0]
add eax, 0x2e5
mov dword [rsp + 0x42c], eax
movsx eax, word [0x1800a6c40]
imul eax, dword [0x1800a6bbc]
mov word [0x1800a6c40], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x85
mov dword [rsp + 0x5cc], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xe4], eax
movzx eax, byte [0x1800a6ace]
movzx eax, al
mov rcx, qword [0x1800a6c20]
cmp rax, rcx
jae 0x18006a939
mov dword [rsp + 0x198], 1
jmp 0x18006a944
mov dword [rsp + 0x198], 0
movzx eax, byte [0x1800a6ace]
movzx eax, al
cmp eax, 0x18
jge 0x18006a960
mov dword [rsp + 0x194], 1
jmp 0x18006a96b
mov dword [rsp + 0x194], 0
mov eax, dword [rsp + 0x194]
cmp dword [rsp + 0x198], eax
jle 0x18006a9f7
mov rax, qword [0x1800a6be0]
test rax, rax
jne 0x18006a994
mov dword [rsp + 0x1a0], 1
jmp 0x18006a99f
mov dword [rsp + 0x1a0], 0
cmp dword [rsp + 0x64], 0
jne 0x18006a9b3
mov dword [rsp + 0x19c], 1
jmp 0x18006a9be
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov ecx, dword [rsp + 0x1a0]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x18006a9de
mov byte [rsp + 0x80], 1
jmp 0x18006a9e6
mov byte [rsp + 0x80], 0
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x31], al
jmp 0x18006ab4b
movsx eax, word [rsp + 0x48]
test eax, eax
je 0x18006aa56
movzx eax, word [0x1800a6c1c]
cwde
not eax
test eax, eax
je 0x18006aa56
mov eax, dword [0x1800a6c4c]
test eax, eax
je 0x18006aa2a
movzx eax, byte [rsp + 0x31]
movzx eax, al
mov qword [rsp + 0x4c0], rax
jmp 0x18006aa37
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x4c0], rax
movzx eax, word [rsp + 0x4c0]
mov word [0x1800a6c28], ax
movzx eax, byte [0x1810c57e8]
mov byte [rsp + 0x31], al
jmp 0x18006ab4b
movsx eax, word [0x1800a6af4]
movzx ecx, byte [rsp + 0x34]
movzx ecx, cl
cmp eax, ecx
jge 0x18006aa76
mov dword [rsp + 0x1a4], 1
jmp 0x18006aa81
mov dword [rsp + 0x1a4], 0
mov eax, dword [rsp + 0x64]
cmp qword [0x1800a6c30], rax
jae 0x18006aa9b
mov dword [rsp + 0x1a8], 1
jmp 0x18006aaa6
mov dword [rsp + 0x1a8], 0
mov eax, dword [rsp + 0x1a4]
imul eax, dword [rsp + 0x1a8]
test eax, eax
je 0x18006aae9
movzx eax, word [rsp + 0x88]
mov word [0x1800a6c10], ax
mov rax, qword [0x1800a6be0]
not rax
mov rcx, qword [rsp + 0x78]
add rax, rcx
mov ecx, dword [0x1800a6b0c]
or rax, rcx
mov byte [rsp + 0x32], al
jmp 0x18006ab4b
movzx eax, word [0x1800a6acc]
movzx eax, ax
test eax, eax
je 0x18006ab4b
cmp qword [0x1800a6bd8], 0
jne 0x18006ab0e
mov dword [rsp + 0x1ac], 1
jmp 0x18006ab19
mov dword [rsp + 0x1ac], 0
movzx eax, byte [rsp + 0x34]
movzx eax, al
mov ecx, dword [rsp + 0x1ac]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x35], al
movzx eax, byte [0x1800a6af3]
mov rcx, qword [0x1800a6c20]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6c20], rax
mov eax, dword [rsp + 0xe4]
add eax, 0xcb
mov dword [rsp + 0x364], eax
movzx eax, byte [rsp + 0x38]
mov ecx, eax
call qword [sym.imp.USER32.dll_OpenIcon]
mov dword [0x1800a6b7c], eax
mov eax, dword [rsp + 0xe4]
add eax, 0x1dd
mov dword [rsp + 0x5d0], eax
movzx eax, byte [0x1810c57e8]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0xe4]
add eax, 0x66
mov dword [rsp + 0x5d4], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xe8], eax
movzx eax, word [0x1800a6c1c]
cwde
mov ecx, dword [0x1800a6b7c]
cmp eax, ecx
jb 0x18006abcc
mov dword [rsp + 0x1b4], 1
jmp 0x18006abd7
mov dword [rsp + 0x1b4], 0
movzx eax, word [0x1800a6c1c]
cwde
cmp eax, 0x12
jl 0x18006abf1
mov dword [rsp + 0x1b0], 1
jmp 0x18006abfc
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jne 0x18006ac29
movsxd rax, dword [rsp + 0x58]
sub rax, qword [0x1800a6c38]
movsxd rcx, dword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x58], eax
jmp 0x18006ac3b
movzx eax, byte [rsp + 0x34]
movzx eax, al
sub eax, 5
mov word [0x1800a6c18], ax
mov eax, dword [rsp + 0xe8]
add eax, 0x20f
mov dword [rsp + 0x5d8], eax
movsx eax, word [rsp + 0x48]
mov eax, dword [rsp + 0xe8]
add eax, 0x5a
mov dword [rsp + 0x5dc], eax
movzx eax, byte [rsp + 0x37]
mov rcx, qword [0x1800a6c20]
cmp rax, rcx
jae 0x18006ac82
mov dword [rsp + 0x1bc], 1
jmp 0x18006ac8d
mov dword [rsp + 0x1bc], 0
movzx eax, byte [rsp + 0x37]
cmp eax, 0x50
jge 0x18006aca4
mov dword [rsp + 0x1b8], 1
jmp 0x18006acaf
mov dword [rsp + 0x1b8], 0
mov eax, dword [rsp + 0x1b8]
cmp dword [rsp + 0x1bc], eax
je 0x18006ae70
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov dword [0x1800a6b64], eax
mov eax, dword [0x1800a6b64]
test eax, eax
jg 0x18006ace6
mov dword [rsp + 0x1c4], 1
jmp 0x18006acf1
mov dword [rsp + 0x1c4], 0
mov eax, dword [0x1800a6b64]
cmp eax, 0x2d
jg 0x18006ad09
mov dword [rsp + 0x1c0], 1
jmp 0x18006ad14
mov dword [rsp + 0x1c0], 0
mov eax, dword [rsp + 0x1c0]
cmp dword [rsp + 0x1c4], eax
jle 0x18006ae35
mov rax, qword [0x1800a6bc8]
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
cmp rax, rcx
jle 0x18006ad7b
movzx eax, byte [0x1800a6acf]
movzx ecx, word [rsp + 0x5c]
sub eax, ecx
mov byte [0x1800a6acf], al
movzx eax, word [rsp + 0x40]
movzx eax, ax
mov rcx, qword [rsp + 0x90]
add rcx, rax
mov rax, rcx
mov ecx, dword [0x1800a6bfc]
sub rax, rcx
mov word [0x1800a6c50], ax
jmp 0x18006ae33
movzx eax, byte [0x1800a6ace]
movzx eax, al
test eax, eax
jne 0x18006ad97
mov qword [rsp + 0x4c8], 1
jmp 0x18006ada3
mov qword [rsp + 0x4c8], 0
mov rax, qword [0x1800a6bd8]
cmp qword [rsp + 0x4c8], rax
jne 0x18006add4
movsx eax, word [0x1800a6af4]
movzx ecx, byte [str.uEinvalid_bit_length]
movsx ecx, cl
lea eax, [rcx + rax + 0x1c23f95b]
mov byte [str.uEinvalid_bit_length], al
jmp 0x18006ae33
movzx eax, byte [rsp + 0x30]
movzx eax, al
test eax, eax
jne 0x18006aded
mov dword [rsp + 0x1c8], 1
jmp 0x18006adf8
mov dword [rsp + 0x1c8], 0
mov eax, dword [rsp + 0x1c8]
mov ecx, dword [0x1800a6bbc]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800a6b0b]
movsx ecx, cl
cmp eax, ecx
jbe 0x18006ae33
mov rax, qword [rsp + 0x88]
mov rcx, qword [0x1800a6bd8]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6bd8], rax
jmp 0x18006ae70
mov rax, qword [0x1800a6be0]
test rax, rax
je 0x18006ae70
mov qword [0x1800a6c08], 1
movzx eax, byte [rsp + 0x33]
movsx eax, al
movzx ecx, word [0x1800a6c1c]
movsx ecx, cx
and eax, ecx
movzx ecx, byte [rsp + 0x33]
movsx ecx, cl
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x33], al
mov eax, dword [rsp + 0xe8]
add eax, 0x40
mov dword [rsp + 0xa8], eax
mov eax, dword [0x1800a6c4c]
test eax, eax
je 0x18006aeab
mov eax, dword [0x1800a6bfc]
add eax, 0x17
mov byte [rsp + 0x32], al
movabs rax, 0x4b6a203828d23
mov qword [0x1800a6c30], rax
jmp 0x18006af16
movzx eax, word [0x1800a6be8]
test eax, eax
je 0x18006aecc
cmp dword [0x1800a6bfc], 0
je 0x18006aecc
mov dword [rsp + 0x1cc], 1
jmp 0x18006aed7
mov dword [rsp + 0x1cc], 0
movzx eax, word [0x1800a6be8]
mov ecx, dword [rsp + 0x60]
and ecx, eax
mov eax, ecx
cmp dword [rsp + 0x1cc], eax
jne 0x18006af16
movsxd rax, dword [rsp + 0x58]
movabs rcx, 0xf95929fe57a4c
imul rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [0x1800a6bf0]
mov dword [0x1800a6b64], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xec], eax
movzx eax, word [rsp + 0x3c]
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
add eax, ecx
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0xec]
add eax, 0x2a5
mov dword [rsp + 0x5e0], eax
movzx eax, word [rsp + 0x44]
movzx eax, ax
add eax, dword [rsp + 0x64]
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0xec]
add eax, 0x355
mov dword [rsp + 0x370], eax
mov rax, qword [0x1800a6be0]
imul rax, rax, 0x704cefb1
mov rcx, qword [0x1800a6be0]
and rcx, rax
mov rax, rcx
mov qword [0x1800a6be0], rax
mov eax, dword [rsp + 0xec]
add eax, 0x2c
mov dword [rsp + 0x5e4], eax
mov eax, dword [0x1800a6b1c]
movzx ecx, word [0x1800a6bf8]
movsx ecx, cx
cmp eax, ecx
jbe 0x18006afc2
mov dword [rsp + 0x1d4], 1
jmp 0x18006afcd
mov dword [rsp + 0x1d4], 0
mov eax, dword [0x1800a6b1c]
cmp eax, 0x19
jbe 0x18006afe5
mov dword [rsp + 0x1d0], 1
jmp 0x18006aff0
mov dword [rsp + 0x1d0], 0
mov eax, dword [rsp + 0x1d0]
cmp dword [rsp + 0x1d4], eax
jg 0x18006b0b1
mov qword [rsp + 0x70], 3
movzx eax, word [0x1800a6be8]
mov qword [0x1800a6c38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x3a0], rax
cmp qword [rsp + 0x3a0], 0
je 0x18006b056
cmp qword [rsp + 0x3a0], 1
je 0x18006b083
cmp qword [rsp + 0x3a0], 2
je 0x18006b091
cmp qword [rsp + 0x3a0], 3
je 0x18006b09e
jmp 0x18006b0af
movzx eax, word [rsp + 0x44]
movzx eax, ax
mov ecx, dword [rsp + 0x54]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x54]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
movzx eax, word [0x1810c57e8]
mov word [0x1800a6be8], ax
jmp 0x18006b0af
movsx eax, word [rsp + 0x48]
add eax, 0x69
mov byte [rsp + 0x34], al
jmp 0x18006b0af
movzx eax, byte [0x1810c57e8]
mov byte [rsp + 0x31], al
jmp 0x18006b0af
movzx eax, byte [rsp + 0x38]
mov ecx, dword [rsp + 0x58]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x58], eax
jmp 0x18006b0db
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x18006b0db
movzx eax, byte [rsp + 0x33]
movsx eax, al
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
add eax, ecx
movzx ecx, byte [rsp + 0x33]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x33], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xf0], eax
movzx eax, word [rsp + 0x3c]
mov ecx, dword [0x1800a6b64]
imul eax, ecx
mov byte [0x1800a6adf], al
mov eax, dword [rsp + 0xf0]
add eax, 0xa9
mov dword [rsp + 0x5e8], eax
mov eax, dword [rsp + 0x54]
imul eax, eax, 0xef
movzx ecx, word [0x1800a6c48]
movsx ecx, cx
and ecx, eax
mov eax, ecx
mov word [0x1800a6c48], ax
mov eax, dword [rsp + 0xf0]
add eax, 0x166
mov dword [rsp + 0x374], eax
xor eax, eax
mov word [0x1800a6c44], ax
movzx eax, word [0x1800a6c44]
mov dword [rsp + 0x480], eax
cmp dword [rsp + 0x480], 0
je 0x18006b164
jmp 0x18006b197
movzx eax, word [0x1800a6bf8]
cwde
movsx ecx, word [rsp + 0x48]
imul eax, ecx
mov word [0x1800a6c18], ax
imul eax, dword [0x1800a6bfc], 0xd2d1
movsx ecx, word [0x1800a6c54]
or ecx, eax
mov eax, ecx
mov word [0x1800a6c54], ax
mov eax, dword [rsp + 0xf0]
add eax, 0x22b
mov dword [rsp + 0x5ec], eax
movzx eax, byte [0x1800a6adf]
movzx ecx, word [0x1800a6acc]
movzx ecx, cx
cmp eax, ecx
jl 0x18006b1e5
movzx eax, byte [0x1800a6b0b]
movsx eax, al
sub eax, 0xcc
cdqe
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18006b2ef
movsx eax, word [0x1800a6af4]
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
cmp eax, ecx
jl 0x18006b28a
movzx eax, byte [rsp + 0x31]
movzx eax, al
test eax, eax
jne 0x18006b216
mov qword [rsp + 0x4d0], 1
jmp 0x18006b222
mov qword [rsp + 0x4d0], 0
movsx rax, word [rsp + 0x48]
mov rcx, qword [0x1800a6c08]
mov rdx, qword [rsp + 0x4d0]
sub rdx, rcx
mov rcx, rdx
movzx edx, word [0x1800a6c48]
movsx rdx, dx
imul rcx, rdx
xor rax, rcx
test rax, rax
jne 0x18006b25e
mov byte [rsp + 0x81], 1
jmp 0x18006b266
mov byte [rsp + 0x81], 0
movzx eax, byte [rsp + 0x81]
mov byte [rsp + 0x32], al
movzx eax, word [0x1800a6c1c]
movsx rax, ax
sub rax, qword [0x1800a6bd8]
mov dword [rsp + 0x60], eax
jmp 0x18006b2ef
movsx eax, byte [rsp + 0x32]
movzx ecx, byte [0x1800a6acf]
not ecx
cmp eax, ecx
jl 0x18006b2a9
mov dword [rsp + 0x1d8], 1
jmp 0x18006b2b4
mov dword [rsp + 0x1d8], 0
movzx eax, word [0x1800a6c28]
cwde
cmp eax, dword [rsp + 0x1d8]
jl 0x18006b2ef
movzx eax, word [0x1800a6be8]
movzx ecx, byte [0x1800a6b0b]
movsx ecx, cl
imul eax, ecx
cdqe
mov qword [0x1800a6bd0], rax
mov rax, qword [rsp + 0x70]
inc rax
mov qword [rsp + 0x70], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xf4], eax
movzx eax, word [rsp + 0x40]
movzx eax, ax
movzx ecx, word [0x1800a6acc]
movzx ecx, cx
sub eax, ecx
mov byte [str.uEinvalid_bit_length], al
mov eax, dword [rsp + 0xf4]
add eax, 0x20b
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x1e4
mov dword [rsp + 0xac], eax
mov rax, qword [0x1800a6c20]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x1800a6c44], ax
mov eax, dword [rsp + 0xf4]
add eax, 0x288
mov dword [rsp + 0x458], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xf8], eax
movzx eax, word [0x1800a6c18]
movzx eax, ax
movsx ecx, byte [rsp + 0x36]
sub eax, ecx
movzx ecx, word [0x1800a6c18]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800a6c18], ax
mov eax, dword [rsp + 0xf8]
add eax, 0x70
mov dword [rsp + 0x460], eax
mov rax, qword [rsp + 0x70]
imul rax, rax, 0x398b
mov word [rsp + 0x48], ax
movzx eax, word [0x1800a6c28]
cwde
test eax, eax
jne 0x18006b3d3
mov dword [rsp + 0x1dc], 1
jmp 0x18006b3de
mov dword [rsp + 0x1dc], 0
movzx eax, byte [0x1800a6b0b]
movsx eax, al
mov ecx, dword [0x1800a6b7c]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x1dc]
not eax
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0xf8]
add eax, 0xc0
mov dword [rsp + 0x380], eax
movsx rax, word [0x1800a6c10]
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0xf8]
add eax, 2
mov dword [rsp + 0xb0], eax
mov byte [rsp + 0x30], 0xf9
movzx eax, byte [0x1800a6acf]
add eax, 0x62839a7a
mov word [0x1800a6c50], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x356
mov dword [rsp + 0x470], eax
movsx eax, word [rsp + 0x48]
test eax, eax
je 0x18006b4a3
movzx eax, byte [0x1800a6adf]
movsx ecx, word [0x1800a6c40]
add eax, ecx
movzx ecx, byte [0x1800a6adf]
sub ecx, eax
mov eax, ecx
mov byte [0x1800a6adf], al
movzx eax, word [rsp + 0x5c]
mov ecx, dword [rsp + 0x54]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x127
mov dword [rsp + 0x384], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x7a
mov dword [rsp + 0x5f0], eax
movsx eax, word [0x1800a6c54]
movsx ecx, byte [rsp + 0x35]
not ecx
lea eax, [rax + rcx + 0x233b]
test eax, eax
jne 0x18006b4ef
mov eax, 1
mov word [rsp + 0x98], ax
jmp 0x18006b4f9
xor eax, eax
mov word [rsp + 0x98], ax
movzx eax, word [rsp + 0x98]
mov word [0x1800a6c1c], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0x18
mov dword [rsp + 0x5f4], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x3a8], rax
cmp qword [rsp + 0x3a8], 0
je 0x18006b57e
mov rcx, qword [rsp + 0x3a8]
call qword [sym.imp.USER32.dll_IsWindow]
mov dword [rsp + 0x5f8], eax
mov rcx, qword [rsp + 0x3a8]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [rsp + 0x5fc], eax
mov rcx, qword [rsp + 0x3a8]
call qword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [rsp + 0x600], eax
mov eax, dword [rsp + 0x100]
add eax, 0x3148
mov dword [rsp + 0x488], eax
call qword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
movzx eax, ax
mov dword [0x1800a6c14], eax
mov eax, dword [rsp + 0x100]
add eax, 0x8ef4
mov dword [rsp + 0x484], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jne 0x18006b5d1
mov dword [rsp + 0x1e4], 1
jmp 0x18006b5dc
mov dword [rsp + 0x1e4], 0
cmp dword [rsp + 0x58], 0x45
jne 0x18006b5f0
mov dword [rsp + 0x1e0], 1
jmp 0x18006b5fb
mov dword [rsp + 0x1e0], 0
mov eax, dword [rsp + 0x1e0]
cmp dword [rsp + 0x1e4], eax
jle 0x18006b688
call qword [sym.imp.USER32.dll_IsWow64Message]
mov word [rsp + 0x48], ax
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x18006b633
lea rcx, [0x180087134]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [rsp + 0x44], ax
jmp 0x18006b683
mov eax, dword [rsp + 0x60]
movzx ecx, word [0x1800a6c28]
movsx ecx, cx
cmp eax, ecx
jg 0x18006b683
movzx eax, byte [rsp + 0x34]
movzx eax, al
mov ecx, 8
imul rcx, rcx, 0x195c
lea rdx, [0x1811ebf70]
mov qword [rdx + rcx], rax
movzx eax, word [rsp + 0x3c]
movzx ecx, byte [0x1800a6af7]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [rsp + 0x3c]
or ecx, eax
mov eax, ecx
mov word [rsp + 0x3c], ax
jmp 0x18006b70f
cmp dword [0x1800a6b0c], 0
jne 0x18006b6a6
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x18006b6a6
mov dword [rsp + 0x1ec], 0
jmp 0x18006b6b1
mov dword [rsp + 0x1ec], 1
movzx eax, word [rsp + 0x50]
movzx ecx, byte [0x1800a6acf]
cmp eax, ecx
jl 0x18006b6ce
mov dword [rsp + 0x1e8], 1
jmp 0x18006b6d9
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
cmp dword [rsp + 0x1ec], eax
jge 0x18006b70f
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [0x1800a6c38]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6c38]
and rcx, rax
mov rax, rcx
mov qword [0x1800a6c38], rax
mov eax, 0x4224
mov word [0x1800a6be8], ax
mov eax, 1
imul rax, rax, 0x6718
lea rcx, [0x1810d6fb0]
movzx eax, byte [rcx + rax]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x484]
mov ecx, dword [rsp + 0x488]
imul eax, ecx
mov ecx, 0x1b84e904
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x404], eax
lea rcx, [0x18008713c]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [rsp + 0x35], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x104], eax
movzx eax, word [0x1800a6c28]
movsx rax, ax
cmp rax, qword [rsp + 0x88]
jae 0x18006b822
mov dword [rsp + 0x64], 1
movzx eax, word [rsp + 0x3c]
mov ecx, dword [0x1800a6b7c]
sub ecx, eax
mov eax, ecx
mov dword [0x1800a6b7c], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x1f0], eax
cmp dword [rsp + 0x1f0], 0
je 0x18006b7cc
cmp dword [rsp + 0x1f0], 1
je 0x18006b7d6
jmp 0x18006b820
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x58], eax
jmp 0x18006b820
movzx eax, byte [rsp + 0x30]
movzx eax, al
not eax
movsx ecx, word [0x1800a6c40]
xor eax, ecx
xor eax, 0x1872fe3
cdqe
mov qword [0x1800a6bc8], rax
movzx eax, byte [rsp + 0x31]
movzx eax, al
mov rcx, qword [0x1800a6c00]
xor rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6c00]
add rcx, rax
mov rax, rcx
mov qword [0x1800a6c00], rax
jmp 0x18006b855
mov rax, qword [rsp + 0x88]
not rax
test rax, rax
je 0x18006b855
mov eax, dword [0x1800a6c14]
add eax, 0x5b
mov byte [rsp + 0x37], al
movzx eax, word [rsp + 0x40]
movzx eax, ax
add eax, 0x2ca9
cdqe
mov qword [0x1800a6bd8], rax
mov eax, dword [rsp + 0x104]
add eax, 0x4df6
mov dword [rsp + 0x48c], eax
lea rcx, [0x180087144]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x1800a6c14], eax
mov eax, dword [rsp + 0x104]
add eax, 0x6e
mov dword [rsp + 0x604], eax
movsx eax, word [0x1800a6c40]
cmp dword [0x1800a6bfc], eax
jne 0x18006b8cb
lea rax, [rsp + 0x6e8]
lea rcx, str.CorrelationID
mov rdi, rax
mov rsi, rcx
mov ecx, 0x1c
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6e8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0x54], eax
jmp 0x18006b8dd
mov eax, dword [0x1800a6b7c]
sub eax, 0x43e3c95a
mov word [0x1800a6c40], ax
mov eax, dword [rsp + 0x104]
add eax, 0xa1b4
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x18006b905
mov dword [rsp + 0x1f4], 1
jmp 0x18006b910
mov dword [rsp + 0x1f4], 0
movzx eax, word [0x1800a6c44]
sub eax, dword [rsp + 0x1f4]
movsx ecx, word [0x1800a6c40]
imul eax, ecx
movzx ecx, byte [rsp + 0x38]
movzx edx, word [0x1800a6c1c]
movsx edx, dx
mov edi, dword [0x1800a6b0c]
imul edi, edx
mov edx, edi
sub ecx, edx
add eax, ecx
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x108]
mov ecx, dword [rsp + 0x108]
imul eax, ecx
mov ecx, dword [rsp + 0x48c]
mov edx, dword [rsp + 0x108]
xor ecx, edx
sub eax, ecx
add eax, 0x99dd05b2
mov dword [rsp + 0x408], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x10c], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x10c]
add eax, 0xa3
mov dword [rsp + 0x528], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x3e
mov dword [rsp + 0x490], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x51e3
mov dword [rsp + 0x52c], eax
mov eax, dword [rsp + 0x64]
add eax, 0x8ac5a057
mov eax, eax
mov qword [0x1800a6be0], rax
movzx eax, byte [rsp + 0x34]
movzx eax, al
movabs rcx, 0xa5f34b62572c2
add rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x490]
imul eax, eax, 0x86
xor eax, 0x36a7a0
xor eax, 0x3687d4
mov dword [rsp + 0x40c], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x110], eax
movzx eax, word [0x1800a6acc]
movzx eax, ax
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rsp + 0x110]
add eax, 0xddd6
mov dword [rsp + 0x494], eax
mov eax, dword [rsp + 0x110]
add eax, 0x48
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x70]
movsx rcx, byte [rsp + 0x35]
cmp rax, rcx
jae 0x18006ba66
jmp 0x18006ba7a
movzx eax, byte [0x1800a6ace]
movzx eax, al
sub eax, 0xfb
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x110]
add eax, 0xdba1
mov dword [rsp + 0x530], eax
movzx eax, word [rsp + 0x5c]
movzx ecx, byte [rsp + 0x38]
cmp eax, ecx
je 0x18006baf2
movzx eax, byte [rsp + 0x37]
not eax
cdqe
mov rcx, qword [0x1800a6bf0]
sub rcx, rax
mov rax, rcx
movsx ecx, byte [rsp + 0x36]
mov edx, dword [0x1800a6b1c]
sub edx, ecx
mov ecx, edx
mov ecx, ecx
imul rax, rcx
mov qword [0x1800a6bf0], rax
movsx rax, byte [rsp + 0x35]
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
movabs rdx, 0xfff1830ba766a888
add rcx, rdx
add rax, rcx
mov word [rsp + 0x40], ax
jmp 0x18006bb07
movsx eax, word [0x1800a6bec]
movsx ecx, byte [rsp + 0x32]
sub eax, ecx
mov word [0x1800a6bec], ax
mov eax, dword [rsp + 0x1f8]
mov ecx, 0x81
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1f8]
mov edx, dword [rsp + 0x494]
or ecx, edx
add eax, ecx
mov ecx, 0xde18
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x498]
add ecx, 0x280
mov edx, dword [rsp + 0x1fc]
mov edi, dword [rsp + 0x1fc]
xor edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x410], eax
mov rax, qword [rsp + 0x88]
cmp qword [0x1800a6c00], rax
jb 0x18006bbb5
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x40]
movzx eax, ax
test eax, eax
je 0x18006bb85
jmp 0x18006bbb3
movzx eax, byte [rsp + 0x31]
movzx eax, al
test eax, eax
je 0x18006bbb3
mov byte [0x1800a6adf], 0xa
movzx eax, word [0x1800a6c18]
movzx eax, ax
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
xor eax, ecx
mov word [0x1800a6c18], ax
jmp 0x18006bbd7
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x18006bbd7
movzx eax, byte [rsp + 0x30]
movzx eax, al
movabs rcx, 0x1e7d91c180ea0
sub rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x114], eax
movzx eax, byte [0x1800a6ace]
movzx eax, al
movzx ecx, word [0x1800a6c50]
movsx ecx, cx
cmp eax, ecx
jl 0x18006bc09
mov dword [rsp + 0x204], 1
jmp 0x18006bc14
mov dword [rsp + 0x204], 0
movzx eax, byte [0x1800a6ace]
movzx eax, al
cmp eax, 0x32
jl 0x18006bc30
mov dword [rsp + 0x200], 1
jmp 0x18006bc3b
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
cmp dword [rsp + 0x204], eax
je 0x18006bd9e
movsx eax, byte [rsp + 0x36]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [rsp + 0x35], al
movsx eax, byte [rsp + 0x35]
test eax, eax
jge 0x18006bd05
movzx eax, word [rsp + 0x3c]
movzx ecx, byte [0x1800a6af7]
movzx ecx, cl
cmp eax, ecx
jl 0x18006bce1
movzx eax, word [0x1800a6acc]
movzx eax, ax
movzx ecx, word [0x1800a6c2c]
movsx ecx, cx
sub eax, ecx
movzx ecx, word [0x1800a6acc]
movzx ecx, cx
and ecx, eax
mov eax, ecx
mov word [0x1800a6acc], ax
movzx eax, word [0x1800a6c48]
cwde
test eax, eax
je 0x18006bcc5
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x84], al
jmp 0x18006bcd3
movzx eax, byte [0x1800a6af7]
mov byte [rsp + 0x84], al
movzx eax, byte [rsp + 0x84]
mov byte [rsp + 0x30], al
jmp 0x18006bd00
movsx eax, byte [rsp + 0x32]
xor eax, 0xfeb5ebaa
movzx ecx, word [0x1800a6c18]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800a6c18], ax
jmp 0x18006bd99
movsx rax, byte [rsp + 0x36]
mov rcx, qword [0x1800a6bf0]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18006bd2a
mov dword [rsp + 0x208], 1
jmp 0x18006bd35
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x64]
imul eax, dword [rsp + 0x208]
movsx ecx, byte [rsp + 0x35]
movzx edx, byte [rsp + 0x37]
sub ecx, edx
movzx edx, word [0x1800a6c2c]
movsx edx, dx
movzx edi, word [0x1800a6c48]
movsx edi, di
sub edx, edi
xor ecx, edx
imul eax, ecx
mov word [0x1800a6bec], ax
movzx eax, word [0x1800a6acc]
movzx eax, ax
mov rcx, qword [0x1800a6c30]
imul rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x5c]
not ecx
movsxd rcx, ecx
add rax, rcx
mov word [rsp + 0x50], ax
jmp 0x18006be6a
movzx eax, word [rsp + 0x44]
movzx eax, ax
test eax, eax
jne 0x18006bdc0
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x18006bdc0
mov dword [rsp + 0x214], 0
jmp 0x18006bdcb
mov dword [rsp + 0x214], 1
movzx eax, word [rsp + 0x40]
movzx eax, ax
test eax, eax
jne 0x18006bde4
mov dword [rsp + 0x20c], 1
jmp 0x18006bdef
mov dword [rsp + 0x20c], 0
movsx eax, byte [rsp + 0x35]
cmp eax, dword [rsp + 0x20c]
je 0x18006be0a
mov dword [rsp + 0x210], 1
jmp 0x18006be15
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
cmp dword [rsp + 0x214], eax
jl 0x18006be6a
movzx eax, word [rsp + 0x3c]
test eax, eax
jne 0x18006be3b
mov dword [rsp + 0x218], 1
jmp 0x18006be46
mov dword [rsp + 0x218], 0
mov eax, 0xb34
sub eax, dword [rsp + 0x218]
mov byte [str.uEinvalid_bit_length], al
mov eax, dword [rsp + 0x54]
cdqe
imul rax, qword [0x1800a6c08]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x114]
add eax, 0x7def
mov dword [rsp + 0x3b8], eax
mov byte [rsp + 0x30], 0x55
mov eax, dword [rsp + 0x114]
add eax, 0x28f9
mov dword [rsp + 0x534], eax
movzx eax, word [rsp + 0x50]
add eax, 0xbde3
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x114]
add eax, 0x7e
mov dword [rsp + 0x3bc], eax
mov rax, qword [rsp + 0x70]
movzx ecx, byte [0x1800a6af7]
movzx ecx, cl
cmp rax, rcx
ja 0x18006bed7
jmp 0x18006bf14
movzx eax, word [rsp + 0x40]
movzx eax, ax
test eax, eax
jne 0x18006bef0
mov dword [rsp + 0x21c], 1
jmp 0x18006befb
mov dword [rsp + 0x21c], 0
movzx eax, word [rsp + 0x44]
movzx eax, ax
mov ecx, dword [rsp + 0x21c]
sub ecx, eax
mov eax, ecx
mov byte [str.uEinvalid_bit_length], al
movsx rax, byte [rsp + 0x32]
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jbe 0x18006bf34
mov dword [rsp + 0x224], 1
jmp 0x18006bf3f
mov dword [rsp + 0x224], 0
movsx eax, byte [rsp + 0x32]
cmp eax, 0x4f
jle 0x18006bf56
mov dword [rsp + 0x220], 1
jmp 0x18006bf61
mov dword [rsp + 0x220], 0
mov eax, dword [rsp + 0x220]
cmp dword [rsp + 0x224], eax
jle 0x18006c01b
mov rax, qword [rsp + 0x90]
movzx ecx, byte [0x1800a6af7]
movzx ecx, cl
cmp rax, rcx
ja 0x18006bf99
mov dword [rsp + 0x22c], 1
jmp 0x18006bfa4
mov dword [rsp + 0x22c], 0
mov rax, qword [rsp + 0x90]
cmp rax, 0x60
ja 0x18006bfbf
mov dword [rsp + 0x228], 1
jmp 0x18006bfca
mov dword [rsp + 0x228], 0
mov eax, dword [rsp + 0x228]
cmp dword [rsp + 0x22c], eax
jl 0x18006bffa
mov eax, dword [rsp + 0x68]
cdqe
sub rax, qword [0x1800a6bd8]
mov ecx, dword [rsp + 0x68]
movsxd rcx, ecx
and rcx, rax
mov rax, rcx
mov dword [rsp + 0x68], eax
jmp 0x18006c019
mov rax, qword [0x1800a6c20]
test rax, rax
je 0x18006c019
movzx eax, word [rsp + 0x3c]
sub eax, 0x62cecf4d
cdqe
mov qword [0x1800a6bd0], rax
jmp 0x18006c058
movzx eax, word [0x1800a6be8]
cmp eax, 0x199ea633
jne 0x18006c058
movzx eax, byte [0x1800a6af7]
movzx eax, al
movabs rcx, 0x65f839c13a858
add rax, rcx
mov word [0x1800a6bec], ax
mov eax, dword [0x1800a6bbc]
add eax, 0x9d2e73b1
mov byte [0x1800a6ace], al
mov eax, dword [rsp + 0x3b8]
add eax, 0xbc
mov ecx, dword [rsp + 0x3bc]
mov edx, 0xe6
sub edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, 0x7eec
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x414], eax
mov qword [0x1800a6c00], 4
movzx eax, byte [0x1800a6af3]
movzx ecx, byte [0x1800a6af7]
movzx ecx, cl
add eax, ecx
mov byte [0x1800a6af3], al
mov rax, qword [0x1800a6c00]
mov qword [rsp + 0x390], rax
cmp qword [rsp + 0x390], 0
je 0x18006c0fd
cmp qword [rsp + 0x390], 1
je 0x18006c145
cmp qword [rsp + 0x390], 2
je 0x18006c159
cmp qword [rsp + 0x390], 3
je 0x18006c17e
cmp qword [rsp + 0x390], 4
je 0x18006c1a1
jmp 0x18006c1b3
movzx eax, word [rsp + 0x40]
movzx eax, ax
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x60], eax
movzx eax, byte [0x1800a6b0b]
movsx eax, al
not eax
mov ecx, dword [rsp + 0x60]
sub eax, ecx
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
movzx edx, byte [rsp + 0x37]
add ecx, edx
add eax, ecx
mov word [0x1800a6c10], ax
jmp 0x18006c1b3
movzx eax, byte [rsp + 0x30]
movzx eax, al
sar eax, 7
mov word [0x1800a6af4], ax
jmp 0x18006c1b3
movzx eax, word [0x1800a6be8]
mov ecx, dword [0x1800a6b0c]
xor ecx, eax
mov eax, ecx
mov dword [0x1800a6b0c], eax
mov eax, 0x7128
mov word [0x1800a6c48], ax
jmp 0x18006c1b3
movzx eax, byte [0x1800a6bf0]
mov byte [0x1800a6ace], al
movzx eax, word [rsp + 0x40]
movzx eax, ax
sub eax, 0x5e
cdqe
mov qword [0x1800a6c20], rax
jmp 0x18006c1b3
mov rax, qword [0x1800a6c38]
shl rax, 6
mov qword [0x1800a6c08], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
add eax, 0x85
mov dword [rsp + 0x3c0], eax
mov eax, dword [rsp + 0x118]
add eax, 0x80
mov dword [rsp + 0x3c4], eax
mov dword [0x1800a6b64], 0xf93f89fd
mov eax, dword [rsp + 0x118]
add eax, 0x23
mov dword [rsp + 0x230], eax
mov rax, qword [0x1800a6c20]
imul rax, rax, 0x7d
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
movzx eax, ax
movzx ecx, word [rsp + 0x3c]
not ecx
imul eax, ecx
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
imul ecx, dword [0x1800a6b0c]
add eax, ecx
test eax, eax
jne 0x18006c246
mov qword [rsp + 0x4d8], 1
jmp 0x18006c252
mov qword [rsp + 0x4d8], 0
movzx eax, word [0x1800a6c48]
cwde
mov ecx, dword [0x1800a6c14]
not ecx
sub eax, ecx
mov eax, eax
movsx rcx, byte [rsp + 0x32]
movabs rdx, 0x6b43dbdab3ee
imul rcx, rdx
or rax, rcx
add rax, qword [rsp + 0x4d8]
mov dword [0x1800a6b7c], eax
mov eax, dword [rsp + 0x230]
mov ecx, dword [rsp + 0x230]
xor eax, ecx
mov ecx, dword [rsp + 0x3c0]
mov edx, dword [rsp + 0x3c4]
sub ecx, edx
or eax, ecx
mov ecx, 6
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x234]
mov edx, dword [rsp + 0x234]
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x418], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x11c], eax
mov rax, qword [rsp + 0x90]
mov ecx, dword [0x1800a6bbc]
mov eax, dword [rsp + 0x11c]
add eax, 0x7b63
mov dword [rsp + 0x538], eax
movsxd rax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
movsxd rcx, dword [rsp + 0x58]
cmp rax, rcx
jne 0x18006c32d
movzx eax, byte [0x1800a6af3]
test eax, eax
je 0x18006c32d
mov dword [rsp + 0x238], 0
jmp 0x18006c338
mov dword [rsp + 0x238], 1
mov eax, dword [rsp + 0x238]
not eax
test eax, eax
je 0x18006c36b
movzx eax, word [rsp + 0x5c]
sub eax, 0x6206d524
mov byte [rsp + 0x30], al
movzx eax, word [rsp + 0x44]
movzx eax, ax
add eax, 0x80c1bd8f
mov byte [0x1800a6af7], al
jmp 0x18006c45e
movzx eax, word [rsp + 0x40]
movzx eax, ax
movabs rcx, 0xf33fd8ffcf9f4
cmp rax, rcx
jg 0x18006c38f
mov dword [rsp + 0x23c], 1
jmp 0x18006c39a
mov dword [rsp + 0x23c], 0
movsx eax, word [0x1800a6af4]
cmp dword [rsp + 0x23c], eax
jge 0x18006c3c6
movzx eax, byte [0x1810c57e8]
mov byte [0x1800a6af3], al
mov dword [0x1800a6b7c], 0xd542
jmp 0x18006c45e
movsx eax, word [0x1800a6bec]
movzx ecx, byte [rsp + 0x38]
cmp eax, ecx
jl 0x18006c425
movsx eax, word [0x1800a6c10]
test eax, eax
je 0x18006c3f2
mov rax, qword [0x1800a6bd0]
mov qword [rsp + 0x4e0], rax
jmp 0x18006c403
movzx eax, byte [rsp + 0x33]
movsx rax, al
mov qword [rsp + 0x4e0], rax
movzx eax, word [rsp + 0x4e0]
mov word [0x1800a6bec], ax
movzx eax, byte [rsp + 0x34]
movzx eax, al
sub eax, 0x90
mov byte [rsp + 0x36], al
jmp 0x18006c45e
movzx eax, word [0x1800a6c1c]
cwde
test eax, eax
je 0x18006c44a
movzx eax, word [0x1800a6c2c]
cwde
test eax, eax
je 0x18006c44a
mov dword [rsp + 0x240], 1
jmp 0x18006c455
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
not eax
mov eax, dword [rsp + 0x11c]
add eax, 0x32
mov dword [rsp + 0x53c], eax
mov eax, dword [rsp + 0x11c]
add eax, 0x5eff
mov dword [rsp + 0x24c], eax
movsx eax, byte [rsp + 0x32]
movzx ecx, word [rsp + 0x5c]
cmp eax, ecx
jg 0x18006c49d
mov dword [rsp + 0x248], 1
jmp 0x18006c4a8
mov dword [rsp + 0x248], 0
movsx eax, byte [rsp + 0x32]
cmp eax, 0x1a
jg 0x18006c4bf
mov dword [rsp + 0x244], 1
jmp 0x18006c4ca
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
cmp dword [rsp + 0x248], eax
jle 0x18006c51d
call qword [sym.imp.USER32.dll_GetFocus]
mov qword [rsp + 0x4a0], rax
cmp qword [rsp + 0x4a0], 0
je 0x18006c51d
mov rcx, qword [rsp + 0x4a0]
call qword [sym.imp.USER32.dll_IsWindow]
mov dword [rsp + 0x540], eax
mov rcx, qword [rsp + 0x4a0]
call qword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [rsp + 0x544], eax
movzx eax, byte [rsp + 0x37]
sub eax, 0xee4b
cdqe
mov qword [0x1800a6bf0], rax
mov eax, dword [rsp + 0x24c]
mov ecx, dword [rsp + 0x24c]
imul eax, ecx
add eax, 0xdcbfbe00
mov dword [rsp + 0x424], eax
movzx eax, byte [0x1800a6adf]
mov rcx, qword [0x1800a6bc8]
xor rax, rcx
not rax
mov qword [0x1800a6c38], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x14c]
add eax, 0x33
mov dword [rsp + 0x26c], eax
cmp qword [rsp + 0x88], 0
je 0x18006c59e
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x250], eax
jmp 0x18006c5aa
movzx eax, word [rsp + 0x50]
mov dword [rsp + 0x250], eax
movzx eax, word [rsp + 0x250]
mov word [0x1800a6acc], ax
mov eax, dword [rsp + 0x14c]
add eax, 0x7a
mov dword [rsp + 0x548], eax
movzx eax, byte [rsp + 0x34]
movzx eax, al
mov ecx, eax
call qword [sym.imp.USER32.dll_GetParent]
mov word [0x1800a6c1c], ax
mov eax, dword [rsp + 0x14c]
add eax, 0xce68
mov dword [rsp + 0x3c8], eax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
je 0x18006c72a
movzx eax, word [rsp + 0x3c]
movsx ecx, word [rsp + 0x48]
cmp eax, ecx
jne 0x18006c622
mov dword [rsp + 0x258], 1
jmp 0x18006c62d
mov dword [rsp + 0x258], 0
movzx eax, word [rsp + 0x40]
movzx eax, ax
cmp qword [0x1800a6bf0], rax
jl 0x18006c64b
mov dword [rsp + 0x254], 1
jmp 0x18006c656
mov dword [rsp + 0x254], 0
mov eax, dword [rsp + 0x254]
not eax
cmp dword [rsp + 0x258], eax
jne 0x18006c675
mov dword [rsp + 0x268], 1
jmp 0x18006c680
mov dword [rsp + 0x268], 0
movzx eax, word [0x1800a6c2c]
cwde
movsx ecx, byte [rsp + 0x32]
cmp eax, ecx
jle 0x18006c69e
mov dword [rsp + 0x260], 1
jmp 0x18006c6a9
mov dword [rsp + 0x260], 0
movsx rax, byte [rsp + 0x35]
mov rcx, qword [0x1800a6bc8]
cmp rax, rcx
je 0x18006c6c8
mov dword [rsp + 0x25c], 1
jmp 0x18006c6d3
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
je 0x18006c6f0
mov dword [rsp + 0x264], 1
jmp 0x18006c6fb
mov dword [rsp + 0x264], 0
mov eax, dword [rsp + 0x264]
not eax
mov ecx, dword [rsp + 0x268]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x18006c728
movzx eax, word [rsp + 0x40]
movzx eax, ax
shl eax, 2
cdqe
mov qword [0x1800a6bd8], rax
jmp 0x18006c756
mov eax, 4
imul rax, rax, 0xafe6
lea rcx, [0x181186600]
mov edx, dword [0x1800a6c38]
mov dword [rcx + rax], edx
mov eax, dword [rsp + 0x58]
shl eax, 2
cdqe
mov qword [0x1800a6bc8], rax
movsx eax, word [0x1800a6c40]
imul eax, dword [rsp + 0x58]
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x26c]
imul eax, eax, 0x400a
mov ecx, dword [rsp + 0x26c]
mov edx, dword [rsp + 0x3c8]
add ecx, edx
sub eax, ecx
add eax, 0xfff40c9e
mov ecx, dword [rsp + 0x124]
mov edx, dword [rsp + 0x124]
imul ecx, edx
mov edx, dword [rsp + 0x124]
mov edi, dword [rsp + 0x128]
add edx, edi
imul ecx, edx
mov edx, dword [rsp + 0x128]
mov edi, dword [rsp + 0x128]
sub edx, edi
mov edi, dword [rsp + 0x3cc]
imul edi, edi, 0x3ac
imul edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x428], eax
movzx eax, byte [0x1800a6af3]
movzx ecx, word [rsp + 0x5c]
xor eax, ecx
mov byte [0x1800a6af3], al
movsx eax, byte [rsp + 0x35]
test eax, eax
jne 0x18006c805
mov dword [rsp + 0x270], 1
jmp 0x18006c810
mov dword [rsp + 0x270], 0
movzx eax, word [rsp + 0x5c]
test eax, eax
jne 0x18006c826
mov dword [rsp + 0x274], 1
jmp 0x18006c831
mov dword [rsp + 0x274], 0
movzx eax, word [rsp + 0x40]
movzx eax, ax
add eax, dword [rsp + 0x270]
movzx ecx, byte [rsp + 0x33]
movsx ecx, cl
imul ecx, dword [rsp + 0x274]
imul eax, ecx
movsx ecx, byte [rsp + 0x35]
movsx edx, word [0x1800a6bec]
sub ecx, edx
mov edx, dword [rsp + 0x60]
xor ecx, edx
sub eax, ecx
mov byte [rsp + 0x34], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x9b45
mov dword [rsp + 0x54c], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x47b7
mov dword [rsp + 0x550], eax
mov rax, qword [rsp + 0x70]
sub rax, qword [0x1800a6c30]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x12c]
add eax, 0xf66f
mov dword [rsp + 0x554], eax
mov eax, dword [0x1800a6b7c]
not eax
mov eax, eax
mov rcx, qword [rsp + 0x70]
add rax, rcx
mov byte [rsp + 0x33], al
movzx eax, word [0x1800a6bf8]
cwde
movzx ecx, word [rsp + 0x50]
add eax, ecx
mov word [0x1800a6bf8], ax
movzx eax, byte [rsp + 0x33]
movsx eax, al
movzx ecx, word [rsp + 0x3c]
cmp eax, ecx
jg 0x18006c90e
mov dword [rsp + 0x278], 1
jmp 0x18006c919
mov dword [rsp + 0x278], 0
movzx eax, word [0x1800a6be8]
movzx ecx, word [0x1800a6c1c]
movsx ecx, cx
cmp eax, ecx
jl 0x18006c93b
mov dword [rsp + 0x27c], 1
jmp 0x18006c946
mov dword [rsp + 0x27c], 0
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x278]
imul ecx, eax
mov eax, ecx
not eax
cmp eax, dword [rsp + 0x27c]
jle 0x18006ca7d
mov byte [0x1800a6af3], 3
mov eax, 0xfffff4cf
mov word [rsp + 0x48], ax
mov rax, qword [rsp + 0x78]
sub rax, qword [0x1800a6c30]
mov rcx, qword [rsp + 0x78]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x78], rax
movzx eax, byte [0x1800a6af3]
mov byte [rsp + 0xb4], al
cmp byte [rsp + 0xb4], 0
je 0x18006c9d1
cmp byte [rsp + 0xb4], 1
je 0x18006c9f1
cmp byte [rsp + 0xb4], 2
je 0x18006ca06
cmp byte [rsp + 0xb4], 3
je 0x18006ca58
jmp 0x18006ca7b
movzx eax, byte [rsp + 0x34]
movzx eax, al
movabs rcx, 0xa1c04e8a9f051
imul rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x18006ca7b
movzx eax, byte [0x1800a6adf]
add eax, 0x88393e7e
mov word [0x1800a6c10], ax
jmp 0x18006ca7b
movsx rax, word [0x1800a6c40]
movabs rcx, 0x5f9d19a6ee872
sub rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x50]
test eax, eax
je 0x18006ca3f
movzx eax, byte [0x1800a6b0b]
movsx eax, al
mov dword [rsp + 0x280], eax
jmp 0x18006ca4b
movzx eax, word [rsp + 0x3c]
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x280]
mov dword [rsp + 0x68], eax
jmp 0x18006ca7b
mov dword [rsp + 0x64], 2
movabs rax, 0x8891f978dd84f
mov rcx, qword [0x1800a6bd8]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x35], al
jmp 0x18006cae1
mov eax, dword [0x1800a6b1c]
cmp dword [0x1800a6c14], eax
jbe 0x18006ca9c
mov eax, dword [rsp + 0x54]
not eax
cdqe
mov qword [0x1800a6bd8], rax
jmp 0x18006cae1
movzx eax, word [0x1800a6c2c]
movsx rax, ax
mov rcx, qword [rsp + 0x78]
sub rax, rcx
test rax, rax
je 0x18006cae1
movzx eax, word [0x1800a6bf8]
cwde
movsx ecx, word [0x1800a6bec]
add eax, ecx
mov word [0x1800a6bf8], ax
movsx eax, byte [rsp + 0x32]
mov ecx, dword [0x1800a6c14]
not ecx
sub eax, ecx
mov byte [0x1800a6af7], al
mov eax, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa0]
xor eax, ecx
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rsp + 0xa0]
add ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x3d0]
mov edx, dword [rsp + 0xa0]
imul ecx, edx
mov edx, 0x42864
sub edx, ecx
mov ecx, edx
imul eax, ecx
inc eax
mov dword [rsp + 0x430], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x130], eax
imul eax, dword [0x1800a6c14], 0x4fed
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x130]
add eax, 0x5f40
mov dword [rsp + 0x284], eax
movzx eax, byte [rsp + 0x31]
movzx eax, al
mov rcx, qword [0x1800a6c00]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x37]
movzx edx, word [0x1800a6acc]
movzx edx, dx
sub ecx, edx
movsxd rcx, ecx
add rax, rcx
movsx rcx, word [rsp + 0x48]
mov rdx, qword [0x1800a6be0]
imul rdx, rcx
mov rcx, rdx
movsx edx, byte [rsp + 0x32]
not edx
mov edi, dword [rsp + 0x54]
imul edi, edx
mov edx, edi
movsxd rdx, edx
sub rcx, rdx
add rax, rcx
mov qword [0x1800a6c00], rax
mov eax, dword [rsp + 0x130]
add eax, 0xac
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0x130]
add eax, 0x44b3
mov dword [rsp + 0x55c], eax
movzx eax, word [0x1800a6c1c]
cwde
test eax, eax
je 0x18006cc05
movzx eax, word [rsp + 0x5c]
movabs rcx, 0xf3fbee3459046
and rax, rcx
mov word [0x1800a6c1c], ax
jmp 0x18006cc21
movzx eax, word [0x1800a6c50]
movsx rax, ax
movabs rcx, 0xad3231101c3bd
xor rax, rcx
mov byte [rsp + 0x31], al
movzx eax, word [0x1800a6c48]
cwde
movzx ecx, byte [rsp + 0x34]
movzx ecx, cl
cmp eax, ecx
jne 0x18006cc3a
jmp 0x18006ccbf
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x18006cc5c
mov rax, qword [0x1800a6bd0]
movabs rcx, 0x8c1c29f6cade8
sub rax, rcx
mov byte [rsp + 0x34], al
jmp 0x18006ccbf
movzx eax, byte [rsp + 0x33]
movsx eax, al
test eax, eax
je 0x18006cc7c
mov eax, dword [0x1800a6c4c]
add eax, 0x2d23
mov word [0x1800a6c1c], ax
jmp 0x18006ccbf
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x18006ccbf
movzx eax, byte [0x1800a6acf]
add eax, 0x575ec04b
cdqe
mov rcx, qword [0x1800a6bd8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6bd8], rax
mov eax, dword [rsp + 0x68]
mov ecx, 4
imul rcx, rcx, 3
lea rdx, [0x1810d6f88]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x284]
mov ecx, dword [rsp + 0x284]
xor eax, ecx
mov ecx, 1
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x434], eax
mov eax, 1
imul rax, rax, 0x6141
lea rcx, [0x1813077a0]
movsx rax, byte [rcx + rax]
mov qword [rsp + 0x78], rax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x134], eax
movzx eax, word [0x1800a6c28]
movsx rax, ax
movsx rcx, word [0x1800a6c40]
movabs rdx, 0xfffd3b16a7afd01d
add rcx, rdx
add rax, rcx
mov word [0x1800a6c40], ax
mov eax, dword [rsp + 0x134]
add eax, 0x287e
mov dword [rsp + 0x3d4], eax
movsx eax, word [0x1800a6c10]
add eax, 0x3a
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1800a6bbc]
add ecx, eax
mov eax, ecx
mov eax, eax
mov qword [0x1800a6bf0], rax
mov eax, dword [rsp + 0x134]
add eax, 0xbc
mov dword [rsp + 0x560], eax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov dword [0x1800a6c14], eax
movsx eax, byte [rsp + 0x35]
test eax, eax
je 0x18006cd98
jmp 0x18006ce5b
movzx eax, word [0x1800a6be8]
movzx ecx, word [0x1800a6c28]
movsx ecx, cx
not ecx
cmp eax, ecx
je 0x18006cdd9
mov eax, 4
imul rax, rax, 0xa
lea rcx, [0x18116ae30]
movzx edx, byte [0x1800a6af7]
movzx edx, dl
add edx, dword [rcx + rax]
mov eax, edx
mov byte [0x1800a6af7], al
jmp 0x18006ce5b
cmp qword [0x1800a6c30], 0
je 0x18006cdfd
movsx ax, byte [rsp + 0x32]
mov word [rsp + 0x40], ax
mov rax, qword [0x1800a6c20]
mov byte [0x1800a6af3], al
jmp 0x18006ce5b
mov eax, dword [rsp + 0x68]
movzx ecx, word [rsp + 0x3c]
cmp eax, ecx
jg 0x18006ce17
mov dword [rsp + 0x288], 1
jmp 0x18006ce22
mov dword [rsp + 0x288], 0
movzx eax, word [0x1800a6be8]
cmp eax, dword [rsp + 0x288]
jl 0x18006ce5b
movzx eax, word [rsp + 0x44]
movzx eax, ax
mov rcx, qword [0x1800a6c00]
xor rcx, rax
mov rax, rcx
mov rcx, qword [0x1800a6c00]
sub rcx, rax
mov rax, rcx
mov qword [0x1800a6c00], rax
mov eax, dword [rsp + 0x134]
add eax, 0xe
mov dword [rsp + 0x564], eax
lea rax, [rsp + 0x6b8]
lea rcx, str._purecall
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6b8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1800a6c14], eax
mov eax, dword [rsp + 0x3d4]
add eax, 0x79b0
xor eax, 0xa22f
mov ecx, dword [rsp + 0x28c]
mov edx, dword [rsp + 0x28c]
xor ecx, edx
mov edx, dword [rsp + 0x290]
mov edi, dword [rsp + 0x290]
sub edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x438], eax
movzx eax, byte [0x1800a6af7]
movzx eax, al
add eax, 0xc8f92032
mov byte [rsp + 0x38], al
mov eax, 0xe4
mov word [0x1800a6c50], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x138]
add eax, 0x6fb2
mov dword [rsp + 0x568], eax
movzx eax, byte [0x1800a6b0b]
movsx eax, al
movzx ecx, byte [rsp + 0x38]
cmp eax, ecx
jle 0x18006cf38
mov dword [rsp + 0x298], 1
jmp 0x18006cf43
mov dword [rsp + 0x298], 0
movzx eax, byte [0x1800a6b0b]
movsx eax, al
cmp eax, 0x28
jle 0x18006cf5f
mov dword [rsp + 0x294], 1
jmp 0x18006cf6a
mov dword [rsp + 0x294], 0
mov eax, dword [rsp + 0x294]
cmp dword [rsp + 0x298], eax
je 0x18006cf7f
jmp 0x18006d03b
movzx eax, byte [str.uEinvalid_bit_length]
movsx eax, al
test eax, eax
je 0x18006cfb6
movzx eax, byte [0x1800a6c08]
mov byte [rsp + 0x33], al
movzx eax, word [rsp + 0x44]
movzx eax, ax
mov rcx, qword [0x1800a6bd0]
sub rax, rcx
mov word [0x1800a6c1c], ax
jmp 0x18006d03b
cmp qword [0x1800a6bf0], 0
jne 0x18006cfcd
mov dword [rsp + 0x29c], 1
jmp 0x18006cfd8
mov dword [rsp + 0x29c], 0
movzx eax, word [0x1800a6c1c]
cwde
cmp eax, dword [rsp + 0x29c]
jne 0x18006d03b
movzx eax, word [0x1800a6c28]
cwde
test eax, eax
jne 0x18006d002
mov dword [rsp + 0x2a0], 1
jmp 0x18006d00d
mov dword [rsp + 0x2a0], 0
movzx eax, byte [rsp + 0x38]
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
not ecx
mov edx, dword [rsp + 0x2a0]
add edx, ecx
mov ecx, edx
sub eax, ecx
not eax
mov byte [rsp + 0x37], al
movsx eax, byte [rsp + 0x32]
add eax, 0x38
mov byte [rsp + 0x37], al
mov eax, dword [rsp + 0x138]
add eax, 0xdb85
mov dword [rsp + 0x56c], eax
mov eax, dword [0x1810c57e8]
mov qword [0x1800a6be0], rax
mov eax, dword [rsp + 0x68]
cdqe
movabs rcx, 0x2538b67b4b4ca
sub rax, rcx
mov byte [rsp + 0x36], al
mov eax, dword [rsp + 0x138]
add eax, 0xaa
mov dword [rsp + 0x2a4], eax
movzx eax, word [0x1800a6be8]
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
sub eax, ecx
movzx ecx, word [0x1800a6be8]
add ecx, eax
mov eax, ecx
mov word [0x1800a6be8], ax
mov eax, dword [rsp + 0x2a4]
mov ecx, dword [rsp + 0x2a4]
add eax, ecx
xor eax, 0x155
mov dword [rsp + 0x43c], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x88]
xor rax, 0x8d
mov qword [0x1800a6bd8], rax
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov qword [rsp + 0x78], rax
mov eax, dword [rsp + 0x13c]
add eax, 0xe1
mov dword [rsp + 0x570], eax
mov eax, dword [rsp + 0x13c]
add eax, 0x1f
mov dword [rsp + 0x2b0], eax
movsx eax, byte [rsp + 0x32]
test eax, eax
je 0x18006d1e9
movzx eax, word [0x1800a6bf8]
cwde
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
cmp eax, ecx
jl 0x18006d14a
mov dword [rsp + 0x2ac], 1
jmp 0x18006d155
mov dword [rsp + 0x2ac], 0
movzx eax, word [0x1800a6bf8]
cwde
cmp eax, 0x4b
jl 0x18006d16f
mov dword [rsp + 0x2a8], 1
jmp 0x18006d17a
mov dword [rsp + 0x2a8], 0
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x2ac], eax
jne 0x18006d1bc
movzx eax, byte [rsp + 0x34]
movzx eax, al
sub eax, dword [rsp + 0x58]
movzx ecx, byte [rsp + 0x34]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x34], al
movzx eax, word [rsp + 0x40]
movzx eax, ax
sub rax, qword [0x1800a6c30]
mov word [rsp + 0x40], ax
jmp 0x18006d1e7
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x18006d1d6
mov rax, qword [rsp + 0x90]
cmp rax, qword [0x1800a6c30]
jne 0x18006d1e7
movzx eax, word [0x1800a6c2c]
cwde
shl eax, 4
mov dword [0x1800a6b1c], eax
jmp 0x18006d1fc
movsx eax, word [rsp + 0x48]
movzx ecx, word [0x1800a6c44]
sub eax, ecx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x13c]
add eax, 0x3c7e
mov dword [rsp + 0x2b4], eax
movzx eax, byte [rsp + 0x38]
movzx ecx, byte [str.uEinvalid_bit_length]
movsx ecx, cl
add eax, ecx
movzx ecx, byte [rsp + 0x38]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x38], al
movzx eax, byte [0x1800a6b0b]
movsx eax, al
movzx ecx, word [0x1800a6bf8]
movsx ecx, cx
sub eax, ecx
mov byte [0x1800a6b0b], al
mov eax, dword [rsp + 0x2b0]
mov ecx, dword [rsp + 0x2b0]
xor eax, ecx
mov ecx, dword [rsp + 0x2b4]
mov edx, dword [rsp + 0x2b4]
or ecx, edx
add eax, ecx
mov ecx, 0x3c7f
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2b8]
mov edx, dword [rsp + 0x2b8]
sub ecx, edx
mov edx, dword [rsp + 0x2bc]
mov edi, dword [rsp + 0x2bc]
xor edx, edi
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x440], eax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0x140]
add eax, 0x3f
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x60]
cmp eax, 0xffff2483
jge 0x18006d310
movzx eax, byte [rsp + 0x30]
movzx eax, al
movzx ecx, word [0x1800a6c1c]
movsx ecx, cx
cmp eax, ecx
je 0x18006d2eb
mov dword [rsp + 0x2c0], 1
jmp 0x18006d2f6
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x2c0]
not eax
test eax, eax
je 0x18006d310
mov dword [rsp + 0x2c4], 1
jmp 0x18006d31b
mov dword [rsp + 0x2c4], 0
mov eax, dword [rsp + 0x2c4]
not eax
test eax, eax
je 0x18006d3d7
movzx eax, word [rsp + 0x5c]
mov ecx, dword [rsp + 0x54]
not ecx
cmp eax, ecx
jne 0x18006d3d7
movzx eax, byte [rsp + 0x38]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [0x1800a6c38], rax
cmp qword [0x1800a6c38], 0
je 0x18006d390
lea rax, [rsp + 0x6d0]
lea rcx, str.Operation
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x6d0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x48], ax
jmp 0x18006d3d5
movzx eax, word [0x1800a6c1c]
cwde
not eax
mov ecx, dword [rsp + 0x60]
imul eax, ecx
test eax, eax
je 0x18006d3d5
movzx eax, word [0x1800a6c50]
movsx rax, ax
movabs rcx, 0x71d6175fe70cf
sub rax, rcx
mov word [rsp + 0x3c], ax
movsx eax, word [0x1800a6af4]
add eax, 0x21ed6bb2
mov word [0x1800a6c40], ax
jmp 0x18006d3e1
movzx eax, byte [str.uEinvalid_bit_length]
movsx eax, al
mov eax, dword [rsp + 0x140]
add eax, 0x9d
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0x140]
add eax, 0x7437
mov dword [rsp + 0x574], eax
mov eax, dword [rsp + 0x64]
shr eax, 4
mov byte [0x1800a6adf], al
mov eax, 2
imul rax, rax, 6
lea rcx, [0x1810c57f0]
movzx edx, word [rsp + 0x3c]
mov word [rcx + rax], dx
mov eax, 0x58a9
mov word [0x1800a6c28], ax
movzx eax, word [0x1800a6c28]
cwde
movzx ecx, word [rsp + 0x3c]
add ecx, 0x58a9
cmp eax, ecx
jne 0x18006d4cf
movsx rax, word [0x1800a6c54]
mov ecx, dword [rsp + 0x60]
movsxd rcx, ecx
movabs rdx, 0x7c7568ad7ab1a
add rcx, rdx
cmp rax, rcx
jne 0x18006d4cf
jmp 0x18006d4cf
mov eax, 0x58a9
mov word [0x1800a6c28], ax
movzx eax, byte [rsp + 0x31]
movzx eax, al
add rax, qword [0x1800a6c30]
movzx ecx, word [0x1800a6c28]
movsx rcx, cx
imul rax, rcx
mov dword [0x1800a6b64], eax
movzx eax, word [0x1800a6c40]
dec ax
mov word [0x1800a6c40], ax
mov eax, dword [rsp + 0x2cc]
mov ecx, dword [rsp + 0x2cc]
sub eax, ecx
mov ecx, dword [rsp + 0x2d0]
mov edx, dword [rsp + 0x2d0]
or ecx, edx
or eax, ecx
add eax, 0xffffffc2
mov dword [rsp + 0x444], eax
mov rax, qword [0x1800a6bd0]
movabs rcx, 0xaa76aa16d5270
sub rax, rcx
mov byte [0x1800a6af7], al
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x144], eax
movzx eax, byte [rsp + 0x31]
movzx eax, al
movzx ecx, word [rsp + 0x40]
movzx ecx, cx
sub eax, ecx
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x31], al
movzx eax, word [0x1800a6c18]
movzx eax, ax
sub eax, 0xe4d1
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x144]
add eax, 4
mov dword [rsp + 0x3d8], eax
movzx eax, word [0x1800a6c2c]
cwde
test eax, eax
jne 0x18006d5ca
mov dword [rsp + 0x2d4], 1
jmp 0x18006d5d5
mov dword [rsp + 0x2d4], 0
movzx eax, byte [0x1800a6af7]
movzx eax, al
cmp eax, dword [rsp + 0x2d4]
jne 0x18006d5f5
mov dword [rsp + 0x2d8], 1
jmp 0x18006d600
mov dword [rsp + 0x2d8], 0
mov eax, dword [0x1800a6bfc]
imul eax, dword [rsp + 0x2d8]
test eax, eax
je 0x18006d66d
movsx eax, word [rsp + 0x48]
test eax, eax
je 0x18006d655
mov byte [rsp + 0x31], 8
movzx eax, word [0x1800a6c44]
movzx ecx, word [0x1800a6c18]
movzx ecx, cx
add eax, ecx
cdqe
movzx ecx, word [rsp + 0x3c]
mov rdx, qword [0x1800a6c38]
not rdx
xor rcx, rdx
imul rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x18006d66b
mov eax, 0xed5f2fb4
mov qword [rsp + 0x88], rax
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x31], al
jmp 0x18006d696
mov rax, qword [0x1800a6bd8]
not rax
test rax, rax
je 0x18006d696
movzx eax, word [rsp + 0x3c]
movabs rcx, 0x694e33c99b16b
imul rax, rcx
mov word [0x1800a6c1c], ax
mov eax, dword [rsp + 0x144]
add eax, 0x3589
mov dword [rsp + 0x3e0], eax
cmp dword [rsp + 0x64], 0
jne 0x18006d6be
mov qword [rsp + 0x4e8], 1
jmp 0x18006d6ca
mov qword [rsp + 0x4e8], 0
mov rax, qword [0x1800a6c00]
imul rax, qword [rsp + 0x4e8]
mov qword [0x1800a6c20], rax
movzx eax, byte [0x1800a6adf]
dec al
mov byte [0x1800a6adf], al
mov eax, dword [rsp + 0x144]
add eax, 0x7a
mov dword [rsp + 0x3dc], eax
mov eax, dword [rsp + 0x3d8]
add eax, 0x2c3b
mov ecx, dword [rsp + 0x3dc]
mov edx, dword [rsp + 0x3e0]
add ecx, edx
or eax, ecx
xor eax, 0x3e3e
mov dword [rsp + 0x448], eax
movsx eax, word [0x1800a6c54]
test eax, eax
je 0x18006d745
movzx eax, word [rsp + 0x48]
mov word [rsp + 0x9a], ax
jmp 0x18006d752
movzx eax, word [rsp + 0x48]
mov word [rsp + 0x9a], ax
movzx eax, word [rsp + 0x9a]
mov word [0x1800a6be8], ax
movzx eax, byte [rsp + 0x33]
movsx ax, al
mov word [0x1800a6c1c], ax
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x68]
cdqe
mov rcx, qword [rsp + 0x70]
sub rax, rcx
test rax, rax
jne 0x18006d7b1
xor eax, eax
cmp eax, 0x2a3d
je 0x18006d7a3
movsx eax, word [rsp + 0x48]
test eax, eax
jne 0x18006d7b1
mov qword [rsp + 0x4f0], 0
jmp 0x18006d7bd
mov qword [rsp + 0x4f0], 1
mov rax, qword [0x1800a6c30]
cmp qword [rsp + 0x4f0], rax
jbe 0x18006d7db
mov dword [rsp + 0x2dc], 1
jmp 0x18006d7e6
mov dword [rsp + 0x2dc], 0
mov eax, dword [rsp + 0x2dc]
not eax
test eax, eax
je 0x18006d7ff
mov dword [0x1800a6c4c], 1
jmp 0x18006d80f
movsx eax, byte [rsp + 0x32]
add eax, 0x712f3fff
mov dword [0x1800a6b7c], eax
mov eax, dword [rsp + 0x148]
add eax, 0x34d
mov dword [rsp + 0x578], eax
mov eax, dword [rsp + 0x148]
add eax, 0x1d
mov dword [rsp + 0x3e4], eax
movzx eax, byte [rsp + 0x30]
movzx eax, al
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x3c], ax
mov eax, dword [0x1800a6b1c]
mov eax, eax
movabs rcx, 0x6bcde4799ac80
imul rax, rcx
mov qword [0x1800a6c20], rax
mov eax, dword [rsp + 0x148]
add eax, 0xec
mov dword [rsp + 0x178], eax
mov dword [0x1800a6b7c], 4
movzx eax, word [0x1800a6bf8]
cwde
xor eax, 0xb5d
movzx ecx, word [0x1800a6c48]
movsx ecx, cx
movzx edx, byte [rsp + 0x33]
movsx edx, dl
add ecx, edx
add eax, ecx
mov word [0x1800a6c44], ax
mov eax, dword [0x1800a6b7c]
mov dword [rsp + 0xa4], eax
cmp dword [rsp + 0xa4], 0
je 0x18006d8f0
cmp dword [rsp + 0xa4], 1
je 0x18006d8fa
cmp dword [rsp + 0xa4], 2
je 0x18006d91b
cmp dword [rsp + 0xa4], 3
je 0x18006d938
cmp dword [rsp + 0xa4], 4
je 0x18006d953
jmp 0x18006d96b
mov dword [rsp + 0x54], 8
jmp 0x18006d96b
movzx eax, byte [rsp + 0x33]
movsx eax, al
xor eax, 0x94488838
mov byte [rsp + 0x31], al
movzx eax, word [0x1800a6c44]
sar eax, 3
mov dword [rsp + 0x58], eax
jmp 0x18006d96b
movsx rax, word [0x1800a6c10]
movabs rcx, 0x9a8684527999c
add rax, rcx
mov byte [0x1800a6af3], al
jmp 0x18006d96b
movzx eax, word [0x1800a6c2c]
cwde
movzx ecx, word [rsp + 0x44]
movzx ecx, cx
sub eax, ecx
mov word [0x1800a6c2c], ax
jmp 0x18006d96b
mov eax, dword [0x1810c57e8]
mov dword [0x1800a6b64], eax
movzx eax, word [0x1810c57e8]
mov word [rsp + 0x48], ax
movzx eax, word [0x1800a6c1c]
cwde
imul eax, eax, 0xb2fe28b0
mov ecx, dword [0x1800a6c4c]
add ecx, eax
mov eax, ecx
mov dword [0x1800a6c4c], eax
movzx eax, word [rsp + 0x3c]
movzx ecx, byte [rsp + 0x30]
movzx ecx, cl
imul eax, ecx
movzx ecx, word [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x178]
mov ecx, dword [rsp + 0x3e4]
imul eax, ecx
mov ecx, dword [rsp + 0x178]
mov edx, dword [rsp + 0x178]
add ecx, edx
sub eax, ecx
mov ecx, 0x18e5
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44c], eax
mov qword [rsp + 0x90], 4
mov eax, 4
imul rax, rax, 0x48
lea rcx, [0x181392340]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x32], al
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x398], rax
cmp qword [rsp + 0x398], 0
je 0x18006da5a
cmp qword [rsp + 0x398], 1
je 0x18006daaf
cmp qword [rsp + 0x398], 2
je 0x18006dae4
cmp qword [rsp + 0x398], 3
je 0x18006db28
mov rax, qword [rsp + 0x70]
movabs rcx, 0xc65a93404b8a0
sub rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0x44]
movzx eax, ax
test eax, eax
je 0x18006da8c
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x4f8], rax
jmp 0x18006da9b
movzx eax, byte [0x1800a6acf]
mov qword [rsp + 0x4f8], rax
movzx eax, word [rsp + 0x4f8]
mov word [0x1800a6af4], ax
jmp 0x18006db88
mov eax, dword [rsp + 0x68]
imul eax, eax, 0xeb399fe2
add eax, 0x1db21323
mov eax, eax
mov qword [0x1800a6c30], rax
mov eax, 2
imul rax, rax, 0x16
lea rcx, [0x1810c57f0]
movsx eax, word [rcx + rax]
mov dword [rsp + 0x60], eax
jmp 0x18006db88
movzx eax, word [0x1800a6bf8]
cwde
movzx ecx, byte [rsp + 0x31]
movzx ecx, cl
xor ecx, dword [rsp + 0x58]
add eax, ecx
test eax, eax
jne 0x18006db0d
mov eax, dword [0x1810c57e8]
mov dword [rsp + 0x150], eax
mov eax, dword [rsp + 0x150]
add eax, 0xe466
mov dword [rsp + 0x57c], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0
jne 0x18006dbc6