Function at 0x180039e94
Capabilities:
Accept command line arguments
Authenticate hmac
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
mov rax, qword [0x180067a78]
xor rax, rsp
mov qword [rbp + 0x258], rax
movzx eax, byte [0x180067996]
lea rcx, str.comdlg32
mov qword [rbp + 0x28], rax
mov r13d, 0xb53a015b
mov rax, qword [0x180067a28]
mov r15d, 0xb16f4ba0
mov byte [rsp + 0x53], al
movzx ebx, byte [0x1800679a1]
movsx rax, byte [str.Whz_gb_2312]
mov qword [rbp - 0x68], rax
mov byte [rsp + 0x52], 0x77
mov dword [rsp + 0x64], 0x1697
mov qword [rbp - 0x78], 0x3304
mov rax, qword [0x180067a10]
mov eax, dword [0x1800679b8]
mov dword [rsp + 0x6c], eax
mov al, byte [str.cnRtlImageNtHeader]
mov byte [rsp + 0x51], al
mov eax, 0x80
mov dword [rsp + 0x78], 0xbd2487cb
mov r12d, eax
movsx esi, byte [0x18006797f]
movsx r14d, byte [0x18006797f]
movzx eax, word [0x180067a0c]
movzx edi, word [0x180067a4c]
mov dword [rsp + 0x7c], eax
mov rax, qword [0x180067a58]
mov qword [rbp - 0x50], rax
mov eax, 0x2ed7
mov word [rsp + 0x58], ax
mov byte [rsp + 0x50], 0xf9
movsx eax, byte [0x1800679a3]
mov word [rsp + 0x54], ax
mov al, byte [0x180067a00]
mov dword [rbp - 0x48], 0xc875
mov byte [rsp + 0x54], al
mov al, byte [0x180067996]
mov al, byte [0x180067a3c]
mov byte [rsp + 0x54], al
mov al, byte [0x18006797b]
mov dword [rbp - 0x48], 0x96
movabs rax, 0xcee3d844edfed
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x28], 0x46059218
mov dword [rbp - 0x48], 0x6e9c8d30
mov al, byte [0x18006797b]
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x58], r15
mov dword [rbp - 0x60], r14d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov byte [0x180067991], al
xor r15d, r15d
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x84
mov dword [rbp - 0x24], eax
mov al, byte [0x18006796e]
test al, al
je 0x18003a023
movsx eax, byte [0x18006797f]
jmp 0x18003a02a
movzx eax, word [0x180067a04]
mov word [0x1800679cc], ax
xor ecx, ecx
mov eax, dword [rsp + 0x60]
add eax, 0x50
mov dword [rbp - 0x40], eax
mov eax, dword [rsp + 0x60]
add eax, 0x140
mov dword [rbp - 0x14], eax
mov rax, qword [rbp - 0x78]
movsx edx, byte [0x18006797f]
call fcn.18003de0c
mov word [0x1800679cc], ax
test ax, ax
je 0x18003a0af
mov al, byte [0x180067a50]
movabs rcx, 0x7d621096aff7
add al, 0x5a
mov r13d, 4
mov byte [0x18006796d], al
mov eax, esi
sub rax, rcx
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x50], rax
movabs rax, 0x77cd2324db4f
movzx ecx, word [rsp + 0x58]
imul rcx, rax
mov al, byte [rsp + 0x52]
add al, cl
mov byte [rsp + 0x52], al
jmp 0x18003a0c1
movzx eax, word [0x1800679a4]
shl ax, 8
mov word [0x1800679d4], ax
mov eax, dword [0x1814a09c8]
mov edx, r15d
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x35f
mov dword [rbp - 0x70], eax
movzx ecx, byte [0x18006797b]
movsx eax, word [0x1800679cc]
cmp ecx, eax
mov al, byte [0x18006797b]
mov ecx, r15d
setle dl
cmp al, 0x4c
setbe cl
cmp edx, ecx
jne 0x18003a12e
mov eax, dword [0x180067a30]
add eax, 0xbb795eaf
movsxd rcx, eax
mov qword [0x1800679b8], rcx
mov ecx, dword [0x1800679e0]
mov eax, dword [0x1800679e0]
add ecx, 0xae002b69
add ecx, eax
mov dword [0x1800679e0], ecx
mov eax, dword [rsp + 0x60]
mov r8d, 0x31
add eax, 0x23c
xor ecx, ecx
mov dword [rbp - 0x28], eax
mov eax, dword [rsp + 0x60]
add eax, 0x314
mov dword [rbp - 0x10], eax
mov rdx, qword [0x1800679f8]
call fcn.18003e948
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x18003a1f9
mov al, byte [0x1800679a1]
movabs rcx, 0x6f395ae002b69
movsxd rax, dword [0x1800679a4]
cmp rax, rcx
ja 0x18003a1d8
movzx r8d, byte [0x1800679a1]
mov edx, r15d
mov eax, dword [0x180067a00]
mov ecx, r15d
not eax
add eax, r14d
movsx eax, byte [str.Whz_gb_2312]
sete dl
cmp r8d, eax
setl cl
add edx, ecx
je 0x18003a1d8
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x68]
xor rcx, r12
add rax, rcx
mov qword [rbp - 0x68], rax
mov rax, qword [0x1800679f8]
sub eax, 0x40ffe33
mov dword [rsp + 0x64], eax
jmp 0x18003a1f9
mov rax, qword [0x1800679d8]
test rax, rax
jne 0x18003a1f9
movabs rax, 0x1dfa757e60bb34d
mov byte [0x18006796d], 0xbb
mov qword [rbp - 0x58], rax
mov eax, dword [0x1814a09c8]
xor r9d, r9d
mov dword [rsp + 0x60], eax
mov cl, 0xf2
movzx eax, word [0x1800679cc]
add word [0x180067a48], ax
mov eax, dword [rsp + 0x60]
add eax, 0x2cb
mov dword [rbp - 0x1c], eax
mov rax, qword [0x180067a28]
movzx edx, word [rsp + 0x58]
mov r8b, byte [0x180067a1c]
mov byte [rsp + 0x28], al
mov byte [rsp + 0x20], r15b
call fcn.18003f0e8
movsx ecx, al
mov word [0x180067a3c], cx
movzx ecx, byte [0x1800679a2]
mov eax, dword [0x1800679e0]
cmp eax, ecx
ja 0x18003a27a
mov eax, dword [0x1814a09c8]
mov qword [0x1800679f8], rax
movsx rax, byte [str.cnRtlImageNtHeader]
mov qword [0x1815a7ea0], rax
mov eax, dword [rsp + 0x60]
xor r8d, r8d
add eax, 0x38f
mov dword [rbp + 4], eax
test r14d, r14d
je 0x18003a2b1
mov al, byte [rsp + 0x53]
test al, al
mov dword [rbp - 0x60], 0x33213980
movsx rax, word [0x1800679cc]
jne 0x18003a2a9
mov rax, qword [rbp - 0x50]
mov byte [0x18006796d], al
jmp 0x18003a2bd
mov eax, dword [0x180067a44]
add al, 0xa
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x60]
lea r15d, [r13 + 0x5f]
add eax, 0x6a
mov r14, 0xffffffffffff468d
mov dword [rbp - 0x20], eax
test di, di
mov eax, r8d
sete al
xor ax, word [0x180067a4c]
mov word [rsp + 0x58], ax
mov eax, dword [0x1814a09c8]
mov word [0x1800679c4], ax
mov dword [rsp + 0x60], eax
mov eax, 8
mov word [rbp - 0x6c], ax
mov rax, r12
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x60]
add eax, 0x35b
mov dword [rsp + 0x70], eax
mov rcx, qword [rbp - 0x50]
mov dl, byte [0x180067991]
mov al, dl
sub al, cl
xor dl, al
mov eax, dword [rsp + 0x60]
add eax, 0x3cd
mov byte [0x180067991], dl
mov dword [rbp - 0x44], eax
mov rax, qword [0x180067a28]
mov word [0x180067994], ax
mov eax, dword [rsp + 0x60]
add eax, 0x104
mov dword [rbp - 0x48], eax
mov word [0x1800679d4], r8w
movzx eax, word [0x1800679d4]
test ax, ax
jne 0x18003a37a
movzx ecx, byte [0x18006797b]
mov eax, 0x39e0
add cx, ax
mov word [rsp + 0x54], cx
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x60], eax
movsx rax, byte [rsp + 0x52]
cmp qword [0x1800679b8], rax
jge 0x18003a3d4
movzx eax, byte [rsp + 0x53]
mov rdx, qword [rbp - 0x50]
not eax
movsxd rcx, eax
mov eax, 0x3e
sub al, byte [0x180067a4c]
add rdx, rcx
movsx ecx, dl
movsx edx, al
movzx eax, bx
imul edx, ecx
mov ecx, 0x21bb
sub ax, cx
mov word [0x180067a4c], ax
not dl
mov byte [0x18006796e], dl
jmp 0x18003a3de
mov bl, byte [rsp + 0x53]
and ebx, 0xcb
mov eax, dword [rsp + 0x60]
add eax, 0xdd
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x60]
add eax, 0x2ff
mov dword [rbp - 0x48], eax
mov eax, 3
mov dword [0x180067a34], eax
movzx eax, word [0x1800679d4]
xor al, 0xf3
mov byte [0x180067997], al
mov ecx, dword [0x180067a34]
test ecx, ecx
je 0x18003a470
sub ecx, 1
je 0x18003a460
sub ecx, 1
je 0x18003a447
cmp ecx, 1
jne 0x18003a473
movzx eax, byte [rsp + 0x53]
mov rdx, qword [0x180067a50]
mov rcx, rdx
and rcx, rax
sub rdx, rcx
mov qword [0x180067a50], rdx
jmp 0x18003a473
mov r8d, dword [0x180067a38]
mov eax, 0x4e10
add r8w, ax
mov dword [rbp - 0x6c], r8d
xor r8d, r8d
jmp 0x18003a473
movzx eax, word [0x1814a09c8]
mov word [0x180067a08], ax
jmp 0x18003a473
sub r15b, sil
mov eax, dword [rsp + 0x60]
mov edi, 2
movsxd rcx, dword [0x180067a00]
add eax, 0x55
mov dword [rbp - 0x48], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x58], rdi
cmp rcx, rax
je 0x18003a53c
mov r9d, 0xc6
mov qword [rsp + 0x28], 0xfb
mov qword [rsp + 0x20], r8
xor edx, edx
xor r8d, r8d
lea ecx, [r9 - 0x23]
call fcn.18003ed48
mov dword [0x1800679a4], eax
xor r8d, r8d
mov eax, dword [0x180067a44]
not eax
test eax, eax
je 0x18003a523
mov ecx, dword [0x1800679d0]
mov rax, qword [0x1800679d8]
cmp rcx, rax
jae 0x18003a523
mov al, byte [rsp + 0x7c]
mov ecx, 0x1211
add al, 0x39
mov dword [0x180067a0c], edi
mov byte [0x1800679a1], al
mov rax, qword [0x180067a10]
sub al, 0x76
mov byte [0x1800679a2], al
mov eax, dword [rsp + 0x64]
add ax, cx
mov word [0x180067a3c], ax
jmp 0x18003a549
mov eax, 0x6a13
cmp ax, word [rsp + 0x7c]
je 0x18003a549
movzx eax, word [0x1814a09c8]
mov dword [rsp + 0x7c], eax
jmp 0x18003a549
mov rsi, qword [0x180067a58]
add esi, 0xd0
mov eax, dword [rsp + 0x60]
mov r13, qword [rbp - 0x58]
add eax, 0x290
mov dword [rbp - 0x30], eax
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18003a577
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x68]
sub rcx, rbx
add rax, rcx
mov qword [rbp - 0x68], rax
jmp 0x18003a59c
mov al, byte [rsp + 0x50]
mov ecx, 0xffffffc9
mov al, byte [0x18006796e]
sub cl, r15b
add cl, al
mov eax, 4
mov byte [0x18006796e], cl
mov dword [0x1800679c0], eax
mov eax, dword [rsp + 0x60]
mov rcx, r8
add eax, 0x344
mov dword [rbp + 8], eax
mov eax, dword [rsp + 0x78]
add r15b, al
mov eax, dword [rsp + 0x60]
add eax, 0x1a
mov dword [rsp + 0x74], eax
mov rax, qword [0x1800679d8]
test rax, rax
mov rax, qword [0x180067a58]
sete cl
sub eax, ecx
mov dword [rsp + 0x64], eax
imul eax, ebx, 0xa8affedb
mov dword [0x1800679c0], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x60], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov rdi, rax
test rax, rax
je 0x18003a616
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowUnicode]
mov eax, dword [rsp + 0x60]
movsx rcx, byte [str.cnRtlImageNtHeader]
add eax, 0x394
mov rdi, qword [rbp - 0x38]
mov dword [rbp - 0x48], eax
mov rax, qword [rbp - 0x78]
cmp rax, rcx
jg 0x18003a64c
movsx eax, byte [str.Whz_gb_2312]
mov esi, edi
not esi
add esi, 0x98b7
not esi
xor esi, eax
mov eax, dword [rsp + 0x60]
add eax, 0x31a
mov dword [rbp], eax
call qword [sym.imp.USER32.dll_IsWow64Message]
xor r10d, r10d
mov dword [0x1800679d0], eax
test eax, eax
je 0x18003a690
movsx ecx, byte [rsp + 0x50]
not ecx
cmp ecx, 0x3d46
jg 0x18003a6ad
movsx ecx, byte [rsp + 0x51]
mov eax, 0xeb
add cx, ax
mov word [0x1800679cc], cx
jmp 0x18003a6ad
mov ecx, dword [0x1800679c8]
mov rax, qword [rbp - 0x68]
add ecx, 0xb74f
add rax, rcx
mov qword [rbp - 0x68], rax
movzx r12d, word [rsp + 0x54]
mov eax, dword [rsp + 0x60]
add r14, rbx
add eax, 0x22c
mov edx, r10d
mov dword [rbp - 0x48], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0x9c
mov dword [rbp + 0x18], eax
movzx ecx, word [0x1800679d4]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
mov eax, dword [rsp + 0x64]
mov ecx, r10d
seta dl
cmp eax, 0x59
mov eax, 1
seta cl
cmp edx, ecx
je 0x18003a703
mov edi, eax
mov qword [rbp - 0x38], rdi
jmp 0x18003a71f
movsx rax, byte [0x18006796d]
mov rdx, rbx
sub rdx, rax
mov al, byte [0x18006796d]
add al, dl
mov byte [0x18006796d], al
mov eax, dword [rsp + 0x60]
mov edx, r10d
add eax, 0x191
mov dword [rbp - 0x48], eax
mov eax, dword [0x180067a40]
cmp rbx, rax
mov eax, r10d
setb dl
cmp rbx, 0x2d
setb al
cmp edx, eax
jb 0x18003a75c
mov al, byte [rsp + 0x53]
add al, 0x21
mov byte [0x180067996], al
movsx eax, dil
imul r15d, eax, 0xffffffa0
mov eax, dword [rsp + 0x60]
mov ecx, 0xffffee63
add eax, 0x8b
movsx ecx, cx
mov dword [rbp - 0x48], eax
mov eax, 4
mov qword [0x180067a20], rax
mov rax, qword [0x180067a58]
movsx edx, ax
imul edx, ecx
movzx ecx, di
mov word [0x180067a08], dx
mov edx, 0xe8
mov rax, qword [0x180067a58]
test rax, rax
mov rax, qword [0x180067a20]
cmovne cx, dx
mov word [0x180067a48], cx
test rax, rax
je 0x18003a85e
sub rax, 1
je 0x18003a83c
sub rax, 1
je 0x18003a808
sub rax, 1
je 0x18003a7ec
mov r8d, dword [rbp - 0x6c]
cmp rax, 1
jne 0x18003a86f
movabs rbx, 0x1c93306e65792
jmp 0x18003a86f
movsx rax, word [0x1800679e4]
mov rdx, qword [rbp - 0x78]
add rdx, rax
mov rax, qword [rbp - 0x78]
add rax, rdx
mov qword [rbp - 0x78], rax
jmp 0x18003a858
movsx eax, word [0x1800679e4]
mov rcx, qword [rbp - 0x68]
not eax
cdqe
sub rcx, rax
mov rax, qword [0x1800679d8]
imul rax, rcx
mov qword [0x180067a28], rax
mov al, byte [0x18006796e]
sar al, 1
mov byte [0x1800679a1], al
jmp 0x18003a858
mov al, byte [rsp + 0x50]
add al, 0x6c
mov byte [rsp + 0x50], al
mov eax, dword [0x1800679c8]
mov rcx, qword [rbp - 0x50]
imul rcx, rax
mov qword [rbp - 0x50], rcx
mov r8d, dword [rbp - 0x6c]
jmp 0x18003a86f
mov r8d, dword [rbp - 0x6c]
movsx edi, r8w
not edi
imul edi, esi
mov qword [rbp - 0x38], rdi
mov eax, dword [0x1814a09c8]
mov edx, r10d
mov dword [rsp + 0x60], eax
mov ecx, r10d
mov al, byte [rsp + 0x52]
mov r9d, 0xed
mov eax, dword [rsp + 0x60]
add eax, 0x2fd
mov dword [rbp + 0x10], eax
mov al, byte [0x1800679a3]
cmp al, r15b
mov al, byte [0x1800679a3]
setg dl
cmp al, 0x10
setg cl
cmp edx, ecx
jb 0x18003a941
mov rcx, qword [0x1800679e8]
movsxd rax, dword [0x180067a00]
cmp rax, rcx
jb 0x18003a8e6
movzx eax, word [rsp + 0x7c]
imul ecx, eax, 0xb359
mov al, byte [0x1815919c4]
mov byte [0x180067991], al
mov dword [0x1800679e0], ecx
jmp 0x18003a950
test r8w, r8w
je 0x18003a8fa
movzx eax, word [0x1814a09c8]
mov word [rsp + 0x54], ax
jmp 0x18003a950
cmp qword [0x180067a50], r10
jne 0x18003a914
movsx rax, byte [0x18006796d]
mov qword [0x1800679e8], rax
jmp 0x18003a950
cmp dword [0x1800679d0], r10d
mov edx, r10d
movzx eax, byte [0x180067997]
sete dl
cmp eax, edx
jne 0x18003a950
mov eax, dword [0x180067a34]
imul ecx, eax, 0x231bad9e
movsxd r13, ecx
mov qword [rbp - 0x58], r13
jmp 0x18003a950
movsx ecx, byte [0x18006797f]
add cx, r9w
mov word [rbp - 0x6c], cx
mov eax, dword [rsp + 0x60]
xor r9d, r9d
add eax, 0x344
xor r8d, r8d
mov dword [rbp + 0x14], eax
xor ecx, ecx
mov eax, dword [rsp + 0x60]
add eax, 8
mov dword [rbp - 0x48], eax
mov eax, 0x48
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r10w
lea edx, [rax - 0x18]
call fcn.18003e1bc
movzx eax, ax
mov dword [0x180067a00], eax
test eax, eax
jne 0x18003a9b4
mov al, byte [0x180067997]
test al, al
je 0x18003a9b4
mov rax, qword [rbp - 0x50]
sar rax, 4
mov dword [0x180067a38], eax
mov eax, 0x22622fab
sub eax, edi
add esi, eax
mov eax, dword [0x1814a09c8]
lea rcx, [rbp + 0x1c0]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
movups xmm0, xmmword [0x18004bdc0]
add eax, 0xf1
movsd xmm1, qword [0x18004bdd0]
mov dword [rsp + 0x60], eax
mov eax, dword [0x18004bdd8]
mov dword [rbp + 0x1d8], eax
movzx eax, word [0x18004bddc]
mov word [rbp + 0x1dc], ax
movups xmmword [rbp + 0x1c0], xmm0
movsd qword [rbp + 0x1d0], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x18006797b], al
xor edx, edx
mov eax, dword [rsp + 0x5c]
mov cl, r14b
add eax, 0x125
mov dword [rbp + 0x24], eax
call fcn.18003e658
movzx eax, al
xor r9d, r9d
mov qword [0x1800679e8], rax
mov rax, qword [0x1800679e8]
test rax, rax
je 0x18003aa5d
movzx ecx, byte [0x180067997]
call qword [sym.imp.USER32.dll_IsIconic]
mov edi, eax
xor r9d, r9d
mov qword [rbp - 0x38], rdi
jmp 0x18003aaae
mov rax, qword [rbp - 0x50]
movabs rcx, 0x3f27c9d1988fc
add rax, rcx
je 0x18003aaae
mov ecx, dword [0x1800679c0]
movzx eax, word [0x1800679cc]
xor cx, ax
mov eax, dword [rsp + 0x78]
xor ax, r13w
movzx ecx, cx
movzx edx, ax
mov eax, 0x7742
imul edx, ecx
movzx ecx, dx
imul ecx, eax
mov al, byte [rsp + 0x53]
xor al, byte [0x18159ea7c]
mov byte [rsp + 0x53], al
mov dword [rsp + 0x7c], ecx
mov eax, dword [rsp + 0x5c]
add rbx, r13
add eax, 0xa7
mov r8d, 0xe1
mov dword [rbp + 0xc], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x181
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x5c]
add eax, 7
mov dword [rbp + 0x20], eax
mov rcx, qword [0x180067a58]
movsx rax, r15b
cmp rax, rcx
je 0x18003ab41
movsx rax, byte [0x180067992]
mov ecx, r9d
cmp rbx, rax
mov eax, r9d
setne cl
cmp rbx, 0x32
setne al
cmp ecx, eax
jb 0x18003abb7
mov rax, qword [0x1800679d8]
imul rcx, rax, 0x2d
test rcx, rcx
je 0x18003abb7
mov eax, 8
mov word [rsp + 0x58], ax
mov qword [0x1800679f0], 0x39
jmp 0x18003abb7
movzx edx, word [0x1800679d4]
movsx eax, byte [rsp + 0x51]
cmp eax, edx
jne 0x18003ab61
mov ecx, dword [0x1814a09c8]
mov qword [rbp - 0x50], rcx
mov dword [rsp + 0x6c], ecx
jmp 0x18003abb7
movzx ecx, word [rsp + 0x58]
mov rax, qword [rbp - 0x50]
cmp rcx, rax
jg 0x18003ab83
mov ecx, dword [0x1800679e0]
mov eax, dword [rsp + 0x78]
sub ecx, eax
mov eax, ecx
mov qword [rbp - 0x58], rax
jmp 0x18003abb7
movzx eax, word [0x180067a4c]
test r12, r12
mov ecx, r9d
sete cl
cmp eax, ecx
jne 0x18003abb7
movzx ecx, word [rsp + 0x58]
mov rax, qword [0x180067a58]
add rcx, r8
sub rax, rcx
mov qword [0x180067a58], rax
mov r15d, dword [0x180067a44]
mov eax, dword [rsp + 0x5c]
add eax, 0x12f
mov dword [rbp + 0x1c], eax
test r15b, r15b
je 0x18003abd0
movzx r13d, byte [rsp + 0x53]
jmp 0x18003abd7
mov r13d, dword [0x1800679e0]
mov eax, dword [0x1814a09c8]
movsxd rcx, dword [0x180067a0c]
mov dword [rsp + 0x5c], eax
mov rax, qword [0x180067a10]
cmp rcx, rax
jg 0x18003ac28
movsx eax, word [0x1800679cc]
cmp eax, edi
je 0x18003ac09
mov eax, dword [rbp - 0x60]
add eax, eax
movsxd rbx, eax
jmp 0x18003ac6d
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x18003ac6d
mov r12, qword [0x1800679e8]
movabs rax, 0x59d6400241af1
add r12, rax
jmp 0x18003ac6d
mov ecx, dword [0x1800679c0]
mov r8d, r9d
movsx eax, word [0x180067a3c]
not ecx
cmp eax, ecx
mov edx, r9d
movzx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
setle r8b
cmp cx, ax
setne dl
cmp r8d, edx
jbe 0x18003ac6d
imul eax, esi, 0x1ceb
mov dword [rsp + 0x78], eax
mov rax, qword [0x180067a20]
imul r12, rax
mov eax, dword [rsp + 0x5c]
add eax, 0x1ac
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x148
mov dword [rsp + 0x68], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18003aca3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [rsp + 0x5c]
mov edx, 0xb
add eax, 0x30c
mov qword [rsp + 0x28], 0xda
mov dword [rsp + 0x68], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x5c], eax
lea r9d, [rdx + 0x1b]
movzx ecx, byte [0x180067997]
mov eax, 0xee2
add cx, ax
mov word [0x1800679e4], cx
xor ecx, ecx
mov eax, dword [rsp + 0x5c]
add eax, 0x28
mov dword [rbp - 0x18], eax
mov eax, 0xe1
mov qword [rsp + 0x20], rax
lea r8d, [rax - 0x75]
call fcn.18003ed48
xor r9d, r9d
mov dword [0x180067a00], eax
test eax, eax
jne 0x18003ae13
movsx rcx, byte [rsp + 0x52]
mov rax, qword [0x1800679d8]
cmp rcx, rax
jb 0x18003ae1d
cmp byte [str.Whz_gb_2312], r9b
mov edx, r9d
mov rax, qword [rbp - 0x78]
mov ecx, r9d
sete dl
cmp rax, rdx
movsx eax, word [0x180067a48]
setg cl
cmp ecx, eax
jge 0x18003ad7b
movsx eax, word [0x180067a08]
movsx edx, byte [rsp + 0x50]
imul edx, eax
mov al, byte [rsp + 0x50]
sub al, dl
mov byte [rsp + 0x50], al
movsx eax, byte [0x18006796e]
imul eax, eax, 0xffffff8a
mov byte [0x1800679a3], al
jmp 0x18003ae1d
mov al, byte [0x18006797f]
test al, al
je 0x18003ad9e
mov eax, 4
mov byte [0x180067997], al
mov rax, qword [rbp - 0x68]
add al, 9
add byte [str.Whz_gb_2312], al
jmp 0x18003ae1d
not esi
test esi, esi
je 0x18003ae1d
movsx edx, byte [0x18006796e]
mov ecx, r9d
mov eax, dword [rsp + 0x64]
sub edx, eax
mov r8, qword [rbp - 0x50]
mov esi, dword [rsp + 0x7c]
movsxd rax, r13d
add r8, rax
and r8, rdx
mov edx, dword [rsp + 0x78]
mov rax, qword [0x180067a28]
sub dl, 0x46
add dl, al
movzx eax, dl
test r8, r8
cmove ecx, eax
mov byte [0x1800679a1], cl
mov rcx, qword [0x180067a60]
mov al, byte [rsp + 0x51]
test al, al
sete dl
test rcx, rcx
sete al
sub dl, al
mov rax, qword [rbp - 0x50]
test rax, rax
sete al
sub dl, al
add dl, sil
mov byte [0x180067993], dl
jmp 0x18003ae21
mov eax, dword [0x1800679c8]
mov qword [rbp - 0x78], rax
mov esi, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x5c]
xor edx, edx
add eax, 0x4288
mov dword [rsp + 0x68], eax
movsx eax, byte [0x1800679a3]
movsx ecx, byte [rsp + 0x52]
imul ecx, eax
mov byte [rsp + 0x52], cl
mov eax, dword [rsp + 0x5c]
add eax, 0x5c
mov dword [rsp + 0x5c], eax
movabs rax, 0x7370b38b45e9e
mov ecx, dword [0x180067a40]
and rcx, rax
mov qword [0x1800679f8], rcx
mov ecx, 0x91
call fcn.18003de0c
xor r8d, r8d
mov eax, eax
mov qword [0x180067a10], rax
mov edx, r8d
mov rax, qword [0x180067a10]
mov ecx, r8d
cmp rax, 0x3d
mov rax, qword [0x180067a10]
setg dl
test rax, rax
setg cl
cmp ecx, edx
je 0x18003aeb8
test r13d, r13d
je 0x18003af1a
mov ecx, dword [rbp - 0x60]
mov eax, dword [rsp + 0x64]
add ecx, ecx
sub ecx, eax
mov dword [rbp - 0x60], ecx
jmp 0x18003af1a
movsx ecx, byte [rsp + 0x52]
mov rax, qword [0x180067a28]
not ecx
movsxd rdx, ecx
cmp rax, rdx
je 0x18003aef9
movzx eax, word [rsp + 0x54]
mov edx, r8d
movsx ecx, word [0x1800679c4]
test ax, ax
not ecx
sete dl
cmp edx, ecx
jne 0x18003aef9
movzx eax, word [0x1814a09c8]
mov word [0x180067a04], ax
jmp 0x18003af1a
test edi, edi
je 0x18003af1a
movabs rax, 0x38bf713a35076
mov qword [0x1800679e8], rax
mov al, byte [0x180067994]
add al, 0x49
mov byte [rsp + 0x53], al
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rbp - 0x18]
imul ecx, eax
mov eax, 0xec4
sub eax, ecx
mov dword [rbp + 0x38], eax
mov eax, dword [0x1800679e0]
mov eax, dword [0x1814a09c8]
movzx ecx, word [0x180067a04]
mov dword [rsp + 0x5c], eax
sub cx, 0x57
movzx eax, word [rsp + 0x58]
add ax, cx
mov word [0x180067a1c], bx
mov word [0x180067a04], ax
mov ecx, 3
mov eax, dword [rsp + 0x5c]
sub rbx, r12
add eax, 0x10e8
mov dword [0x1800679d0], ecx
mov dword [rbp - 0x18], eax
mov rdx, rbx
movsx rax, r15b
mov ecx, 0xfc
xor rax, 0x539acaf8
mov qword [0x180067a28], rax
movsx rax, byte [rsp + 0x51]
sub rdx, rax
mov al, byte [rsp + 0x51]
add al, dl
movzx edx, r14w
mov byte [rsp + 0x51], al
mov eax, dword [rsp + 0x5c]
add eax, 0x1b
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x1298
mov dword [rsp + 0x5c], eax
call fcn.18003e788
movzx eax, ax
xor r8d, r8d
mov dword [0x180067a40], eax
mov eax, dword [0x180067a40]
test eax, eax
je 0x18003aff6
movsx ecx, byte [rsp + 0x50]
add cl, byte [0x180067994]
mov byte [rsp + 0x50], cl
mov rax, qword [0x1800679f0]
add qword [rbp - 0x58], rax
lea eax, [r14 - 0x5d]
mov byte [rsp + 0x50], al
cmp dword [rbp - 0x60], r8d
je 0x18003b00d
movzx eax, word [0x1800679c4]
jmp 0x18003b013
mov eax, dword [0x180067a38]
mov byte [str.cnRtlImageNtHeader], al
mov eax, dword [rbp - 0x14]
mov ecx, dword [rbp - 0x40]
mov edx, dword [rbp - 0x24]
sub ecx, eax
mov eax, dword [rbp - 0x24]
sub edx, eax
mov eax, dword [rsp + 0x5c]
imul edx, ecx
imul ecx, eax, 0x46
mov eax, dword [rsp + 0x5c]
xor eax, ecx
mov ecx, dword [rbp - 0x18]
xor ecx, eax
xor ecx, 0x517e0
add ecx, edx
mov dword [rbp - 0x18], ecx
mov rdx, qword [0x180067a10]
mov cl, byte [0x1800679c8]
call fcn.18003e658
xor r8d, r8d
movzx r12d, al
mov dword [rsp + 0x7c], r12d
test al, al
je 0x18003b08a
test edi, edi
je 0x18003b0a1
movsx ecx, byte [0x18006796d]
add ecx, 0x13
mov dword [rsp + 0x64], ecx
mov r15b, byte [0x180067996]
sub r15b, 0x14
jmp 0x18003b0a1
movsx rcx, byte [rsp + 0x51]
mov rax, qword [0x1800679f0]
sub rax, rcx
mov qword [0x1800679f0], rax
mov eax, dword [0x1814a09c8]
mov r9d, 0x51
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x57b9
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x5c]
add eax, r9d
mov dword [rbp - 0x40], eax
movzx eax, word [0x1800679d4]
movsx edx, byte [rsp + 0x50]
movzx ecx, byte [0x1800679a2]
sub edx, eax
inc cx
add cx, dx
mov edx, r8d
mov word [rsp + 0x58], cx
mov eax, dword [rsp + 0x5c]
add eax, 0x2a
mov dword [rsp + 0x5c], eax
movzx eax, word [rsp + 0x54]
shr ax, 1
mov byte [rsp + 0x50], al
mov qword [0x1800679e8], 0x18cb
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x5c]
or ecx, eax
mov eax, dword [rsp + 0x5c]
xor eax, ecx
mov ecx, dword [rbp - 0x40]
xor ecx, eax
mov eax, r9d
sub eax, ecx
mov ecx, r8d
mov dword [rbp + 0x30], eax
movzx eax, byte [0x180067993]
cmp eax, edi
mov al, byte [0x180067993]
sete dl
cmp al, 8
sete cl
cmp edx, ecx
jbe 0x18003b1cd
movsx rcx, byte [0x1800679a3]
call qword [sym.imp.USER32.dll_IsIconic]
mov eax, eax
xor r8d, r8d
mov qword [rbp - 0x58], rax
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18003b17d
mov rax, qword [rbp - 0x68]
dec rax
mov qword [rbp - 0x68], rax
jmp 0x18003b20b
movsx rax, word [0x1800679e4]
mov edx, r8d
cmp rax, qword [0x1800679b8]
mov eax, r8d
sete dl
test r12d, r12d
setne al
cmp edx, eax
jb 0x18003b1af
mov eax, dword [0x180067a0c]
neg eax
mov dword [0x1800679a4], eax
jmp 0x18003b20b
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x18003b20b
movsx eax, byte [str.Whz_gb_2312]
mov dword [0x181531ee4], eax
mov dword [0x180067a30], r12d
jmp 0x18003b20b
movsx ecx, byte [0x18006796d]
not ecx
cmp ecx, 0x270a556b
jge 0x18003b205
movsx ecx, byte [0x18006797f]
not ecx
test ecx, ecx
jne 0x18003b205
movzx eax, word [rsp + 0x58]
mov ecx, 0xa43c9c4c
mov rax, qword [rbp - 0x68]
sub rcx, r14
add rcx, rax
mov qword [rbp - 0x68], rcx
jmp 0x18003b20b
mov ebx, dword [0x18165a1c4]
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x5c], eax
movsx rcx, byte [rsp + 0x50]
call qword [sym.imp.USER32.dll_IsWindow]
mov r12, qword [rbp - 0x58]
xor r8d, r8d
mov eax, eax
mov qword [rbp - 0x78], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x91
mov dword [rbp - 0x14], eax
mov rax, r12
not rax
test rax, rax
je 0x18003b27c
mov rax, qword [0x180067a10]
lea r9d, [r8 + 1]
test rax, rax
je 0x18003b272
mov al, byte [0x180067996]
test al, al
mov al, r15b
not al
sete cl
and cl, al
xor cl, r9b
mov byte [0x18006797f], cl
jmp 0x18003b2d1
mov al, byte [rsp + 0x51]
mov byte [rsp + 0x52], al
jmp 0x18003b2d1
cmp word [0x180067a4c], r8w
je 0x18003b29b
mov eax, dword [0x180067a38]
mov dword [0x1815e7fa0], eax
mov byte [0x180067996], 0x3c
jmp 0x18003b2cb
movzx eax, si
cmp dword [0x180067a0c], eax
je 0x18003b2cb
mov rdx, qword [0x1800679f8]
mov rax, qword [rbp - 0x50]
add rdx, rax
mov rax, qword [rbp - 0x50]
add rax, rdx
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x68]
xor al, 0x6a
mov byte [str.cnRtlImageNtHeader], al
mov r9d, 1
mov eax, dword [rsp + 0x5c]
mov edx, r8d
add eax, 0x7df5
mov dword [rbp - 0x40], eax
mov ecx, dword [0x180067a40]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
mov eax, dword [rsp + 0x64]
mov ecx, r8d
seta dl
cmp eax, 0x39
seta cl
cmp edx, ecx
jae 0x18003b311
mov rax, qword [rbp - 0x78]
add edi, r9d
and al, 0x1c
mov qword [rbp - 0x38], rdi
mov byte [rsp + 0x52], al
mov eax, dword [rsp + 0x5c]
mov esi, dword [rbp - 0x60]
add eax, 0x51
mov ecx, esi
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [rsp + 0x53], al
xor r10d, r10d
mov ecx, dword [rbp - 0x40]
mov edx, r10d
mov eax, dword [rbp - 0x14]
xor ecx, eax
mov eax, 0x7d64
sub eax, ecx
mov dword [rbp - 0x14], eax
movsx rcx, byte [rsp + 0x51]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
mov al, byte [rsp + 0x51]
mov ecx, r10d
setae dl
cmp al, 0x1b
setge cl
cmp edx, ecx
jbe 0x18003b398
mov byte [rsp + 0x52], 1
movzx eax, byte [0x180067996]
mov edx, dword [0x180067a34]
add dx, ax
movsx eax, word [rsp + 0x54]
movsx ecx, dx
mov edx, eax
mov eax, dword [0x1815e7f98]
imul edx, ecx
mov word [0x180067a1c], dx
mov qword [rbp - 0x50], rax
jmp 0x18003b3c1
mov ecx, dword [0x180067a44]
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
jg 0x18003b3b1
movsx rax, byte [rsp + 0x51]
cmp rax, r12
jne 0x18003b3c1
lea eax, [rbx - 0xec90]
mov dword [rsp + 0x6c], eax
mov al, byte [0x180067996]
mov eax, dword [0x1814a09c8]
mov edx, r10d
movsxd r9, dword [rbp - 0x6c]
mov dword [rsp + 0x5c], eax
mov qword [0x180067a50], rax
mov eax, dword [rsp + 0x5c]
add eax, 0xe6d5
movsx rbx, r9w
mov dword [rsp + 0x68], eax
add r14, rbx
movzx r12d, word [rsp + 0x58]
movzx eax, word [0x180067a1c]
movzx ecx, word [0x180067a48]
imul ecx, eax
mov word [0x1800679d4], cx
mov ecx, r10d
mov eax, dword [rsp + 0x5c]
add eax, 0xa6a
mov dword [rbp - 0x40], eax
movzx eax, byte [0x180067996]
cmp eax, edi
mov al, byte [0x180067996]
setb dl
cmp al, 0x32
setb cl
cmp edx, ecx
ja 0x18003b4bd
call qword [sym.imp.USER32.dll_GetCursor]
xor r10d, r10d
test rax, rax
je 0x18003b452
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCaretPos]
xor r10d, r10d
mov r9d, dword [rbp - 0x6c]
mov eax, dword [rsp + 0x5c]
add eax, 0x1203
mov dword [rsp + 0x68], eax
mov rax, qword [0x180067a58]
test rax, rax
je 0x18003b58e
movzx edx, word [rsp + 0x54]
movsx eax, byte [rsp + 0x51]
cmp edx, eax
jg 0x18003b562
movzx eax, word [rsp + 0x54]
test esi, esi
mov ecx, r10d
sete cl
sub ecx, eax
movsx eax, r9w
sub ecx, 0x41b918e
mov dword [0x180067a40], ecx
movzx edx, word [rsp + 0x58]
add edx, eax
movzx eax, word [rsp + 0x58]
and ax, dx
mov word [rsp + 0x58], ax
jmp 0x18003b5d4
movsx eax, byte [rsp + 0x52]
test r14, r14
mov edx, r10d
mov r8d, r10d
sete dl
mov ecx, r10d
cmp edx, eax
mov eax, dword [rsp + 0x78]
sete r8b
cmp eax, dword [0x180067a30]
setne cl
cmp r8d, ecx
jb 0x18003b508
movsx rax, byte [0x18006797f]
mov rdx, qword [rbp - 0x78]
add rdx, rax
mov rax, qword [rbp - 0x78]
add rax, rdx
mov qword [rbp - 0x78], rax
jmp 0x18003b456
mov al, byte [rsp + 0x52]
test al, al
je 0x18003b532
mov cl, byte [0x1800679a1]
mov al, byte [0x1800679a1]
sub cl, al
movzx eax, word [0x1800679e4]
add cl, al
mov byte [0x1800679a1], cl
jmp 0x18003b456
movsx eax, byte [rsp + 0x50]
cmp ax, r9w
jne 0x18003b456
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x18003b456
movzx eax, word [0x1800679c4]
mov eax, dword [rsp + 0x64]
sub dword [rsp + 0x7c], eax
jmp 0x18003b456
movzx ecx, word [rsp + 0x58]
movsx eax, r9w
cmp ecx, eax
jne 0x18003b5d4
mov rax, qword [0x1800679e8]
test r14, r14
mov rcx, r10
not rax
sete cl
xor rcx, rax
mov qword [0x180067a20], rcx
jmp 0x18003b5d4
cmp word [0x180067994], r10w
mov ecx, r10d
mov eax, dword [0x180067a34]
mov r8d, r10d
sete cl
mov edx, r10d
cmp eax, ecx
mov rcx, qword [0x1800679f0]
movzx eax, word [0x180067a4c]
sete r8b
cmp rax, rcx
setb dl
cmp r8d, edx
ja 0x18003b5d4
movzx eax, word [0x1800679d4]
add r14, r14
sub r14, rax
mov cl, byte [0x18006796e]
mov edx, r10d
mov al, byte [rsp + 0x51]
cmp cl, al
mov al, byte [0x18006796e]
mov ecx, r10d
setle dl
cmp al, 0xe
setle cl
cmp edx, ecx
jne 0x18003b622
mov eax, dword [0x1800679e0]
test eax, eax
je 0x18003b622
mov eax, dword [0x1800679c8]
mov cl, byte [0x180067991]
sub dword [0x180067a0c], eax
add cl, cl
mov rax, qword [rbp - 0x50]
add al, cl
mov byte [0x180067991], al
mov eax, dword [rbp - 0x10]
mov ecx, dword [rbp - 0x28]
mov eax, dword [rbp - 0x70]
sub ecx, eax
mov edx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x70]
xor edx, eax
mov eax, dword [rbp - 0x40]
movups xmm0, xmmword [str.Windows.Web.Http.H]
add eax, 0x342c
movups xmm1, xmmword [0x18004bdf0]
xor eax, 0x3e97
imul edx, ecx
lea rcx, [rbp + 0x1e0]
movups xmmword [rbp + 0x1e0], xmm0
movups xmmword [rbp + 0x1f0], xmm1
add eax, edx
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18004be00]
mov dword [rbp + 0x200], eax
movzx eax, word [0x18004be04]
mov word [rbp + 0x204], ax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov eax, dword [0x1814a09c8]
mov qword [0x180067a50], rcx
mov dword [rbp - 0x70], eax
mov eax, dword [rbp - 0x70]
add eax, 0x24d4
mov dword [rbp - 0x28], eax
mov eax, dword [rbp - 0x70]
add eax, 0x9bb7
mov dword [rsp + 0x68], eax
mov al, byte [0x180067a00]
sub al, 0x45
mov byte [rsp + 0x53], al
movsx ecx, byte [rsp + 0x52]
sub ecx, 0x7e6fc802
mov dword [rsp + 0x64], ecx
mov ecx, 0x24d5
mov eax, dword [rbp - 0x70]
add eax, 0xb
mov dword [rsp + 0x68], eax
mov rax, qword [0x180067a20]
sub rax, rbx
mov qword [0x180067a20], rax
mov eax, dword [rbp - 0x28]
sub ecx, eax
mov dword [rbp + 0x34], ecx
mov ecx, dword [0x1800679e0]
movsx eax, r15b
xor r15d, r15d
cmp ecx, eax
mov edx, r15d
mov eax, dword [0x1800679e0]
mov ecx, r15d
setb dl
lea r8d, [r15 + 3]
cmp eax, r8d
setb cl
cmp edx, ecx
jae 0x18003b74a
mov esi, dword [rsp + 0x7c]
cmp qword [0x180067a50], rsi
je 0x18003b741
mov r14, qword [0x180067a10]
sub r14, 0x67
jmp 0x18003b767
mov rax, qword [0x180067a28]
jmp 0x18003b767
mov al, byte [0x1800679a1]
mov ecx, 0x78
sub cl, byte [0x180067a50]
mov esi, dword [rsp + 0x7c]
add cl, al
mov byte [0x1800679a1], cl
mov eax, dword [0x1814a09c8]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp - 0x70]
add eax, 0x7b
mov dword [rbp - 0x10], eax
mov eax, dword [rbp - 0x70]
add eax, 0xbc9
mov dword [rbp - 0x40], eax
mov cl, byte [0x18006796e]
mov al, byte [0x18006797f]
cmp cl, al
jge 0x18003b7a1
movsx eax, word [0x1800679e4]
mov dword [rsp + 0x6c], eax
jmp 0x18003b7d2
movzx eax, word [0x180067994]
add qword [rbp - 0x58], rax
movabs rax, 0x3def7f620e31c
movzx ecx, byte [0x18006797b]
imul rcx, rax
mov rax, qword [0x180067a10]
sub rax, rcx
mov qword [0x180067a10], rax
mov eax, dword [rbp - 0x70]
movabs rcx, 0x6db09063ad22d
movups xmm0, xmmword [str.Indicates_that_a_c]
add eax, 0x6f
movups xmm1, xmmword [0x18004bc48]
mov dword [rbp - 0x28], eax
mov rax, qword [0x1800679b8]
mov qword [0x18160bce8], rax
mov rax, qword [0x180067a50]
imul rax, rcx
movups xmmword [rbp + 0x208], xmm0
movups xmmword [rbp + 0x218], xmm1
lea rcx, [rbp + 0x208]
mov qword [rbp - 0x78], rax
mov eax, dword [0x18004bc58]
mov dword [rbp + 0x228], eax
movzx eax, word [0x18004bc5c]
mov word [rbp + 0x22c], ax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [rbp - 0x28]
mov ebx, eax
mov edx, dword [rbp - 0x10]
sub edx, ecx
mov ecx, dword [rbp - 0x40]
xor ecx, 0x9d
or ecx, edx
xor ecx, 0xb5d
mov dword [rbp - 0x28], ecx
movsx rdx, byte [0x18006796e]
movsxd rcx, dword [rsp + 0x6c]
call fcn.18003eaf4
mov dword [0x1800679e0], eax
mov eax, dword [0x1800679e0]
test eax, eax
je 0x18003b8b3
mov cl, byte [rsp + 0x50]
mov edx, r15d
mov al, byte [rsp + 0x51]
cmp cl, al
mov al, byte [rsp + 0x50]
mov ecx, r15d
setl dl
cmp al, 0x3e
setl cl
cmp edx, ecx
jae 0x18003b8d0
neg r14w
mov word [0x180067a4c], r14w
jmp 0x18003b8d0
mov eax, dword [rsp + 0x6c]
not eax
cmp esi, eax
je 0x18003b8d0
movzx eax, byte [rsp + 0x53]
sub r13d, eax
mov al, byte [rsp + 0x53]
sub al, r12b
mov byte [rsp + 0x53], al
mov eax, dword [0x1814a09c8]
xor r14d, r14d
mov dword [rbp - 0x70], eax
mov r8d, r14d
movsx edx, byte [0x1800679a3]
mov ecx, r14d
movzx eax, byte [0x1800679a1]
cmp edx, eax
mov al, byte [0x1800679a3]
setl r8b
cmp al, 0x4e
setl cl
cmp r8d, ecx
jne 0x18003b951
mov eax, dword [0x18004be28]
lea rcx, [rbp + 0x230]
movups xmm0, xmmword [str.NgcDecryptWithSymm]
mov dword [rbp + 0x250], eax
movups xmm1, xmmword [0x18004be18]
movzx eax, word [0x18004be2c]
movups xmmword [rbp + 0x230], xmm0
mov word [rbp + 0x254], ax
movups xmmword [rbp + 0x240], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [str.cnRtlImageNtHeader], al
jmp 0x18003b983
movzx eax, word [rsp + 0x58]
cmp word [0x180067a1c], 1
je 0x18003b983
mov eax, dword [0x1800679c8]
movabs rcx, 0x175093567c01c
sub rax, rcx
mov edi, 0x9e174d79
mov qword [0x180067a58], rax
mov qword [rbp - 0x38], rdi
mov eax, dword [rbp - 0x70]
mov ecx, 0x7142
add eax, 0xb62b
mov byte [0x181609661], r12b
mov dword [rsp + 0x68], eax
mov eax, 8
mov qword [0x180067a50], rax
mov eax, dword [rbp - 0x70]
add eax, 0x7a
mov dword [rbp - 0x24], eax
mov eax, 3
mov dword [0x1800679d0], eax
movzx eax, byte [0x180067991]
sub ax, cx
add word [rbp - 0x6c], ax
movsx eax, word [0x180067a08]
movsx ecx, byte [0x18006796e]
movsx edx, al
mov eax, ecx
imul eax, edx
mov rcx, r12
mov byte [0x18006796e], al
mov eax, dword [rbp - 0x70]
add eax, 0x8f
mov dword [rsp + 0x68], eax
call qword [sym.imp.USER32.dll_GetTopWindow]
mov ecx, dword [rbp - 0x20]
mov r10d, eax
mov eax, dword [rbp - 0x20]
sub ecx, eax
mov eax, dword [rbp + 4]
mov edx, dword [rbp - 0x1c]
imul eax, ecx
mov ecx, dword [rbp - 0x24]
mov qword [rbp - 8], r10
imul edx, eax
mov eax, dword [rbp - 0x24]
imul ecx, eax
mov eax, dword [0x1814a09c8]
mov r15d, eax
xor ecx, 0x3a25
sub ecx, edx
mov edx, r14d
mov dword [rbp + 4], ecx
test bl, bl
sete byte [0x180067992]
mov dword [rbp - 0x70], eax
movzx ecx, word [0x1800679d4]
mov eax, dword [rsp + 0x6c]
cmp ecx, eax
movzx eax, word [0x1800679d4]
mov ecx, r14d
setge dl
cmp ax, 0x58
setae cl
cmp edx, ecx
jae 0x18003ba80
mov eax, dword [0x180067a44]
cmp eax, 0xdb60
jge 0x18003ba80
mov eax, dword [0x1800679e0]
movzx ecx, ax
imul r12d, ecx
mov eax, dword [rbp - 0x70]
sub eax, 0xffffff80
mov dword [rsp + 0x68], eax
mov eax, dword [rbp - 0x70]
add eax, 0x5606
mov dword [rsp + 0x68], eax
mov eax, dword [rbp - 0x70]
add eax, 0xa5
mov dword [rbp - 0x20], eax
call qword [sym.imp.USER32.dll_GetFocus]
test eax, eax
je 0x18003bb70
movsx ecx, byte [0x1800679a3]
movzx eax, r12w
cmp eax, ecx
jne 0x18003bb3a
cmp byte [0x180067991], r14b
mov eax, r14d
sete al
sub eax, esi
mov qword [0x1800679f8], rax
movzx eax, word [rsp + 0x58]
sub al, 0x7f
mov byte [0x180067993], al
mov r14, qword [rbp - 0x58]
movzx edx, word [0x180067994]
xor ecx, ecx
call fcn.18003eaf4
xor r9d, r9d
mov qword [rbp - 0x58], rax
mov rsi, rax
test eax, eax
jne 0x18003bbd7
mov ecx, dword [0x180067a40]
test ecx, ecx
je 0x18003bba3
movsx r12d, byte [0x180067992]
mov eax, 0x2bdf
movzx edx, byte [0x180067993]
add r12w, ax
add edx, 0x667c782c
mov dword [rsp + 0x6c], edx
jmp 0x18003bbd7
cmp r15, 0xd9
jne 0x18003bae1
movsx eax, byte [rsp + 0x52]
mov edx, dword [0x180067a44]
and edx, eax
mov eax, dword [0x180067a44]
add eax, edx
mov dword [0x180067a44], eax
lea eax, [r13 + 0x6e6d]
mov dword [0x1800679d0], eax
jmp 0x18003bae1
mov r14, qword [rbp - 0x58]
mov rax, r14
not rax
test rax, rax
je 0x18003bae5
movzx ecx, word [rsp + 0x54]
mov rax, qword [rbp - 0x78]
sub cl, al
not cl
mov byte [rsp + 0x52], cl
mov eax, dword [rsp + 0x64]
add byte [str.cnRtlImageNtHeader], al
jmp 0x18003bae5
mov al, byte [rsp + 0x51]
mov ecx, r9d
mov eax, dword [0x180067a30]
test bl, bl
not eax
sete cl
add ecx, eax
not ecx
movsxd rdx, ecx
movsx rcx, word [0x1800679e4]
xor rcx, rdx
mov qword [0x180067a10], rcx
mov rax, qword [rbp - 0x78]
sub r13d, eax
mov edx, dword [rbp - 0x44]
mov eax, dword [rsp + 0x70]
add edx, eax
mov r8d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
sub r8d, eax
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x20]
xor ecx, 0xb63
imul r8d, edx
imul edx, eax, 0x3664
add edx, ecx
movsx rcx, byte [0x180067992]
xor edx, 0x231a3b
sub edx, r8d
mov dword [rbp - 0x10], edx
mov edx, r9d
mov rax, qword [0x1800679d8]
cmp rax, rcx
mov rax, qword [0x1800679d8]
mov ecx, r9d
setbe dl
cmp rax, 0x24
setbe cl
cmp edx, ecx
jb 0x18003bc69
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18003bc5e
imul eax, r13d, 0x56c039a8
mov dword [0x180067a0c], eax
mov dword [rsp + 0x6c], 0x9349b23
jmp 0x18003bc69
mov eax, dword [rsp + 0x78]
add word [0x1800679cc], ax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x70], eax
movsxd rax, dword [0x180067a44]
cmp rax, r15
jl 0x18003bc99
mov cl, byte [0x18006796d]
mov al, byte [0x18006796d]
sub cl, al
mov al, byte [rsp + 0x50]
sub cl, al
mov byte [0x18006796d], cl
mov eax, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x7c]
add eax, 0x22
cmp ebx, dword [0x180067a30]
mov dword [rsp + 0x68], eax
jae 0x18003bcc2
movsx ecx, byte [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x1800679e4], ax
mov eax, dword [rsp + 0x70]
mov edx, 0x1f68
add eax, 0x51c5
mov dword [rsp + 0x68], eax
mov eax, 4
mov dword [0x180067a0c], eax
mov rax, qword [0x1800679f0]
imul rcx, rax, 0x21b3
mov al, byte [0x180067a48]
mov qword [rbp - 0x68], rcx
xor al, 0x6b
mov ecx, dword [0x180067a0c]
mov byte [0x180067993], al
test ecx, ecx
je 0x18003bdac
sub ecx, 1
je 0x18003bd9e
sub ecx, 1
je 0x18003bd7d
sub ecx, 1
je 0x18003bd45
cmp ecx, 1
jne 0x18003bdcf
movzx ebx, word [0x180067a04]
mov r14d, 0x3db2
add ebx, 0x83e4
mov dword [rsp + 0x7c], ebx
jmp 0x18003bdcf
movzx eax, word [rsp + 0x54]
mov rax, qword [0x180067a28]
movsx ecx, byte [rsp + 0x50]
movzx eax, word [rsp + 0x58]
mov r12, qword [0x1800679f8]
movzx edx, cx
mov ecx, eax
imul ecx, edx
mov edx, 0xe7
add r12w, dx
xor r12w, cx
neg r12w
jmp 0x18003bdcf
movzx eax, word [0x1800679d0]
sub ax, 0x47
mov word [rsp + 0x58], ax
movzx eax, word [0x180067a08]
sub al, 0x58
mov byte [0x1800679a1], al
jmp 0x18003bdcf
movzx r12d, byte [0x180067993]
sub r12w, dx
jmp 0x18003bdcf
mov ecx, dword [0x180067a34]
mov esi, 0x8b
mov eax, dword [rsp + 0x78]
xor ecx, eax
mov eax, dword [0x180067a34]
add eax, ecx
mov qword [rbp - 0x58], rsi
mov dword [0x180067a34], eax
mov eax, dword [rsp + 0x70]
lea rcx, [rbp + 0x1a8]
movups xmm0, xmmword [str.._AV_com_error__]
add eax, 0x9570
mov dword [rbp - 0x44], eax
mov al, byte [0x18004be40]
mov byte [rbp + 0x1b8], al
movups xmmword [rbp + 0x1a8], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
xor r9d, r9d
mov byte [rbp - 0x60], 0x50
mov dword [rsp + 0x78], eax
mov edx, r9d
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
xor ecx, eax
mov eax, dword [rbp - 0x44]
or eax, 0x5f
xor eax, 0x957e
add eax, ecx
mov dword [rbp - 0x40], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x70], eax
mov eax, 2
mov word [0x180067a1c], ax
mov eax, dword [rsp + 0x70]
add eax, 0x63cf
mov dword [rbp - 0x1c], eax
movsx rcx, byte [rsp + 0x50]
mov rax, qword [0x1800679d8]
cmp rax, rcx
mov rax, qword [0x1800679d8]
mov ecx, r9d
setbe dl
cmp rax, 0x4b
setbe cl
cmp edx, ecx
ja 0x18003beb2
movzx ecx, word [rsp + 0x54]
mov edx, r9d
mov rax, qword [rbp - 0x68]
cmp rax, rcx
mov rax, qword [rbp - 0x68]
mov ecx, r9d
setne dl
cmp rax, 0x31
setne cl
cmp edx, ecx
jne 0x18003be9d
mov byte [rsp + 0x51], 0x3e
jmp 0x18003bed8
movsx eax, word [0x180067a48]
imul eax, eax, 0xeb
cdqe
mov qword [rbp - 0x78], rax
jmp 0x18003bed8
movzx eax, word [rsp + 0x58]
test ax, ax
jne 0x18003bed8
movzx eax, word [rsp + 0x54]
sub eax, 0x344153bb
mov dword [rsp + 0x64], eax
movzx eax, byte [0x180067996]
mov qword [0x1800679f0], rax
mov eax, dword [rsp + 0x70]
add eax, 0xc8
mov dword [rbp - 0x44], eax
mov rcx, qword [0x180067a20]
movsx rax, byte [str.Whz_gb_2312]
cmp rcx, rax
jbe 0x18003bf0d
mov ecx, dword [0x180067a00]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
movzx r12d, ax
xor r9d, r9d
jmp 0x18003bf2e
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x18003bf2e
lea eax, [rsi + 0x6b]
movsxd r15, eax
movsx eax, byte [0x180067a48]
imul r8d, eax, 0xf
add r8b, 0x50
mov dword [rbp - 0x60], r8d
mov eax, dword [rsp + 0x70]
add eax, 0x7b
mov dword [rsp + 0x68], eax
mov eax, 4
mov word [0x180067a18], ax
mov al, byte [rsp + 0x50]
inc al
mov byte [rsp + 0x50], al
movzx eax, word [0x1814a09c8]
mov word [0x180067a18], ax
movzx eax, word [0x180067a18]
mov ecx, eax
test eax, eax
je 0x18003c027
sub ecx, 1
je 0x18003bffb
sub ecx, 1
je 0x18003bfc8
sub ecx, 1
je 0x18003bfba
cmp ecx, 1
jne 0x18003c033
mov al, byte [rsp + 0x52]
test al, al
movzx eax, word [0x180067a04]
jne 0x18003bfa0
mov rax, qword [0x1800679d8]
test r14, r14
mov qword [rbp - 0x78], rax
mov al, byte [0x18006796d]
sete cl
xor cl, al
mov byte [0x1800679a3], cl
jmp 0x18003c033
mov al, byte [0x1814a09c8]
mov byte [0x1800679a1], al
jmp 0x18003c033
movsx ecx, byte [0x18006797f]
mov r8, qword [0x180067a10]
not ecx
mov al, byte [0x180067996]
movsxd rdx, ecx
mov cl, dil
sub cl, al
add r8, rdx
not cl
movsx eax, r8b
movsx ecx, cl
imul ecx, eax
mov byte [rsp + 0x52], cl
jmp 0x18003c033
mov rax, qword [0x1800679d8]
movabs rcx, 0x89852068bd0fc
sub rax, rcx
mov qword [0x180067a20], rax
movsx rax, word [0x180067a48]
mov qword [0x180067a60], rax
jmp 0x18003c033
movzx r14d, word [0x180067a04]
shl r14d, 2
mov r8d, 0x51d82595
jmp 0x18003c06c
movsx eax, byte [0x1816083d1]
mov dword [rsp + 0x78], eax
movzx edx, byte [rsp + 0x53]
movsx eax, word [0x180067a08]
add edx, 0xb8
cmp eax, edx
jne 0x18003c088
mov eax, dword [rsp + 0x78]
movsx ecx, al
imul eax, ecx, 0x5c
mov byte [0x18006796d], al
movsx ecx, byte [rsp + 0x52]
mov eax, dword [0x180067a40]
mov dword [0x1800679c8], r8d
add ecx, dword [0x1800679c8]
cmp eax, ecx
je 0x18003c03b
movzx ecx, byte [0x180067996]
mov edx, r9d
mov rax, qword [0x1800679e8]
cmp rcx, rax
mov al, byte [0x180067996]
mov ecx, r9d
setb dl
cmp al, 0x25
setb cl
cmp edx, ecx
jne 0x18003c12f
movsx eax, byte [rsp + 0x51]
cmp eax, esi
jle 0x18003c10b
mov al, byte [0x1814a09c8]
mov byte [0x18006797b], al
movsx ecx, byte [0x1800679a3]
mov eax, dword [rsp + 0x64]
sub eax, ecx
mov ecx, eax
mov eax, dword [0x180067a44]
mov rdx, qword [0x1800679e8]
sub eax, esi
movsxd r8, eax
lea rsi, [r14 + 1]
movsxd rax, dword [0x180067a0c]
sub r8, rcx
imul rax, rdx
movsxd rcx, r13d
add rax, r8
add rcx, rax
add rsi, rcx
mov qword [rbp - 8], rsi
jmp 0x18003c133
mov rcx, qword [rbp - 0x78]
movzx edx, byte [rsp + 0x53]
movsx r13d, byte [str.Whz_gb_2312]
movzx eax, cl
imul eax, edx
add r13d, 0x46fce826
mov byte [0x180067991], al
mov rsi, qword [rbp - 8]
mov eax, dword [rbp - 0x44]
mov ecx, dword [rbp - 0x1c]
add eax, 0x8b62
xor ecx, eax
xor ecx, 0xed
sub ecx, 0xef07
mov dword [rbp - 0x20], ecx
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x18003c29d
mov edx, 0x14
xor ecx, ecx
call fcn.18003de0c
xor r9d, r9d
mov word [0x180067a04], ax
test ax, ax
jne 0x18003c248
mov rax, qword [rbp - 0x68]
cmp rax, rsi
jb 0x18003c227
mov ebx, dword [0x1800679d0]
mov dword [rsp + 0x7c], ebx
mov r14, qword [rbp - 0x38]
mov eax, dword [0x1814a09c8]
mov edx, r9d
mov dword [rsp + 0x70], eax
movsx rcx, byte [0x1800679a3]
mov rax, qword [0x180067a58]
cmp rcx, rax
mov al, byte [0x1800679a3]
mov ecx, r9d
setg dl
cmp al, 0x50
setg cl
cmp edx, ecx
ja 0x18003c1f0
mov eax, ebx
movabs rcx, 0x9300e2612104c
imul rax, rcx
mov qword [0x180067a50], rax
mov rax, qword [rbp - 0x50]
add rax, qword [0x1814a0de0]
mov qword [rbp - 0x50], rax
mov eax, dword [rsp + 0x70]
mov edx, r9d
add eax, 0x14
mov dword [rbp - 0x80], eax
movsx rax, byte [rsp + 0x51]
cmp r15, rax
mov eax, r9d
setge dl
cmp r15, 0x20
setge al
cmp edx, eax
je 0x18003c315
mov byte [str.cnRtlImageNtHeader], 0x1d
jmp 0x18003c31c
movzx eax, byte [0x1800679a2]
mov r14d, 0xbb
imul r10, rax, 0x4154
mov qword [rbp - 0x38], r14
mov qword [rbp - 8], r10
jmp 0x18003c196
mov eax, dword [0x180067a40]
test eax, eax
jne 0x18003c262
mov al, byte [rsp + 0x53]
test al, al
je 0x18003c262
mov r8d, 1
jmp 0x18003c265
mov r8d, r9d
movzx eax, word [rsp + 0x54]
mov edx, r9d
test ax, ax
mov ecx, r9d
movzx eax, word [0x180067994]
sete dl
cmp edx, eax
setbe cl
cmp r8d, ecx
jb 0x18003c192
movzx eax, byte [0x18006797b]
xor edi, eax
mov qword [rbp - 0x38], rdi
jmp 0x18003c192
cmp dword [0x1800679c8], r9d
je 0x18003c2e0
movsxd rax, dword [0x180067a44]
mov rdx, qword [rbp - 0x78]
add rdx, rax
mov eax, dword [0x180067a44]
or eax, edx
mov dword [0x180067a44], eax
mov rcx, qword [0x180067a20]
movsx rax, word [0x180067a48]
sub rcx, rax
mov qword [0x180067a20], rcx
jmp 0x18003c192
movsx eax, byte [rsp + 0x50]
mov edx, r9d
mov r14, qword [rbp - 0x38]
cmp eax, ebx
mov eax, r9d
sete dl
cmp dword [0x180067a30], r9d
sete al
cmp eax, edx
jbe 0x18003c196
mov al, byte [0x1814a09c8]
mov byte [rsp + 0x52], al
jmp 0x18003c196
mov byte [0x18006796d], 0x9f
mov eax, dword [rsp + 0x70]
mov dl, r14b
add eax, 0x1f68
movabs rdi, 0xca5c82e388a68
mov dword [rsp + 0x68], eax
movsxd rax, r13d
mov qword [0x180067a10], rax
mov eax, dword [rsp + 0x70]
add eax, 0xf661
mov dword [rbp - 0x44], eax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
imul ecx, eax
mov eax, dword [rbp - 0x44]
xor eax, 0xb0
add eax, 0xffff07a0
add eax, ecx
mov dword [rbp - 0x24], eax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x70], eax
mov eax, dword [0x1800679c0]
mov r9b, byte [0x1800679a1]
mov r8b, byte [rsp + 0x52]
mov cl, byte [0x1800679a4]
mov byte [rsp + 0x28], al
mov eax, 0x5b
mov byte [rsp + 0x20], al
call fcn.18003f0e8
movsx rcx, al
mov qword [0x180067a10], rcx
movzx eax, word [rsp + 0x54]
mov eax, dword [rsp + 0x70]
add eax, 0x30
movzx esi, r12w
mov dword [rbp - 0x44], eax
mov rax, qword [rbp - 0x78]
cmp r15, rax
jg 0x18003c3d9
mov eax, 0xffffffee
sub al, byte [str.Whz_gb_2312]
mov byte [rsp + 0x52], al
xor ebx, ebx
jmp 0x18003c42a
movsx ecx, byte [rsp + 0x51]
xor ebx, ebx
not ecx
test ecx, ecx
je 0x18003c3fb
mov rax, qword [0x1800679e8]
not rax
test rax, rax
je 0x18003c3fb
lea r8d, [rbx + 1]
jmp 0x18003c3fe
mov r8d, ebx
movsx rcx, byte [0x18006796d]
mov edx, ebx
mov rax, qword [0x180067a28]
cmp rax, rcx
setbe dl
cmp edx, r8d
jbe 0x18003c42a
movzx eax, r15b
imul ecx, eax, 0xcf
mov byte [0x180067993], cl
mov eax, dword [rsp + 0x70]
mov edx, 0x95
add eax, 9
xor r9d, r9d
mov dword [rsp + 0x68], eax
xor r8d, r8d
movsx ecx, byte [0x18006796e]
lea eax, [rdx - 0x11]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], bx
call fcn.18003e1bc
mov r15d, dword [rbp - 0x60]
movzx eax, ax
mov qword [0x180067a20], rax
mov rax, qword [0x180067a20]
mov al, byte [0x18006796e]
test al, al
je 0x18003c49b
movsx ecx, byte [rsp + 0x52]
movsx eax, r15b
not eax
cmp eax, ecx
sete al
inc al
add al, byte [0x180067a3c]
add al, r14b
mov byte [0x18006797b], al
jmp 0x18003c4d1
mov ecx, dword [0x1800679e0]
mov rax, qword [0x1800679d8]
not ecx
cmp rcx, rax
jbe 0x18003c4d1
movsx rcx, byte [0x1800679a3]
mov rax, qword [0x180067a60]
imul rax, rcx
mov qword [0x180067a60], rax
mov dword [rsp + 0x78], 2
mov eax, dword [rsp + 0x70]
mov r8d, 0x9e
add eax, 0xe9
movzx ecx, r12w
mov dword [rsp + 0x68], eax
mov rdx, qword [0x1800679f0]
call fcn.18003dfec
mov ecx, dword [0x180067a44]
xor r9d, r9d
mov rbx, rax
test ecx, ecx
jne 0x18003c512
test r13d, r13d
jne 0x18003c512
mov ecx, r9d
lea edx, [r9 + 1]
jmp 0x18003c519
mov edx, 1
mov ecx, edx
mov eax, dword [rsp + 0x6c]
cmp ecx, eax
jl 0x18003c5b5
movsx r12d, word [0x180067a1c]
mov word [0x180067a08], dx
add r12d, 0x4cc71b62
mov rax, qword [0x1800679d8]
add al, 0x1d
mov byte [0x1800679a1], al
movsx eax, word [0x180067a08]
test eax, eax
je 0x18003c570
cmp eax, 1
jne 0x18003c607
movzx eax, word [rsp + 0x54]
sub al, 0xa
mov byte [0x18006796d], al
jmp 0x18003c607
mov al, byte [0x180067991]
add al, 9
mov byte [0x180067993], al
test r13d, r13d
movzx eax, word [rsp + 0x54]
mov ecx, dword [0x1800679c0]
setne dl
add dl, al
not cl
movsx eax, dl
or cl, r15b
movsx edx, cl
imul edx, eax
mov al, byte [0x18006796d]
sub dl, byte [0x180067a50]
add al, dl
mov byte [str.Whz_gb_2312], al
jmp 0x18003c607
movzx eax, word [0x180067a18]
mov r12d, dword [rsp + 0x7c]
test ax, ax
je 0x18003c607
movsx ecx, byte [rsp + 0x51]
movsx edx, byte [rsp + 0x50]
add edx, dword [0x1800679c8]
movsx r8d, word [rbp - 0x6c]
mov eax, r8d
sub r8b, r14b
not eax
xor ecx, eax
movsx eax, byte [0x180067a04]
not ecx
xor edx, ecx
movsx ecx, r15b
imul ecx, eax
movsx eax, dl
and cl, r8b
movsx ecx, cl
imul ecx, eax
mov byte [rsp + 0x51], cl
movzx eax, word [rsp + 0x54]
xor edx, edx
movsx ecx, word [0x180067a1c]
xor r8d, r8d
mov r15, qword [rbp - 8]
add ecx, 0x50d1
add r15, rax
mov qword [rsp + 0x28], r9
movzx eax, word [rsp + 0x54]
or ax, cx
mov qword [rbp - 8], r15
mov word [rsp + 0x54], ax
mov ecx, 0x31
mov eax, dword [rbp - 0x44]
sub ecx, eax
movzx eax, word [0x1800679b8]
mov dword [rbp - 0x70], ecx
mov ecx, 0xb7a
sub ax, cx
lea ecx, [rdx + 0x71]
add word [0x180067a1c], ax
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x70], eax
movsx rax, byte [0x18006796d]
mov r9, qword [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.18003ed48
xor r9d, r9d
mov qword [0x1800679d8], rax
mov al, byte [0x1800679a2]
mov edx, r9d
test al, al
movsx eax, byte [0x18006796d]
sete dl
cmp eax, edx
jg 0x18003c784
movsx rax, word [0x180067a08]
cmp rbx, rax
jle 0x18003c6d1
movsx eax, word [0x180067a1c]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, dword [rsp + 0x6c]
sub ecx, eax
mov dword [rsp + 0x6c], ecx
jmp 0x18003c7af
movzx ecx, byte [0x180067996]
mov rax, qword [rbp - 0x78]
cmp rcx, rax
jge 0x18003c71b
movsx eax, byte [0x180067992]
movabs rcx, 0xf46fb86c0fdb2
mov rdi, qword [0x1800679b8]
mov r13d, r9d
mov rsi, qword [rbp - 0x58]
add rdi, rcx
test esi, esi
cmove r13d, r15d
sub r13d, eax
movsx eax, word [rbp - 0x6c]
sub r13d, eax
dec r13d
jmp 0x18003c7b3
mov rcx, qword [0x1800679f8]
mov rax, qword [0x1800679f8]
cmp rcx, rax
jge 0x18003c741
mov dword [0x18159ea78], 0x2e388a68
mov byte [0x180067996], 7
jmp 0x18003c7af
cmp word [0x180067a1c], r9w
je 0x18003c7af
mov rcx, qword [0x180067a50]
movabs rax, 0x2f6883c08694c
xor rcx, rax
mov al, byte [rsp + 0x50]
sub al, cl
movabs rcx, 0x199c2f63df3ad
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x64]
imul rax, rcx
mov qword [0x180067a28], rax
jmp 0x18003c7af
mov al, byte [0x18006796d]
movabs rcx, 0x1ba4298d8cea4
movzx eax, word [0x180067994]
imul rax, rcx
mov qword [rbp - 0x68], rax
lea eax, [rsi + 0x3427fd94]
mov dword [0x180067a0c], eax
mov rsi, qword [rbp - 0x58]
mov eax, dword [rsp + 0x70]
mov ecx, 0xe1
add eax, 0x3638
mov r8d, 2
mov dword [rbp - 0x80], eax
movsx eax, byte [str.Whz_gb_2312]
sub ax, cx
mov dword [0x1800679a4], r8d
mov word [0x180067a3c], ax
mov ecx, r9d
mov rax, qword [0x1800679d8]
test rax, rax
mov eax, dword [rsp + 0x64]
mov rdx, qword [rbp - 0x78]
sete cl
add rdx, rax
mov rax, qword [rbp - 0x50]
sub ecx, r12d
add ecx, r14d
imul rdx, rcx
movzx ecx, dl
movzx edx, al
imul edx, ecx
mov byte [0x18006797b], dl
mov edx, r9d
mov eax, dword [rsp + 0x70]
add eax, 0x15
mov dword [rsp + 0x68], eax
movsx ecx, byte [0x1800679a3]
mov eax, dword [rsp + 0x64]
cmp eax, ecx
mov eax, dword [rsp + 0x64]
mov ecx, r9d
setae dl
cmp eax, 0xd
setae cl
cmp edx, ecx
ja 0x18003c84d
mov al, byte [rsp + 0x53]
mov eax, dword [rsp + 0x70]
add eax, 0x29
mov word [rbp - 0x6c], r8w
mov dword [rsp + 0x68], eax
mov eax, 3
mov word [rsp + 0x58], ax
mov rbx, qword [rbp - 0x50]
movzx ecx, word [rsp + 0x58]
sar rbx, 4
test ecx, ecx
je 0x18003c8e0
sub ecx, 1
je 0x18003c8d3
sub ecx, 1
je 0x18003c8a5
cmp ecx, 1
jne 0x18003c8ee
movsx ecx, byte [rsp + 0x50]
shl cx, 5
mov word [0x1800679c4], cx
mov rax, qword [0x1800679e8]
mov word [rsp + 0x58], ax
jmp 0x18003c8ee
movsx eax, byte [0x18006797f]
movsx edx, byte [0x18006797f]
xor edx, eax
mov eax, dword [0x180067a34]
xor al, dl
mov byte [0x18006797f], al
movsx rcx, byte [rsp + 0x51]
sar rcx, 5
mov qword [rbp - 0x78], rcx
jmp 0x18003c8ee
and di, 0x51
mov word [0x180067994], di
jmp 0x18003c8ee
movzx r14d, word [rsp + 0x54]
shr r14d, 3
mov qword [rbp - 0x38], r14
mov dword [rsp + 0x6c], 0xce75
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
movups xmm0, xmmword [str.Update_user_data_s]
imul ecx, eax
movzx eax, word [0x18004be58]
mov word [rbp + 0x170], ax
mov al, byte [0x18004be5a]
movups xmmword [rbp + 0x160], xmm0
sub ecx, 0xb7bac3f
mov byte [rbp + 0x172], al
mov dword [rsp + 0x7c], ecx
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movzx edi, bx
xor edx, edx
mov word [0x1800679e4], ax
mov ecx, edi
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x70], eax
call fcn.18003de0c
mov r15d, eax
test eax, eax
je 0x18003c96e
mov al, byte [0x180067a1c]
add al, 0x58
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x70]
add eax, 0xc907
mov dword [rsp + 0x68], eax
mov al, byte [rsp + 0x53]
test al, al
je 0x18003c9a5
movsx eax, byte [0x18006796d]
movsx r8d, byte [rsp + 0x50]
imul r8d, eax
mov al, byte [0x18006796d]
sub al, r8b
mov byte [0x18006796d], al
jmp 0x18003c9de
mov al, byte [str.cnRtlImageNtHeader]
sub al, 0x50
mov byte [rsp + 0x52], al
mov eax, 0x8d
movzx ecx, byte [0x180067993]
mov rdx, qword [0x180067a58]
sub rax, rcx
and rdx, rax
mov eax, dword [0x1800679c8]
not eax
imul ecx, eax, 0xf4
add ecx, edx
mov dword [rsp + 0x78], ecx
mov eax, dword [rsp + 0x70]
add eax, 0x4aae
mov dword [rbp - 0x1c], eax
mov qword [0x1800679f8], 2
movsxd rcx, dword [0x180067a44]
mov rax, qword [rbp - 0x78]
sub rax, rcx
mov qword [rbp - 0x78], rax
mov rax, qword [0x1800679f8]
test rax, rax
je 0x18003ca5d
sub rax, 1
je 0x18003ca4d
cmp rax, 1
jne 0x18003ca70
movsx eax, byte [0x180067992]
test r15, r15
jne 0x18003ca2f
mov eax, dword [rsp + 0x64]
mov word [0x180067994], ax
mov rax, qword [rbp - 0x78]
movsxd rcx, esi
xor rcx, rax
mov rax, qword [rbp - 0x78]
or rax, rcx
mov qword [rbp - 0x78], rax
jmp 0x18003ca70
mov al, byte [0x18006797b]
sub al, 3
mov byte [0x180067997], al
jmp 0x18003ca70
movzx ecx, byte [0x1800679a2]
add cl, byte [0x181520428]
mov byte [0x1800679a2], cl
mov eax, dword [rsp + 0x70]
add eax, 0x12
mov dword [rbp - 0x44], eax
call qword [sym.imp.USER32.dll_GetShellWindow]
mov ecx, dword [rsp + 0x74]
mov eax, dword [rbp + 8]
add ecx, 0x193
imul edx, eax, 0x193
xor edx, ecx
mov ecx, dword [rsp + 0x74]
mov eax, dword [rsp + 0x74]
xor ecx, eax
mov eax, dword [rbp - 0x30]
imul ecx, edx
mov edx, 0x193
sub edx, eax
imul edx, ecx
mov ecx, dword [rbp - 0x44]
mov eax, dword [rbp - 0x1c]
xor eax, ecx
add eax, 0xffffb545
add eax, edx
mov edx, 0x7f
mov dword [rbp - 0x44], eax
mov eax, dword [rsp + 0x6c]
movzx ecx, word [rsp + 0x54]
call fcn.18003efb8
mov qword [rbp - 0x78], rax
xor r8d, r8d
mov rax, qword [0x1800679f0]
cmp dword [0x180067a30], r8d
jne 0x18003cb4b
movzx eax, word [0x180067a08]
test ax, ax
jne 0x18003cb4b
movzx eax, word [0x1800679b8]
mov ecx, 0x1eab
sub ax, cx
mov ecx, r8d
mov word [rsp + 0x54], ax
mov al, byte [rsp + 0x50]
mov edx, dword [0x1800679c0]
test al, al
sete cl
add edx, dword [0x180067a00]
sub ecx, r14d
mov r14d, dword [rbp - 0x60]
and edx, ecx
movsx ecx, byte [rsp + 0x50]
movsx eax, word [0x180067a3c]
sub eax, ecx
mov ecx, r8d
add eax, edi
cmove ecx, edx
test ecx, ecx
sete byte [rsp + 0x51]
jmp 0x18003cbbd
mov r14d, dword [rbp - 0x60]
movzx ecx, word [rsp + 0x54]
movsx eax, r14b
cmp eax, ecx
jl 0x18003cb6b
mov rax, qword [rbp - 0x50]
add eax, 0x2d
mov dword [0x1800679a4], eax
jmp 0x18003cbbd
movzx ecx, byte [0x1800679a1]
movsx eax, byte [str.Whz_gb_2312]
cmp eax, ecx
jl 0x18003cb9e
mov rax, qword [0x180067a60]
mov ecx, 0x71d9
add r12d, eax
mov eax, dword [0x180067a40]
add ax, cx
mov word [0x180067a18], ax
jmp 0x18003cbbd
movzx eax, word [rsp + 0x58]
mov ecx, r8d
test ax, ax
mov eax, dword [0x180067a40]
sete cl
cmp ecx, eax
ja 0x18003cbbd
mov rsi, qword [rbp - 0x78]
xor esi, 0x15
mov eax, dword [0x1814a09c8]
lea rcx, [rbp + 0x178]
movups xmm0, xmmword [str.._AUISequentialStr]
mov dword [rsp + 0x74], eax
movzx eax, word [0x18004be70]
mov word [rbp + 0x188], ax
mov al, byte [0x18004be72]
mov byte [rbp + 0x18a], al
movups xmmword [rbp + 0x178], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x74]
add eax, 0xe4
mov dword [rsp + 0x68], eax
movsx eax, word [0x1800679c4]
cmp eax, edi
je 0x18003cc3d
xor edi, edi
test bx, bx
jne 0x18003cc3f
mov eax, dword [rsp + 0x64]
movsxd rcx, dword [rsp + 0x6c]
sub al, 0x12
mov byte [0x180067992], al
mov rax, qword [rbp - 0x78]
imul eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x18003cc3f
xor edi, edi
mov eax, dword [rsp + 0x74]
add eax, 0x1d
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x64]
test eax, eax
mov rax, qword [0x180067a50]
jne 0x18003cc5c
mov eax, dword [rsp + 0x64]
mov edx, dword [0x1800679c8]
mov qword [rbp - 0x50], rax
add edx, r13d
movsx rbx, byte [rsp + 0x52]
mov eax, dword [rsp + 0x74]
add eax, 0x31
mov dword [rsp + 0x68], eax
movzx eax, byte [0x1800679a1]
sub dword [0x180067a30], eax
movzx ecx, word [0x180067994]
mov rax, qword [rbp - 0x78]
add ecx, 0x48ce
sub rax, rcx
imul rbx, rdx
mov qword [rbp - 0x78], rax
mov al, byte [rsp + 0x53]
imul rbx, r15
test al, al
jne 0x18003cd02
lea rcx, [0x18004ba10]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x18003ccd9
mov rax, qword [0x180067a28]
xor al, 0x52
mov byte [0x18006796e], al
jmp 0x18003cd52
mov al, byte [rsp + 0x50]
test al, al
mov eax, dword [0x1800679a4]
jne 0x18003ccec
movzx eax, byte [rsp + 0x53]
movsx edx, byte [rsp + 0x52]
movsx ecx, r15b
imul edx, ecx
mov qword [rbp - 0x38], rax
mov byte [rsp + 0x52], dl
jmp 0x18003cd52
cmp qword [0x1800679b8], rdi
mov ecx, edi
movsx eax, byte [str.cnRtlImageNtHeader]
mov edx, edi
sete cl
cmp eax, ecx
mov al, byte [rsp + 0x51]
mov ecx, edi
setge dl
cmp al, r14b
setg cl
cmp ecx, edx
jne 0x18003cd3c
mov rax, qword [rbp - 0x68]
sub rax, 0x463d
mov qword [rbp - 0x78], rax
jmp 0x18003cd52
mov al, byte [rsp + 0x51]
test al, al
je 0x18003cd52
movzx eax, word [rsp + 0x58]
xor eax, 4
add dword [0x1800679c8], eax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
sub ecx, eax
xor ecx, 1
mov dword [rbp - 0x1c], ecx
mov eax, dword [rsp + 0x6c]
cmp eax, 0x79e26a4e
jge 0x18003cd7c
mov r14, qword [rbp - 0x68]
sub r14d, 0x58e6
mov qword [rbp - 0x38], r14
jmp 0x18003cde4
mov eax, dword [0x1800679d0]
mov r14, qword [rbp - 0x38]
not eax
test eax, eax
je 0x18003cde4
movzx edx, word [0x180067a4c]
mov eax, 0xd191d8f7
not edx
movabs rcx, 0x91364432c07ba
or rdx, rax
movsxd rax, esi
sub rcx, rax
and rdx, rcx
movsx ecx, word [0x1800679e4]
mov eax, dword [0x180067a38]
add ecx, eax
mov rax, qword [0x180067a60]
not eax
xor eax, ecx
sub edx, eax
mov eax, r12d
mov dword [rsp + 0x64], edx
mov rcx, qword [0x180067a10]
sub rcx, rax
mov qword [0x180067a10], rcx
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x74], eax
movzx eax, word [0x1800679e4]
mov rcx, qword [0x180067a28]
movzx edx, byte [0x180067991]
movzx eax, cx
imul eax, edx
mov word [0x180067a4c], ax
mov eax, dword [rsp + 0x74]
add eax, 0xad
mov dword [rsp + 0x68], eax
mov al, byte [rsp + 0x53]
sub al, bl
mov byte [rsp + 0x53], al
mov eax, dword [rsp + 0x74]
mov ecx, dword [0x180067a00]
add eax, 0xa5ef
mov dword [rsp + 0x68], eax
add ecx, 0x121da820
mov eax, dword [rsp + 0x74]
add ecx, ebx
add eax, 0x99
mov dword [0x180067a00], ecx
mov dword [rsp + 0x68], eax
mov rax, qword [0x1800679f8]
mov word [0x180067a04], ax
movzx eax, word [0x180067994]
shl ax, 8
mov word [rsp + 0x58], ax
mov ecx, dword [rsp + 0x78]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov eax, eax
mov edx, edi
mov qword [0x1800679d8], rax
mov r8d, 1
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], eax
movsx eax, byte [rsp + 0x50]
cmp esi, eax
mov eax, edi
setne dl
cmp esi, 0x33
setne al
cmp edx, eax
je 0x18003cec5
mov al, byte [rsp + 0x50]
movzx eax, word [0x1814a09c8]
mov word [0x180067a48], ax
mov eax, dword [rsp + 0x74]
add eax, 0x8daf
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x74]
add eax, 0x2ce
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x74]
add eax, 0xd67f
mov dword [rbp - 0x80], eax
mov eax, dword [0x1800679e0]
mov ecx, dword [rbp - 0x80]
imul r12d, eax, 0xac95d3fd
mov eax, dword [rbp - 0x80]
xor ecx, eax
movsd xmm0, qword [str.PrtExpirytime]
mov eax, r8d
sub eax, ecx
movsd qword [rbp + 0x150], xmm0
mov dword [rbp - 0x58], eax
lea rcx, [rbp + 0x150]
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x74], eax
mov eax, dword [0x18004be80]
mov dword [rbp + 0x158], eax
movzx eax, word [0x18004be84]
mov word [rbp + 0x15c], ax
mov qword [rbp + 0x28], r12
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rsp + 0x6c], eax
xor edx, edx
mov eax, dword [rsp + 0x74]
movzx ecx, byte [0x180067991]
add eax, 0xf2
mov dword [rbp - 0x80], eax
call fcn.18003efb8
mov word [0x1800679cc], ax
test ax, ax
je 0x18003cf86
mov rax, qword [rbp - 0x50]
sub eax, 0x3fd58696
mov dword [0x180067a44], eax
mov eax, dword [rsp + 0x74]
xor ecx, ecx
movsx r10d, byte [str.cnRtlImageNtHeader]
add eax, 0x26
mov dword [rbp - 0x30], eax
xor r9d, r9d
mov edx, dword [0x1800679c0]
xor r8d, r8d
movzx eax, word [0x180067a18]
mov word [rsp + 0x30], ax
lea eax, [rcx + 0x55]
mov word [rsp + 0x28], ax
mov word [rsp + 0x20], r10w
call fcn.18003e488
cmp dword [0x1800679d0], edi
movsx rcx, ax
mov qword [rbp - 0x68], rcx
jne 0x18003cfea
movzx eax, word [rsp + 0x58]
test ax, ax
jne 0x18003cfea
mov rdx, rdi
mov r11d, 1
jmp 0x18003cff3
mov r11d, 1
mov edx, r11d
mov rax, qword [rbp - 0x50]
mov r10d, 2
imul rcx, rax, 0x52
cmp rcx, rdx
jl 0x18003d03c
mov cl, byte [0x1800679a2]
mov edx, edi
mov al, byte [0x1800679a1]
cmp al, cl
mov al, byte [0x1800679a1]
mov ecx, edi
setne dl
cmp al, r10b
setne cl
cmp edx, ecx
jbe 0x18003d074
mov eax, dword [0x180067a30]
add eax, 0x93
mov dword [rsp + 0x6c], eax
jmp 0x18003d074
movzx eax, word [0x180067994]
imul eax, r13d
movsxd rdx, r13d
not eax
movsxd rcx, eax
mov rax, qword [0x180067a10]
sub rdx, rax
xor rdx, rcx
mov ecx, dword [rsp + 0x64]
mov rax, qword [rbp - 0x68]
sub ecx, 0x62a8eccb
add eax, ecx
and eax, edx
mov dword [0x180067a38], eax
mov eax, dword [rsp + 0x74]
add eax, 0x881d
mov dword [rsp + 0x68], eax
mov al, byte [rsp + 0x51]
test al, al
je 0x18003d0ff
movsx r9d, byte [str.Whz_gb_2312]
mov edx, 0x1c
mov ecx, r11d
lea eax, [rdx + 0x3f]
mov word [rsp + 0x30], ax
lea r8d, [rdx - 4]
mov word [rsp + 0x28], di
mov word [rsp + 0x20], r10w
call fcn.18003e488
cmp word [0x180067a48], di
mov r8d, edi
mov word [0x180067a4c], ax
mov edx, edi
sete r8b
mov eax, edi
mov ecx, edi
not esi
cmp esi, 0xb1d6
setle dl
test rbx, rbx
sete al
xor edx, eax
mov eax, dword [rsp + 0x78]
cmp eax, r8d
setae cl
cmp edx, ecx
jne 0x18003d138
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov byte [0x180067996], al
jmp 0x18003d138
mov eax, dword [0x180067a34]
test eax, eax
jne 0x18003d10f
lea r13d, [rax + 0x7b]
jmp 0x18003d138
movzx eax, word [0x180067a08]
test ax, ax
je 0x18003d138
movzx eax, word [0x1800679c4]
mov r10, qword [rbp - 8]
sub ax, r11w
mov word [0x1800679c4], ax
mov byte [0x18160ba0a], r10b
mov eax, dword [rbp - 0x80]
xor r10d, r10d
movsx esi, byte [rbp - 0x60]
mov ecx, 0xffffffdb
sub ecx, eax
mov edx, r10d
mov eax, dword [rbp - 0x30]
add ecx, eax
mov eax, dword [rbp - 0x80]
add eax, ecx
mov dword [rsp + 0x68], eax
movsx ecx, word [0x1800679e4]
mov edi, dword [0x1814a09c8]
add ecx, 0x791fa5fb
mov dword [0x180067a30], ecx
mov dword [rsp + 0x74], edi
mov rax, qword [0x180067a60]
movsx rcx, word [0x1800679cc]
sub rcx, rax
mov rax, qword [0x180067a60]
add rax, rcx
mov qword [0x180067a60], rax
mov eax, dword [rsp + 0x74]
add eax, 0x91
mov dword [rbp - 0x30], eax
movsx eax, byte [rsp + 0x50]
movzx ecx, byte [rsp + 0x53]
imul ecx, eax
movzx eax, si
xor ax, 0xa
sub cx, ax
mov eax, dword [rsp + 0x74]
sub cx, word [0x180067994]
add eax, 0x1a3
sub cx, 0x39
add cx, r14w
mov word [0x180067a1c], cx
movsx ecx, byte [str.Whz_gb_2312]
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x64]
cmp ecx, eax
mov eax, r10d
setne dl
cmp byte [str.Whz_gb_2312], 0x26
setne al
cmp edx, eax
jne 0x18003d274
mov rcx, qword [0x180067a60]
mov edx, r10d
mov rax, qword [rbp - 0x78]
mov r8d, r10d
cmp rax, rcx
mov al, byte [rsp + 0x53]
mov r9d, dword [0x1800679e0]
mov ecx, r10d
sete dl
test al, al
movsx eax, byte [rsp + 0x52]
sete cl
xor r9w, cx
and r9w, dx
movsx edx, byte [rsp + 0x52]
test edi, edi
sete r8b
xor r8w, ax
mov eax, 0x1878
cwde
imul edx, eax
movsx eax, r9w
sub dx, r8w
movsx ecx, dx
imul ecx, eax
movzx eax, word [rsp + 0x54]
sub ax, 0x75
mov word [0x180067a4c], ax
mov word [0x1800679cc], cx
mov eax, dword [rsp + 0x74]
lea rcx, [rbp + 0x190]
movups xmm0, xmmword [str.._AVbad_function_c]
add eax, 0x36
mov dword [rbp - 0x30], eax
movzx eax, word [0x18004be98]
mov word [rbp + 0x1a0], ax
mov al, byte [0x18004be9a]
mov byte [rbp + 0x1a2], al
movups xmmword [rbp + 0x190], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movzx ecx, word [0x180067a0c]
mov edx, 0xd9
mov r14d, eax
call fcn.18003e788
xor r10d, r10d
movzx ecx, ax
mov qword [0x180067a10], rcx
mov r8, qword [0x180067a60]
mov rdx, qword [0x180067a58]
mov rcx, qword [0x180067a60]
cmp rdx, r8
mov rcx, qword [0x1800679e8]
lea r8d, [r10 + 1]
mov r9, qword [0x180067a50]
mov ecx, r10d
setne cl
add rcx, 0xfffffffffffffffe
sub rcx, r9
cmp rcx, r8
je 0x18003d31f
mov rax, qword [0x180067a60]
mov dword [0x18165f9c0], eax
jmp 0x18003d33e
mov al, byte [0x1800679a3]
test al, al
jne 0x18003d335
movzx eax, word [0x180067a08]
test ax, ax
je 0x18003d33e
movzx eax, word [rsp + 0x58]
mov byte [rsp + 0x50], al
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
imul ecx, eax
mov eax, 0x2adca
sub eax, ecx
mov dword [rbp - 0x80], eax
movzx ecx, byte [0x1800679a2]
mov rax, qword [0x1800679f8]
cmp rcx, rax
jl 0x18003d3ca
mov rcx, qword [0x180067a20]
not rcx
movzx eax, r14w
cmp rcx, rax
jne 0x18003d3c0
mov eax, dword [0x1800679d0]
movabs rcx, 0x746532918f891
cmp rax, rcx
mov edx, r10d
mov rax, qword [rbp - 0x68]
mov ecx, r10d
setb dl
test rax, rax
sete cl
cmp edx, ecx
je 0x18003d3c0
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x18003d3ce
movzx ecx, byte [0x1800679a2]
add ecx, 0x2b
mov dword [0x180067a34], ecx
mov rax, qword [rbp - 0x50]
jmp 0x18003d3ce
mov rax, qword [rbp - 0x68]
mov dword [0x1800679e0], eax
mov rdx, qword [rbp - 8]
mov eax, dword [0x1814a09c8]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x74]
add eax, 0xc31b
mov dword [rbp - 0x30], eax
mov ecx, dword [0x180067a34]
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
jne 0x18003d400
movzx eax, byte [0x180067993]
mov word [0x1815a8ac6], ax
mov eax, dword [rsp + 0x74]
add eax, 0x92ff
mov dword [rbp + 8], eax
mov eax, dword [rsp + 0x64]
test rdx, rdx
jne 0x18003d41a
movsx eax, byte [rsp + 0x52]
mov byte [0x180067993], al
mov eax, dword [rsp + 0x74]
add eax, 0x74
cmp byte [str.Whz_gb_2312], r10b
mov dword [rbp - 0x30], eax
je 0x18003d4de
mov eax, 4
mov word [0x180067994], ax
mov rax, qword [0x1800679f0]
imul ecx, eax, 0xd40d87d5
add dword [0x180067a00], ecx
movzx ecx, word [0x180067994]
test ecx, ecx
je 0x18003d4d3
sub ecx, r8d
je 0x18003d4c5
sub ecx, r8d
je 0x18003d4ad
sub ecx, r8d
je 0x18003d487
cmp ecx, r8d
jne 0x18003d504
lea eax, [rdx + 0x183b]
mov dword [0x1800679c8], eax
jmp 0x18003d504
movsx ecx, word [0x180067a48]
mov eax, 0x106d
add eax, edx
mov word [0x180067a4c], ax
mov eax, dword [rsp + 0x64]
sub ecx, eax
mov eax, ecx
mov qword [0x180067a60], rax
jmp 0x18003d504
mov rax, qword [0x1800679f8]
mov ecx, 0x93
add ax, cx
add word [0x180067994], ax
jmp 0x18003d504
mov al, byte [0x1814a09c8]
mov byte [0x180067993], al
jmp 0x18003d504
movsx eax, byte [rsp + 0x50]
mov word [rbp - 0x6c], ax
jmp 0x18003d504
imul rax, qword [0x1800679b8], 0xfd
not rax
test rax, rax
je 0x18003d504
mov eax, dword [0x181672da8]
mov qword [0x1800679b8], rax
mov dword [0x180067a30], edi
mov ecx, dword [rbp - 0x30]
mov edx, r10d
mov eax, dword [rbp + 8]
or ecx, eax
mov eax, 0x9300
sub eax, ecx
mov ecx, r10d
mov dword [rbp - 0x30], eax
mov eax, dword [rsp + 0x78]
test eax, eax
mov eax, dword [rsp + 0x78]
sete cl
xor eax, ecx
cmp dword [0x180067a30], r10d
sete dl
sub edx, eax
movsx eax, word [0x180067a08]
add edx, esi
sub edx, eax
mov eax, dword [rsp + 0x64]
sub dl, al
add dl, r8b
mov byte [rsp + 0x51], dl
mov eax, dword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov byte [0x18006797f], al
xor r8d, r8d
movzx eax, word [rsp + 0x58]
imul ecx, eax, 0xb854682d
mov dword [rsp + 0x78], ecx
mov eax, dword [rbp - 0x18]
mov qword [rbp + 0x50], rax
mov eax, dword [rbp + 0x30]
mov qword [rbp + 0x48], rax
mov eax, dword [rbp - 0x14]
mov qword [rbp + 0x40], rax
mov eax, dword [rsp + 0x78]
cmp qword [0x1800679b8], rax
jl 0x18003d60d
cmp word [0x180067a4c], r8w
je 0x18003d5b5
imul ecx, r13d, 0xe5306e38
imul eax, esi, 0x2db8
mov qword [rbp - 0x68], rcx
mov dword [0x180067a40], eax
jmp 0x18003d627
test rbx, rbx
je 0x18003d5e7
mov rax, qword [0x180067a28]
movzx edx, di
movsx ecx, ax
not dx
movsx eax, dx
imul eax, ecx
add ax, word [0x1800679b8]
sub r13d, dword [0x181531f58]
mov word [0x180067a1c], ax
jmp 0x18003d627
mov al, byte [0x18006797b]
test al, al
je 0x18003d627
mov al, byte [0x18006796d]
test al, al
je 0x18003d604
mov r15, qword [0x180067a58]
jmp 0x18003d627
mov r15, qword [0x1800679f0]
jmp 0x18003d627
mov al, byte [rsp + 0x51]
test al, al
je 0x18003d627
mov al, byte [0x18006796d]
and al, byte [0x180067a00]
mov byte [0x18006796d], al
mov rdx, qword [0x1814a09c0]
lea r9, [rbp + 0x50]
mov qword [rsp + 0x40], r8
lea rcx, [0x18000d7c8]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r8d, 0xdf
call fcn.18001abb0
mov rdx, qword [0x1800679f0]
mov r9d, 0x697edebc
movzx ecx, r14w
mov rsi, rax
add rdx, rcx
mov qword [0x1800679f0], rdx
mov ecx, dword [rsp + 0x5c]
mov r8, qword [rbp - 0x68]
movsxd rcx, dword [0x180067a44]
add r8, 0x30d179ab
mov dword [0x180067a30], r9d
cmp rcx, r8
jne 0x18003d6f2
mov r12d, 1
movzx ecx, byte [0x180067997]
add rcx, rbx
cmp rcx, r12
jne 0x18003d6ee
movzx eax, word [rsp + 0x58]
mov edx, dword [0x180067a00]
test ax, ax
movsx ecx, word [0x1800679cc]
cmovne edx, ecx
mov dword [0x180067a30], r9d
mov dword [0x180067a0c], edx
mov rdx, qword [rbp - 0x68]
movsxd rax, dword [0x180067a44]
add rdx, 0x30d179ab
cmp rax, rdx
je 0x18003d6a3
mov r12, qword [rbp + 0x28]
movzx r8d, byte [0x180067993]
mov edx, 0x6e
mov ecx, dword [rsp + 0x78]
call fcn.18003dfec
mov word [rsp + 0x54], ax
xor r8d, r8d
mov ecx, dword [rsp + 0x64]
mov edx, r8d
mov rax, qword [0x180067a28]
cmp rax, rcx
movzx eax, word [0x180067a18]
setne dl
cmp eax, edx
jne 0x18003d73d
movzx eax, word [rsp + 0x54]
imul r13d, eax
jmp 0x18003d7d4
mov al, byte [0x1800679a2]
test al, al
je 0x18003d79d
movzx eax, word [0x1800679e4]
mov ecx, r8d
mov edx, dword [rsp + 0x64]
test ax, ax
movsx eax, word [0x1800679e4]
sete cl
add eax, dword [0x1800679a4]
xor edx, 0x793a
cdqe
add edx, ecx
sub rdx, rax
movzx eax, byte [rsp + 0x53]
xor eax, dword [0x180067a50]
add eax, edx
mov dword [rsp + 0x78], eax
mov edx, dword [0x180067a40]
movsx ecx, byte [rsp + 0x52]
not edx
inc ecx
add ecx, edx
mov qword [rbp - 0x78], rcx
jmp 0x18003d7d4
mov rax, qword [0x180067a10]
mov al, byte [rsp + 0x51]
test al, al
movsx eax, word [0x180067a48]
jne 0x18003d7ba
movsx eax, byte [0x18006796d]
mov dword [0x180067a0c], eax
mov rax, qword [0x180067a58]
add rax, 0xd9f0
mov qword [0x180067a60], rax
mov eax, dword [rbp + 0x34]
lea r9, [rbp + 0x48]
mov eax, dword [rbp - 0x28]
lea rcx, [0x18000d7c8]
mov rdx, qword [0x1814a09c0]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r8d, 0xde
call fcn.18001abb0
mov rcx, qword [rbp - 0x78]
mov r14, rax
mov ecx, dword [0x1800679c0]
mov ecx, dword [rbp + 4]
movsx edx, byte [rsp + 0x50]
add edx, 0x635c557e
mov dword [0x180067a30], edx
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
movdqa xmm0, xmmword [0x18004bf60]
movdqa xmm1, xmmword [0x18004bf20]
mov dword [rsp + 0x6c], eax
mov ecx, dword [rbp - 0x10]
xor ecx, ecx
movdqu xmmword [rbp + 0x100], xmm0
mov eax, ecx
mov byte [rbp + 0x120], cl
movdqa xmm0, xmmword [0x18004bf40]
movdqu xmmword [rbp + 0x110], xmm1
mov byte [rbp + 0xf0], cl
movdqa xmm1, xmmword [0x18004bef0]
movdqu xmmword [rbp + 0xb0], xmm0
movdqa xmm0, xmmword [0x18004bf50]
movdqu xmmword [rbp + 0xc0], xmm1
movdqa xmm1, xmmword [0x18004bf00]
movdqu xmmword [rbp + 0xd0], xmm0
movdqu xmmword [rbp + 0xe0], xmm1
movdqu xmm0, xmmword [rbp + rax + 0xb0]
movdqa xmm1, xmmword [0x18004beb0]
paddb xmm1, xmm0
movdqu xmmword [rbp + rax + 0xb0], xmm1
add rax, 0x10
cmp rax, 0x40
jb 0x18003d8ae
movsxd r8, dword [rbp + 0x50]
lea rax, [rbp + 0x100]
mov qword [rsp + 0x40], rcx
lea r9, [rbp + 0xb0]
mov qword [rsp + 0x38], rcx
mov rdx, rsi
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
lea rcx, [0x18000b658]
mov qword [rsp + 0x20], rax
call fcn.18001abb0
movzx ecx, word [0x1800679d4]
xor ecx, r15d
mov dword [0x1800679e0], ecx
mov ecx, 0xf6
mov eax, dword [rbp - 0x40]
movsxd rdx, dword [rsp + 0x6c]
call fcn.18003efb8
mov byte [0x180067997], al
xor r15d, r15d
mov eax, dword [0x180067a34]
mov eax, dword [rbp - 0x20]
mov al, byte [0x180067a00]
and al, 0xc9
mov byte [rsp + 0x51], al
mov eax, dword [rbp]
mov eax, dword [rbp]
mov eax, dword [rbp]
mov eax, dword [rbp]
mov eax, dword [rbp - 0x24]
mov rax, qword [0x180067a28]
test rax, rax
je 0x18003d98b
movzx eax, byte [rsp + 0x53]
cmp word [0x180067a04], ax
jae 0x18003d98b
movzx ecx, byte [0x1800679a1]
shr rcx, 5
mov qword [0x180067a58], rcx
mov eax, dword [rbp + 0x18]
mov r9d, 0x233e00
mov eax, dword [rbp + 0x18]
mov r8, r14
mov eax, dword [rbp - 0x70]
mov edx, 0x10
mov rax, qword [rbp + 0x48]
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.18000fcc4
xor eax, eax
lea rcx, [rbp - 0x2c]
mov byte [rbp - 0x2c], al
call fcn.180032068
test eax, eax
je 0x18003de04
call fcn.18002ebc4
mov rdx, qword [0x1814a09c0]
lea r9, [rbp + 0x40]
mov qword [rsp + 0x40], r15
lea rcx, [0x18000d7c8]
mov qword [rsp + 0x38], r15
mov r8d, 0xe4
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
call fcn.18001abb0
movzx ecx, word [rsp + 0x58]
mov rsi, rax
mov rcx, qword [rbp - 0x68]
mov ecx, dword [rsp + 0x64]
movsx rcx, byte [str.Whz_gb_2312]
movdqa xmm0, xmmword [0x18004bf60]
movdqa xmm1, xmmword [0x18004bf20]
sar rcx, 2
mov qword [0x180067a58], rcx
mov ecx, dword [rsp + 0x7c]
mov cl, byte [0x1800679a3]
add cl, byte [0x181555e88]
mov byte [0x1800679a3], cl
mov eax, dword [rbp - 0x44]
movdqu xmmword [rbp + 0x128], xmm0
mov rax, r15
mov byte [rbp + 0x148], r15b
movdqa xmm0, xmmword [0x18004bf10]
movdqu xmmword [rbp + 0x138], xmm1
mov byte [rbp + 0xa0], r15b
movdqa xmm1, xmmword [str.200a40a0a_15_0.62bc5b__5a_0_0422c62c2c1371_20_84de_7da17ca212b3___5__36b._4d26abdf7a858b6e42c_035462b_5_a15d5_b__71158_d0a64eb257684da7_c37093a3da62da598de]
movdqu xmmword [rbp + 0x60], xmm0
movdqa xmm0, xmmword [0x18004bf30]
movdqu xmmword [rbp + 0x70], xmm1
movdqa xmm1, xmmword [0x18004bee0]
movdqu xmmword [rbp + 0x80], xmm0
movdqu xmmword [rbp + 0x90], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x60]
movdqa xmm1, xmmword [0x18004bec0]
paddb xmm1, xmm0
movdqu xmmword [rbp + rax + 0x60], xmm1
add rax, 0x10
cmp rax, 0x40
jb 0x18003dab4
xor ecx, ecx
call fcn.180042584
int3