Function at 0x14002453c
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x1400499b8]
xor rax, rsp
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0x120]
xor ebx, ebx
mov qword [rbp - 8], rax
mov rsi, r8
movzx eax, word [0x140049848]
mov r12, rdx
mov r8d, dword [0x1400497c4]
movabs rax, 0x70f2dd3d1d81
movsxd r10, dword [0x1400497cc]
mov edx, ebx
mov qword [rbp - 0x78], rax
mov r14d, 0x16b6e716
mov eax, 0xffffd36a
mov qword [rbp + 0x28], r9
mov word [rsp + 0x50], ax
movsx rax, word [0x14004982c]
movzx r13d, byte [0x140049736]
mov qword [rbp - 0x30], rax
movsx rdi, word [0x140049810]
movzx eax, byte [0x140049737]
movzx r9d, byte [0x14004974f]
mov qword [rsp + 0x78], rax
movabs rax, 0xa52883572faf2
mov qword [rbp - 0x38], rax
mov eax, 0x7e71
mov dword [rsp + 0x60], 0xf3
mov word [rsp + 0x5c], ax
mov eax, 0x677d
mov word [rsp + 0x58], ax
mov rax, qword [0x1400497d8]
mov qword [rbp - 0x50], rax
mov rax, qword [0x140049830]
mov rax, qword [0x1400497f8]
mov qword [rbp + 8], rax
movabs rax, 0x82a72365a9b39
mov qword [rbp + 8], rax
mov eax, 0xffff94e4
mov word [rsp + 0x50], ax
mov dword [rsp + 0x68], 0x100c69f
mov eax, dword [0x1400497f4]
mov eax, dword [0x1400497e8]
mov byte [rsp + 0x50], al
mov eax, 0xffffebd8
mov word [rsp + 0x50], ax
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x304
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x5c], eax
lea ecx, [rbx + 1]
movzx eax, word [0x1400497d0]
mov eax, dword [rsp + 0x6c]
add eax, 0x1a8
mov dword [rsp + 0x74], r8d
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x6c]
mov r11d, dword [0x140049820]
add eax, 0x2fc
mov dword [rsp + 0x68], eax
add r11d, 0x448f1186
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x6c], eax
movzx eax, byte [0x140049737]
cmp dword [0x1400497c8], eax
mov eax, ebx
mov qword [rbp - 0x70], r10
setl dl
mov qword [rbp - 0x20], rdi
cmp dword [0x1400497c8], 0x25
mov qword [rbp - 0x48], r9
setl al
mov qword [rbp - 0x80], 0xccb8
mov dword [rbp - 0x60], 0x6ec077d7
cmp edx, eax
jae 0x140024746
test r9, r9
jne 0x14002470d
mov eax, dword [0x1400497e4]
test eax, eax
jne 0x14002470d
mov ecx, ebx
movzx eax, r8w
cmp ecx, eax
jb 0x14002472e
imul rax, rdi, 0xccb8
mov ecx, ebx
test rax, rax
mov eax, dword [0x140049840]
sete cl
cmp eax, ecx
je 0x140024761
movsx rcx, word [0x140049828]
mov rax, qword [rbp - 0x78]
add ax, cx
mov word [0x140049828], ax
jmp 0x140024761
mov ecx, dword [0x140049840]
imul ecx, dword [0x1400497c8]
mov eax, dword [0x140049840]
sub eax, ecx
mov dword [0x140049840], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x1b6
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x2a5
mov dword [rbp - 0x28], eax
mov eax, 0x835
mov byte [0x14004974e], bl
mov r15d, dword [rsp + 0x60]
movsxd rcx, dword [0x1400497cc]
sub r15w, ax
movabs rax, 0x50b11b1fd43d9
sub rcx, rax
mov qword [0x140049830], rcx
mov al, byte [0x14004974e]
test al, al
jne 0x1400247c2
mov eax, dword [0x140049844]
add ax, 0x13
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x6c]
add eax, 0x1e4
mov dword [rsp + 0x68], eax
movsx eax, word [0x14004982c]
imul eax, eax, 0xf4
or r11d, eax
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x6c], eax
movzx eax, word [0x140049848]
add al, 0x1c
mov dword [rsp + 0x64], r11d
mov byte [0x140049736], al
mov eax, dword [rsp + 0x6c]
add eax, 0x3cd
mov dword [rsp + 0x68], eax
test r13b, r13b
je 0x14002481d
movsxd rax, dword [0x140049804]
xor r10, rax
mov qword [rbp - 0x70], r10
mov eax, dword [rsp + 0x6c]
add eax, 0xe1
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x20
mov dword [rsp + 0x6c], eax
movzx eax, byte [0x140049776]
movsx ecx, byte [0x14004974b]
mov edi, dword [0x140fd4870]
mov word [0x141198f58], ax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov edx, ebx
mov ecx, ebx
cmp ax, 0x5f
mov dword [rbp - 0x68], eax
seta dl
test ax, ax
setne cl
cmp ecx, edx
jne 0x1400248bc
mov ecx, dword [0x1400497c4]
mov r8d, 1
mov ecx, dword [0x1400497cc]
cmp ecx, r8d
jg 0x1400248bc
mov byte [0x140049776], 0x45
movzx eax, word [rsp + 0x5c]
mov edx, dword [0x140049844]
movzx ecx, byte [0x14004974f]
xor ecx, eax
movzx eax, byte [0x14004974f]
imul edx, ecx
sub edx, eax
mov eax, dword [rsp + 0x60]
add ax, dx
add ax, r8w
mov word [rsp + 0x5c], ax
mov eax, 0xffff8900
mov qword [rbp + 0x10], rbx
mov word [rsp + 0x50], ax
mov eax, 8
mov qword [rbp], rax
movsxd rax, dword [0x1400497cc]
cmp rdi, rax
jg 0x1400248f0
movsx rax, word [0x141009562]
add qword [0x140049808], rax
jmp 0x14002491f
movsx ecx, byte [0x14004974b]
sub ecx, dword [rsp + 0x64]
mov rax, qword [rbp - 0x20]
not ecx
not rax
or rcx, rax
mov rax, rbx
sete al
mov qword [rbp - 0x30], rax
movzx eax, word [0x14004981c]
mov word [0x14004981c], ax
mov dword [rbp - 0x40], ebx
call qword [sym.imp.USER32.dll_GetCursor]
test rax, rax
je 0x140024935
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCursorPos]
mov dword [rbp - 0x64], ebx
mov qword [rbp - 0x78], 1
movzx eax, word [rsp + 0x5c]
add ax, word [0x1400497d4]
mov word [rsp + 0x5c], ax
mov ecx, dword [0x1400497e8]
mov eax, dword [0x1400497e8]
sub ecx, eax
mov eax, dword [0x1400497f4]
sub ecx, eax
mov dword [0x1400497e8], ecx
mov rax, qword [rbp - 0x78]
movsx eax, word [0x14004982c]
mov edx, dword [0x1400497f4]
xor edx, eax
mov eax, dword [0x1400497f4]
and eax, edx
mov qword [0x140049820], 0x16b5e871
mov dword [0x1400497f4], eax
mov edx, ebx
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x78]
mov ecx, ebx
mov rax, qword [rbp - 0x78]
mov cl, al
cmp ebx, ecx
jae 0x1400249c8
mov eax, dword [0x1400497ec]
movzx eax, word [0x140049800]
and ax, word [rsp + 0x64]
mov word [0x140049800], ax
cmp rdi, qword [0x1400497f8]
jne 0x1400249e4
cmp qword [rbp - 0x20], rbx
mov eax, ebx
mov r14d, dword [0x140049840]
sete al
sub r14d, eax
mov ecx, dword [0x14004978c]
xor r9d, r9d
mov rax, qword [rbp - 0x78]
xor r8d, r8d
movdqa xmm0, xmmword [0x140036b80]
sub rcx, rax
mov eax, dword [0x14004978c]
mov rdx, r12
movdqa xmm1, xmmword [0x140036b90]
or eax, ecx
mov dword [0x14004978c], eax
lea rcx, [0x14000d7ec]
movzx eax, word [0x14004981c]
xor ax, word [0x140049820]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
movdqu xmmword [rbp + 0x38], xmm0
mov qword [rsp + 0x30], rbx
movdqa xmm0, xmmword [0x140036b70]
mov qword [rsp + 0x28], rbx
mov word [0x14004981c], ax
movdqu xmmword [rbp + 0x58], xmm0
mov dword [rbp + 0x68], 0x5a415b41
movdqu xmmword [rbp + 0x48], xmm1
mov dword [rbp + 0x6c], 0x58415941
mov dword [rbp + 0x70], 0xff58595a
mov word [rbp + 0x74], 0x90e0
mov qword [rsp + 0x20], rbx
call fcn.140012594
mov rdx, rax
test rax, rax
jne 0x140024b4c
mov ecx, dword [0x140fd4870]
mov r15d, 0x5120
mov dword [rsp + 0x70], ecx
mov ecx, dword [rsp + 0x70]
add ecx, 0x178
mov dword [rsp + 0x54], ecx
mov ecx, dword [rsp + 0x70]
add ecx, 0x63
mov dword [rsp + 0x68], ecx
movsxd rcx, dword [0x140049804]
mov rax, qword [rbp - 0x38]
add rax, rcx
mov qword [rbp - 0x38], rax
mov eax, dword [rsp + 0x70]
add eax, 0x203
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x54]
imul ecx, eax, 0x3d6
cmp ecx, 0x34
je 0x140024b4c
lea rcx, [0x140036a90]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rdx, qword [rbp - 0x70]
movabs rbx, 0x4e2c5588f0c53
add rbx, rdx
jmp 0x140024b32
movzx ecx, word [0x140049800]
mov eax, 1
add rcx, rdx
cmp rcx, rax
jne 0x140024b45
mov rcx, qword [0x140049808]
call qword [sym.imp.USER32.dll_GetTopWindow]
mov rdx, qword [rbp - 0x70]
mov dword [0x1400497e4], eax
movsxd rax, dword [0x1400497cc]
mov byte [0x14004974f], 0x56
cmp rax, rbx
je 0x140024b07
xor eax, eax
jmp 0x140025d97
mov qword [rsp + 0x40], rbx
lea rcx, [0x14000facc]
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov r8, rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.140012594
mov qword [rbp + 8], rax
mov rsi, rax
test rax, rax
jne 0x140024bbc
mov rcx, qword [0x140049830]
mov rax, qword [rbp - 0x78]
imul rcx, rax
mov rax, qword [rbp - 0x78]
sub rax, rcx
mov qword [rbp - 0x78], rax
cmp qword [rsp + 0x78], rbx
je 0x140024baf
mov r9d, dword [rsp + 0x74]
movzx eax, r9w
jmp 0x140024bb4
movsx eax, word [rsp + 0x58]
cdqe
mov qword [rbp - 0x38], rax
jmp 0x140024b45
mov r9, qword [rbp - 8]
lea rcx, [0x1400221b8]
mov rdx, qword [rbp - 0x18]
add r9, 0x3e
mov qword [rsp + 0x40], rbx
mov r8, rsi
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.140012594
mov qword [rbp - 0x10], rax
test rax, rax
jne 0x140024c3a
mov eax, dword [0x140036b48]
lea rcx, [rbp + 0x90]
movups xmm0, xmmword [str.x_iscii_be]
mov dword [rbp + 0xa0], eax
movzx eax, word [0x140036b4c]
movups xmmword [rbp + 0x90], xmm0
mov word [rbp + 0xa4], ax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
mov qword [rbp - 0x38], rcx
jmp 0x140024b45
test r14d, r14d
jne 0x140024c67
mov rax, qword [rbp - 0x48]
not ax
sub ax, word [0x140049820]
add ax, di
mov word [rbp - 0x68], ax
mov eax, dword [0x1400497e4]
add eax, 0x2674530e
mov dword [0x1400497c8], eax
jmp 0x140024c8a
movzx eax, word [rsp + 0x58]
movsx rax, word [0x140049848]
movzx ecx, word [0x140049848]
add rax, qword [rsp + 0x78]
xor cx, ax
mov word [0x140049848], cx
lea rax, [rbp + 0x10]
mov r9, rsi
sub r9, rax
mov r8, rbx
mov r12d, 1
mov eax, dword [0x1400497cc]
mov ecx, dword [0x1400497c0]
sub ecx, eax
mov eax, dword [0x1400497cc]
add eax, ecx
lea rcx, [rbp + 0x10]
mov dword [0x1400497cc], eax
add rcx, r8
movsx eax, word [0x14004974c]
add r8, r12
mov edx, dword [0x1400497c4]
xor edx, eax
mov eax, dword [0x1400497c4]
sub eax, edx
mov dword [0x1400497c4], eax
mov al, byte [r9 + rcx]
mov byte [rcx], al
cmp r8, 8
jl 0x140024c9d
mov rdx, qword [rbp + 0x10]
lea r8, [rbp + 0x38]
mov qword [rsp + 0x40], rbx
lea rcx, [0x14002411c]
mov qword [rsp + 0x38], rbx
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.140012594
mov al, byte [0x1400497d4]
lea r8, [rbp]
movzx ecx, byte [0x140049818]
not al
movzx edx, al
mov r9d, 0x40
mov al, byte [0x14004974f]
imul edx, ecx
not al
add dl, al
movzx eax, word [0x140049848]
neg ax
not dl
mov rax, qword [rbp - 0x50]
sbb cl, cl
mov qword [rbp + 0x18], rsi
not cl
and cl, 0x60
sub dl, cl
mov rcx, qword [rbp - 0x18]
add al, dl
lea rdx, [rbp + 0x18]
mov byte [0x140049737], al
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.1400027c3
mov ecx, dword [rbp - 0x5c]
mov esi, eax
cmp ecx, 0x1ab
je 0x140024e81
movsx rcx, byte [0x14004974e]
call qword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov byte [0x14004974e], al
mov r9d, 0xffffd820
mov word [0x1400497d0], r9w
movsx edx, word [0x1400497d0]
movsx eax, word [rsp + 0x50]
add edx, eax
mov eax, dword [0x1400497ec]
cmp eax, edx
jne 0x140024e69
cmp r14d, 0x34
mov r8d, ebx
seta r8b
cmp r14d, dword [0x1400497c8]
mov eax, ebx
seta al
cmp eax, r8d
jbe 0x140024e10
mov al, byte [0x14004974e]
mov ecx, 0xffff841b
movsx edx, word [rsp + 0x5c]
add al, 0x1c
movsx ecx, cx
imul edx, ecx
mov byte [0x14004974f], al
mov word [0x1400497d0], dx
movsx edx, word [rsp + 0x50]
movsx eax, word [0x14004982c]
add edx, 0x837b
cmp eax, edx
jne 0x140024e69
mov ecx, dword [0x1400497cc]
add ecx, 0x757a5a40
movzx eax, r15w
add eax, ecx
mov dword [rbp - 0x60], eax
mov rax, qword [rbp - 0x30]
xor dword [0x1400497c0], eax
mov word [0x1400497d0], r9w
movsx edx, word [0x1400497d0]
movsx eax, word [rsp + 0x50]
add edx, eax
mov eax, dword [0x1400497ec]
cmp eax, edx
je 0x140024dda
test esi, esi
je 0x140024e81
mov rcx, qword [rbp - 0x50]
movsx rax, r13b
add rcx, rax
mov qword [rbp - 0x50], rcx
jmp 0x140025d95
mov r10d, dword [rsp + 0x64]
mov esi, 0x98e756f2
mov r9d, dword [rsp + 0x74]
mov dl, r10b
mov r11d, dword [rbp - 0x60]
not dl
mov r8, qword [rbp - 0x70]
add dl, r11b
mov al, r9b
movsx r12d, dl
sub al, byte [0x1400497f8]
mov edx, ebx
movsx ecx, al
imul r12d, ecx
mov ecx, dword [0x1400497ec]
mov eax, dword [0x1400497c4]
xor ecx, eax
mov rax, qword [rbp - 0x10]
cmove edx, r13d
mov dword [rbp + 0x30], 0xe8
sub rax, qword [rbp + 8]
sub r12b, dl
sub rax, 5
mov byte [rbp + 0x34], bl
mov qword [rbp + 0x20], rax
add r8, 0x97
mov qword [0x140049830], rsi
movzx eax, byte [0x140049776]
cmp rax, r8
jne 0x140024f98
mov r13d, 0x40
movsx ecx, word [rsp + 0x50]
mov eax, dword [0x1400497cc]
add eax, ecx
cmp eax, 1
jne 0x140024f98
movzx eax, word [rsp + 0x5c]
cmp ax, r9w
je 0x140024f6e
movsxd rax, dword [0x1400497e4]
mov edx, ebx
cmp rax, rdi
mov ecx, ebx
mov eax, dword [0x1400497e4]
setl dl
cmp eax, 0x1b
setl cl
cmp edx, ecx
je 0x140024f5f
cmp qword [0x140049808], rbx
je 0x140024f56
mov r12b, byte [rbp - 0x30]
jmp 0x140024f81
mov r12d, dword [0x1400497f4]
jmp 0x140024f81
test rdi, rdi
je 0x140024f81
mov word [0x140049818], r13w
jmp 0x140024f81
movzx eax, word [0x140049848]
mov ecx, 0x6f0b
add ax, cx
mov word [rbp - 0x68], ax
mov qword [0x140049830], rsi
movzx eax, byte [0x140049776]
cmp rax, r8
je 0x140024f09
mov ecx, dword [0x1400497c4]
mov rax, qword [0x140049830]
cmp rcx, rax
jae 0x140025021
mov eax, dword [0x1400497e8]
test eax, eax
je 0x140024fc2
movsx rax, word [0x141009382]
mov qword [rbp - 0x48], rax
jmp 0x14002503b
mov eax, dword [rsp + 0x60]
mov ecx, ebx
cmp dword [0x1400497d4], eax
mov r8d, 0xccb8
mov eax, ebx
setne cl
cmp r14d, r8d
seta al
cmp eax, ecx
je 0x140024ffd
movzx eax, word [0x140049818]
mov r8, qword [rbp - 0x48]
shl eax, 6
mov dword [0x1400497e4], eax
imul r8, r10
jmp 0x140025037
mov rax, qword [rbp - 0x50]
movzx eax, word [rsp + 0x58]
mov eax, dword [0x1400497e8]
add eax, edi
mov qword [0x1400497d8], 0x95c7
mov dword [0x1400497e8], eax
jmp 0x14002503b
movzx eax, word [0x140049734]
movzx eax, word [0x1400497f0]
mov r8, qword [rbp - 0x48]
imul r8, rax
mov qword [rbp - 0x48], r8
movzx r14d, word [rbp - 0x68]
mov eax, 0x2373
add r14w, ax
mov rsi, rbx
cmp dword [0x1400497c0], ebx
je 0x14002512e
movsx rcx, r12b
call qword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov byte [0x14004974b], al
test rdi, rdi
jne 0x140025074
movzx eax, word [0x14004981c]
movsxd rcx, dword [0x1400497e8]
cmp rdi, 0x93
mov rax, qword [0x140049838]
mov edx, ebx
sete dl
cmp rax, rcx
mov ecx, 1
adc edx, ebx
cmp edx, ecx
jb 0x14002517f
movzx eax, word [rsp + 0x50]
test ax, ax
je 0x1400250b5
cmp byte [0x140049737], bl
mov r8d, ecx
jne 0x1400250b8
mov r8d, ebx
movzx eax, word [0x140049810]
mov ecx, ebx
mov r13d, dword [rsp + 0x74]
test ax, ax
mov eax, dword [rsp + 0x60]
mov edx, ebx
sete cl
cmp ecx, eax
setle dl
sub edx, r8d
not edx
test edx, edx
je 0x1400250f7
mov ecx, dword [0x1400497f4]
movzx eax, r13w
add ecx, eax
mov dword [0x1400497f4], ecx
jmp 0x140025184
movzx eax, word [0x140049848]
mov ecx, dword [0x14004978c]
mov r8, qword [rbp - 0x70]
mov r9, qword [rsp + 0x78]
movzx eax, r15w
cmp eax, ecx
ja 0x14002518d
mov eax, dword [0x1400497ec]
sar eax, 5
movsxd r10, eax
mov qword [rbp - 0x80], r10
mov byte [0x14113c661], dil
jmp 0x140025191
test r10d, r10d
je 0x140025160
mov r9, qword [rsp + 0x78]
movabs rax, 0x4cafc651abbd3
movsx rdi, word [0x14004981c]
mov r13d, dword [rsp + 0x74]
imul rdi, rax
lea r8, [r9 - 0xda]
mov qword [rbp - 0x70], r8
jmp 0x14002518d
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x1400251cb
movzx eax, word [0x140049848]
mov ecx, 0x1558
add ax, cx
mov word [0x140049818], ax
mov r13d, dword [rsp + 0x74]
mov r9, qword [rsp + 0x78]
mov r8, qword [rbp - 0x70]
mov r10, qword [rbp - 0x80]
mov rcx, qword [0x1400497f8]
mov edx, ebx
cmp rcx, qword [rbp - 0x20]
mov eax, ebx
mov r11d, 8
seta dl
cmp rcx, 0x2a
seta al
cmp edx, eax
jb 0x14002520c
movsxd rcx, dword [rsp + 0x60]
mov rax, qword [rbp - 0x38]
sub ecx, eax
sub ecx, 0x14b2f25e
mov dword [rsp + 0x60], ecx
jmp 0x14002521f
cmp qword [0x140049808], rbx
je 0x14002517f
mov r10, qword [rbp - 0x80]
mov r13d, dword [rsp + 0x74]
mov r8, qword [rbp - 0x70]
mov r9, qword [rsp + 0x78]
test r10, r10
je 0x140025191
mov eax, dword [0x140049814]
add eax, 0xffff8d6e
movsxd rcx, eax
lea eax, [r11 + 0xd3ee]
and qword [rbp - 0x20], rcx
mov dword [0x1400497cc], eax
jmp 0x140025191
lea rax, [rdi - 0x43f]
mov word [0x1400497f0], r11w
mov qword [rbp - 0x50], rax
mov eax, dword [0x140fd4870]
mov edx, ebx
mov dword [rsp + 0x70], eax
movsx rcx, word [0x14004982c]
mov rax, qword [rbp - 0x50]
cmp rax, rcx
mov rax, qword [rbp - 0x50]
mov ecx, ebx
sete dl
cmp rax, 0x1b
sete cl
cmp edx, ecx
jbe 0x1400252df
movzx eax, word [0x140049848]
mov edx, 0xee
movsxd rcx, dword [0x1400497e0]
add ax, dx
mov dword [0x1400497d4], 3
mov word [0x140049734], ax
mov eax, dword [0x1400497d4]
test eax, eax
je 0x1400252d0
sub eax, 1
je 0x1400252ae
sub eax, 1
je 0x1400252a2
cmp eax, 1
jne 0x140025300
mov rax, qword [0x1400497f8]
add rax, rax
mov qword [rbp - 0x48], rax
jmp 0x140025300
mov eax, dword [0x140fd4870]
mov qword [rbp - 0x38], rax
jmp 0x140025300
test r8, r8
je 0x1400252ba
movsxd rcx, dword [0x1400497cc]
mov word [rsp + 0x58], cx
mov eax, dword [0x1400497e4]
add al, r11b
mov byte [0x14004974f], al
jmp 0x140025300
mov ecx, 0x52f7
movzx r15d, r9w
sub r15w, cx
jmp 0x140025300
movzx eax, word [0x140049800]
movzx ecx, r10w
mov rax, qword [0x140049838]
test rax, rax
cmovne cx, r9w
mov word [0x1400497f0], cx
mov eax, dword [rsp + 0x70]
add eax, 0xf4
mov dword [rsp + 0x68], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movsxd r11, dword [rbp - 0x60]
mov rdi, rbx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x70]
add eax, 0x168
mov dword [rbp - 0x58], eax
mov eax, dword [0x1400497e8]
test eax, eax
mov rax, qword [rbp - 0x50]
movsx rcx, word [0x14004974c]
sete dil
sub rdi, rax
mov eax, dword [rsp + 0x70]
add eax, 0x387
mov dword [rsp + 0x70], eax
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x54], eax
movsxd rax, dword [0x1410031bc]
mov qword [0x1400497d8], rax
mov eax, dword [rsp + 0x60]
movzx edx, ax
mov eax, 0x29cb
imul rcx, rdi
or rdi, rcx
movzx ecx, word [0x1400497c8]
imul edx, ecx
mov ecx, ebx
add dx, ax
mov eax, dword [rsp + 0x54]
add eax, 0x266
mov word [0x140049818], dx
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x54]
add eax, 0xa2
cmp qword [rbp - 0x48], r11
mov dword [rbp - 0x24], eax
mov eax, ebx
setne cl
cmp qword [rbp - 0x48], 0x21
setne al
cmp ecx, eax
jne 0x1400253f4
mov eax, dword [0x1400497e8]
add r12b, byte [0x140049736]
not eax
movsxd rcx, eax
mov eax, ebx
imul rcx, qword [0x1400497f8]
test r13w, r13w
sete al
sub eax, dword [0x1400497c0]
or eax, ecx
mov dword [0x1400497e8], eax
jmp 0x140025405
mov eax, dword [0x1400497f4]
add eax, 0xeb
mov dword [0x140049804], eax
mov eax, dword [rsp + 0x54]
mov ecx, 0xb7
add eax, 0x6d
mov dword [rsp + 0x54], eax
mov edx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x5c]
imul edx, eax
mov eax, dword [rsp + 0x54]
sub ecx, eax
cmp ecx, edx
je 0x14002548d
movzx eax, word [0x14004974c]
mov ecx, 1
movzx r15d, byte [0x14113c621]
mov eax, 0x97e071db
mov dword [0x140049814], ecx
mov qword [rbp - 0x78], rax
mov ecx, dword [rsp + 0x70]
mov eax, dword [0x1400497f8]
add eax, 0x81da1eed
mov dword [0x1400497c8], eax
mov eax, dword [rbp - 0x58]
xor cl, al
mov edx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x68]
xor dl, al
sub dl, cl
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x70]
sub cl, al
movsx eax, dl
movsx edx, cl
imul edx, eax
add dl, byte [rbp + rsi + 0x20]
mov byte [rbp + rsi + 0x31], dl
mov r10d, dword [rsp + 0x64]
inc rsi
cmp rsi, 4
jl 0x14002504c
mov rax, qword [rbp + 8]
lea rcx, [rbp - 0x64]
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x30]
mov rcx, qword [rbp - 0x18]
mov r9d, 5
mov rdx, rax
mov qword [rbp + 0x18], rax
call fcn.140002125
mov esi, eax
test eax, eax
jne 0x1400254d6
cmp dword [rbp - 0x64], 5
je 0x140025682
call qword [sym.imp.USER32.dll_AnyPopup]
movsx rcx, byte [0x14004974b]
mov word [rbp - 0x68], ax
cmp qword [rbp - 0x70], rcx
jae 0x140025524
movzx eax, word [0x140036b60]
lea rcx, [rbp + 0x78]
movups xmm0, xmmword [str.AuthorizationEndpo]
mov word [rbp + 0x88], ax
mov al, byte [0x140036b62]
mov byte [rbp + 0x8a], al
movups xmmword [rbp + 0x78], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x140049800], ax
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x382
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x54]
add eax, 0x3ce
mov dword [rsp + 0x68], eax
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140025562
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 1]
call qword [sym.imp.USER32.dll_GetUpdateRect]
mov eax, dword [rsp + 0x54]
add eax, 0x21b
mov dword [rbp - 0x24], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x70]
add eax, 0xd1
or ecx, eax
mov eax, dword [rsp + 0x70]
cmp eax, ecx
je 0x140025682
movsx ecx, word [0x140049848]
mov edx, ebx
mov eax, dword [rsp + 0x60]
cmp ecx, eax
movzx eax, word [0x140049848]
mov ecx, ebx
setg dl
cmp ax, 0x52
setg cl
cmp edx, ecx
ja 0x140025625
mov edx, dword [rsp + 0x64]
mov eax, 0xfffff8da
or rdx, qword [rsp + 0x78]
mov r8, qword [rbp - 0x80]
not rdx
mov word [rsp + 0x50], ax
add r8d, 0x308e1b
mov eax, dword [0x1400497c4]
add eax, 0x293
mov dword [0x140049804], eax
movsx eax, word [0x1400497d0]
not eax
cdqe
sub rdx, rax
movsx rax, word [0x14004981c]
add eax, r8d
add eax, edx
cmp word [0x1400497f0], bx
not eax
mov dword [0x140049840], eax
mov eax, dword [0x1400497cc]
jne 0x14002561a
movzx eax, byte [0x140049776]
mov dword [0x14004978c], eax
jmp 0x140025d95
mov rcx, qword [rbp - 0x50]
movzx eax, r13w
add rcx, rax
je 0x140025641
mov eax, dword [0x140fd4870]
mov qword [rbp - 0x50], rax
jmp 0x140025d95
mov eax, dword [rsp + 0x60]
mov edx, ebx
test eax, eax
mov r8d, ebx
movzx eax, byte [0x140049776]
movsxd rcx, dword [0x1400497e8]
sete dl
cmp eax, edx
mov rax, qword [0x140049838]
seta r8b
cmp rax, rcx
setb bl
cmp r8d, ebx
je 0x140025d95
mov eax, dword [rsp + 0x60]
jmp 0x140025d95
mov eax, dword [0x1400497e8]
test eax, eax
je 0x1400256b8
movsx rcx, word [0x1400497d0]
movabs rax, 0x682b8a67bf79e
add rcx, rax
mov eax, edi
mov qword [rbp - 0x30], rcx
movsx ecx, word [0x14004982c]
sub eax, ecx
mov dword [0x1400497e8], eax
jmp 0x1400256fa
mov rax, rbx
movzx ecx, r13w
sub rcx, qword [rbp - 0x48]
cmp word [0x140049818], bx
sete al
cmp rax, rcx
jl 0x1400256fa
mov eax, dword [0x14004978c]
mov ecx, ebx
test eax, eax
sete cl
cmp dword [0x1400497c0], ecx
sete dl
cmp qword [0x1400497f8], rbx
sete al
and al, dl
mov byte [0x140049776], al
mov rax, qword [rbp - 8]
lea r8, [rbp]
mov rcx, qword [rbp - 0x18]
lea rdx, [rbp - 0x10]
add rax, 0x3e
mov r9d, 4
mov qword [rbp], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.1400027c3
mov ecx, dword [rbp - 0x28]
mov esi, eax
imul edx, ecx, 0x338
mov ecx, dword [rbp - 0x28]
cmp edx, ecx
je 0x140025a14
movzx ecx, word [rsp + 0x58]
sub cx, word [rsp + 0x64]
mov word [rsp + 0x58], cx
test eax, eax
je 0x140025a14
movzx ecx, word [0x140049818]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
movabs rcx, 0xe46b06323c837
movzx r8d, r15w
mov eax, eax
mov qword [rbp - 0x30], rax
mov rax, rdi
mov r9, qword [rbp - 0x78]
imul rax, rcx
add r9d, 0x4024
cmp byte [0x140049737], bl
mov qword [0x140049808], rax
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x54], eax
je 0x140025849
movsx eax, word [rsp + 0x58]
cmp eax, r8d
jle 0x1400257c1
movsx rax, word [0x14004982c]
mov qword [0x140ff8ce8], rax
jmp 0x1400258df
cmp word [0x140049818], bx
jne 0x1400258df
mov rax, qword [rbp - 0x78]
mov ecx, ebx
not rax
movabs rdx, 0x96974ce2d2244
cmp rax, rdx
mov eax, ebx
setbe cl
test r15w, r15w
sete al
cmp eax, ecx
jne 0x140025826
movzx eax, byte [0x140049737]
movzx edx, byte [0x14004974f]
movsx ecx, word [0x14004974c]
or edx, eax
movsx eax, r12b
not edx
or ecx, eax
mov eax, ebx
add ecx, edx
sete al
mov word [0x140049734], ax
jmp 0x1400258df
mov eax, dword [0x1400497e8]
mov r10, qword [rbp - 0x80]
test eax, eax
je 0x1400258e3
mov al, byte [0x1400497c0]
mov byte [0x14004974e], al
jmp 0x1400258e3
cmp qword [0x1400497d8], rbx
mov eax, ebx
sete al
cmp eax, r8d
jae 0x140025877
mov r10, qword [rbp - 0x80]
movzx eax, r15w
sub r10, rax
mov eax, 0xdf0
mov word [0x140049828], ax
mov qword [rbp - 0x80], r10
jmp 0x1400258e3
cmp word [rbp - 0x68], bx
mov ecx, ebx
mov eax, dword [0x1400497c4]
mov edx, ebx
sete cl
cmp eax, ecx
mov ecx, ebx
movsx eax, r14w
sete dl
cmp eax, r8d
setge cl
sub ecx, edx
not ecx
test ecx, ecx
je 0x1400258df
movzx ecx, word [0x140049734]
movzx eax, word [0x140049734]
add ax, cx
add ax, word [0x1400497d4]
mov word [0x140049734], ax
movsx eax, word [rsp + 0x58]
imul eax, eax, 0xdc
movsxd rcx, eax
mov rax, qword [0x140049838]
add rax, rcx
mov qword [0x140049838], rax
mov r10, qword [rbp - 0x80]
mov eax, dword [rsp + 0x54]
mov edx, ebx
add eax, 0xb4
mov dword [rbp - 0x58], eax
movsxd rcx, dword [rsp + 0x60]
mov rax, qword [rbp - 0x78]
cmp rax, rcx
mov rax, qword [rbp - 0x78]
mov ecx, ebx
sete dl
cmp rax, 0xa
sete cl
cmp edx, ecx
jne 0x140025936
movzx eax, word [rsp + 0x58]
test ax, ax
je 0x140025936
movzx eax, word [rsp + 0x50]
add ax, r14w
mov word [rsp + 0x50], ax
movsx eax, word [0x140049810]
mov dword [0x1400497c8], eax
mov eax, dword [rsp + 0x54]
mov ecx, ebx
add eax, 0x11b
mov dword [0x1400497c0], 2
mov dword [rsp + 0x68], eax
movsx edx, word [rsp + 0x50]
movzx r8d, byte [0x140049737]
movzx eax, word [0x140049818]
sub edx, r8d
cmp edx, eax
movzx r13d, r8w
sete cl
and r13w, cx
mov ecx, dword [0x1400497c0]
test ecx, ecx
je 0x1400259dd
sub ecx, 1
je 0x140025993
cmp ecx, 1
jne 0x1400259f1
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x60], eax
jmp 0x1400259f1
movsx edx, word [0x140049848]
mov r8d, ebx
movsx eax, word [0x140049848]
sub edx, eax
mov eax, dword [rsp + 0x60]
sub dx, ax
mov word [0x140049848], dx
movsx edx, word [0x14004982c]
movzx eax, word [0x140049734]
not edx
cmp edx, eax
mov eax, dword [rbp - 0x60]
sete r8b
imul eax, r9d
add r8d, eax
mov dword [0x1400497c8], r8d
jmp 0x1400259f1
mov rax, qword [0x140049838]
add rax, 0xb6
mov qword [0x1400497f8], rax
mov eax, dword [rsp + 0x54]
add eax, 0x3f4
mov dword [rbp - 0x24], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rbp - 0x58]
cmp ecx, eax
je 0x140025a18
mov byte [0x140fe836c], r10b
jmp 0x140025d95
mov r13d, dword [rbp - 0x68]
mov r15, qword [rbp - 0x18]
lea rax, [rbp - 0x64]
mov rdx, qword [rbp - 0x10]
lea r8, [rbp + 0x38]
mov rcx, r15
mov qword [rsp + 0x20], rax
mov r9d, 0x3e
call fcn.140002125
mov edx, dword [rsp + 0x6c]
mov r9d, eax
mov ecx, dword [rsp + 0x6c]
imul edx, ecx
imul r8d, edx, 0x2d
mov edx, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x6c]
add edx, ecx
cmp edx, r8d
je 0x140025a9c
mov r8d, dword [rsp + 0x60]
mov edx, ebx
movzx ecx, word [rsp + 0x5c]
test r8d, r8d
cmove dx, cx
mov word [0x1400497d0], dx
movzx eax, word [rsp + 0x5c]
mov ecx, dword [0x140049840]
sub ecx, eax
mov dword [0x140049840], ecx
test r9d, r9d
jne 0x140025a94
cmp dword [rbp - 0x64], 0x3e
je 0x140025a9c
mov eax, r9d
jmp 0x140025d97
mov rdx, qword [rbp - 0x10]
lea rax, [rbp - 0x64]
mov r9, qword [rbp - 8]
add rdx, 0x3e
mov r8, qword [rbp + 0x28]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140002125
mov esi, eax
test eax, eax
jne 0x140025d78
mov edx, dword [rbp - 0x64]
cmp rdx, qword [rbp - 8]
jne 0x140025d78
lea rax, [rbp - 0x40]
mov rcx, r15
lea r9d, [rsi + 0x20]
mov qword [rsp + 0x20], rax
lea r8, [rbp]
lea rdx, [rbp - 0x10]
call fcn.1400027c3
mov r15, qword [rbp - 0x70]
mov esi, eax
test eax, eax
je 0x140025ced
movzx ecx, word [0x140049734]
add qword [rsp + 0x78], rcx
movsxd rcx, dword [0x1400497cc]
cmp rcx, r15
jae 0x140025c42
movsx ecx, word [0x1400497d0]
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r13w, r13w
je 0x140025b72
movsx rcx, word [0x1400497d0]
call qword [sym.imp.USER32.dll_IsZoomed]
mov word [0x1400497d0], ax
mov ecx, dword [0x140049840]
mov eax, dword [0x1400497c4]
cmp ecx, eax
jb 0x140025ba1
cmp qword [0x1400497d8], rbx
mov r8, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x64]
jne 0x140025bab
mov dword [0x140049804], 0xd1fe8a28
jmp 0x140025bab
mov ecx, dword [0x1400497f4]
mov rax, qword [0x140049838]
cmp rax, rcx
jne 0x140025b95
movzx eax, word [0x141140b32]
mov r8, qword [rsp + 0x78]
add r8, rax
jmp 0x140025ba6
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x140025c13
mov rax, qword [rbp - 0x78]
mov r8, qword [rsp + 0x78]
mov r9d, dword [rsp + 0x64]
mov eax, dword [0x140fd4870]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x247
mov dword [rbp - 0x58], eax
mov eax, dword [0x1400497d4]
and eax, 0x19938994
mov dword [0x1400497c8], eax
mov eax, dword [rsp + 0x54]
add eax, 0x33c
mov dword [rsp + 0x68], eax
mov rax, qword [0x140049830]
cmp r8, rax
jne 0x140025c8d
cmp word [0x1400497f0], bx
je 0x140025cc0
movzx eax, byte [0x140049736]
xor eax, 0x6b7cc38b
mov dword [0x140049840], eax
jmp 0x140025cc0
movsxd rax, dword [rsp + 0x60]
cmp qword [0x140049820], rax
mov r9d, dword [rsp + 0x64]
jg 0x140025c83
mov r8, qword [rsp + 0x78]
test r9d, r9d
je 0x140025bab
mov eax, dword [0x1400497e4]
mov dword [rbp - 0x60], eax
jmp 0x140025bab
movzx eax, r13w
add rax, qword [rbp - 0x80]
je 0x140025ba1
mov r9d, dword [rsp + 0x64]
test rdi, rdi
jne 0x140025c83
mov eax, dword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
test eax, eax
je 0x140025bab
movzx eax, word [0x1400497f0]
add eax, 0xc0
mov qword [0x140049808], rax
jmp 0x140025bab
mov r8, qword [rsp + 0x78]
jmp 0x140025bab
movzx eax, word [0x140049734]
test ax, ax
jne 0x140025cb1
mov eax, dword [0x140049844]
mov edx, ebx
test eax, eax
movsx eax, word [0x14004982c]
sete dl
cmp edx, eax
jne 0x140025cc0
mov eax, dword [0x1400497e4]
sub eax, r9d
mov dword [0x1400497e4], eax
mov eax, dword [rsp + 0x54]
add eax, 0x34e
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rbp - 0x58]
sub ecx, eax
mov eax, dword [rbp - 0x5c]
cmp ecx, eax
je 0x140025ced
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [0x1400497c8], eax
jmp 0x140025d95
mov edi, dword [rbp - 0x60]
test edi, edi
je 0x140025d03
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov word [0x1400497d0], ax
jmp 0x140025d31
mov eax, dword [0x140049804]
cmp eax, 0xffffff09
jle 0x140025d21
movsx ecx, word [0x140049848]
movsx eax, r14w
not eax
cmp eax, ecx
jne 0x140025d31
mov al, byte [0x14004974e]
cmp r12b, al
sete byte [0x140049737]
mov r9d, 4
mov r8d, 0x3000
xor ecx, ecx
lea r14d, [r9 + 1]
mov edx, r14d
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8d, 0x8000
mov edx, r14d
mov rcx, rax
mov byte [rax], 0x5e
call qword [sym.imp.KERNEL32.dll_VirtualFree]
movzx eax, word [rsp + 0x50]
test ax, ax
cmovne r15w, di
mov word [0x140049848], r15w
jmp 0x140025d95
call qword [sym.imp.USER32.dll_GetFocus]
test rax, rax
je 0x140025d95
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyMenu]
mov eax, esi
mov rcx, qword [rbp + 0xa8]
xor rcx, rsp
call fcn.1400267f0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret