Function at 0x18002ccc4
Capabilities:
Check for unmoving mouse cursor
Encode data using xor

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 - 0x238]
sub rsp, 0x310
mov rax, qword [0x180053d28]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov al, byte [0x180053d00]
xor ecx, ecx
mov byte [rsp + 0x58], al
mov edi, 0xc0cd
movzx r13d, word [0x180053cb8]
movsxd rsi, dword [0x180053ce8]
movsx rax, byte [0x180053ba3]
mov bl, byte [0x180053ba6]
mov qword [rbp - 0x70], rax
movzx eax, word [0x180053cc4]
mov byte [rsp + 0x51], al
movzx eax, byte [str.giCryptAcquireContex]
mov qword [rsp + 0x70], rax
mov rax, qword [0x180053cc8]
mov qword [rbp - 0x18], rax
mov eax, dword [0x180053d0c]
movsxd rax, dword [0x180053c54]
mov qword [rbp - 0x60], rax
mov eax, dword [0x180053d00]
mov dword [rsp + 0x60], eax
movsxd rax, dword [0x180053d18]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x48], 0xb6
mov r14d, dword [0x180053bd4]
mov byte [rsp + 0x50], 9
movzx eax, word [0x180053cc4]
movzx eax, word [0x180053cfc]
mov dword [rsp + 0x78], 0x17
mov al, byte [0x180053b8b]
movzx eax, word [0x180053cfc]
mov qword [rbp - 8], rax
mov qword [rbp - 0x40], 0x730c53ba
mov qword [rbp - 0x20], 0x8128
mov byte [rsp + 0x58], 0x97
mov dword [rsp + 0x6c], r14d
call fcn.18002f570
xor r15d, r15d
movsx rcx, al
mov qword [0x180053ca8], rcx
test al, al
jne 0x18002ce31
movzx ecx, word [0x180053cfc]
movzx eax, byte [0x180053ba7]
not ecx
sub ecx, eax
mov rax, qword [rsp + 0x70]
movsxd rcx, ecx
cmp rax, rcx
jne 0x18002ce1f
mov al, byte [0x180053b8b]
mov edx, r15d
test al, al
movzx eax, word [0x180053ba4]
sete dl
sub rdx, rax
mov qword [rsp + 0x70], rdx
jmp 0x18002ce31
cmp byte [str.giCryptAcquireContex], r15b
jne 0x18002ce2c
mov rax, qword [rbp - 0x48]
add bl, bl
add bl, r14b
mov eax, dword [0x1811f6af8]
xor ecx, ecx
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, 0xcc
mov dword [rbp - 0x54], eax
call fcn.18002f570
mov byte [0x180053b8b], al
mov al, byte [0x180053b8b]
test al, al
jne 0x18002ce65
movsxd rdi, dword [0x180053c14]
mov eax, dword [rsp + 0x60]
add eax, 0x319
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x60]
add eax, 0x3bb
mov dword [rbp - 0x38], eax
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x68], eax
movzx ecx, word [0x180053d08]
sub ecx, 0xef
mov dword [rsp + 0x60], ecx
mov ecx, 0x53ba
mov eax, dword [0x180053c54]
movsx eax, bl
add ax, cx
mov word [0x180053cb8], ax
mov eax, dword [rsp + 0x68]
mov r12d, dword [0x1811f6af8]
add eax, 0x1d6
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x68]
add eax, 0x122
mov dword [rsp + 0x78], eax
mov eax, 0x2bf4
movzx r14d, word [0x180053cbc]
sub r14w, ax
mov eax, dword [0x180053cf8]
add eax, 0x6c42
add qword [0x180053ca0], rax
mov eax, dword [rsp + 0x68]
add eax, 0x15c
mov dword [rsp + 0x78], eax
mov al, byte [0x180053b8f]
test al, al
jne 0x18002cf1e
movzx eax, r13w
sar ax, 1
movsx rax, ax
mov qword [0x180053cc8], rax
mov eax, dword [0x1811f6af8]
mov ecx, 0x18d6
mov dword [rsp + 0x68], eax
mov edx, 0x60
mov eax, dword [rsp + 0x68]
add eax, 0x62
mov word [rbp - 0x68], dx
mov dword [rsp + 0x78], eax
lea rax, [rsi - 0x7e]
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x68]
add eax, 0x221
mov dword [rsp + 0x5c], eax
mov rax, qword [0x180053cc8]
mov eax, dword [rsp + 0x68]
add eax, 0x3b3
mov dword [rbp - 0x4c], eax
mov eax, dword [0x180053c54]
add ax, cx
mov word [0x180053d08], ax
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x68], eax
mov r15, qword [0x180053cc8]
mov cl, byte [0x180053ba6]
not cl
sub cl, bl
add cl, byte [0x180053d00]
lea eax, [r15 - 0x59]
mov dword [rbp - 0x34], eax
mov eax, dword [0x180053cf4]
add al, cl
mov ecx, dword [0x180053bd4]
mov rbx, qword [0x180053cc8]
add cl, al
mov eax, dword [rsp + 0x60]
add bl, cl
sub bl, dl
mov cl, 0x58
add bl, al
mov eax, dword [rsp + 0x68]
add eax, 0x30c
mov dword [rsp + 0x78], eax
call fcn.18002f21c
movzx eax, al
xor edx, edx
mov dword [0x180053d18], eax
mov eax, dword [0x180053d18]
test eax, eax
js 0x18002d012
movzx ecx, byte [str.giCryptAcquireContex]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x180053b8f], al
mov al, byte [0x180053b8f]
test al, al
jne 0x18002d055
mov qword [rbp - 0x80], 0x709cfa81
jmp 0x18002d055
cmp word [0x180053cb4], dx
mov rax, qword [rsp + 0x70]
je 0x18002d029
mov word [0x180053cfc], ax
jmp 0x18002d055
test rax, rax
mov rcx, rdx
mov rax, qword [rbp - 0x18]
sete cl
not rax
cmp rcx, rax
jle 0x18002d055
movzx eax, bl
mov dword [0x18124a250], eax
movsx eax, r15b
imul ecx, eax, 0x51
sub cl, 0x29
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x68]
xor ecx, ecx
add eax, 0x2a9
mov dword [rbp - 0x30], eax
mov rdx, qword [0x180053d10]
call fcn.18002f6c4
mov rcx, rsi
mov word [rbp - 0x78], ax
not rcx
xor r9d, r9d
mov r10d, 1
test rcx, rcx
jne 0x18002d094
cmp word [0x180053cb4], r9w
mov r8d, r9d
je 0x18002d097
mov r8d, r10d
mov eax, dword [0x180053bd4]
mov edx, r9d
test eax, eax
mov ecx, r9d
movsx eax, byte [0x180053ba6]
sete dl
cmp eax, edx
setle cl
cmp r8d, ecx
mov r8d, dword [rsp + 0x6c]
jbe 0x18002d10e
mov al, byte [0x180053b8f]
test al, al
jne 0x18002d0fb
test r8d, r8d
jne 0x18002d0fb
movzx edx, word [0x180053ba4]
movzx eax, word [0x180053ba4]
mov rcx, qword [rbp - 0x70]
add rax, rdx
add cx, ax
mov word [0x180053ba4], cx
mov al, byte [0x180053b8f]
shr al, 4
movzx r14d, al
jmp 0x18002d127
test r13w, r13w
je 0x18002d127
mov rax, qword [0x1812df938]
mov qword [rbp - 0x20], rax
jmp 0x18002d127
mov eax, 0xc35
mov word [0x180053d1c], ax
mov rax, qword [rsp + 0x70]
sub rax, r10
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x68]
mov edx, r9d
add eax, 0x343
mov dword [rbp], eax
movzx r15d, word [0x180053ba4]
mov eax, dword [0x1811f6af8]
sub r15b, 0x5c
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x10e
mov word [rsp + 0x68], r15w
mov dword [rbp + 4], eax
mov ecx, dword [0x180053cf8]
movsx eax, r15b
cmp eax, ecx
mov eax, r9d
setae dl
cmp r15b, 0x61
setge al
cmp edx, eax
jne 0x18002d182
mov byte [rsp + 0x58], 0xdb
jmp 0x18002d192
test r14w, r14w
je 0x18002d192
mov rax, qword [rbp - 0x80]
and rax, rsi
add rsi, rax
mov eax, dword [rsp + 0x54]
add eax, 0x2b6
mov dword [rbp + 0x34], eax
movsx rcx, word [0x180053cb8]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x18002d1eb
mov eax, dword [0x180053bd4]
mov r12d, 0x8cf3ac45
mov edx, dword [0x180053cb0]
neg eax
mov rax, qword [rsp + 0x70]
sbb ecx, ecx
sub r12d, dword [0x180053ca0]
neg ecx
and eax, r8d
sub ecx, r10d
not eax
add ecx, 0x730c53ba
add edx, ecx
imul eax, edx
imul r12d, eax
mov eax, dword [rsp + 0x54]
mov r9b, 0x83
add eax, 0xe9
mov byte [rsp + 0x28], 0x59
mov r8b, 0xb3
mov dword [rbp + 0x30], eax
mov dl, 0x27
mov byte [rsp + 0x20], 0xba
xor ecx, ecx
call fcn.18002f488
movsx ecx, al
xor r14d, r14d
mov dword [0x180053cb0], ecx
mov eax, dword [0x180053cb0]
test eax, eax
jne 0x18002d233
call qword [sym.imp.USER32.dll_GetCapture]
mov word [0x180053cd4], ax
mov eax, dword [0x1811f6af8]
lea rcx, [rbp + 0x150]
mov dword [rsp + 0x54], eax
mov rax, qword [0x180053ca0]
sub qword [0x180053d00], rax
mov eax, dword [rsp + 0x54]
movups xmm0, xmmword [str.._AVDSRegException]
add eax, 0x53
mov dword [rbp + 0x38], eax
movzx eax, word [0x18003cce8]
mov word [rbp + 0x160], ax
mov al, byte [0x18003ccea]
mov byte [rbp + 0x162], al
movups xmmword [rbp + 0x150], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x54]
add eax, 0x71
mov dword [rsp + 0x78], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov rbx, rax
test rax, rax
je 0x18002d2c2
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowEnabled]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowUnicode]
cmp byte [0x180053ba3], r14b
je 0x18002d2df
cmp dword [0x180053c14], r14d
je 0x18002d2df
mov r9d, 1
mov edx, r9d
jmp 0x18002d2e8
mov edx, r14d
mov r9d, 1
mov eax, dword [0x180053c54]
mov ecx, r14d
mov r8d, 0x730c53ba
cmp eax, r8d
setg cl
add ecx, 0xfffffffe
add ecx, edx
jne 0x18002d328
cmp dword [rbp - 0x34], r14d
jne 0x18002d328
cmp word [0x180053cd0], r14w
je 0x18002d3ed
mov rax, qword [rbp - 0x70]
add rax, r8
mov qword [rbp - 0x70], rax
jmp 0x18002d3ed
mov rax, qword [rbp - 0x70]
cmp rax, 0x60
je 0x18002d37f
movsxd rcx, dword [0x180053d18]
not rsi
mov rax, qword [rbp - 0x60]
mov r13d, 0x32
mov rdx, qword [rsp + 0x70]
imul rax, rcx
imul rdx, rsi
movzx ecx, byte [rbp - 0x78]
not ecx
add rdx, rax
mov eax, dword [0x180053c54]
add ecx, eax
not rdx
movsx rax, word [0x180053cb4]
movsxd rdi, ecx
sub rdi, rax
add rdi, qword [rbp - 0x20]
imul rdi, rdx
jmp 0x18002d3ed
cmp byte [0x180053ba6], r14b
jne 0x18002d395
mov rax, qword [rsp + 0x70]
mov rdx, r14
test rax, rax
je 0x18002d398
mov rdx, r9
movsxd rcx, dword [0x180053d18]
mov rax, qword [rbp - 0x60]
xor rax, rcx
cmp rax, rdx
jg 0x18002d3ed
mov eax, dword [0x180053c54]
mov rcx, r14
movzx edx, byte [0x180053ba7]
test eax, eax
mov rax, qword [0x180053cc8]
sete cl
xor rdx, rcx
mov ecx, r14d
imul rdx, rdi
add rax, rdx
sete cl
mov dword [0x180053c54], ecx
mov rax, qword [rbp - 0x80]
movsx ecx, al
imul eax, ecx, 0x5e
xor byte [0x180053ba6], al
mov eax, dword [rsp + 0x54]
mov r8b, 0xdd
add eax, 0x2de
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x78], eax
call fcn.18002f394
movzx eax, al
mov qword [rbp - 8], rax
test rax, rax
je 0x18002d425
movzx r14d, word [rbp - 0x18]
mov eax, 0x1831
sub r14w, ax
jmp 0x18002d4b0
mov eax, dword [0x180053c74]
test eax, eax
jne 0x18002d451
mov rax, qword [rbp - 0x80]
mov rcx, qword [0x180053cc8]
mov qword [0x18143e8c8], rax
mov rax, qword [rbp - 0x60]
add rcx, rax
mov qword [0x180053cc8], rcx
jmp 0x18002d4ab
mov rcx, qword [rbp - 0x80]
movsx rax, r15b
cmp rcx, rax
jl 0x18002d47c
mov rax, qword [rsp + 0x70]
mov rcx, qword [0x180053ca8]
sub rcx, rax
mov rax, qword [rsp + 0x70]
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18002d4ab
cmp byte [0x180053ba7], r14b
je 0x18002d4ab
mov rax, qword [rbp - 0x80]
movzx ecx, al
imul eax, ecx, 0xfa
mov byte [0x180053b8f], al
movsx eax, byte [0x180053ba6]
shl eax, 8
cdqe
mov qword [0x180053ca0], rax
movzx r14d, word [rbp - 0x68]
mov eax, dword [0x1811f6af8]
mov ebx, 0x2600
mov dword [rsp + 0x54], eax
mov r15d, 1
movsx esi, r13w
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov eax, eax
mov qword [rbp - 0x70], rax
sub rbx, r15
jne 0x18002d4c9
mov eax, dword [rsp + 0x54]
mov ecx, 0xa1
movsx r15, word [rsp + 0x68]
add eax, 0x169
mov dword [rbp + 0x3c], eax
mov eax, dword [0x1811f6af8]
mov qword [0x180053d10], rax
mov rax, rdi
shr rax, 2
mov dword [0x180053d18], eax
mov eax, dword [rsp + 0x54]
add eax, 0x1ca
mov dword [rsp + 0x78], eax
xor r9d, r9d
cmp word [0x180053d1c], r9w
je 0x18002d53c
test rdi, rdi
je 0x18002d53c
movsx eax, r14w
imul edx, eax, 0xadb7
mov dword [rsp + 0x6c], edx
jmp 0x18002d55c
cmp qword [0x180053ce0], r9
mov edx, dword [rsp + 0x6c]
je 0x18002d551
mov al, byte [0x180053b8b]
jmp 0x18002d556
mov rax, qword [rsp + 0x70]
mov byte [0x180053ba7], al
mov eax, 1
add rdi, rax
sub ecx, eax
test ecx, ecx
jg 0x18002d51d
mov eax, dword [rsp + 0x54]
add eax, 0x37
mov dword [rbp - 0x10], eax
movzx eax, word [0x180053cc4]
add word [0x180053cb4], ax
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
test r12d, r12d
jne 0x18002d5bd
mov rax, qword [rsp + 0x70]
movabs rcx, 0x275c6657f130a
cmp rax, rcx
je 0x18002d5bd
mov rax, qword [rbp - 0x48]
not eax
mov dword [0x180053cb0], eax
mov eax, dword [0x1811f6af8]
mov dword [0x180053cf4], eax
mov eax, dword [rsp + 0x54]
mov r8d, r9d
movzx r12d, word [rbp - 0x78]
add eax, 0x186
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x54]
mov ecx, dword [0x180053d00]
add eax, 0x2fc
mov dword [rbp + 8], eax
not ecx
inc ecx
movzx ebx, r12b
add ecx, edx
not ecx
mov dword [0x180053bd4], ecx
mov eax, dword [rsp + 0x54]
mov rcx, qword [rbp - 0x20]
add eax, 0x371
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x70]
imul rsi, rax, 0xcfc8
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
mov rdx, qword [rbp - 0x80]
movsxd rax, dword [0x180053c14]
sub rcx, rax
mov qword [rbp - 0x28], rsi
mov eax, dword [0x180053c74]
imul rcx, rdi
test rcx, rcx
mov ecx, r9d
sete r8b
test rdx, rdx
cmove cx, ax
mov eax, 0x360f
cwde
movsx ecx, cx
imul ecx, eax
mov eax, dword [rsp + 0x54]
add eax, 0xc3
mov dword [rbp + 0x14], eax
mov eax, 0x7c66
xor ax, word [0x180053cc0]
mov word [0x180053ba4], ax
sub r8w, cx
mov eax, dword [rsp + 0x54]
add eax, 0xe1
mov dword [rsp + 0x68], r8d
mov dword [rbp + 0xc], eax
movsx eax, r14w
cmp eax, ebx
jge 0x18002d6a4
movabs rax, 0xd9597fedf75ce
mov qword [0x180053ca8], rax
jmp 0x18002d6c1
mov rax, qword [rbp - 0x48]
mov ecx, 0x9b
movsx r13d, byte [0x180053ba3]
xor r13w, cx
mov qword [rbp - 0x70], 0x7945
mov eax, dword [rsp + 0x54]
add eax, 0x17a
mov dword [rbp + 0x10], eax
mov rcx, qword [0x180053cd8]
call fcn.18002f21c
movzx eax, al
mov dword [0x180053cb0], eax
mov eax, dword [0x180053cb0]
test eax, eax
jne 0x18002d711
mov rax, qword [rbp - 0x60]
add rax, 0x7cb8
mov qword [0x180053d00], rax
mov rax, qword [rsp + 0x70]
sub rax, 0xda82
mov qword [0x180053ca0], rax
jmp 0x18002d732
test rsi, rsi
je 0x18002d732
movzx eax, byte [rsp + 0x51]
sub al, byte [str.giCryptAcquireContex]
mov byte [rsp + 0x51], al
mov eax, dword [0x1811f6af8]
mov qword [0x180053d00], rax
mov eax, dword [0x1811f6af8]
lea rcx, [rbp + 0x168]
movups xmm0, xmmword [str.The_SSL_certificat]
mov dword [rsp + 0x54], eax
movzx eax, word [0x18003cd00]
mov word [rbp + 0x178], ax
mov al, byte [0x18003cd02]
mov byte [rbp + 0x17a], al
movups xmmword [rbp + 0x168], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [rsp + 0x54]
add ecx, 0x92
movsxd rdi, eax
mov dword [rbp - 0x68], ecx
mov ecx, dword [0x180053c54]
call fcn.18002f21c
movzx ecx, al
xor esi, esi
mov word [0x180053cc4], cx
mov ecx, dword [0x180053d0c]
mov rcx, qword [rbp - 0x80]
mov ecx, dword [0x180053d0c]
movzx eax, byte [0x180053ba7]
imul ecx, eax, 0xcae41f30
test ecx, ecx
je 0x18002d7cc
mov eax, dword [0x180053cf4]
test eax, eax
jne 0x18002d7c8
movsx ebx, byte [rsp + 0x50]
mov dword [rsp + 0x60], ebx
mov eax, dword [rsp + 0x54]
movzx ecx, byte [0x180053ba7]
add eax, 0x296
mov dword [rsp + 0x78], eax
movzx eax, byte [0x180053ba6]
imul ecx, eax
movsx eax, byte [rsp + 0x50]
mov edx, dword [0x180053d0c]
add edx, eax
mov al, byte [rsp + 0x50]
and al, dl
mov byte [0x180053ba7], cl
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x54]
add eax, 0x4e
mov dword [rbp + 0x20], eax
mov eax, dword [0x180053cec]
test eax, eax
je 0x18002d9be
movsx rax, di
cmp rax, qword [rbp - 0x20]
jne 0x18002d834
mov r14b, byte [rsp + 0x58]
add r14b, 0xff
jmp 0x18002d84e
mov eax, dword [0x180053cec]
test eax, eax
je 0x18002d911
movzx edi, word [0x1811f6af8]
mov r14b, byte [rsp + 0x58]
mov eax, dword [0x1811f6af8]
xor ecx, ecx
mov dword [rsp + 0x54], eax
call fcn.18002f570
movsx rcx, al
mov edx, esi
mov qword [rbp - 0x60], rcx
mov ecx, esi
mov rax, qword [rbp - 0x60]
cmp rax, 0x60
mov rax, qword [rbp - 0x60]
setle dl
test rax, rax
setle cl
cmp ecx, edx
jbe 0x18002da80
mov r8b, byte [rsp + 0x50]
xor edx, edx
mov cl, 0x5b
call fcn.18002f394
movzx ecx, al
mov edx, esi
cmp ecx, 0x15
mov dword [rbp - 0x40], ecx
mov eax, esi
seta dl
test ecx, ecx
setne al
cmp eax, edx
ja 0x18002daaa
movzx eax, word [0x180053ba4]
mov ecx, esi
test ax, ax
mov r8d, esi
movsx eax, r13w
mov edx, esi
sete cl
cmp eax, ecx
mov ecx, dword [rsp + 0x60]
movsx eax, di
setl r8b
cmp eax, ecx
setb dl
cmp r8d, edx
je 0x18002da39
mov rcx, qword [0x180053d00]
movabs rax, 0x4a8965f462365
imul rcx, rax
mov rax, qword [0x180053cd8]
sub rax, rcx
mov qword [0x180053cd8], rax
jmp 0x18002daaa
movzx eax, byte [str.giCryptAcquireContex]
mov ecx, esi
mov r14b, byte [rsp + 0x58]
cmp eax, 0x80c4
movsx eax, byte [0x180053ba6]
setb cl
cmp eax, ecx
jle 0x18002d95c
mov rdx, qword [rbp - 0x60]
mov eax, esi
movsx ecx, byte [rsp + 0x50]
test rdx, rdx
not ecx
cmove eax, ecx
mov ecx, esi
test eax, eax
movsx eax, di
sete cl
sub ecx, eax
mov dword [0x180053c14], ecx
jmp 0x18002d84e
movsx rcx, byte [rsp + 0x50]
movabs rax, 0x739d9ff75103
imul rcx, rax
movsx rax, word [0x180053cb4]
mov rdx, rsi
cmp qword [rbp - 8], rsi
mov qword [0x180053ca8], rcx
sete dl
movsx rcx, r15b
and rdx, rax
mov rax, qword [rbp - 0x70]
sub rdx, rax
movzx eax, word [0x180053d1c]
sub rcx, rax
not rdx
mov rax, qword [rbp - 0x48]
add rcx, rdx
cmp rcx, rax
mov eax, esi
sete al
mov dword [0x180053bd4], eax
jmp 0x18002d84e
movzx eax, word [0x180053cc4]
mov rax, qword [rbp - 0x20]
not rax
movsx rcx, di
cmp rax, rcx
je 0x18002d849
mov ecx, dword [0x180053bd4]
mov eax, esi
cmp byte [0x180053ba6], sil
movzx edx, word [0x180053d1c]
movzx r14d, byte [rsp + 0x58]
sete al
and ecx, eax
mov eax, r14d
not eax
xor ecx, 1
add edx, ecx
imul edx, eax
test edx, edx
movsx rdx, word [0x180053cb4]
sete byte [rsp + 0x50]
mov rax, qword [rbp - 0x80]
inc rax
add rdx, rax
movabs rax, 0x6ffd50dff883
not rdx
add rdx, rax
mov qword [rbp - 0x80], rdx
jmp 0x18002d84e
movzx eax, word [0x180053d08]
test ax, ax
je 0x18002daaa
movzx eax, word [0x180053ba4]
movzx r8d, word [0x180053cc4]
imul r8d, eax
movzx eax, word [0x180053ba4]
add r8w, ax
mov word [0x180053ba4], r8w
mov rax, qword [rbp - 0x80]
movzx ecx, al
imul r12d, ecx, 0xeb
mov word [rbp - 0x78], r12w
jmp 0x18002daaa
mov eax, dword [0x180053cf8]
test eax, eax
je 0x18002daaa
movzx ecx, word [0x180053cd0]
mov eax, 0x5fdc
sub cx, ax
movzx eax, word [0x180053cb8]
add ax, cx
mov word [0x180053cd0], ax
mov eax, dword [rsp + 0x54]
add eax, 0x232
cmp qword [0x180053ce0], rsi
mov dword [rbp + 0x1c], eax
je 0x18002daeb
xor ecx, ecx
call fcn.18002f570
movsx ecx, al
mov word [0x180053ba4], cx
movzx eax, word [0x180053ba4]
movsx eax, byte [0x180053ba3]
add eax, 0x5ed04731
mov dword [0x180053ce8], eax
jmp 0x18002daf2
mov byte [0x180053ba6], 0x6b
mov eax, dword [rsp + 0x54]
mov edx, 0x74
add eax, 0x2c1
movzx ebx, r14b
mov dword [rbp + 0x18], eax
movsx eax, byte [0x180053ba3]
mov dword [0x180053cb0], eax
mov eax, dword [rsp + 0x54]
add eax, 0x222
mov dword [rbp + 0x28], eax
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0x60]
sub ecx, ebx
sub ecx, eax
mov dword [rsp + 0x60], ecx
xor ecx, ecx
mov rax, qword [0x180053cc8]
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
call fcn.18002f6c4
mov r15, qword [rbp - 0x28]
xor r8d, r8d
movsx esi, ax
test esi, esi
js 0x18002db63
mov al, byte [rsp + 0x50]
sub al, r15b
mov byte [rsp + 0x50], al
jmp 0x18002db6a
mov dword [rbp - 0x40], 0x1c911298
mov eax, dword [rsp + 0x54]
add eax, 0xa0
mov dword [rsp + 0x78], eax
mov al, byte [rsp + 0x50]
mov byte [str.giCryptAcquireContex], al
mov eax, dword [rsp + 0x54]
add eax, 0x285
mov dword [rbp - 0x58], eax
mov edx, dword [0x180053c74]
movsx eax, byte [0x180053ba3]
imul ecx, eax, 0xcaf3
mov eax, dword [0x180053c54]
add edx, ecx
add eax, edx
mov edx, r8d
mov qword [rbp - 0x48], rax
mov eax, dword [rsp + 0x54]
add eax, 0x203
mov dword [rbp + 0x24], eax
movsxd rcx, dword [0x180053d0c]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
mov eax, dword [0x180053d0c]
mov ecx, r8d
sete dl
cmp eax, 0x44
sete cl
cmp edx, ecx
ja 0x18002dc3e
movsx eax, r13w
mov ecx, r8d
cmp ebx, eax
mov eax, r8d
setg cl
cmp r14b, 0xe
seta al
cmp ecx, eax
je 0x18002dc19
movzx r12d, word [0x180053cbc]
mov al, byte [0x1811f6af8]
sub r12b, 0x55
mov word [rbp - 0x78], r12w
mov byte [rsp + 0x51], al
jmp 0x18002dc5e
mov eax, 0x98a6
mov word [0x180053d1c], ax
movsx rax, byte [rsp + 0x50]
mov rdx, qword [rbp - 0x70]
add rdx, rax
mov al, byte [rsp + 0x50]
and al, dl
mov byte [rsp + 0x50], al
jmp 0x18002dc5e
movsx edx, word [0x180053cb8]
mov ecx, 0x2769
movsx ecx, cx
imul edx, ecx
mov byte [0x180053ba6], 0xab
mov word [0x180053cb4], dx
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
movsxd rcx, dword [0x180053d0c]
mov rax, qword [rbp - 0x80]
sub rax, rcx
mov cl, 0xe7
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x54]
add eax, 0xc15
mov dword [rbp - 0x58], eax
call fcn.18002f21c
movzx eax, al
mov qword [0x180053d10], rax
mov rax, qword [0x180053d10]
test rax, rax
jg 0x18002dcc8
movzx eax, word [0x180053d1c]
xor rax, 0x4555653
add qword [0x180053ca8], rax
movzx eax, byte [rsp + 0x51]
add al, byte [0x1812265fa]
mov byte [rsp + 0x51], al
jmp 0x18002dcdd
movzx eax, r14b
movabs rcx, 0xf7a0d3362e414
add rax, rcx
mov qword [rbp - 0x80], rax
mov eax, dword [rsp + 0x54]
xor r14d, r14d
mov rcx, qword [0x180053ce0]
add eax, 0x1f
mov dword [rsp + 0x6c], eax
not rcx
mov eax, r14d
test r12b, r12b
sete al
sub rcx, rax
mov rax, qword [rbp - 0x80]
add rax, rcx
mov qword [rbp - 0x60], rax
movsxd rcx, dword [0x180053d0c]
mov rax, qword [0x180053d10]
add rcx, 0xffffffffffffff4f
add eax, ecx
mov dword [0x180053d0c], eax
mov eax, dword [rsp + 0x54]
add eax, 0x10a
mov dword [rbp - 0x58], eax
mov eax, dword [0x180053d0c]
and eax, dword [rbp - 0x34]
mov dword [0x180053d0c], eax
mov rax, qword [0x180053d00]
lea rbx, [rax*8]
call qword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov edx, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x54]
sub edx, ecx
mov ecx, dword [rbp - 0x38]
imul ecx, edx
mov edx, dword [rsp + 0x6c]
mov qword [rbp - 0x18], rax
movsx r12d, di
imul r8d, ecx, 0x153
mov ecx, dword [rsp + 0x6c]
or ecx, edx
add ecx, 0xffffffe1
add ecx, r8d
mov dword [rbp - 0x34], ecx
mov ecx, r14d
mov rax, qword [0x180053cd8]
add al, 0x5d
mov byte [str.giCryptAcquireContex], al
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
mov eax, dword [0x180053ce8]
test eax, eax
mov rdx, qword [0x180053cc8]
mov eax, r12d
sete cl
not eax
add rdx, rcx
movsxd rcx, eax
not rdx
imul rdx, rcx
test rdx, rdx
je 0x18002ddda
mov rsi, qword [rbp - 0x48]
sub esi, 0x2d5ae6f0
jmp 0x18002de18
cmp byte [0x180053ba7], r14b
je 0x18002ddf5
mov r15, qword [rbp - 0x70]
mov eax, dword [0x180053cec]
add ebx, eax
mov qword [rbp - 0x28], r15
jmp 0x18002de18
test ebx, ebx
je 0x18002de18
test r15, r15
je 0x18002de18
mov rax, qword [rbp - 0x48]
and eax, 0x408d5bd2
mov dword [0x180053cf0], eax
mov eax, dword [0x180053cf4]
add al, 0x7e
mov byte [rbp - 0x78], al
mov eax, dword [rsp + 0x54]
mov r14, qword [rbp - 0x40]
add eax, 0x98
mov r14d, r14d
mov dword [rbp - 0x54], eax
cmp r14, qword [rbp - 8]
ja 0x18002de4f
mov ebx, dword [0x180053cf0]
movsx eax, r13w
sub eax, 0x737f
cdqe
add ebx, 0x15e4bf3
mov qword [0x180053d10], rax
mov eax, dword [rsp + 0x54]
mov edx, 0x96a999
add eax, 0xce
mov dword [0x180053cf0], 0xb0731c8a
mov dword [rbp - 0x58], eax
mov eax, dword [rsp + 0x54]
add eax, 0xc6
movzx ecx, r15w
mov dword [rbp - 0x58], eax
movsx rax, word [rsp + 0x68]
mov dword [rsp + 0x6c], eax
add rax, 0xde57
mov qword [rbp - 0x80], rax
mov eax, 0xc885
imul ecx, eax
mov eax, dword [0x180053d0c]
add eax, 0x7e87faa0
mov word [0x180053cc0], cx
mov dword [rsp + 0x60], eax
mov ecx, dword [rbp - 0x54]
mov eax, dword [rbp - 0x54]
or ecx, eax
or ecx, 0x96a918
sub edx, ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
xor ecx, eax
sub edx, ecx
mov dword [rbp + 0x2c], edx
call qword [sym.imp.USER32.dll_GetCursor]
xor ecx, ecx
test rax, rax
je 0x18002dede
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [0x1811f6af8]
xor edx, edx
mov dword [rsp + 0x54], eax
movzx r15d, word [0x180053d08]
mov eax, dword [rsp + 0x54]
add r15b, 0x7a
add eax, 0x24
mov dword [rbp - 0x58], eax
mov rax, qword [0x180053ce0]
add rax, 0x1b62
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x54]
movzx ecx, byte [str.giCryptAcquireContex]
add eax, 0x8d
cmp qword [rbp - 8], rdx
mov dword [rbp - 0x58], eax
movsx eax, byte [0x180053ba3]
cmovne ecx, eax
movsxd rax, ecx
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x54]
add eax, 0xe622
mov dword [rsp + 0x64], eax
or rax, 0xffffffffffffffff
add word [0x180053cd0], ax
mov eax, dword [0x180053c74]
mov word [0x180053d1c], ax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x64]
add eax, 0xffff6c23
add ecx, 0xe225
xor ecx, eax
mov eax, 0x19a03
sub eax, ecx
mov rcx, r14
mov dword [rbp - 0x58], eax
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov byte [0x180053ba7], al
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], eax
call qword [sym.imp.USER32.dll_GetCaretBlinkTime]
mov dword [0x180053ce8], eax
xor r8d, r8d
mov eax, dword [rsp + 0x54]
mov edx, r8d
add eax, 0xa87e
mov dword [rbp - 0x38], eax
movsxd rcx, dword [0x180053ce8]
mov rax, qword [rsp + 0x70]
cmp rax, rcx
mov rax, qword [rsp + 0x70]
mov ecx, r8d
setb dl
cmp rax, 0x10
setb cl
cmp edx, ecx
jne 0x18002dff6
cmp ebx, r12d
jne 0x18002dff6
movzx eax, byte [0x180053ba7]
movabs rcx, 0x151efe7f18ea3
add rax, rcx
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x54]
add eax, 0x6f
mov dword [rsp + 0x64], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov r12, qword [rbp - 0x18]
xor r10d, r10d
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x18002e067
mov ecx, dword [0x180053cb0]
mov rax, qword [0x180053d10]
movzx r14d, word [rbp - 0x78]
cmp rcx, rax
jge 0x18002e0ac
movsxd rcx, dword [0x180053c54]
mov rax, qword [rbp - 0x70]
sub ecx, eax
not ecx
mov dword [0x180053cf4], ecx
movzx eax, word [0x180053cc4]
movsx ecx, r12b
sub cx, ax
movzx eax, word [0x180053cc4]
add cx, ax
mov word [0x180053cc4], cx
jmp 0x18002e0ac
movzx r14d, word [rbp - 0x78]
test r13w, r13w
mov ecx, r10d
movzx eax, r14b
sete cl
mov rdx, r10
add ecx, eax
mov rax, qword [rbp - 0x70]
movabs rcx, 0x9b83fd15899a1
sete dl
sub rcx, rax
not rcx
cmp rdx, rcx
ja 0x18002e0ac
mov eax, dword [0x180053cb0]
mov qword [rbp - 0x40], rax
mov byte [0x18121e4af], sil
mov eax, dword [rsp + 0x54]
mov r8d, r10d
movzx edx, byte [0x180053ba7]
add eax, 0x90
cmp dx, word [0x180053cd0]
mov dword [rsp + 0x64], eax
mov eax, r10d
sete r8b
cmp dl, 0x5a
sete al
cmp r8d, eax
jbe 0x18002e0f7
call qword [sym.imp.USER32.dll_GetCursor]
xor r10d, r10d
test rax, rax
je 0x18002e0fe
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCursorPos]
xor r10d, r10d
jmp 0x18002e0fe
mov byte [0x180053ba7], 0xe2
movsx eax, r12b
mov r8d, 0x51e0e1c4
mov dword [0x180053c54], r8d
mov dword [rbp - 0x54], eax
lea ecx, [rax + 1]
mov eax, dword [0x180053c54]
cmp eax, ecx
jne 0x18002e192
movzx eax, word [0x180053d1c]
add ax, ax
add ax, r13w
mov word [0x180053d1c], ax
mov rax, qword [0x180053cd8]
cmp rax, 1
jne 0x18002e192
movzx ecx, word [0x180053d1c]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x18002e17f
mov eax, dword [0x180053ce8]
test eax, eax
jne 0x18002e192
mov eax, dword [0x180053c54]
mov edx, r10d
test eax, eax
movsx eax, word [0x180053cb8]
sete dl
cmp edx, eax
je 0x18002e192
movzx r13d, word [0x180053ca8]
jmp 0x18002e192
movzx eax, word [0x180053cfc]
imul eax, eax, 0x32dc3b9b
mov dword [0x180053d0c], eax
mov dword [0x180053c54], r8d
mov eax, 0x31
movzx ecx, byte [0x180053b8f]
sub ax, cx
mov rcx, qword [rbp - 0x70]
add word [0x180053cb4], ax
movsx rax, r13w
cmp rcx, rax
ja 0x18002e1ed
mov rcx, qword [rsp + 0x70]
mov edx, r10d
movzx eax, r14b
cmp rax, rcx
mov eax, r10d
seta dl
cmp r14b, 0x58
seta al
cmp edx, eax
ja 0x18002e2a8
mov rax, qword [rbp - 0x20]
add eax, 0x76
mov dword [0x180053bd4], eax
mov r9d, dword [rsp + 0x6c]
mov r13, qword [rbp - 0x40]
mov edx, dword [rbp - 0x4c]
mov ecx, r10d
mov eax, dword [rsp + 0x5c]
add edx, eax
mov r8d, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x5c]
xor r8d, eax
imul r8d, edx
mov edx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x38]
imul edx, eax
mov eax, dword [rsp + 0x64]
imul eax, eax, 0xb4
xor eax, edx
add eax, 0xffa15c61
add eax, r8d
mov dword [rbp - 0x38], eax
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xc7
mov dword [rbp - 0x4c], eax
mov eax, dword [0x180053d18]
mov eax, dword [rsp + 0x5c]
add eax, 0x6643
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x98
mov dword [rsp + 0x64], eax
movzx eax, r14b
cmp eax, r9d
mov eax, r10d
setne cl
cmp r14b, 0x2f
setne al
cmp ecx, eax
jb 0x18002e352
mov rcx, qword [0x180053d10]
mov eax, 0x90c86358
imul rcx, rax
mov al, byte [0x180053b8b]
or al, cl
mov byte [0x180053b8b], al
jmp 0x18002e384
test r13w, r13w
je 0x18002e2bd
movzx eax, word [0x180053cb8]
add r15b, al
jmp 0x18002e1ed
movzx eax, byte [0x180053b8f]
mov edx, r10d
cmp dword [0x180053c14], eax
mov r9d, dword [rsp + 0x6c]
jle 0x18002e319
movsx eax, word [0x180053cb8]
test esi, esi
sete dl
add edx, eax
movzx eax, r14b
not edx
sub edx, eax
movzx eax, byte [0x180053b8f]
movsx rcx, word [0x180053cb4]
add edx, eax
movzx eax, byte [rsp + 0x51]
mov r13, qword [0x180053cc8]
sub ecx, eax
add r13d, ecx
imul r13d, edx
mov qword [rbp - 0x40], r13
jmp 0x18002e1f6
movzx eax, word [0x180053d08]
mov ecx, r10d
cmp r9d, eax
mov rax, qword [rbp - 0x48]
setl dl
cmp rax, qword [0x180053ce0]
setb cl
cmp ecx, edx
ja 0x18002e1f2
mov al, byte [rsp + 0x51]
add al, byte [0x180053cf0]
mov byte [rsp + 0x51], al
jmp 0x18002e1f2
movzx ecx, word [0x180053cbc]
mov edx, r10d
movsx eax, byte [0x180053ba6]
cmp cx, ax
mov al, byte [rsp + 0x50]
mov ecx, r10d
setg dl
cmp al, 0x26
setle cl
cmp edx, ecx
jbe 0x18002e384
mov eax, esi
sar eax, 2
mov byte [0x180053ba3], al
mov rax, qword [0x180053d10]
cmp rax, 0x13d3bbbc
jb 0x18002e3ca
mov cl, 0xd7
call fcn.18002f21c
xor edx, edx
movzx ebx, al
cmp ebx, 9
mov ecx, edx
mov eax, edx
setbe cl
test ebx, ebx
sete al
cmp eax, ecx
jne 0x18002e3ca
inc dword [0x180053cf0]
mov eax, dword [rbp - 0x54]
add eax, 0x6eb49cef
movsxd rcx, eax
mov qword [0x180053ca8], rcx
mov eax, dword [rbp - 0x4c]
mov ecx, 0xef
xor eax, 0x29
inc di
sub ecx, eax
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x9b89
mov dword [rbp - 0x4c], eax
movsx eax, r12b
cmp word [rsp + 0x68], ax
jle 0x18002e42b
movups xmm0, xmmword [str.x_06X_]
movzx eax, word [0x18003cd18]
lea rcx, [rbp + 0x180]
mov word [rbp + 0x190], ax
movups xmmword [rbp + 0x180], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r15b, al
mov eax, dword [rsp + 0x5c]
add eax, 0x10d
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xe0
mov dword [rsp + 0x5c], eax
movzx eax, r15b
cmp dword [0x180053c14], eax
jl 0x18002e534
mov rax, qword [0x180053d10]
xor r15d, r15d
test rax, rax
je 0x18002e502
movzx r14d, byte [0x180053cc0]
movzx eax, sil
imul r14d, eax
movzx eax, byte [str.giCryptAcquireContex]
xor qword [rbp - 8], rax
mov ebx, 0x13d3bbbc
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
or ecx, eax
mov eax, dword [rbp - 0x4c]
sub eax, 0x1a
xor eax, ecx
xor eax, 0x9a63
mov dword [rbp - 0x4c], eax
mov eax, dword [0x180053d0c]
cmp r13d, eax
jne 0x18002e4ce
movsxd rcx, dword [0x180053ce8]
mov rax, qword [rbp - 0x60]
cmp rax, rcx
jg 0x18002e4ce
mov al, byte [0x1811f6af8]
mov byte [0x180053b8f], al
mov rax, qword [rsp + 0x70]
mov eax, dword [0x1811f6af8]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
add eax, 0xfc
mov dword [rsp + 0x64], eax
movzx eax, word [0x180053cc4]
test ax, ax
je 0x18002e550
movzx ecx, word [rbp - 0x20]
xor edx, edx
call fcn.18002f6c4
mov byte [rsp + 0x51], al
jmp 0x18002e575
mov rax, qword [0x180053cd8]
test rax, rax
je 0x18002e483
movsx ecx, byte [rsp + 0x50]
lea eax, [rbx + 0x9a]
sub ecx, 0x57722e12
mov dword [0x180053d18], ecx
mov dword [0x180053d18], eax
jmp 0x18002e483
mov al, byte [0x180053b8f]
mov ebx, 0x9d77
sub al, r14b
mov byte [0x180053b8f], al
xor r15d, r15d
jmp 0x18002e488
mov eax, dword [0x180053cb0]
test eax, eax
jne 0x18002e564
cmp word [0x180053cd4], r15w
jne 0x18002e575
mov ecx, dword [0x180053c74]
mov rax, qword [rbp - 0x48]
and rax, rcx
mov qword [rbp - 0x48], rax
mov eax, dword [rsp + 0x5c]
add eax, 0x64da
mov dword [rsp + 0x64], eax
movzx eax, byte [0x180053ba7]
shl eax, 2
mov dword [0x180053cb0], eax
mov eax, dword [rsp + 0x5c]
add eax, 0x35
mov dword [rsp + 0x5c], eax
mov rax, qword [rbp - 0x60]
cmp qword [rbp - 0x28], rax
jg 0x18002e5c0
mov eax, dword [0x180053cec]
test eax, eax
je 0x18002e5c0
mov eax, 0x2ab6
add di, ax
mov word [0x180053cbc], di
mov rax, qword [0x180053cd8]
cmp rbx, rax
jne 0x18002e653
call qword [sym.imp.USER32.dll_GetFocus]
mov rbx, rax
test rax, rax
je 0x18002e5f9
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowEnabled]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowUnicode]
test esi, esi
jg 0x18002e653
mov rax, qword [rsp + 0x70]
neg rax
movsx rcx, r12b
mov rax, qword [rbp - 0x48]
sbb rdx, rdx
sub rcx, rax
not rcx
neg rdx
mov eax, r15d
add rdx, 0x31b0a3fd
add rcx, rdx
sete al
mov dword [0x180053d18], eax
mov eax, 0x5d12
movzx ecx, byte [0x180053b8f]
add cx, word [0x180053d1c]
sub cx, ax
mov eax, dword [rsp + 0x60]
add cx, ax
mov word [0x180053d1c], cx
mov ecx, dword [rsp + 0x64]
mov edi, 1
mov eax, dword [rsp + 0x64]
sub ecx, eax
xor ecx, edi
movzx edx, r14b
mov dword [rsp + 0x64], ecx
mov rax, qword [rsp + 0x70]
mov rcx, qword [0x180053cd8]
add rax, rdx
mov eax, r15d
sete al
sub rcx, rdx
mov dword [rsp + 0x6c], eax
mov rax, qword [0x180053cd8]
movups xmm0, xmmword [str.Compute_HMAC_faile]
sub rcx, rax
mov eax, dword [0x1811f6af8]
movups xmm1, xmmword [0x18003cd30]
mov qword [0x180053cd8], rcx
lea rcx, [rbp + 0x198]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18003cd40]
mov dword [rbp + 0x1b8], eax
movzx eax, word [0x18003cd44]
mov word [rbp + 0x1bc], ax
movups xmmword [rbp + 0x198], xmm0
movups xmmword [rbp + 0x1a8], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [rsp + 0x28], 0xf1
mov r9b, sil
mov byte [0x180053b8b], al
mov eax, dword [rsp + 0x5c]
add eax, 0x91
mov byte [rsp + 0x20], 0xa7
mov dword [rbp - 0x78], eax
mov al, byte [rsp + 0x51]
mov edx, dword [0x180053cec]
mov eax, dword [rsp + 0x5c]
xor dl, 0xd4
add eax, 0x97
movzx r14d, dl
mov dword [rbp - 0x78], eax
mov dl, 0xc9
movzx ecx, word [0x180053ba4]
mov rax, qword [rbp - 0x60]
add rax, rcx
xor ecx, ecx
mov qword [rbp - 0x60], rax
lea eax, [r14 - 0x13]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x5c]
mov r8b, byte [0x180053d1c]
add eax, 0x41
mov dword [rsp + 0x5c], eax
call fcn.18002f488
movsx ebx, al
test al, al
je 0x18002e810
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
cmp ax, 0x3e
movzx edx, ax
mov ecx, r15d
mov dword [rsp + 0x68], edx
setne cl
mov eax, r15d
test dx, dx
setne al
cmp eax, ecx
jne 0x18002e7d1
test r13d, r13d
je 0x18002e7a3
mov dword [0x180053c74], 0xbebb
mov eax, dword [0x180053ce8]
mov dword [0x180053d18], eax
jmp 0x18002e810
mov al, byte [0x180053b8b]
test al, al
je 0x18002e7b9
mov rbx, qword [rbp - 0x80]
sub ebx, 0xe467
jmp 0x18002e810
mov rax, qword [0x180053cd8]
test rax, rax
je 0x18002e810
mov rax, qword [rbp - 0x70]
add al, 0x15
mov byte [rsp + 0x51], al
jmp 0x18002e810
mov eax, dword [0x180053cec]
cmp ebx, eax
jbe 0x18002e7fa
mov rcx, qword [rbp - 0x60]
movsxd rax, r13d
cmp rcx, rax
jge 0x18002e7fa
mov rax, qword [0x180053d10]
shl rax, 3
mov dword [0x180053c54], eax
jmp 0x18002e810
mov eax, r13d
not eax
cmp eax, dword [0x180053c14]
jl 0x18002e810
movsx ebx, dx
add ebx, 0x3d7e6b1d
mov rsi, qword [rbp - 0x28]
mov r8d, 0x115
mov rax, qword [0x180053cc8]
imul r10, rsi, 0x50e814cf
mov byte [0x180053ba6], 0x67
mov r9d, 0x10b
movzx eax, word [0x180053cb8]
mov ecx, r15d
movzx edx, word [0x180053cd4]
test ax, ax
sete cl
movzx ecx, cx
imul ecx, edx
add dx, di
mov word [0x180053cd4], dx
mov word [0x180053d1c], cx
mov qword [rbp - 0x48], r10
sub r9, rdi
jne 0x18002e835
mov eax, dword [0x180053cb0]
add eax, edi
mov dword [0x180053cb0], eax
sub r8, rdi
jne 0x18002e82f
mov edx, dword [rbp]
mov ecx, 0xffffff3e
mov eax, dword [rbp - 0x30]
add edx, eax
mov r8d, dword [rbp]
mov eax, dword [rbp - 0x30]
add r8d, eax
mov eax, dword [rsp + 0x5c]
xor r8d, edx
mov edx, dword [rsp + 0x5c]
sub ecx, r8d
add ecx, eax
mov eax, dword [rsp + 0x5c]
movups xmm0, xmmword [0x18003cd48]
add edx, ecx
lea rcx, [rbp + 0x1e8]
movsd xmm1, qword [0x18003cd58]
add eax, edx
mov dword [rbp - 0x30], eax
movups xmmword [rbp + 0x1e8], xmm0
movsd qword [rbp + 0x1f8], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
xor r8d, r8d
mov qword [0x180053ca8], rcx
mov dl, 0xc0
mov cl, 0x7c
call fcn.18002f394
movzx eax, al
xor ecx, ecx
mov dword [0x180053bd4], eax
mov eax, dword [0x180053bd4]
mov rdx, qword [rbp - 0x70]
call fcn.18002f6c4
mov cl, al
mov byte [0x180053ba3], al
not cl
movzx edx, cl
mov ecx, r15d
shr edx, 7
cmp al, 0x3f
setge cl
cmp edx, ecx
jne 0x18002e97a
cmp word [0x180053cc0], r15w
je 0x18002e97a
movzx ecx, byte [0x180053ba7]
mov eax, 0xbb58e268
mov qword [0x180053cd8], rax
mov eax, dword [0x180053bd4]
sub ecx, eax
mov r8d, dword [0x180053ce8]
mov rdx, qword [0x180053d10]
add r8d, ecx
mov rax, qword [rbp - 0x60]
add rdx, rax
mov rax, qword [rsp + 0x70]
add rax, rdx
test r8, rax
mov eax, r15d
sete al
mov dword [rsp + 0x60], eax
movsx rcx, word [0x180053cd4]
mov rax, qword [rbp - 0x70]
cmp rax, rcx
ja 0x18002e994
movsx ebx, word [0x18143fa68]
jmp 0x18002e9b3
mov rcx, qword [0x180053cd8]
mov rax, qword [rbp - 0x80]
sub rcx, rax
mov rax, qword [0x180053cd8]
add rax, rcx
mov qword [0x180053cd8], rax
mov eax, dword [rbp - 0x34]
lea r9, [rbp + 0x50]
mov rdx, qword [0x1811f6af0]
lea rcx, [0x18000db38]
mov qword [rsp + 0x40], r15
mov r8d, 0xdf
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x40], r15
call fcn.1800181fc
mov ecx, dword [rbp + 0x2c]
lea r9, [rbp + 0x48]
movzx ecx, word [0x181208b00]
mov r15, rax
sub word [0x180053cd0], cx
mov r8d, 0xde
mov ecx, dword [rbp - 0x58]
mov qword [rbp - 0x20], rax
mov eax, 0xc99ceb5b
mov qword [rsp + 0x70], rax
movabs rax, 0x99c07618c3abe
mov ecx, dword [rbp + 0x30]
mov ecx, dword [rbp + 0x34]
imul rsi, rax
mov eax, dword [rbp + 4]
lea rcx, [0x18000db38]
mov eax, dword [rbp + 4]
mov rdx, qword [0x1811f6af0]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov rdi, qword [rbp - 0x40]
mov r13, rax
movzx ecx, byte [0x180053b8f]
add edi, 0x69
mov qword [rbp - 0x80], rax
mov byte [0x180053ba3], 0x69
cmp ecx, edi
jne 0x18002ebb6
mov esi, dword [rbp - 0x54]
mov r15d, 0xe1
mov r12d, dword [rsp + 0x68]
add esi, 0xed
xor r13d, r13d
xor ecx, ecx
call fcn.18002f570
movsx ecx, al
mov word [0x180053cfc], cx
movzx eax, word [0x180053cfc]
test ax, ax
jne 0x18002eaf4
mov rdx, qword [0x180053cc8]
mov ecx, 0xc
call fcn.18002f6c4
movsx rcx, ax
mov qword [rbp - 0x70], rcx
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x18002eb31
mov ecx, 4
jmp 0x18002eb03
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x18002eb09
mov ecx, dword [0x1811f6af8]
mov qword [rbp - 0x28], rcx
jmp 0x18002eb31
mov eax, dword [0x180053cec]
not eax
test eax, eax
je 0x18002eb31
mov ecx, dword [0x180053cec]
mov eax, dword [0x180053cec]
sub ecx, eax
mov eax, dword [0x180053d18]
add eax, ecx
mov dword [0x180053cec], eax
movzx eax, word [0x180053d1c]
cmp eax, esi
jne 0x18002eba6
movzx ecx, byte [rsp + 0x51]
mov edx, r13d
mov eax, dword [rsp + 0x60]
cmp eax, ecx
mov eax, dword [rsp + 0x60]
mov ecx, r13d
setne dl
cmp eax, 0x46
setne cl
cmp edx, ecx
jbe 0x18002eb90
cmp ebx, r14d
je 0x18002eb90
lea eax, [r15 + r12]
mov word [0x180053cd4], ax
mov rax, qword [0x180053d10]
mov rcx, qword [0x180053ca0]
sub rcx, rax
mov rax, qword [0x180053d10]
add rax, rcx
mov qword [0x180053d10], rax
movzx eax, byte [0x180053b8f]
mov byte [0x180053ba3], 0x69
cmp eax, edi
je 0x18002eaae
mov r15, qword [rbp - 0x20]
mov r12, qword [rbp - 0x18]
mov r13, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x28]
mov rdi, qword [rbp - 8]
lea eax, [r14 + 0x9e]
movdqa xmm0, xmmword [0x18003ce10]
xor r14d, r14d
movdqa xmm1, xmmword [0x18003ce20]
test rdi, rdi
mov dword [0x180053cec], eax
mov eax, r14d
movzx ecx, word [0x180053ba4]
cmove eax, ecx
mov byte [rbp + 0x78], r14b
mov dword [0x180053d18], eax
mov eax, r14d
movdqu xmmword [rbp + 0x58], xmm0
movdqu xmmword [rbp + 0x68], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x58]
movdqa xmm1, xmmword [0x18003ce50]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x58], xmm1
add rax, 0x10
cmp rax, 0x20
jb 0x18002ec01
movdqa xmm0, xmmword [0x18003cda0]
lea rax, [rbp + 0x58]
movdqa xmm1, xmmword [0x18003cde0]
lea r9, [rbp + 0x100]
movsxd r8, dword [rbp + 0x50]
lea rcx, [0x18000b840]
mov qword [rsp + 0x40], r14
mov rdx, r15
mov qword [rsp + 0x38], r14
movdqu xmmword [rbp + 0x100], xmm0
movdqa xmm0, xmmword [str.b8448e4a6664bbc274a5a800223e8b33466ed1b516d7d2f795352b66b01e701a5d1c729c2e06d52fc057dfc6deeb383f]
movdqu xmmword [rbp + 0x110], xmm1
movdqa xmm1, xmmword [0x18003cdc0]
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
movdqu xmmword [rbp + 0x120], xmm0
movdqu xmmword [rbp + 0x130], xmm1
mov byte [rbp + 0x140], r14b
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov eax, dword [rbp - 0x38]
mov ecx, 0xe1
mov al, byte [rsp + 0x51]
mov r9d, 1
mov rdx, qword [rbp - 0x40]
and rax, rcx
mov qword [0x180053d00], rax
mov eax, dword [rbp + 0x38]
lea r10d, [rcx - 0x12]
mov dword [0x180053ce8], r10d
mov eax, dword [0x180053bd4]
lea r8d, [rdx - 0x22f4808d]
cmp eax, r8d
jne 0x18002ed47
movsx rax, r12b
add rax, qword [0x180053ce0]
cmp rax, r9
jne 0x18002ed43
movsx ecx, byte [rsp + 0x50]
mov edx, r14d
mov eax, dword [0x180053cf8]
cmp eax, ecx
mov eax, dword [0x180053cf8]
mov ecx, r14d
setb dl
cmp eax, 0x2e
setb cl
cmp edx, ecx
jae 0x18002ed31
mov ecx, dword [0x180053d0c]
mov eax, dword [rsp + 0x60]
sub ecx, eax
mov dword [0x180053d0c], ecx
movzx r12d, word [0x180053d08]
mov dword [0x180053ce8], r10d
mov eax, dword [0x180053bd4]
cmp eax, r8d
je 0x18002ece1
mov rdx, qword [rbp - 0x40]
mov ecx, 0x397
mov rax, qword [0x180053ce0]
sub ecx, r9d
add qword [0x180053ca8], rax
mov eax, dword [0x180053bd4]
add eax, r9d
mov dword [0x180053bd4], eax
test ecx, ecx
jg 0x18002ed4c
mov eax, dword [rbp - 0x10]
movabs r8, 0x9beb9fad42547
mov eax, dword [rbp - 0x10]
add edx, 0xbbef
mov eax, dword [rbp - 0x10]
mov eax, dword [rbp + 0x3c]
mov eax, dword [rsp + 0x54]
jmp 0x18002edd1
mov rax, qword [0x180053cc8]
add rax, rdi
cmp rax, r9
jne 0x18002ede0
mov rax, qword [rbp - 0x48]
mov eax, dword [0x180053d18]
test eax, eax
mov eax, dword [0x180053cec]
sete cl
test r12b, r12b
sete r12b
add r12b, cl
sub r12b, al
movzx eax, word [0x180053cc4]
sub r12b, 0x2c
add r12b, al
cmp dword [0x180053c14], edx
mov qword [0x180053ce0], r8
je 0x18002ed92
mov rax, qword [rsp + 0x70]
mov eax, dword [rbp - 0x4c]
movsxd rcx, dword [0x180053c54]
movabs rax, 0x1c52fd4d2ba98
add rcx, rax
mov eax, dword [rbp + 8]
mov eax, dword [rbp + 8]
mov qword [0x180053ca8], rcx
movsx ecx, r12b
add ecx, r9d
mov dword [0x180053d18], 0xbde31b58
mov eax, dword [0x180053d18]
cmp eax, ecx
jne 0x18002ee69
call qword [sym.imp.USER32.dll_GetFocus]
mov rdi, rax
test rax, rax
je 0x18002ee44
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov eax, dword [0x180053ce8]
mov r12d, 1
cmp eax, r12d
jne 0x18002ee6f
mov eax, dword [0x180053ce8]
movsx ecx, al
imul eax, ecx, 0xffffffa9
mov byte [0x180053ba3], al
jmp 0x18002ee6f
mov r12d, 1
mov dword [0x180053d18], 0xbde31b58
mov r9d, 0x233e00
mov al, byte [rsp + 0x50]
mov r8, r13
mov eax, dword [rbp + 0xc]
mov edx, 0x10
mov eax, dword [rbp + 0xc]
mov rcx, r15
mov eax, dword [rbp + 0x10]
mov eax, dword [rbp + 0x10]
mov eax, dword [rbp + 0x14]
mov eax, dword [rbp + 0x14]
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.18000fdc8
xor eax, eax
lea rcx, [rbp - 0x50]
mov byte [rbp - 0x50], al
call fcn.18002786c
test eax, eax
je 0x18002f213
call fcn.1800254f0
mov rdx, qword [0x1811f6af0]
lea r9, [rbp + 0x40]
mov qword [rsp + 0x40], r14
lea rcx, [0x18000db38]
mov qword [rsp + 0x38], r14
mov r8d, 0xe4
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800181fc
movdqa xmm0, xmmword [0x18003cdd0]
mov rdi, rax
movdqa xmm1, xmmword [0x18003cdb0]
mov dword [0x180053cb0], 0xb3
mov rcx, qword [0x180053cc8]
add rcx, rcx
mov dword [0x180053cf8], ecx
mov ecx, dword [rbp + 0x20]
mov ecx, dword [rbp + 0x20]
mov ecx, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
mov eax, dword [rsp + 0x64]
movdqu xmmword [rbp + 0xd0], xmm0
mov rax, r14
mov byte [rbp + 0xf0], r14b
movdqa xmm0, xmmword [0x18003ce30]
movdqu xmmword [rbp + 0xe0], xmm1
mov byte [rbp + 0xc0], r14b
movdqa xmm1, xmmword [0x18003cdf0]
movdqu xmmword [rbp + 0x80], xmm0
movdqa xmm0, xmmword [0x18003ce40]
movdqu xmmword [rbp + 0x90], xmm1
movdqa xmm1, xmmword [0x18003ce00]
movdqu xmmword [rbp + 0xa0], xmm0
movdqu xmmword [rbp + 0xb0], xmm1
movdqu xmm0, xmmword [rbp + rax + 0x80]
movdqa xmm1, xmmword [0x18003ce60]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0x80], xmm1
add rax, 0x10
cmp rax, 0x40
jb 0x18002efac
movsxd r8, dword [rbp + 0x40]
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x40], r14
lea r9, [rbp + 0x80]
mov qword [rsp + 0x38], r14
lea rcx, [0x18000b840]
mov qword [rsp + 0x30], r14
mov rdx, rdi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.1800181fc
mov rax, qword [rbp - 0x60]
movzx ecx, al
imul eax, ecx, 0x79
mov byte [0x180053ba7], al
call qword [sym.imp.USER32.dll_GetCapture]
mov ecx, eax
mov qword [rbp - 0x60], rcx
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x18002f07e
mov eax, dword [0x18003cd80]
lea rcx, [rbp + 0x1c0]
movups xmm0, xmmword [0x18003cd60]
mov dword [rbp + 0x1e0], eax
movups xmm1, xmmword [0x18003cd70]
movzx eax, word [0x18003cd84]
movups xmmword [rbp + 0x1c0], xmm0
mov word [rbp + 0x1e4], ax
movups xmmword [rbp + 0x1d0], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x180053bd4], eax
jmp 0x18002f09d
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x18002f09d
movzx ecx, byte [0x180053b8b]
mov eax, dword [rsp + 0x60]
add ecx, 0xffff30ef
add eax, ecx
mov dword [rsp + 0x60], eax
mov ecx, 0xdd0b7f73
mov dword [0x180053c74], ecx
mov eax, dword [0x180053c74]
mov dword [0x180053c74], ecx
movabs rax, 0x9043a14480368
movsxd rcx, dword [0x180053ce8]
sub rax, rcx
add qword [0x180053ca8], rax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x18002f0ef
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, r12d
call qword [sym.imp.USER32.dll_GetSubMenu]
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor r9d, r9d
mov qword [rsp + 0x40], r14
xor r8d, r8d
mov qword [rsp + 0x38], r14
xor edx, edx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800181fc
mov r9, qword [rbp + 0x40]
mov rdx, rax
mov r8, rdi
or rcx, 0xffffffffffffffff
call fcn.180028530
mov ecx, dword [rbp - 0x30]
mov edi, eax
mov ecx, dword [rbp + 0x18]
mov ecx, dword [rbp + 0x18]
mov ecx, dword [rbp + 0x28]
mov ecx, dword [rbp + 0x1c]
mov ecx, dword [rbp + 0x1c]
mov ecx, 0x4aa77d72
mov dword [0x180053d0c], ecx
mov eax, dword [0x180053d0c]
cmp eax, dword [rsp + 0x6c]
jne 0x18002f189
test rsi, rsi
je 0x18002f183
mov rax, qword [0x180053d10]
test rax, rax
jne 0x18002f183
mov al, byte [rsp + 0x51]
test al, al
je 0x18002f183
movzx eax, word [0x180053cfc]
add bl, 0x71
mov byte [0x180053ba6], bl
mov eax, dword [0x180053c54]
mov dword [0x180053d0c], ecx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov eax, dword [rbp + 0x24]
xor r9d, r9d
mov eax, dword [rbp + 0x24]
xor r8d, r8d
mov eax, dword [rsp + 0x78]
mov edx, 0x1388
mov rcx, qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.1800181fc
movsx eax, byte [rsp + 0x50]
imul eax, eax, 0x47
movsxd rcx, eax
mov eax, edi
add qword [0x180053ca0], rcx
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.18002fd30
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor ecx, ecx
call fcn.180032d64
int3