Function at 0x14001af6c
Capabilities:
Accept command line arguments
Authenticate hmac

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x22a8]
mov eax, 0x2380
call fcn.140026820
sub rsp, rax
mov rax, qword [0x1400499b8]
xor rax, rsp
mov qword [rbp + 0x2270], rax
movzx eax, byte [0x140049513]
xor r10d, r10d
mov word [rsp + 0x60], ax
mov edi, 0xffffc9c8
mov rax, qword [0x1400495f0]
mov r15, qword [0x140049600]
mov r14, qword [0x140049580]
mov eax, dword [0x140049588]
mov sil, byte [0x1400495b0]
mov dword [rsp + 0x78], eax
movsx rax, byte [0x1400494e4]
mov qword [rbp - 0x70], rax
mov eax, 0xa5e230a7
mov r9, qword [0x140049600]
mov qword [rbp - 0x40], rax
mov eax, 0x2d
mov dword [rbp - 0x5c], ecx
movsx ecx, byte [0x1400494e4]
mov dword [rsp + 0x74], ecx
mov r12d, ecx
mov qword [rbp - 0x28], 0xec41bf
mov dword [rsp + 0x68], 0x85ee
mov dword [rsp + 0x6c], 0x57a2
mov word [rsp + 0x5c], ax
mov al, byte [0x1400495e8]
mov byte [rsp + 0x50], al
mov eax, dword [0x1400495d0]
movzx eax, word [0x1400495a4]
mov qword [rbp + 0x90], r8
movsx r8d, word [0x1400495a4]
mov byte [rbp - 0x50], 0x91
mov dword [rsp + 0x64], eax
movzx eax, word [0x1400495d4]
mov dword [rsp + 0x64], eax
mov eax, 0x6966
mov dword [rsp + 0x64], 0x29ef4177
mov qword [rbp + 0x40], 0x51f8
mov word [rsp + 0x70], ax
movzx eax, word [0x1400495e0]
mov word [rsp + 0x70], ax
movzx eax, word [0x1400495b8]
mov word [rsp + 0x70], ax
mov eax, 0xcb12ead6
mov qword [rbp + 0x40], rax
mov byte [rbp - 0x50], 0xa8
mov eax, dword [rsp + 0x78]
xor ax, word [0x140049608]
mov rbx, qword [0x1400495c0]
add bx, ax
mov byte [rbp - 0x18], dl
mov eax, dword [0x140a0f0f0]
add bx, r8w
mov dword [rbp - 0x78], eax
mov edx, r10d
mov eax, dword [rbp - 0x78]
add eax, 0x24d
mov qword [rbp + 8], r9
mov dword [rbp - 0x4c], eax
mov eax, dword [rbp - 0x78]
add eax, 0x372
mov dword [rbp - 0x64], 0x2b
mov dword [rbp - 0x60], eax
mov eax, dword [rbp - 0x78]
add eax, 0x219
mov dword [rsp + 0x64], eax
mov rax, qword [0x1400495c8]
mov eax, dword [0x140a0f0f0]
mov dword [rbp - 0x78], eax
movsx ecx, word [rsp + 0x5c]
mov eax, dword [0x1400495d0]
cmp ecx, eax
movzx eax, word [rsp + 0x5c]
mov ecx, r10d
setb dl
cmp edx, ecx
jae 0x14001b14b
mov rax, qword [0x140049580]
sub rax, 0x6eb34de0
mov qword [0x1400495c8], rax
mov eax, dword [rsp + 0x6c]
sub al, 0x64
mov byte [0x1400494e5], al
mov eax, dword [rbp - 0x78]
add eax, 0x106
mov dword [rbp - 0x7c], eax
movzx eax, word [0x140049554]
imul rax, qword [0x140049610]
test rax, rax
jne 0x14001b1ef
mov eax, dword [rsp + 0x6c]
test r15b, r15b
je 0x14001b1a4
mov eax, dword [0x1400495b0]
lea ecx, [rax + rax]
movzx eax, r14w
sub ecx, eax
movzx eax, word [0x140049594]
mov dword [0x1400495b0], ecx
mov ecx, 0x2fca
sub ax, cx
mov word [0x1400495f8], ax
jmp 0x14001b1ef
mov rax, qword [0x1400495c8]
test rax, rax
je 0x14001b1bf
mov rax, qword [0x1400495c8]
mov r14d, 0xdf0c
jmp 0x14001b1ef
movzx eax, word [rsp + 0x60]
mov edx, r10d
test ax, ax
mov rcx, r10
mov eax, dword [rsp + 0x68]
sete dl
cmp eax, edx
mov rax, qword [rbp - 0x70]
setne cl
cmp rax, rcx
jne 0x14001b1ef
lea eax, [r8 + 0xb9]
mov dword [0x140049594], eax
mov eax, dword [rbp - 0x78]
mov ecx, 0x49b
add eax, 0x83
mov dword [rbp - 0x1c], eax
mov al, byte [0x1400495a8]
mov byte [0x140c2f4bb], al
mov eax, dword [rbp - 0x78]
add eax, 0x2e6
mov dword [rsp + 0x64], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
movzx eax, r9w
xor ax, cx
mov ecx, 0x5380
sub word [0x1400495a4], ax
movzx eax, word [0x1400494fc]
sub ax, cx
mov ecx, 2
mov word [0x1400495bc], ax
mov eax, dword [rsp + 0x58]
add eax, 0x76
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x58]
add eax, 0x21f
mov dword [rbp - 0x48], eax
mov eax, dword [rsp + 0x58]
add eax, 0x324
mov dword [rsp + 0x64], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0xdd
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
add eax, 0xc0
mov dword [rbp - 0x58], eax
movzx eax, r9w
sub eax, 0x148b
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x58]
add eax, 0xf6
mov dword [rbp - 0x68], eax
mov eax, 3
mov dword [rsp + 0x74], eax
mov eax, dword [0x1400494fc]
neg eax
mov dword [0x1400495b0], eax
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x14001b2e4
sub eax, ecx
je 0x14001b2d7
cmp eax, 1
jne 0x14001b2f1
mov eax, dword [rsp + 0x74]
jmp 0x14001b2f1
mov qword [0x1400495a8], 0x2475
jmp 0x14001b2f1
movzx eax, word [0x1400495a8]
and ax, di
sub di, ax
mov ecx, dword [rbp - 0x68]
mov r13b, r10b
mov eax, dword [rbp - 0x58]
xor ecx, eax
mov eax, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x54]
sub eax, ecx
mov edx, dword [rbp - 0x60]
add r8d, eax
mov eax, dword [rbp - 0x4c]
xor r8d, 0x184
mov ecx, dword [rbp - 0x4c]
add edx, eax
mov eax, dword [rbp - 0x4c]
sub ecx, eax
mov eax, dword [0x140a0f0f0]
imul ecx, edx
mov dl, r12b
sub dl, r15b
mov dword [rsp + 0x7c], r13d
add ecx, r8d
movzx r8d, dl
mov dword [rbp + 0x7c], ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x672c
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x68]
movzx ecx, al
imul r8d, ecx
movzx eax, bl
movzx ecx, r8b
imul ecx, eax
mov byte [rsp + 0x50], cl
mov rcx, r10
mov eax, dword [0x1400495d0]
mov word [0x140049514], ax
mov eax, dword [rsp + 0x78]
test eax, eax
mov eax, 4
mov dword [0x1400495b0], eax
sete cl
xor rcx, 0xe2b8
mov qword [rbp - 0x70], rcx
mov eax, dword [rsp + 0x58]
add eax, 0x6ff8
mov dword [rsp + 0x64], eax
call qword [sym.imp.USER32.dll_GetFocus]
xor r11d, r11d
test rax, rax
je 0x14001b3c5
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
call qword [sym.imp.USER32.dll_EndMenu]
xor r11d, r11d
mov eax, dword [rsp + 0x58]
add eax, 0x2e5b
mov dword [rsp + 0x54], eax
mov eax, dword [0x1400495a8]
xor eax, 0x37
cmp byte [0x140049513], sil
mov dword [0x14004956c], eax
jb 0x14001b484
movsx eax, word [0x1400495b8]
imul eax, eax, 0x67704f25
sar bx, 1
movzx edi, bx
cdqe
mov qword [0x140049580], rax
mov r10d, 0xa5e230a7
mov eax, dword [rsp + 0x54]
mov ecx, 0xe20
sub ecx, eax
mov eax, dword [rsp + 0x54]
add eax, ecx
xor eax, 0xe2a
mov dword [rbp + 0x84], eax
mov r9d, dword [rsp + 0x74]
mov rax, qword [0x140049588]
sub r9b, 0x1e
sar rax, 2
mov qword [rbp - 0x10], rax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, 0xb4
movsx ecx, word [rsp + 0x5c]
sub cx, word [0x1400495d4]
sub cx, ax
mov word [rsp + 0x5c], cx
mov eax, dword [rsp + 0x58]
add eax, 0x57
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x14001b4be
movzx ebx, word [0x140049554]
jmp 0x14001b4c5
cmp word [0x1400495a4], r11w
je 0x14001b40a
movsx ecx, word [rsp + 0x5c]
mov eax, dword [rsp + 0x74]
add ax, cx
mov word [rsp + 0x5c], ax
movabs rax, 0x624d69cf8ae97
mov r10d, dword [rsp + 0x74]
sub r10, rax
mov qword [rbp - 0x40], r10
jmp 0x14001b410
mov rbx, qword [0x140049598]
mov eax, dword [rsp + 0x58]
mov r8d, r11d
add eax, 0x69
mov ecx, 1
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x58]
add eax, 0x92
mov dword [rsp + 0x64], eax
mov eax, dword [rbp - 0x68]
movzx edx, byte [str.MSUnsupportedAlgorit]
xor eax, 0x3e
mov dword [rbp + 0x88], eax
movsx eax, byte [0x1400494e4]
cmp edx, eax
mov eax, r11d
sete r8b
cmp dl, 0x32
sete al
cmp r8d, eax
ja 0x14001b5a8
mov rax, qword [0x140049598]
cmp rax, qword [0x140049588]
jl 0x14001b57c
mov edx, dword [0x14004956c]
test r15b, r15b
mov dword [0x1400495d0], ecx
mov eax, r11d
movsx ecx, byte [0x1400494e5]
sete al
sub edx, eax
movzx eax, word [0x140049554]
not eax
imul edx, eax
mov eax, dword [rsp + 0x68]
imul eax, ecx
mov rcx, r11
not edx
test eax, eax
mov rax, qword [0x140049598]
sete cl
cmp rcx, rax
mov eax, r11d
sete al
sub edx, eax
mov dword [rsp + 0x68], edx
jmp 0x14001b61e
mov al, byte [0x1400494fb]
test al, al
jne 0x14001b61e
movzx eax, word [rsp + 0x5c]
mov ecx, 0x1818
movzx r14d, word [0x140049608]
add al, 0x5c
mov byte [rsp + 0x50], al
sub r14w, cx
jmp 0x14001b61e
cmp word [0x1400495a4], r11w
jne 0x14001b5bb
cmp qword [0x1400495a8], r11
je 0x14001b5c4
mov eax, dword [rsp + 0x78]
cmp eax, r12d
jne 0x14001b5d9
movsxd rcx, dword [rsp + 0x6c]
mov eax, dword [rsp + 0x6c]
imul rcx, r10
sub eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x14001b61e
test r9b, r9b
je 0x14001b5f6
movsxd rax, dword [0x1400494fc]
mov ecx, 2
sub rcx, rax
mov qword [0x1400495e8], rcx
jmp 0x14001b61e
mov rax, qword [0x1400495d8]
cmp rax, qword [0x140049610]
je 0x14001b61e
mov al, byte [0x1400494e5]
xor al, 0x13
mov byte [0x1400494e3], al
mov eax, dword [rsp + 0x78]
sub dword [0x14004956c], eax
mov eax, dword [0x140a0f0f0]
mov rdx, qword [rbp + 8]
mov dword [rsp + 0x58], eax
mov r9b, dl
mov eax, dword [rsp + 0x58]
xor r9b, 0xb2
add eax, 0x7671
mov dword [rbp - 0x80], r9d
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x58]
add eax, 0x1b93
mov dword [rsp + 0x64], eax
mov byte [0x1400494e5], 3
movsx eax, byte [0x1400494e5]
mov ecx, eax
test al, al
je 0x14001b784
sub ecx, 1
je 0x14001b775
sub ecx, 1
je 0x14001b738
cmp ecx, 1
jne 0x14001b6ab
mov al, r14b
xor al, byte [0x1400495b0]
mov byte [0x1400494e3], al
movzx eax, word [0x140049514]
test ax, ax
mov rax, qword [0x1400495c8]
jne 0x14001b6a7
movsx rax, word [rsp + 0x5c]
mov qword [rbp - 0x70], rax
mov r15, qword [rbp - 0x10]
mov eax, dword [rsp + 0x58]
add eax, 0x4c0a
mov dword [0x14004956c], 0x2fa1
mov dword [rsp + 0x64], eax
movsx ecx, word [rsp + 0x60]
inc ecx
cmp dword [0x14004956c], ecx
jne 0x14001b7b2
mov rax, qword [rbp - 0x28]
mov r8d, r11d
mov rax, qword [0x140049580]
movsxd rax, dword [rsp + 0x68]
cmp qword [0x1400495e8], rax
mov eax, r11d
seta r8b
cmp qword [0x1400495e8], 0x26
seta al
cmp r8d, eax
jne 0x14001b795
mov rsi, qword [0x140049578]
mov rcx, qword [0x1400495c8]
add sil, 0x13
movsx rax, di
cmp rax, rcx
sete cl
sub cl, r9b
add cl, 0x2f
mov byte [0x1400494e7], cl
jmp 0x14001b7b2
cmp word [0x1400495bc], r11w
je 0x14001b74b
movzx ebx, word [0x140049514]
jmp 0x14001b752
movzx ebx, word [0x14004956c]
mov ecx, dword [0x1400495d0]
mov rax, qword [0x1400495c0]
sub rcx, rax
mov eax, dword [0x1400495d0]
and eax, ecx
mov dword [0x1400495d0], eax
jmp 0x14001b6ab
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x6c], eax
jmp 0x14001b6ab
mov r15, qword [rbp - 0x10]
add r15w, r15w
sub r15w, dx
jmp 0x14001b6af
mov eax, dword [0x1400494fc]
or ecx, 0xffffffff
not eax
movzx r13d, r13b
cmp eax, 0xaa
cmovle r13d, ecx
mov dword [rsp + 0x7c], r13d
mov eax, dword [rsp + 0x6c]
mov dword [0x14004956c], 0x2fa1
lea ecx, [rax + rax*8]
mov eax, dword [rbp - 0x68]
add eax, 0x43e4
shl ecx, 3
xor eax, 0xbbc5
mov dword [0x1400495b0], ecx
mov dword [rbp + 0x58], eax
call qword [sym.imp.USER32.dll_GetFocus]
xor r8d, r8d
test rax, rax
je 0x14001b804
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenu]
mov rcx, rax
mov edx, 1
call qword [sym.imp.USER32.dll_GetSubMenu]
xor r8d, r8d
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, 0x2b
cmp ax, word [0x1400495d4]
jb 0x14001b842
movzx eax, byte [rsp + 0x50]
sub eax, 0x6ae705fe
mov qword [0x1400495c0], rax
mov eax, 0xbfb59ca7
movsx ecx, byte [0x1400494e5]
and rcx, rax
mov qword [rbp - 0x28], rcx
jmp 0x14001b854
movzx eax, byte [rsp + 0x50]
add rax, 0x895e
mov qword [0x140049588], rax
mov eax, dword [rsp + 0x58]
mov edx, r8d
add eax, 0x1f
mov ecx, r8d
mov dword [rsp + 0x54], eax
movzx eax, byte [rsp + 0x50]
cmp ax, word [0x140049554]
mov al, byte [rsp + 0x50]
setb dl
cmp al, 0x23
setb cl
cmp edx, ecx
jbe 0x14001b942
test r12d, r12d
je 0x14001b8d8
mov ecx, 0xffffadbf
movsx edx, r13b
movsx ecx, cx
imul edx, ecx
mov word [rsp + 0x60], dx
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
movzx ecx, word [0x1400495f8]
add rdx, rax
imul rcx, rdx
movabs rax, 0xa0aaf9d2556ef
imul rcx, rax
mov rax, r8
test rcx, rcx
sete al
mov qword [0x140049588], rax
jmp 0x14001b963
movzx eax, word [0x1400495e0]
mov ecx, r8d
test ax, ax
movzx eax, word [0x1400495d4]
sete cl
cmp ecx, eax
je 0x14001b927
movsx eax, byte [0x1400494fb]
mov edx, dword [rsp + 0x68]
not dx
sub dx, ax
mov rax, qword [0x140049600]
add ax, word [0x140049588]
xor ax, dx
mov word [rbp + 8], ax
mov al, byte [0x140049608]
mov byte [0x140cf8044], al
jmp 0x14001b963
test sil, sil
je 0x14001b963
mov r13b, 0x4a
mov eax, 0xfffff63e
mov dword [rsp + 0x7c], r13d
mov word [0x1400495a0], ax
jmp 0x14001b963
cmp word [0x1400495a4], r8w
mov ecx, r8d
mov eax, dword [rsp + 0x68]
sete cl
cmp ecx, eax
jle 0x14001b963
movzx eax, word [rbp + 8]
sub qword [0x1400495e8], rax
mov eax, dword [rsp + 0x58]
add eax, 0xf8cd
mov dword [rbp - 0x4c], eax
movsxd rcx, dword [rsp + 0x78]
mov rax, qword [0x140049598]
cmp rax, rcx
jg 0x14001b9cb
mov rax, qword [0x140049600]
test rax, rax
jne 0x14001b9a2
mov rax, qword [0x140049588]
not rax
test rax, rax
je 0x14001b9a2
mov edx, 1
jmp 0x14001b9a5
mov edx, r8d
mov ecx, r8d
movzx eax, r14w
cmp eax, dword [0x1400495b0]
setne cl
cmp edx, ecx
je 0x14001b9cb
movzx eax, byte [0x140049513]
xor eax, 0x87d1
mov dword [0x1400494fc], eax
mov eax, dword [rsp + 0x58]
add eax, 0x1890
mov dword [rbp - 0x68], eax
mov edx, dword [rbp - 0x68]
mov eax, dword [rsp + 0x54]
add edx, eax
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rsp + 0x54]
sub ecx, eax
mov eax, dword [0x140a0f0f0]
or ecx, edx
sub ecx, 0xf690
mov dword [rbp + 0x70], ecx
mov dword [rsp + 0x58], eax
movzx ecx, word [0x140049514]
movzx eax, sil
sub cx, ax
mov word [0x140049514], cx
mov eax, dword [rsp + 0x58]
add eax, 0x32ed
mov dword [rbp - 0x68], eax
movzx ecx, word [0x140049514]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x1400494e7], al
xor r11d, r11d
mov eax, dword [rsp + 0x58]
dec bx
add eax, 0xb56d
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x58]
lea r10d, [r11 + 0x2b]
add eax, 0xc770
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x28]
cmp qword [0x140049608], rax
jge 0x14001ba8c
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x14001ba7f
movsx eax, byte [0x1400494e4]
sub eax, 0xa8c1
mov dword [0x140049594], eax
jmp 0x14001ba9e
sub r10b, byte [0x140049513]
mov dword [rbp - 0x64], r10d
jmp 0x14001ba9e
test di, di
je 0x14001ba9e
movzx eax, word [rsp + 0x5c]
add al, 0x77
mov byte [0x140049513], al
mov ecx, dword [rsp + 0x6c]
mov esi, 0xffffdf4c
mov eax, dword [rsp + 0x74]
add ecx, eax
mov r14b, byte [0x1400495d4]
mov eax, 0xfc4c
mov r8, qword [rbp - 0x40]
sub r14b, 0x3c
mov dword [rsp + 0x74], ecx
mov ecx, dword [rbp - 0x68]
or ecx, 0xeb4a
mov word [rsp + 0x70], r14w
sub eax, ecx
mov dword [rbp + 0x28], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov r9, qword [0x140049580]
mov eax, dword [rsp + 0x58]
sub r9b, 0x35
sub esi, dword [0x1400495d8]
add eax, 0x4583
mov dword [rbp - 0x4c], eax
mov eax, dword [rsp + 0x58]
add eax, 0xcdcb
mov qword [rbp + 0x20], r9
mov dword [rbp - 0x68], eax
movsx rax, word [0x1400495b4]
mov rdx, qword [rbp - 0x70]
movzx ecx, byte [0x1400494e7]
xor rdx, rax
mov eax, dword [0x1400494fc]
not ecx
not eax
add eax, dword [0x1400495e4]
imul rax, rdx
mov edx, r11d
test rax, rax
movsx eax, bx
sete dl
xor ecx, eax
movzx eax, byte [0x140049513]
add edx, ecx
add edx, eax
add r8, 0x73a4141a
mov eax, dword [rsp + 0x6c]
add eax, edx
mov qword [rbp - 0x40], r8
cdqe
mov qword [rbp - 0x28], rax
mov eax, dword [rsp + 0x58]
add eax, 0x1345
mov dword [rsp + 0x54], eax
mov rax, qword [0x140049598]
movzx ecx, al
imul eax, ecx, 0xac
mov byte [str.MSUnsupportedAlgorit], al
mov eax, dword [rbp - 0x68]
mov ecx, dword [rsp + 0x54]
xor eax, 0x3c
or ecx, eax
mov eax, dword [rbp - 0x4c]
or eax, ecx
xor eax, 0xddf6
cmp qword [0x1400495a8], r11
mov dword [rbp + 0x60], eax
jne 0x14001bbe3
movsx ecx, word [rsp + 0x5c]
mov edx, r11d
movzx eax, byte [str.MSUnsupportedAlgorit]
cmp eax, ecx
setne dl
cmp dword [0x14004956c], edx
jl 0x14001bbe3
mov eax, 0xffffe091
mov ecx, 0x4d71
movzx edi, r8w
mov word [0x1400495b4], ax
xor di, cx
mov eax, dword [0x140a0f0f0]
mov edx, r11d
movzx ebx, word [0x140049594]
mov dword [rsp + 0x58], eax
mov al, byte [0x140ab9494]
mov byte [0x1400494fb], al
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [0x140049578]
add eax, ecx
shl bx, 8
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x58]
add eax, 0x8f45
mov dword [rbp - 0x4c], eax
mov eax, dword [rsp + 0x58]
add eax, 0x2e3a
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
add eax, 0x4b0d
mov dword [rbp - 0x68], eax
movsx eax, byte [rbp - 0x80]
cmp dword [0x1400495e4], eax
mov eax, r11d
setbe dl
cmp dword [0x1400495e4], 0x24
setbe al
cmp edx, eax
jbe 0x14001bcae
movzx eax, byte [str.MSUnsupportedAlgorit]
cmp r12d, eax
jl 0x14001bc94
mov rbx, qword [0x1400495c8]
mov eax, 0xb2
movzx ecx, byte [0x1400495b8]
sub bx, ax
cmp dword [0x1400495b0], r11d
movzx eax, dil
cmovne ecx, eax
mov byte [0x140049513], cl
jmp 0x14001bcae
test r10b, r10b
je 0x14001bcae
movzx eax, word [0x1400495d4]
mov dword [0x140049594], eax
mov dword [rsp + 0x6c], 0x55859ab8
mov ecx, dword [rbp - 0x68]
mov eax, dword [rsp + 0x54]
xor ecx, eax
mov eax, dword [rbp - 0x4c]
xor eax, 0x727
sub eax, ecx
xor eax, 0x2266
mov dword [rbp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x14001bd04
mov al, byte [rsp + 0x50]
test al, al
jne 0x14001bd04
movsx ecx, word [rsp + 0x5c]
not ecx
test ecx, ecx
je 0x14001bd28
mov rax, qword [0x140049578]
mov r13b, r9b
imul rax, qword [0x1400495a8]
mov dword [rsp + 0x7c], r13d
mov qword [0x140049578], rax
jmp 0x14001bd28
movzx eax, word [0x140049514]
cmp ax, bx
mov eax, dword [rsp + 0x78]
sbb ecx, ecx
dec ecx
cmp ecx, eax
jle 0x14001bd28
mov eax, dword [rsp + 0x74]
add eax, dword [0x140a8dcb0]
mov dword [rsp + 0x74], eax
cmp word [0x1400495a4], r11w
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
je 0x14001bd59
movzx eax, byte [str.MSUnsupportedAlgorit]
mov ecx, dword [0x140049608]
sub ecx, eax
sub ecx, 0x2c73238a
mov dword [0x140049594], ecx
jmp 0x14001bd7e
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x14001bd7e
mov eax, 0xa575166c
movsx ecx, r13b
xor rcx, rax
mov rax, qword [0x1400495c0]
sub rax, rcx
mov qword [0x1400495c0], rax
mov eax, dword [rsp + 0x58]
movzx ecx, byte [0x1400494e7]
add eax, 0x8fbe
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x68]
cmp ecx, eax
je 0x14001bdbe
mov eax, dword [0x1400495b0]
mov rcx, qword [0x140049600]
add eax, eax
add ecx, eax
lea rax, [r8 + 0x7a]
mov dword [0x1400495b0], ecx
mov qword [0x1400495c0], rax
jmp 0x14001bdd1
movsx eax, word [0x1400495b4]
sub eax, 0x7dd615c0
mov qword [0x140049580], rax
mov eax, dword [rsp + 0x58]
movzx r13d, word [0x140a0f0f0]
add eax, 0x9cc
mov dword [rbp - 0x68], eax
test esi, esi
mov ecx, dword [rsp + 0x78]
mov eax, r11d
sete al
mov dword [rbp - 0x60], r13d
sub ecx, eax
movzx eax, word [0x140049514]
sub al, 0x56
movzx ecx, cl
movzx edx, al
imul edx, ecx
mov byte [rsp + 0x50], dl
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1400494fc]
add eax, 0x8eb8
mov dword [rsp + 0x64], eax
add ecx, 0xfd9b193a
mov qword [0x140049600], rcx
movzx eax, word [0x1400495f8]
dec ax
mov word [0x1400495f8], ax
mov ecx, dword [rbp - 0x1c]
movzx eax, byte [0x1400494e7]
add eax, 0x375f26d4
mov qword [rbp + 0x10], rax
mov eax, dword [rbp - 0x1c]
xor ecx, eax
mov edx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x7c]
xor edx, eax
mov eax, dword [rbp - 0x68]
imul edx, ecx
mov ecx, 0xd329
sub ecx, eax
mov eax, 0xfc9b2050
add rax, r8
xor ecx, 0xcb05
mov qword [0x1400495a8], rax
mov eax, dword [0x140a0f0f0]
sub ecx, edx
mov dword [rbp + 0x4c], ecx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x89
mov dword [rsp + 0x64], eax
mov rax, qword [0x140049578]
shr rax, 7
mov qword [0x1400495f0], rax
mov eax, dword [rsp + 0x58]
add eax, 0x3b
mov dword [rbp - 0x68], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edi, dword [rsp + 0x7c]
xor r8d, r8d
mov ecx, eax
mov edx, r8d
mov qword [0x140049578], rcx
mov ecx, r8d
mov rax, qword [0x140049578]
cmp rax, 0x33
mov rax, qword [0x140049578]
sete dl
test rax, rax
sete cl
cmp ecx, edx
ja 0x14001bf24
movsxd rcx, dword [rsp + 0x68]
movabs rax, 0x51e908888365f
sub rcx, rax
mov qword [rbp - 0x28], rcx
movzx eax, word [rsp + 0x60]
movsx ecx, dil
add cx, ax
mov eax, 0x661f
add cx, ax
mov word [rsp + 0x60], cx
jmp 0x14001bf43
mov rax, qword [rbp - 0x70]
test rax, rax
jne 0x14001bf43
movzx r13d, byte [rsp + 0x50]
mov ecx, 0xffffdbb8
movsx ecx, cx
imul r13d, ecx
mov dword [rbp - 0x60], r13d
mov eax, dword [rsp + 0x58]
mov ecx, dword [0x1400494fc]
add eax, 0x108
add ecx, 0x8969f000
mov dword [rsp + 0x64], eax
mov qword [0x140049580], rcx
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov byte [0x1400494fb], al
xor edx, edx
mov al, byte [0x1400494fb]
test al, al
je 0x14001bf8c
call qword [sym.imp.KERNEL32.dll_GetACP]
mov eax, eax
mov qword [0x140049610], rax
jmp 0x14001bfbf
mov ecx, dword [0x1400495e4]
mov rax, qword [0x140049598]
cmp rax, rcx
jl 0x14001bfbf
cmp dword [0x140049594], edx
movzx ebx, byte [rbp - 0x64]
jne 0x14001bfae
mov ebx, dword [rsp + 0x74]
mov eax, 0xfb
add ax, word [0x140049610]
mov word [rsp + 0x60], ax
mov eax, dword [rbp - 0x68]
xor eax, 0x6f0f
sub eax, 0x6cfc
mov dword [rbp + 0x2c], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
movsx ecx, byte [0x1400494e3]
add ecx, 0x31
mov dword [rsp + 0x74], ecx
mov eax, dword [rsp + 0x58]
add eax, 0x1d0
mov dword [rbp - 0x38], eax
call qword [sym.imp.USER32.dll_GetFocus]
xor r8d, r8d
test rax, rax
je 0x14001c011
lea edx, [r8 + 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSystemMenu]
xor r8d, r8d
mov eax, dword [0x1400495d0]
test eax, eax
je 0x14001c0b4
movzx eax, r14b
mov edx, r8d
cmp ax, r15w
mov eax, r8d
setle dl
cmp r14b, 0x58
setbe al
cmp edx, eax
jne 0x14001c09d
cmp dword [0x14004956c], r8d
mov rdx, r8
movsx eax, byte [rbp + 0x20]
mov dword [rsp + 0x78], eax
sete dl
movzx eax, word [0x1400495bc]
not eax
movsxd rcx, eax
movabs rax, 0xf192c96ecf61b
xor rdx, rcx
cmp rdx, rax
movzx eax, word [0x140049514]
movzx edx, byte [0x140049513]
sete r8b
add edx, eax
movzx eax, word [0x1400495bc]
sub eax, dword [0x14004956c]
or eax, edx
sub eax, r8d
cdqe
mov qword [0x1400495d8], rax
jmp 0x14001c0d5
movsx ecx, byte [0x1400495bc]
lea eax, [r12 + 0x5e]
movsx eax, al
imul eax, ecx
mov dword [rbp - 0x80], eax
jmp 0x14001c0d5
movzx eax, word [rsp + 0x60]
test ax, ax
je 0x14001c0d5
movzx edx, byte [rsp + 0x50]
mov ecx, 0xffffc7df
movsx ecx, cx
imul edx, ecx
xor word [0x1400495b8], dx
mov eax, dword [rsp + 0x58]
and r15w, word [0x140c10270]
add eax, 0x1e2
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x58]
add eax, 0x2e3
movsx rcx, dil
xor rcx, qword [0x140049610]
and qword [0x140049610], rcx
lea rcx, [rbp + 0x20f0]
mov dword [rsp + 0x64], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
movups xmm0, xmmword [str.Windows.Security.C]
add eax, 0x1ef
mov qword [rbp - 0x10], r15
movups xmm1, xmmword [0x140036898]
mov dword [rsp + 0x64], eax
mov eax, dword [0x1400368a8]
mov dword [rbp + 0x2110], eax
movzx eax, word [0x1400368ac]
mov word [rbp + 0x2114], ax
movups xmmword [rbp + 0x20f0], xmm0
movups xmmword [rbp + 0x2100], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1400494e7], al
mov ecx, r12d
mov eax, dword [rsp + 0x58]
add eax, 0x2d0
mov dword [rbp + 0x38], eax
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rbp - 0x30], eax
xor edx, edx
mov eax, dword [rsp + 0x58]
add eax, 0x363
cmp dword [0x14004956c], edx
mov dword [rbp + 0x30], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
je 0x14001c1f3
movzx ecx, word [0x1400495bc]
mov rax, qword [0x1400495f0]
cmp rax, rcx
ja 0x14001c22c
movzx ebx, byte [rsp + 0x50]
mov ecx, 0x99
mov eax, dword [0x1400495d0]
add bx, cx
mov ecx, edx
test eax, eax
movsx eax, byte [rbp - 0x80]
movzx edx, word [0x1400495f8]
sete cl
movzx ecx, cx
imul edx, ecx
sub dx, ax
movzx eax, byte [rbp - 0x64]
xor dx, ax
mov word [rbp + 8], dx
jmp 0x14001c22c
test dil, dil
je 0x14001c208
cmp dword [0x1400494fc], edx
je 0x14001c208
mov r8d, 1
jmp 0x14001c20b
mov r8d, edx
movzx ecx, byte [0x140049513]
not ecx
movsx eax, r15w
cmp ecx, eax
setle dl
sub edx, r8d
je 0x14001c22c
movzx eax, bx
sub qword [0x140049610], rax
mov eax, dword [rsp + 0x58]
add eax, 0x180
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x58]
add eax, 0x33d
mov dword [rbp + 0x18], eax
call qword [sym.imp.USER32.dll_GetFocus]
xor r11d, r11d
mov rdi, rax
test rax, rax
je 0x14001c274
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]
xor r11d, r11d
mov eax, dword [rsp + 0x58]
add eax, 0x78
mov dword [rbp + 0x48], eax
movsx eax, byte [0x1400494e5]
mov word [0x140c2aa98], ax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
test esi, esi
je 0x14001c2c7
mov rax, qword [0x140049580]
add eax, 0xc
cmp dword [0x1400494fc], r11d
mov qword [rbp + 0x10], rax
movzx eax, byte [0x1400494e7]
jne 0x14001c2bc
mov rax, qword [rbp - 0x70]
mov edx, dword [rbp - 0x80]
mov byte [0x1400494fb], al
jmp 0x14001c32e
movzx eax, word [0x1400495f8]
test ax, ax
je 0x14001c2e2
mov edx, dword [rbp - 0x80]
mov r12d, 0xffffc650
mov dword [rbp - 0x60], r12d
jmp 0x14001c332
cmp byte [rsp + 0x7c], r11b
je 0x14001c30b
mov dl, byte [0x140049554]
mov r10d, 1
movsx r12d, r13w
mov dword [rbp - 0x80], edx
lea eax, [r10 + rbx]
cwde
imul r12d, eax
mov dword [rbp - 0x60], r12d
jmp 0x14001c338
mov edx, dword [rbp - 0x80]
test dl, dl
je 0x14001c32e
movzx r14d, word [rsp + 0x5c]
mov al, byte [rsp + 0x50]
sub r14b, 0x50
sub al, 0x2d
mov word [rsp + 0x70], r14w
mov byte [0x1400494e3], al
mov r12d, dword [rbp - 0x60]
mov r10d, 1
mov eax, dword [rsp + 0x58]
mov ecx, 0x2c5
add eax, ecx
mov dword [rbp - 0x54], eax
movzx eax, word [0x140049554]
cmp rax, qword [0x1400495a8]
jb 0x14001c374
mov rax, qword [0x140049600]
mov eax, dword [0x140049590]
mov rcx, qword [0x1400495c8]
add ecx, eax
or ecx, eax
mov dword [0x140049590], ecx
mov eax, dword [rsp + 0x58]
add eax, 0x2a2
mov dword [rbp - 0x68], eax
mov eax, dword [rsp + 0x58]
add eax, 0x3d2
mov dword [rsp + 0x64], eax
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x14001c3b2
mov eax, dword [rsp + 0x78]
add eax, 0x58f9
and r12w, word [0x14004956c]
cdqe
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x60], r12d
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov al, byte [rsp + 0x50]
test al, al
je 0x14001c3dc
movzx eax, word [0x140049588]
mov ecx, 0x5619
sub ax, cx
mov word [0x140049554], ax
jmp 0x14001c41b
mov eax, dword [rsp + 0x74]
test eax, eax
je 0x14001c3f0
sub dword [0x1400495b0], 0xf9c3
jmp 0x14001c41b
mov eax, dword [rsp + 0x68]
movzx eax, word [rsp + 0x5c]
movsx ecx, word [rsp + 0x60]
movsx eax, dl
movsx r15d, r15w
imul r15d, eax
mov eax, dword [0x1400495d0]
xor eax, ecx
mov dword [0x1400495d0], eax
mov qword [rbp - 0x10], r15
mov eax, dword [rsp + 0x58]
mov edi, 2
add eax, 0x29
mov dword [rsp + 0x64], eax
mov word [0x1400495e0], di
movzx eax, word [0x1400495e0]
mov ecx, eax
test eax, eax
je 0x14001c49d
sub ecx, 1
je 0x14001c466
cmp ecx, 1
jne 0x14001c4a3
movzx eax, word [0x1400495b4]
mov ecx, 0xffffef1f
mov r15d, dword [0x1400495d0]
and r15w, cx
mov qword [rbp - 0x10], r15
jmp 0x14001c4a3
mov rax, qword [rbp - 0x28]
test rax, rax
sete al
cmp word [0x1400495a0], r11w
sete dl
xor dl, al
mov rax, qword [rbp - 0x28]
mov cl, byte [0x14004956c]
test rax, rax
sete al
sub cl, al
movzx eax, dl
movzx edx, cl
imul edx, eax
mov byte [rbp - 0x64], dl
jmp 0x14001c4a3
mov dword [0x1400494fc], edi
mov eax, dword [rsp + 0x58]
mov r8d, r11d
add eax, 0x2f5
mov dword [rsp + 0x64], eax
movzx eax, word [0x1400495f8]
sub ax, word [0x1400495d8]
mov word [0x1400495f8], ax
mov rdx, qword [0x140049578]
movsx eax, word [rsp + 0x60]
test rdx, rdx
movsx ecx, word [0x1400495b4]
cmove r8d, eax
sub ecx, r8d
mov r8d, r11d
mov dword [rsp + 0x68], ecx
mov eax, dword [rsp + 0x58]
movzx ecx, byte [0x140049513]
add eax, 0x105
mov ebx, dword [0x1400494fc]
mov dword [rbp - 0x4c], eax
add ebx, 0xe8
movsx edx, byte [0x1400494e3]
movzx eax, r14b
sub cx, ax
mov word [0x1400495d4], di
mov rax, qword [0x1400495c8]
add dx, cx
add dx, word [0x1400495a4]
mov rcx, r11
cmp qword [0x140049610], r11
mov qword [rbp - 8], rbx
sete cl
add rax, rcx
movzx ecx, word [0x1400495fc]
mov rax, qword [0x1400495c0]
not cx
sete r8b
movsx r9d, ax
movzx eax, word [0x1400495d4]
xor r8w, dx
movsx ecx, cx
imul r9d, ecx
xor r9w, r8w
mov dword [rbp - 0x7c], r9d
test ax, ax
je 0x14001c59a
cmp ax, di
jne 0x14001c5af
movzx eax, word [0x1400494fc]
mov ecx, 0x3266
sub ax, cx
mov word [0x140049514], ax
jmp 0x14001c5af
mov eax, dword [rsp + 0x78]
sub eax, 0x4d
movsxd rcx, eax
mov rax, qword [rbp - 0x28]
or rax, rcx
mov qword [rbp - 0x28], rax
cmp byte [str.MSUnsupportedAlgorit], r11b
mov qword [rbp + 0x40], r11
je 0x14001c5e7
mov rax, qword [0x140049578]
test rax, rax
je 0x14001c5da
mov eax, dword [rsp + 0x68]
movzx ecx, al
imul eax, ecx, 0x6b
mov byte [0x1400494e7], al
jmp 0x14001c5e7
mov rax, qword [0x1400495f0]
mov byte [0x140ab91b9], al
add dword [0x140049594], r10d
mov dword [rsp + 0x74], 0x658ab687
movsx eax, byte [0x1400494e3]
imul eax, eax, 0x18ed
mov dword [rbp + 4], r11d
mov word [rbp - 0x58], r10w
mov qword [0x140049610], 0xbe
mov dword [0x1400495b0], eax
test r9w, r9w
je 0x14001c62a
movsx ecx, word [rsp + 0x60]
jmp 0x14001c631
movzx ecx, word [0x1400495bc]
mov r13d, dword [rsp + 0x7c]
mov esi, r11d
sub qword [0x1400495d8], r10
add r13b, r10b
mov byte [0x1400494e5], cl
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x38]
xor ecx, eax
mov dword [rbp + 0x54], r11d
mov dword [rsp + 0x7c], r13d
mov dword [rbp - 0x1c], r11d
mov dword [rbp + 0x80], r11d
cmp ecx, 0x299
je 0x14001d60a
call qword [sym.imp.KERNEL32.dll_GetOEMCP]
mov esi, eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x3964
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x70]
mov rax, qword [0x1400495f0]
movzx eax, word [0x140049514]
mov rax, qword [0x1400495f0]
xor eax, eax
cmp dword [0x1400495b0], eax
je 0x14001c6e7
movzx ecx, word [0x1400495d4]
movsx eax, r15w
cmp eax, ecx
jle 0x14001c6e7
mov eax, dword [0x140a0f0f0]
mov dword [0x1400495b0], eax
movzx eax, word [0x1400495b8]
add ax, ax
sub ax, word [0x1400495a8]
mov word [0x1400495b8], ax
mov eax, dword [rsp + 0x58]
mov ecx, 0x6e81
add eax, 0x4a
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0x58]
movzx edi, byte [0x140049513]
add eax, 0x1490
mov dword [rbp - 0x20], eax
movzx r15d, di
sub r15w, cx
movzx ecx, word [0x1400495f8]
add ecx, ecx
mov qword [rbp - 0x10], r15
mov dword [rsp + 0x68], ecx
call qword [sym.imp.USER32.dll_GetFocus]
mov rbx, rax
test rax, rax
je 0x14001c742
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov ecx, dword [rsp + 0x54]
mov eax, dword [rsp + 0x54]
sub ecx, eax
mov eax, dword [0x140a0f0f0]
xor ecx, 0x6a
mov dword [rbp + 0x50], ecx
mov dword [rsp + 0x58], eax
mov rcx, qword [0x140049600]
call qword [sym.imp.USER32.dll_IsIconic]
mov word [rsp + 0x60], ax
xor r9d, r9d
mov eax, dword [rsp + 0x58]
add eax, 0x2490
cmp dword [0x1400494fc], r9d
mov dword [rbp - 0x20], eax
je 0x14001c792
mov r14b, byte [0x140a0f0f0]
mov edx, dword [rbp - 0x7c]
jmp 0x14001c7a5
mov r13b, byte [0x140b80720]
movzx edx, word [0x140049590]
mov dword [rsp + 0x7c], r13d
mov eax, dword [rsp + 0x58]
mov ecx, r9d
mov r8, qword [rbp - 0x40]
add eax, 0x86c2
mov dword [rbp - 0x38], eax
movzx eax, r14b
cmp rax, r8
mov eax, r9d
setle cl
cmp r14b, 0x5a
setbe al
cmp ecx, eax
jae 0x14001c7dd
mov al, r13b
sub al, dl
xor r13b, al
mov dword [rsp + 0x7c], r13d
mov eax, dword [rsp + 0x58]
add eax, 0x4746
mov dword [rbp - 0x20], eax
test r8, r8
je 0x14001c87a
cmp qword [0x1400495a8], r9
je 0x14001c825
mov ecx, dword [rsp + 0x78]
mov eax, dword [0x1400495b0]
add eax, 0xfc77c263
add ecx, eax
mov dword [rsp + 0x78], ecx
mov ecx, dword [0x1400495e4]
add ecx, 0x52
mov qword [0x1400495c8], rcx
jmp 0x14001c8c6
cmp qword [0x140049608], r9
je 0x14001c855
movsxd rcx, dword [rsp + 0x6c]
mov eax, 0x6e
mov word [0x1400495a0], ax
movabs rax, 0xd5e6050bbca57
sub rcx, rax
mov qword [0x140049598], rcx
jmp 0x14001c8c6
mov rax, qword [0x1400495c0]
imul rax, qword [0x140049610]
mov rbx, qword [rbp - 0x30]
test rax, rax
je 0x14001c8ca
movsx eax, r12w
sar eax, 6
mov dword [rsp + 0x74], eax
jmp 0x14001c8ca
mov eax, dword [0x140049590]
cmp dword [0x1400495e4], eax
jne 0x14001c8b1
mov rbx, qword [rbp - 0x30]
mov ecx, 0xfffffedc
movzx eax, bx
and ax, cx
add r12w, ax
imul eax, dword [0x1400494fc], 0x19ff31a
mov dword [rbp - 0x60], r12d
cdqe
mov qword [rbp - 0x40], rax
jmp 0x14001c8ca
cmp qword [0x1400495e8], r9
je 0x14001c8c6
mov eax, dword [rsp + 0x6c]
add al, 0x59
mov byte [0x1400494e5], al
mov rbx, qword [rbp - 0x30]
mov rax, qword [0x140049578]
test rax, rax
jne 0x14001c950
movsx ecx, word [rsp + 0x60]
mov eax, dword [0x140049594]
not eax
or eax, ecx
je 0x14001c90c
movzx eax, word [0x1400495bc]
mov rcx, qword [0x140049580]
imul rcx, rax
mov rax, qword [0x140049580]
add rax, rcx
mov qword [0x140049580], rax
jmp 0x14001c950
cmp qword [0x140049608], r9
mov ecx, r9d
movsx eax, sil
sete cl
cmp ecx, eax
je 0x14001c950
movsx ecx, byte [0x1400494e4]
mov eax, dword [rsp + 0x68]
add ecx, ebx
xor eax, ecx
mov rcx, r9
cmp eax, 0x1682
mov eax, 0x87
sete cl
sub al, byte [0x1400494fc]
add byte [rbp - 0x64], al
mov qword [0x140049580], rcx
mov eax, dword [rbp - 0x38]
imul ecx, eax, 0xd02
xor ecx, 0x6d8e6c4
mov dword [rbp + 0x78], ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov word [0x1400495d4], ax
cmp ax, 0x3a
jb 0x14001c9e0
movzx eax, word [rsp + 0x5c]
xor edx, edx
mov ecx, edx
test ax, ax
movzx eax, byte [0x1400494e7]
mov rdx, qword [0x140049588]
sete cl
not rdx
or rdx, rcx
mov ecx, dword [rsp + 0x78]
imul eax, ecx
not rdx
cdqe
add rax, rdx
je 0x14001c9e0
mov al, byte [0x1400494e3]
movzx ecx, byte [rsp + 0x50]
movzx edx, word [0x1400495a4]
movsx r8d, byte [rbp - 0x80]
movsx eax, r13b
add r8w, ax
add r8w, dx
add dx, cx
movzx eax, dx
movzx ecx, r8w
imul ecx, eax
mov word [0x1400495e0], cx
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
call qword [sym.imp.USER32.dll_GetMessageTime]
mov r14d, eax
mov eax, dword [rsp + 0x58]
add eax, 0xa1
mov word [rbp - 0x7c], r14w
mov dword [rbp - 0x38], eax
mov eax, dword [rsp + 0x58]
add eax, 0xdf21
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0x58]
add eax, 0x7879
mov dword [rbp - 0x20], eax
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
imul ecx, dword [rbp + 0x10]
add eax, ecx
mov dword [rsp + 0x68], eax
movsx edx, byte [0x1400494fb]
movsx ecx, byte [0x140049590]
imul edx, ecx
mov ecx, 0x415
mov byte [0x1400494fb], dl
mov eax, dword [rbp - 0x38]
sub ecx, eax
mov eax, dword [0x140a0f0f0]
mov qword [0x1400495a8], rax
mov dword [rbp + 0x74], ecx
mov dword [rsp + 0x58], eax
mov rax, qword [0x140049600]
mov eax, dword [rsp + 0x58]
add eax, 0xf5
mov dword [rbp - 0x38], eax
mov eax, dword [rsp + 0x58]
add eax, 0x26fa
mov dword [rsp + 0x78], eax
call qword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
mov eax, dword [rsp + 0x58]
mov r9d, 1
mov r13b, byte [0x140049590]
add eax, 0xf0
mov dword [rbp - 0x20], eax
mov eax, dword [0x1400495d0]
mov ecx, dword [rsp + 0x78]
sub eax, 0x5a24fb41
sub qword [rbp - 0x40], rax
mov eax, dword [rbp - 0x38]
or ecx, eax
mov edx, dword [rsp + 0x78]
add ecx, 0xffff8bb5
mov eax, dword [rsp + 0x78]
add edx, ecx
add eax, edx
movsx r8d, sil
mov dword [rbp + 0x68], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
movzx eax, word [rsp + 0x60]
add ax, r9w
mov word [rsp + 0x70], r13w
movzx ecx, ax
movzx eax, word [0x140049554]
imul eax, ecx
mov ecx, r9d
mov word [0x140049554], ax
mov al, byte [0x1400494e5]
sub cl, al
movsx eax, cl
imul r8d, eax
mov eax, dword [rsp + 0x58]
mov edx, dword [0x140049594]
add eax, 0x22
mov dword [rbp], eax
mov eax, dword [0x14004956c]
mov dword [rsp + 0x78], 4
mov qword [rbp + 0x20], r8
lea ecx, [rdx + rax]
and ecx, edx
mov dword [0x140049594], ecx
mov ecx, dword [rsp + 0x78]
mov rsi, qword [rbp + 0x10]
dec ecx
sub ecx, r9d
je 0x14001cb8b
sub ecx, r9d
je 0x14001cb61
cmp ecx, r9d
jne 0x14001cba8
mov byte [0x1400494fb], r8b
jmp 0x14001cba8
movzx eax, word [0x1400495b0]
mov ecx, 0x64f1
sub ax, cx
mov ecx, 0xffffffc0
mov dword [rbp - 0x58], eax
mov rax, qword [0x140049578]
sub cx, ax
add word [0x1400495a0], cx
jmp 0x14001cba8
mov rax, qword [0x140049598]
lea ecx, [rdi - 0x6e81]
test rax, rax
cmovne ecx, dword [0x14004956c]
mov dword [0x1400495e4], ecx
mov eax, dword [rsp + 0x58]
add eax, 0xeb
mov dword [rbp - 0x38], eax
movzx eax, byte [rbp - 0x64]
imul ecx, eax, 0xd2c00353
test ecx, ecx
je 0x14001cbfb
mov rax, qword [0x1400495c8]
mov edi, 3
mov qword [0x140049580], rax
movsx eax, word [rsp + 0x60]
sub eax, 0xe3
mov qword [rbp - 0x30], rdi
cdqe
mov qword [0x1400495f0], rax
mov eax, dword [rsp + 0x78]
sub eax, 0x58e66ccb
mov qword [rbp - 0x70], rax
jmp 0x14001cbff
mov rdi, qword [rbp - 0x30]
mov eax, dword [rsp + 0x58]
add eax, 0xc2
mov dword [rsp + 0x54], eax
call qword [sym.imp.USER32.dll_GetFocus]
mov rbx, rax
test rax, rax
je 0x14001cc2c
mov rcx, rax
call qword [sym.imp.USER32.dll_IsWindow]
mov rcx, rbx
call qword [sym.imp.USER32.dll_ArrangeIconicWindows]
call qword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov byte [rsp + 0x50], al
mov edx, dword [rsp + 0x54]
mov eax, dword [rbp - 0x38]
xor edx, eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp]
sub ecx, eax
mov al, byte [0x1400495bc]
or ecx, edx
sub al, 0x71
xor ecx, 0x17f
add byte [0x1400494e4], al
xor edx, edx
mov dword [rbp - 0x20], ecx
movabs rcx, 0xed22b755b40f8
mov dword [0x140049590], edx
movsx rax, r12w
xor rax, rcx
mov ecx, edx
mov qword [0x140049588], rax
test r12w, r12w
mov rax, qword [0x140049578]
sete cl
sub rcx, rax
mov rax, qword [rbp - 0x28]
not ax
add ax, cx
lea rcx, [0x14003682c]
mov word [0x1400495b4], ax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x1400495a0], ax
mov eax, dword [rsp + 0x58]
add eax, 0x6868
mov dword [rbp], eax
movzx eax, word [0x1400495d4]
cmp eax, dword [0x1400495e4]
je 0x14001ccee
mov ecx, esi
call qword [sym.imp.USER32.dll_IsWindow]
movzx r15d, ax
mov qword [rbp - 0x10], r15
mov eax, dword [rsp + 0x58]
xor r11d, r11d
movzx ecx, word [0x1400495a4]
add eax, 0xa8
mov r10, qword [rbp - 0x40]
movsx ebx, byte [rbp - 0x80]
xor dword [0x1400495e4], ebx
mov dword [rbp], eax
mov rsi, qword [0x1400495c0]
movzx eax, r13b
sub cx, ax
mov eax, dword [rsp + 0x58]
add eax, 0x3f1f
sub cx, r10w
add si, cx
mov dword [rbp - 0x38], eax
mov eax, dword [0x140049594]
not si
cmp dword [0x1400495b0], eax
mov qword [rbp + 8], rsi
jb 0x14001ce05
test si, si
je 0x14001cd74
movsx ecx, byte [0x1400494fb]
movzx eax, word [0x1400495bc]
sub ecx, eax
mov al, byte [0x1400494fb]
add al, cl
mov byte [0x1400494fb], al
jmp 0x14001ce05
movzx eax, word [0x140049554]
cmp word [0x1400495d4], ax
jne 0x14001cdde
mov ecx, dword [rsp + 0x68]
mov edx, edi
movzx r8d, byte [rsp + 0x50]
not edx
movzx eax, byte [str.MSUnsupportedAlgorit]
add eax, ecx
mov rcx, r11
cdqe
sub r8, rax
mov rax, qword [0x140049578]
sub r8, rax
mov eax, dword [rsp + 0x78]
sub edx, eax
movzx eax, byte [rsp + 0x50]
sub eax, 0x58cfeacb
cmp edx, eax
sete cl
xor rcx, r8
mov qword [0x140049600], rcx
mov ecx, 0x6b85
mov rsi, qword [rbp - 0x70]
sub si, cx
mov qword [rbp + 8], rsi
jmp 0x14001ce05
cmp word [0x1400495a0], r11w
je 0x14001ce05
mov al, byte [0x1400494e5]
sub al, r14b
mov byte [0x1400494e5], al
movabs rax, 0xbc5e76e4962cf
mov qword [rbp - 0x28], rax
mov r9d, dword [rbp - 0x7c]
movzx eax, word [0x1400495a4]
movsx edi, r9w
cmp eax, edi
jne 0x14001ce9f
movsxd rax, dword [rsp + 0x68]
mov r8d, r11d
cmp qword [0x140049608], rax
mov eax, r11d
setne r8b
cmp qword [0x140049608], 0x28
setne al
cmp r8d, eax
je 0x14001ce8c
movsx edx, byte [0x1400494fb]
movsx ecx, byte [0x1400494e3]
add edx, ebx
movsx eax, word [0x1400495a0]
not edx
imul eax, ecx
movzx ecx, word [0x140049514]
sub edx, eax
movzx eax, word [0x140049554]
add eax, 0x13
add ecx, edx
add ecx, eax
mov dword [rsp + 0x68], ecx
movsx ecx, word [rsp + 0x5c]
mov eax, dword [rsp + 0x6c]
xor ax, cx
mov word [rsp + 0x5c], ax
jmp 0x14001ce9f
movzx edx, byte [rsp + 0x50]
movzx ecx, byte [0x1400494e4]
imul edx, ecx
mov byte [rsp + 0x50], dl
mov ecx, dword [rbp]
mov eax, dword [rbp - 0x38]
or ecx, 0xed9a
imul eax, ecx
imul ecx, eax, 0x57
mov eax, 0xeb8bc7c3
sub eax, ecx
mov dword [rbp - 0x38], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x58]
add eax, 0x63
cmp byte [0x1400494e4], r11b
mov dword [rbp], eax
je 0x14001cfba
movsx ecx, byte [0x1400494e3]
mov edx, r11d
mov eax, dword [rsp + 0x78]
movsx r8d, word [0x1400495b8]
imul eax, ecx
movzx ecx, si
add r8d, eax
movsx eax, byte [0x1400494e5]
cmp r8d, eax
mov eax, dword [0x1400495e4]
sete dl
add ecx, 0xf2ebc5ae
add ecx, edx
neg eax
mov dword [rsp + 0x6c], ecx
mov dword [0x1400494fc], eax
mov r13d, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x58]
mov edx, r11d
add eax, 0xdc
mov dword [rbp], eax
movsx ecx, word [rsp + 0x5c]
mov eax, dword [0x1400495d0]
cmp eax, ecx
mov eax, dword [0x1400495d0]
mov ecx, r11d
seta dl
cmp eax, 0x47
seta cl
cmp edx, ecx
jb 0x14001d0bb
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov ecx, eax
xor r11d, r11d
cmp rcx, 0x30
mov qword [0x140049610], rcx
mov edx, r11d
mov eax, r11d
setne dl
test rcx, rcx
setne al
cmp eax, edx
jbe 0x14001d003
movzx eax, word [0x140049514]
mov r9d, dword [rbp - 0x7c]
mov r10, qword [rbp - 0x40]
cmp ebx, eax
jne 0x14001cfe7
movsx r15d, byte [rbp - 0x80]
mov ecx, 0x3e4c
mov eax, dword [0x140a0f0f0]
sub r15w, cx
mov qword [rbp - 0x10], r15
mov dword [rsp + 0x68], eax
jmp 0x14001d03a
cmp byte [0x140049513], r11b
jne 0x14001cf22
mov r13, qword [rbp - 0x28]
mov rax, qword [0x140049580]
and r13b, 0xce
mov dword [rsp + 0x7c], r13d
mov qword [0x1400495f0], rax
jmp 0x14001cf27
mov r13, qword [rbp - 0x28]
mov rax, qword [0x1400495a8]
neg rax
mov dword [rsp + 0x7c], r13d
mov qword [0x140049610], rax
jmp 0x14001d03a
mov rax, qword [0x1400495c8]
test rax, rax
je 0x14001d097
mov eax, dword [0x1400495d0]
mov rdx, qword [0x140049600]
imul rdx, rax
mov eax, dword [0x1400495d0]
sub eax, edx
mov dword [0x1400495d0], eax
mov r9d, dword [rbp - 0x7c]
mov r10, qword [rbp - 0x40]
mov eax, dword [rsp + 0x58]
add eax, 0xf9
mov dword [rsp + 0x54], eax
movsx ecx, word [rsp + 0x60]
mov eax, dword [rsp + 0x74]
cmp ecx, eax
jb 0x14001d143
mov eax, dword [rsp + 0x74]
mov edx, r11d
cmp eax, dword [rbp - 8]
mov ecx, r11d
mov eax, dword [rsp + 0x74]
setae dl
cmp eax, 0x48
setae cl
cmp edx, ecx
je 0x14001d12e
movzx eax, byte [0x1400494e7]
mov rcx, qword [0x140049600]
sub rcx, rax
mov qword [0x140049600], rcx
jmp 0x14001d158
cmp word [rbp - 0x58], r11w
je 0x14001d032
mov rax, qword [rbp - 0x70]
movzx ecx, ax
movzx eax, word [0x140049554]
imul eax, ecx
mov word [0x140049554], ax
jmp 0x14001d032
movsx rcx, byte [0x1400494e4]
cmp r10, rcx
jne 0x14001d0d5
lea eax, [rcx - 0x1a]
mov word [rsp + 0x5c], ax
jmp 0x14001d03a
mov rax, qword [0x140049598]
mov edx, r11d
mov eax, dword [rsp + 0x6c]
mov rcx, r11
mov rax, qword [0x140049578]
cmp byte [0x1400494e7], r11b
mov eax, ebx
not eax
sete dl
cmp eax, edx
mov rax, qword [0x140049578]
sete cl
cmp rax, rcx
jne 0x14001d03a
movsx eax, r12w
add eax, eax
mov dword [0x14004956c], eax
movzx eax, word [rsp + 0x5c]
sub al, 8
mov byte [0x1400494e3], al
jmp 0x14001d03a
movzx r14d, word [rsp + 0x70]
movzx eax, r14b
sub eax, 0x1389
mov dword [rsp + 0x6c], eax
jmp 0x14001d15e
mov al, byte [0x1400494fc]
xor al, 0xb0
mov qword [0x1400495a8], r10
mov byte [str.MSUnsupportedAlgorit], al
movzx r14d, word [rsp + 0x70]
mov rax, qword [0x140049580]
mov ecx, dword [rbp]
neg eax
mov dword [0x14004956c], eax
or ecx, 0x7d
mov eax, 0x2b6
sub eax, ecx
mov ecx, 0x2fa1
mov dword [rbp], eax
mov qword [0x140049598], rcx
mov rax, qword [0x140049598]
mov r11d, dword [rbp - 0x5c]
mov qword [0x140049598], rcx
mov eax, dword [rbp + 0x7c]
movsx r8d, r13b
cmp r11d, eax
jne 0x14001d3bc
mov rdi, qword [rbp - 0x30]
xor r11d, r11d
movzx ecx, byte [str.MSUnsupportedAlgorit]
mov edx, r11d
mov eax, edi
not r8d
not eax
cmp ecx, eax
sete dl
cmp edx, r8d
jl 0x14001d22f
movsx eax, byte [rbp + 0x20]
lea r10d, [r11 + 3]
mov ecx, 0x2c5
mov qword [rbp - 0x40], r10
and ax, cx
mov edx, r11d
mov word [rbp + 8], ax
mov al, byte [0x1400494fb]
sub al, 0x1e
cmp byte [0x1400494e7], r11b
mov byte [0x1400494e3], al
mov eax, dword [0x1400494fc]
sete dl
neg eax
movsx r9d, dx
sbb cx, cx
neg cx
lea eax, [rcx + 0x12]
movsx ecx, byte [0x1400494fb]
cwde
imul r9d, eax
neg ecx
mov dword [0x1400494fc], ecx
mov dword [rbp - 0x7c], r9d
jmp 0x14001d272
cmp byte [0x1400494e4], r11b
je 0x14001d272
mov eax, dword [rsp + 0x6c]
mov rdx, r11
mov ecx, dword [0x1400495d0]
sub eax, 0xc801
add ecx, dword [0x1400495e4]
or ebx, eax
mov qword [rbp + 0x10], rax
mov eax, dword [0x140049594]
cmove rdx, rcx
sub rax, qword [0x140049610]
imul rax, rdx
mov qword [0x1400495f0], rax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
movsx ecx, word [rsp + 0x60]
movsx eax, byte [0x1400494e4]
sub cx, ax
cmp dword [0x1400495b0], r11d
mov word [rsp + 0x60], cx
je 0x14001d2a3
movsx rcx, byte [0x1400494fb]
jmp 0x14001d2aa
mov rcx, qword [0x140049608]
mov qword [rbp - 0x70], rcx
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x50]
add ecx, eax
mov dword [rbp + 0x50], ecx
mov ecx, dword [rbp - 0x64]
mov dword [rsp + 0x68], 2
mov rax, qword [0x140049578]
xor al, cl
sub cl, al
mov eax, dword [rsp + 0x54]
add eax, 0x14b
mov dword [rbp - 0x64], ecx
mov dword [rsp + 0x58], eax
movsx rax, r9w
mov qword [0x140cb3b40], rax
mov eax, dword [rsp + 0x54]
add eax, 0x2b6
mov dword [rsp + 0x54], eax
mov edx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x58]
imul edx, eax
sub ecx, edx
mov edx, dword [rsp + 0x54]
add edx, ecx
mov ecx, dword [rsp + 0x58]
mov eax, dword [rbp + 0x50]
xor ecx, eax
mov eax, dword [rbp + 0x78]
sub ecx, eax
mov eax, dword [rsp + 0x58]
add eax, ecx
cmp eax, edx
je 0x14001d379
movsx rcx, word [rsp + 0x5c]
movabs rax, 0xd0c332af4328e
mov qword [rsp + 0x40], r11
xor rcx, rax
mov qword [rsp + 0x38], r11
add r10, rcx
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r9d, r9d
mov qword [rsp + 0x30], r11
xor r8d, r8d
mov qword [rsp + 0x28], r11
xor edx, edx
mov qword [rbp - 0x40], r10
mov qword [rsp + 0x20], r11
call fcn.140012594
mov r9d, dword [rbp - 0x7c]
xor r11d, r11d
mov qword [rbp + 0x40], rax
mov rbx, qword [rbp - 8]
mov esi, dword [rbp - 0x1c]
mov edx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x38]
add edx, 0x3d0
lea ecx, [rax + rax*8]
shl ecx, 5
cmp edx, ecx
je 0x14001d8d1
movsxd r10, dword [rbp - 0x80]
mov rax, qword [rbp - 0x28]
movsx r8, r10b
cmp r8, rax
jle 0x14001d613
mov dword [rsp + 0x68], 0x3f
jmp 0x14001d628
movzx eax, word [0x140049514]
lea eax, [r8 + 0x86]
mov dword [0x1400494fc], ecx
movsxd rdx, eax
mov rax, qword [0x1400495f0]
cmp rax, rdx
jne 0x14001d471
movsx r8, byte [rbp + 0x20]
xor r14d, r14d
mov r13, qword [rbp - 8]
lea r11d, [r14 + 1]
mov rcx, qword [0x140049610]
add rcx, r8
cmp rcx, r11
jne 0x14001d45a
mov al, byte [0x140049594]
movzx r12d, r14w
add al, 0x6a
mov byte [rsp + 0x50], al
mov rcx, qword [0x140049580]
movsx rax, r15w
imul rcx, rax
mov rax, qword [0x140049580]
add rax, rcx
mov dword [0x1400494fc], 0x2fa1
mov qword [0x140049580], rax
movzx eax, word [0x1400495fc]
xor r13d, eax
mov dword [rsp + 0x74], 0x6f
mov rax, qword [0x1400495f0]
cmp rax, rdx
je 0x14001d3f3
movzx r14d, word [rsp + 0x70]
mov r11d, dword [rbp - 0x5c]
mov qword [rbp - 8], r13
mov r13d, dword [rsp + 0x7c]
mov dword [rbp - 0x60], r12d
mov eax, dword [0x140a0f0f0]
mov rbx, qword [rbp - 8]
mov dword [rsp + 0x54], eax
movsx eax, word [rsp + 0x5c]
movzx edx, word [0x1400495d4]
sub edx, eax
movzx eax, word [rsp + 0x5c]
add ax, dx
mov word [rsp + 0x5c], ax
mov ecx, dword [rbp + 0x74]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp - 0x5c], ecx
mov eax, 0xaf0476ce
mov qword [0x140049600], rax
mov ecx, dword [rbp + 0x68]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp + 0x68], ecx
mov ecx, dword [rbp - 0x20]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp - 0x20], ecx
mov eax, dword [rbp]
mov ecx, dword [rbp - 0x38]
sub ecx, eax
mov eax, dword [rbp - 0x5c]
mov edx, dword [rbp + 0x68]
sub ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x5c]
add ecx, eax
cmp ecx, edx
je 0x14001d5fe
movsx ecx, word [rsp + 0x60]
movzx eax, si
xor esi, esi
cmp ecx, eax
mov edx, esi
mov rax, qword [0x140049610]
mov r8d, esi
setg dl
neg rax
mov rax, qword [0x140049580]
sbb ecx, ecx
not ecx
and ecx, 0x735ab903
cmp ecx, edx
mov ecx, esi
setae r8b
cmp rax, r10
movsx eax, r15w
not r8d
setae cl
sub eax, ecx
sub eax, ebx
cmp eax, r8d
jae 0x14001d580
mov eax, dword [rsp + 0x6c]
test r14b, r14b
movzx ecx, al
mov edx, esi
movsx eax, word [rsp + 0x60]
cmove edx, ecx
movsx ecx, dl
movsx edx, al
imul edx, ecx
movsx ecx, byte [0x1400495a0]
movsx eax, dl
imul ecx, eax
mov eax, dword [0x1400494fc]
imul eax, dword [0x1400495d8]
not cl
mov byte [0x1400494e4], cl
mov dword [0x1400494fc], eax
jmp 0x14001d592
movzx eax, byte [rsp + 0x50]
mov cl, byte [rsp + 0x50]
add cl, al
add cl, dil
mov byte [rsp + 0x50], cl
mov ecx, dword [rsp + 0x74]
mov eax, 0xd9
mov word [0x140049554], ax
sub ecx, edi
mov eax, dword [rsp + 0x74]
xor r8d, r8d
and eax, ecx
mov qword [rsp + 0x40], rsi
movsx ecx, word [0x140049594]
mov edx, 0x1fffff
mov dword [rsp + 0x74], eax
mov eax, 0xffffe3be
mov qword [rsp + 0x38], rsi
cwde
imul ecx, eax
mov qword [rsp + 0x30], rsi
movsxd r9, r11d
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
add r12w, cx
mov rcx, qword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [rbp - 0x60], r12d
call fcn.140012594
mov r9d, dword [rbp - 0x7c]
mov qword [rbp + 0x40], rax
mov rdi, qword [rbp - 0x30]
xor r11d, r11d
jmp 0x14001d37d
mov rdi, qword [rbp - 0x30]
jmp 0x14001d380
movzx eax, word [0x140049514]
movzx ecx, al
movzx eax, r14b
imul eax, ecx
mov byte [rsp + 0x70], al
mov eax, dword [0x140a0f0f0]
xor r14d, r14d
mov r11, qword [rbp + 0x10]
mov dword [rsp + 0x54], eax
movabs rax, 0xfff1b787c500f377
movsx edx, byte [0x1400494e5]
add rax, r8
add edx, r11d
not edx
xor rdx, rax
mov al, r12b
add al, byte [0x1400495a0]
not rdx
movsx eax, al
add dl, 1
imul ecx, eax, 7
add cl, dl
mov edx, r14d
mov byte [0x1400494e5], cl
mov eax, dword [rsp + 0x54]
mov ecx, dword [0x140049594]
add eax, 0x9e
mov dword [rbp - 0x5c], eax
mov rax, qword [0x1400495f0]
mov r8, qword [rbp - 0x70]
cmp rax, rcx
movsx rax, r13b
mov ecx, r14d
setne dl
sub r8, rax
mov rax, qword [0x140049580]
or r8, rdx
test rax, rax
setne cl
cmp r8, rcx
jg 0x14001d6dc
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x14001d6c7
mov al, byte [rsp + 0x50]
test al, al
je 0x14001d6dc
movzx eax, word [0x140049554]
mov ecx, 0x82b7df47
sub ecx, eax
add r11d, ecx
mov qword [rbp + 0x10], r11
mov eax, dword [rsp + 0x54]
xor r11d, r11d
mov r14, qword [rbp + 0x40]
add eax, 0xc169
mov dword [rbp + 0x38], eax
mov ecx, 0x238
mov eax, dword [rsp + 0x54]
add eax, 0x85
mov dword [0x1400495e4], r11d
mov dword [rbp + 0x38], eax
mov eax, dword [0x140a0f0f0]
mov dword [0x140049590], eax
movzx eax, word [0x1400495d4]
shr ax, 6
mov byte [0x1400494e7], al
mov eax, dword [rbp - 0x5c]
sub ecx, eax
mov eax, dword [rbp - 0x5c]
sub ecx, eax
mov dword [rbp + 0x38], ecx
test r14, r14
jne 0x14001d8d5
cmp r15w, word [0x1400495b8]
jne 0x14001d753
test r9w, r9w
jne 0x14001d753
mov edx, r11d
lea r8d, [r11 + 1]
jmp 0x14001d75c
mov r8d, 1
mov edx, r8d
movzx eax, word [0x140049514]
cmp edx, eax
jb 0x14001d779
mov al, byte [rsp + 0x50]
mov ecx, 0x2a
sub cl, r15b
add cl, al
mov byte [rsp + 0x50], cl
mov eax, 0x17
mov edx, r11d
mov qword [rbp - 0x10], rax
mov al, byte [0x1400495e4]
sub al, 0x19
mov byte [rsp + 0x50], al
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0xf7
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x54]
add eax, 0xace8
mov dword [rbp + 0x30], eax
mov eax, dword [rsp + 0x54]
add eax, 0xc4
mov dword [rbp + 0x30], eax
mov rcx, qword [0x1400495c8]
movsx rax, r12w
cmp rax, rcx
mov eax, r11d
seta dl
cmp r12w, 0x51
setg al
cmp edx, eax
jne 0x14001d817
movzx ecx, word [0x1400495f8]
movzx eax, word [0x1400495f8]
add ax, word [0x140049608]
add ax, cx
mov word [0x1400495f8], ax
mov eax, dword [rsp + 0x6c]
sub eax, 0xff2c
movsxd rcx, eax
mov rax, qword [rbp - 0x70]
sub rax, rcx
mov qword [rbp - 0x70], rax
jmp 0x14001d833
movsxd rax, edi
mov qword [rbp - 0x70], rax
movzx ecx, word [0x1400495f8]
add cx, word [0x140a8d732]
mov word [0x1400495f8], cx
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x5c]
sub ecx, eax
mov eax, dword [0x140a0f0f0]
xor ecx, r8d
mov dword [rbp - 0x20], ecx
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x38]
add ecx, eax
mov dword [rbp + 0x30], ecx
movsx ecx, byte [0x1400494e3]
mov eax, dword [rsp + 0x54]
add ecx, 0x7e
add eax, 0x24a
mov dword [0x140049590], ecx
mov dword [rbp + 0x38], eax
movzx eax, word [0x1400495f8]
imul rax, rax, 0x5e2f
mov qword [0x140049580], rax
mov eax, dword [0x140a0f0f0]
mov dword [0x1400495b0], eax
mov eax, dword [rsp + 0x54]
add eax, 0xdb
mov dword [rbp - 0x5c], eax
mov edx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x5c]
sub edx, eax
mov ecx, dword [rbp + 0x38]
mov eax, dword [rbp + 0x30]
add ecx, eax
cmp edx, ecx
je 0x14001d8d5
movsx eax, r10b
not eax
add eax, dword [0x140049590]
cdqe
mov qword [0x1400495c0], rax
mov eax, dword [rbp - 0x20]
jmp 0x14001f877
mov r14, qword [rbp + 0x40]
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], r11
xor r8d, r8d
mov qword [rsp + 0x38], r11
xor edx, edx
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x20], r11
call fcn.140012594
mov rcx, qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdx, rax
xor eax, eax
mov r9d, 0x2000
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
lea r8d, [rax + 8]
mov qword [rsp + 0x20], rax
call fcn.140012594
xor r8d, r8d
mov qword [rbp + 0x38], rax
mov r15, rax
test rax, rax
jne 0x14001d9ea
mov byte [str.MSUnsupportedAlgorit], 0x48
test r13b, r13b
jne 0x14001d977
mov rax, qword [0x1400495f0]
lea ecx, [rbx + 0xdd]
cmp rax, rcx
jne 0x14001d977
movsx eax, byte [0x140049610]
imul ecx, eax, 0xffffffb0
mov byte [0x1400494e3], cl
mov rcx, qword [rbp + 8]
mov eax, 1
add dword [0x1400495b0], eax
mov rdx, qword [rbp + 0x20]
xor dl, cl
mov byte [0x140049513], cl
cmp dword [0x1400495e4], r8d
lea r9d, [rax + 2]
mov byte [str.MSUnsupportedAlgorit], 0x48
sete al
mov word [0x140049554], r9w
sub al, dl
add al, 0x10
not al
mov byte [rsp + 0x50], al
mov cl, byte [rsp + 0x50]
mov al, byte [rsp + 0x50]
sub cl, r13b
sub cl, al
cmp word [0x1400495d4], r8w
mov byte [rsp + 0x50], cl
jne 0x14001d9d9
movsx edi, word [rsp + 0x60]
mov eax, dword [rbp + 0x84]
mov dword [0x1400495e4], edi
jmp 0x14001f877
mov qword [rsp + 0x40], r8
lea rcx, [fcn.140027c40]
mov qword [rsp + 0x38], r8
mov r13d, 0x2000
mov qword [rsp + 0x30], r8
mov r9d, r13d
mov qword [rsp + 0x28], r8
mov rdx, r15
mov qword [rsp + 0x20], r8
call fcn.140012594
lea r9, [rbp + 4]
mov r8d, r13d
mov rdx, r15
mov rcx, r14
call fcn.140015378
xor r14d, r14d
test eax, eax
je 0x14001dbb8
mov rax, qword [0x1400495c0]
add ebx, 0x86
mov r13d, 0x4f247d92
mov dword [0x1400494fc], r13d
cmp rax, rbx
jne 0x14001dab4
mov r14d, 1
movsx rcx, word [rsp + 0x60]
add rcx, qword [0x140049608]
cmp rcx, r14
jne 0x14001dab1
movups xmm0, xmmword [0x1400368b0]
lea rcx, [rbp + 0x2140]
movups xmm1, xmmword [0x1400368c0]
movups xmmword [rbp + 0x2140], xmm0
movups xmmword [rbp + 0x2150], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1400495d0], eax
mov rax, qword [0x1400495c0]
mov dword [0x1400494fc], r13d
cmp rax, rbx
je 0x14001da5d
xor r14d, r14d
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov ecx, dword [rsp + 0x78]
test ecx, ecx
movzx edx, byte [0x1400495fc]
movzx eax, byte [0x1400495d8]
cmovne edx, eax
mov byte [0x1400494e5], dl
mov ecx, dword [rbp + 0x88]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp - 0x5c], ecx
mov eax, dword [rsp + 0x74]
sub ax, 0x27
mov word [0x1400495fc], ax
mov al, byte [0x1400494e3]
movsx edx, byte [0x1400494e5]
neg al
mov eax, dword [rsp + 0x6c]
sbb ecx, ecx
sub edx, dword [rbp - 8]
neg ecx
add edx, eax
movzx eax, word [0x1400495a4]
add ecx, 0x4afa605f
imul edx, ecx
movzx ecx, byte [rbp - 0x64]
sub ecx, eax
imul ecx, edx
test ecx, ecx
sete byte [0x1400494e5]
mov ecx, dword [rbp + 0x58]
mov eax, dword [rsp + 0x54]
add ecx, eax
movzx eax, word [0x140049554]
xor dword [0x140049590], eax
mov dword [rbp + 0x58], ecx
mov al, byte [0x1400494e3]
mov ecx, dword [rbp + 0x70]
sub al, 0x5a
mov byte [0x1400494e4], al
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp + 0x70], ecx
mov ecx, dword [rbp + 0x60]
mov eax, dword [rbp - 0x5c]
mov r8d, dword [rbp - 0x5c]
mov edx, dword [rbp + 0x28]
imul ecx, eax
sub r8d, ecx
mov ecx, dword [rbp + 0x58]
imul edx, ecx
cmp edx, r8d
je 0x14001dbb8
movsxd rcx, dword [0x140b72d90]
movabs rdx, 0xfffc60f352d4e258
add rdx, qword [0x140049610]
mov eax, 2
mov qword [0x1400495d8], rdx
mov qword [0x1400495c8], rcx
jmp 0x14001f877
mov r13d, dword [rbp + 4]
mov ecx, r13d
call fcn.14001aacc
mov ebx, dword [rbp - 0x80]
mov rdx, rax
mov qword [rbp + 0x60], rax
test rax, rax
jne 0x14001de61
movsx ecx, bl
lea eax, [rdx + 2]
add ecx, 0x66d6a9c6
mov word [0x1400495d4], ax
mov dword [rbp + 0x10], ecx
mov ecx, dword [0x140a0f0f0]
mov dword [rsp + 0x54], ecx
movsxd rcx, dword [rsp + 0x6c]
call qword [sym.imp.USER32.dll_IsWindowVisible]
mov eax, eax
lea rcx, [rbp + 0x20d0]
mov qword [0x1400495a8], rax
mov eax, dword [rsp + 0x54]
add eax, 0xb234
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x54]
movups xmm0, xmmword [str.IDS_CERT_NAME]
add eax, 0x6c
movsd xmm1, qword [0x1400368e0]
mov dword [rbp + 0x28], eax
mov eax, dword [0x1400368e8]
mov dword [rbp + 0x20e8], eax
movups xmmword [rbp + 0x20d0], xmm0
movsd qword [rbp + 0x20e0], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsx rdx, r12w
xor r12d, r12d
mov word [0x1400495bc], ax
mov eax, dword [rsp + 0x54]
add eax, 0x7b
mov dword [rbp + 0x28], eax
mov rax, qword [rbp - 0x70]
add rdx, rax
mov rax, qword [rbp - 0x70]
mov cl, byte [0x14004956c]
and rax, rdx
mov qword [rbp - 0x70], rax
sub cl, 0x3b
mov al, byte [rsp + 0x50]
mov edx, r12d
add cl, al
mov byte [rsp + 0x50], cl
mov eax, dword [rbp + 0x28]
add eax, 0x48
xor eax, 0xc9
mov dword [rbp + 0x28], eax
mov ecx, dword [0x1400495d0]
mov rax, qword [0x1400495f0]
cmp rcx, rax
mov eax, dword [0x1400495d0]
mov ecx, r12d
setae dl
cmp eax, 0xc
setae cl
cmp edx, ecx
ja 0x14001dcf9
test edi, edi
je 0x14001dcf9
mov ecx, dword [rbp - 0x58]
mov eax, 0x6014
sub ax, word [0x14004956c]
add word [0x1400495bc], ax
movzx eax, cx
test cx, cx
cmovne ax, word [rsp + 0x74]
mov word [0x1400495b8], ax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov ecx, dword [rbp + 0x6c]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp + 0x6c], ecx
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
cmp al, 0x4a
mov r14b, al
mov ecx, r12d
mov word [rsp + 0x70], r14w
setbe cl
mov eax, r12d
test r14b, r14b
sete al
cmp eax, ecx
jb 0x14001dd5f
movzx eax, word [0x1400495fc]
cmp edi, eax
jge 0x14001dd78
mov eax, 0x1edc
add ax, word [0x140049608]
mov word [0x1400495a0], ax
mov eax, 0x1d3d
mov word [0x1400495a4], ax
jmp 0x14001dd78
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [0x1400495e8]
sub rdx, rax
mov eax, dword [rsp + 0x68]
add eax, edx
mov dword [rsp + 0x68], eax
mov ecx, dword [rbp + 0x4c]
movabs r8, 0x172ab248b451e
mov eax, dword [rsp + 0x54]
add ecx, eax
mov eax, dword [0x14004956c]
mov dword [rsp + 0x58], ecx
add eax, 0xfb8a
mov dword [rsp + 0x6c], eax
mov ecx, dword [rbp + 0x2c]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [rbp + 0x2c], ecx
movsx ecx, word [rsp + 0x60]
mov eax, dword [0x1400495d0]
add ecx, 0xd9
mov qword [0x1400495e8], r8
cmp eax, ecx
jne 0x14001de37
mov esi, dword [rbp - 0x64]
mov r15d, 1
movsx ecx, word [rsp + 0x60]
add ecx, dword [0x1400495e4]
cmp ecx, r15d
jne 0x14001de30
mov eax, dword [rsp + 0x68]
movzx ecx, r14b
not ecx
movzx edx, sil
and edx, dword [0x140049590]
imul eax, ecx
mov ecx, r12d
cdqe
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
test rax, rax
mov qword [0x1400495e8], r8
sete cl
sub ecx, edx
lea eax, [rcx - 0xf]
cdqe
mov qword [rbp - 0x70], rax
movsx ecx, word [rsp + 0x60]
mov eax, dword [0x1400495d0]
add ecx, 0xd9
cmp eax, ecx
je 0x14001ddcf
mov r15, qword [rbp + 0x38]
mov esi, dword [rbp - 0x1c]
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x58]
sub ecx, eax
mov edx, dword [rbp + 0x6c]
add edx, ecx
mov ecx, dword [rbp + 0x2c]
mov eax, dword [rsp + 0x58]
or ecx, eax
cmp ecx, edx
je 0x14001de5b
mov eax, dword [rbp + 0x28]
jmp 0x14001f877
mov rdx, qword [rbp + 0x60]
jmp 0x14001de64
xor r12d, r12d
mov ecx, dword [0x140049594]
imul ecx, dword [rbp - 8]
and dword [0x140049594], ecx
movzx ecx, word [0x1400495f8]
add ecx, 0xed
mov dword [rsp + 0x6c], ecx
cmp dword [rbp + 4], r12d
jbe 0x14001e0e8
movsx r14d, bl
mov rdi, r15
mov r15d, dword [rsp + 0x7c]
mov rbx, rdx
sub rdi, rdx
lea r12d, [r14 + 1]
mov byte [0x1400494e5], 0x16
movsx eax, byte [0x1400494e5]
cmp eax, r12d
jne 0x14001ded8
movzx eax, word [0x1400495b4]
mov ecx, 1
cmp ax, cx
jne 0x14001ded8
mov al, r15b
add al, byte [0x1400495a4]
mov byte [0x140049513], al
movsx esi, byte [rbp + 0x20]
xor edx, edx
cmp word [0x1400495bc], dx
mov r9d, 0x104
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rdx
sete cl
mov qword [rsp + 0x30], rdx
xor r8d, r8d
mov qword [rsp + 0x28], rdx
mov byte [0x1400494e5], 0x16
mov rax, qword [rbp - 0x70]
sub cl, al
mov qword [rsp + 0x20], rdx
mov byte [0x1400494e7], cl
lea rdx, [rbp + 0x2160]
lea rcx, [fcn.140027c40]
mov dword [0x140acc120], esi
call fcn.140012594
mov rdx, qword [rdi + rbx]
lea r8, [rbp + 0x2160]
mov rcx, qword [rbp + 0x40]
mov r9d, 0x104
call fcn.1400147cc
mov r8d, dword [rbp + 0x48]
mov r9d, eax
mov ecx, dword [rbp + 0x18]
imul edx, ecx, 0x98
shl r8d, 6
cmp edx, r8d
je 0x14001e00f
lea ecx, [r14 + 0xdd]
mov byte [0x140049513], 0x1d
movsxd rdx, ecx
mov rcx, qword [0x140049580]
cmp rcx, rdx
jne 0x14001dfe3
movzx r12d, word [rsp + 0x70]
mov r15d, 1
movsx ecx, byte [0x1400494e5]
add ecx, esi
cmp ecx, r15d
jne 0x14001dfda
movzx ecx, byte [0x1400494e7]
movsx eax, byte [0x1400494e4]
cmp eax, ecx
jle 0x14001dfc7
movzx eax, r12b
sub rax, 0x1ee3d57c
mov qword [0x140049578], rax
mov rax, qword [0x140049580]
mov byte [0x140049513], 0x1d
cmp rax, rdx
je 0x14001df96
mov r15d, dword [rsp + 0x7c]
lea r12d, [r14 + 1]
xor esi, esi
test r9d, r9d
je 0x14001e011
mov rax, qword [rbp - 0x28]
mov ecx, esi
test rax, rax
cmove rcx, qword [rbp - 0x40]
test rcx, rcx
sete cl
cmp qword [0x1400495a8], rsi
sete al
and al, cl
mov byte [rbp + 0x20], al
jmp 0x14001e011
xor esi, esi
mov rax, qword [rbp + 0x90]
mov r9d, 0x400
mov r8, qword [rbx]
mov rdx, qword [rdi + rbx]
add r8, 0x110
mov rcx, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140012768
mov edx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x54]
sub edx, eax
mov eax, dword [rbp - 0x68]
imul ecx, eax, 0x2fb
cmp ecx, edx
je 0x14001e063
mov rax, qword [rbp - 0x70]
mov word [0x1400495bc], ax
mov rcx, qword [rbx]
lea r8, [rbp + 0x2160]
mov rax, qword [rdi + rbx]
mov r9d, 0x103
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rcx], rax
mov rcx, qword [rbx]
mov eax, dword [rbp + 0x54]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rcx + 0x10c], eax
lea rcx, [0x140028eb0]
mov rdx, qword [rbx]
add rdx, 8
mov qword [rsp + 0x20], rsi
call fcn.140012594
mov eax, dword [rbp - 0x78]
add rbx, 8
mov eax, dword [rbp - 0x78]
mov eax, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
mov eax, dword [rbp - 0x78]
mov esi, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x78]
add esi, dword [rbp + 0x54]
dec byte [0x140049513]
mov dword [rbp - 0x1c], esi
sub r13, 1
jne 0x14001dea5
mov r15, qword [rbp + 0x38]
xor r12d, r12d
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], r12
xor r8d, r8d
mov qword [rsp + 0x38], r12
xor edx, edx
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.140012594
mov rcx, qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdx, rax
mov qword [rsp + 0x40], r12
mov r9, r15
mov qword [rsp + 0x38], r12
xor r8d, r8d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.140012594
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x6c], eax
mov eax, dword [rbp - 0x4c]
mov ecx, dword [rbp - 0x4c]
xor eax, 0x3cc
mov edx, dword [rbp - 0x4c]
sub ecx, eax
add edx, ecx
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x4c]
imul ecx, eax
mov eax, dword [rsp + 0x64]
imul eax, ecx
imul eax, eax, 0x12b
cmp edx, eax
je 0x14001f864
call qword [sym.imp.USER32.dll_GetMessageExtraInfo]
xor r10d, r10d
mov word [rsp + 0x5c], ax
test esi, esi
je 0x14001f864
mov rbx, qword [rbp + 0x10]
mov rax, qword [0x140049580]
test ebx, ebx
je 0x14001e217
movzx ecx, word [0x140049514]
movzx eax, word [0x140049554]
add rcx, 0xd1a9
mov qword [0x1400495d8], rcx
mov ecx, 0x2f0b
sub ax, cx
mov ecx, dword [rbp - 0x58]
add cx, ax
mov dword [rbp - 0x58], ecx
mov r13d, dword [rbp - 0x60]
mov esi, r10d
cmp dword [rbp + 4], r10d
jbe 0x14001e8fc
mov r12, qword [rbp - 0x40]
mov r15d, 0x40ed
mov rax, qword [0x140049578]
cmp r12, rax
jae 0x14001e273
mov rax, qword [0x1400495c0]
mov eax, dword [rsp + 0x68]
mov eax, dword [rsp + 0x74]
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x14001e246
test cx, cx
jne 0x14001e246
mov ecx, r10d
jmp 0x14001e24b
cmp qword [0x1400495e8], r10
mov ecx, dword [rbp - 0x58]
je 0x14001e1cf
movzx eax, word [0x140049608]
sub word [0x140049554], ax
mov r13d, dword [rbp - 0x60]
movsx eax, r13w
add eax, 0x43fdad81
mov dword [0x1400495d0], eax
jmp 0x14001e1d3
mov ecx, 1
mov eax, dword [rsp + 0x68]
xor eax, ecx
je 0x14001e265
mov eax, dword [rsp + 0x78]
sub eax, 0x32
cdqe
mov qword [0x140049598], rax
jmp 0x14001e289
movzx eax, word [rsp + 0x60]
mov rax, qword [0x1400495c8]
jmp 0x14001e289
lea eax, [r13 - 9]
mov byte [0x1400494e3], al
mov eax, 2
mov word [0x1400495a0], ax
mov eax, 1
mov word [rbp - 0x7c], ax
mov rax, qword [rbp - 0x28]
mov word [rsp + 0x60], ax
mov rax, qword [rbp - 0x70]
not rax
mov qword [rbp - 0x70], rax
mov eax, 0x4027
add ax, word [0x1400495b8]
mov word [rsp + 0x60], ax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
movzx eax, word [0x140049514]
test ax, ax
je 0x14001e2d6
mov r14b, byte [0x140049610]
jmp 0x14001e2db
mov r14d, dword [rsp + 0x74]
mov rcx, qword [rbp - 0x70]
mov edx, r10d
movzx eax, word [0x140049554]
sub rcx, rax
mov word [rsp + 0x70], r14w
mov qword [rbp - 0x70], rcx
mov eax, dword [rsp + 0x54]
add eax, 0x2d4
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x54]
add eax, 0x243
mov dword [rbp - 0x48], eax
movsx ecx, word [rsp + 0x5c]
mov eax, dword [0x1400495d0]
cmp ecx, eax
movzx eax, word [rsp + 0x5c]
mov ecx, r10d
seta dl
cmp ax, 0x4e
setg cl
cmp edx, ecx
jae 0x14001e38c
test ebx, ebx
je 0x14001e376
movsx rdx, byte [0x1400494e3]
mov rax, qword [rbp - 0x28]
movsx ecx, al
imul ecx, edx
mov byte [0x1400494e3], cl
mov ecx, r10d
mov al, byte [0x1400494e3]
mov al, byte [rsp + 0x50]
test al, al
movsx eax, byte [rbp - 0x80]
sete cl
sub cx, ax
add cx, word [0x140049608]
mov word [0x1400495e0], cx
jmp 0x14001e3aa
mov rax, qword [0x1400495c0]
mov ecx, 0xc7
xor ax, cx
mov word [rsp + 0x5c], ax
jmp 0x14001e3aa
movzx ecx, byte [0x140049513]
mov rax, qword [0x140049600]
add ecx, 0xa60b
add rax, rcx
mov qword [0x140049600], rax
mov eax, dword [rsp + 0x54]
movsx ebx, byte [rbp - 0x80]
add eax, 0xf1
mov dword [rsp + 0x64], eax
add ebx, 0x16
mov word [0x1400495f8], r15w
movsx eax, byte [0x1400494fb]
cmp eax, ebx
jne 0x14001e48c
movsx edi, byte [rsp + 0x7c]
mov r12d, 1
mov r13, qword [rbp + 8]
mov r14d, 0xdc
movzx ecx, word [0x1400495f8]
add ecx, edi
cmp ecx, r12d
jne 0x14001e47e
cmp qword [0x1400495a8], r10
jne 0x14001e454
mov al, byte [rsp + 0x50]
test al, al
jne 0x14001e454
cmp r14w, r13w
ja 0x14001e454
cmp qword [0x140049588], r10
je 0x14001e427
mov eax, dword [rsp + 0x6c]
mov r8d, r12d
test eax, eax
jne 0x14001e42a
mov r8d, r10d
mov eax, dword [0x1400495d0]
mov edx, r10d
test eax, eax
mov ecx, r10d
mov eax, dword [rsp + 0x78]
sete dl
cmp eax, edx
setne cl
cmp r8d, ecx
jb 0x14001e454
movzx eax, word [rsp + 0x5c]
mov rax, qword [rbp - 0x70]
jmp 0x14001e467
mov rcx, qword [0x1400495c8]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [rbp - 8], eax
xor r10d, r10d
mov word [0x1400495f8], r15w
movsx ecx, byte [0x1400494fb]
cmp ecx, ebx
je 0x14001e3ea
mov r13d, dword [rbp - 0x60]
movzx r14d, word [rsp + 0x70]
mov r12, qword [rbp - 0x40]
mov eax, dword [rbp - 0x78]
mov ecx, dword [rbp - 0x78]
add eax, ecx
mov ecx, dword [rbp - 0x48]
mov edx, dword [rsp + 0x64]
imul ecx, eax
mov eax, dword [rbp - 0x48]
add edx, eax
mov eax, dword [rbp - 0x78]
add eax, edx
imul r8d, ecx, 0x196
cmp r8d, eax
je 0x14001e8ea
mov rcx, qword [0x140049598]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov rdi, qword [rbp - 0x10]
xor r10d, r10d
mov ecx, eax
mov edx, r10d
cmp rcx, 0x39
mov qword [0x1400495a8], rcx
mov eax, r10d
setbe dl
test rcx, rcx
sete al
cmp eax, edx
lea edx, [r10 + 4]
jae 0x14001e511
lea eax, [rdx - 1]
mov word [0x1400495fc], dx
movzx ecx, di
mov byte [0x1400494e4], al
movsx eax, byte [rbp + 0x20]
sub cx, ax
or di, cx
mov qword [rbp - 0x10], rdi
cmp dword [0x140049594], r10d
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
je 0x14001e681
mov word [0x1400495fc], dx
test di, di
jne 0x14001e53a
mov al, byte [0x1400494e3]
movsx rax, word [rsp + 0x5c]
mov rdx, qword [rbp - 0x70]
xor edx, eax
movzx eax, r14b
imul edx, eax
mov rax, qword [rbp - 8]
not eax
imul edx, eax
movsx rax, byte [0x1400494e3]
mov r9, qword [0x1400495f0]
movzx ecx, word [0x1400495fc]
imul r9d, eax
not edx
xor r9d, 1
and r9d, edx
mov qword [rbp - 0x30], r9
test ecx, ecx
je 0x14001e671
sub ecx, 1
je 0x14001e62b
sub ecx, 1
je 0x14001e617
sub ecx, 1
je 0x14001e5f3
cmp ecx, 1
jne 0x14001e681
movzx eax, word [0x1400495b4]
movzx ecx, word [0x1400495b4]
movzx edx, word [0x1400495e0]
add dx, ax
add dx, cx
mov word [0x1400495b4], dx
movsx rax, byte [0x1400494fb]
mov rdx, qword [rbp - 0x70]
add rdx, rax
cmp qword [0x1400495e8], r10
sete al
xor al, dl
sub al, byte [0x1400495bc]
mov byte [0x1400494e5], al
jmp 0x14001e681
movsx eax, byte [0x1400494e3]
add eax, 0x98bd
cdqe
add qword [0x1400495d8], rax
mov eax, dword [0x140a0f0f0]
mov qword [0x1400495f0], rax
jmp 0x14001e681
mov al, byte [0x1400494e3]
and al, byte [0x140cb3c08]
mov byte [0x1400494e3], al
jmp 0x14001e681
mov eax, dword [rsp + 0x6c]
mov ecx, r10d
test eax, eax
movsx eax, r13w
sete cl
mov dword [rsp + 0x68], ecx
movsx edx, byte [0x1400494e3]
xor edx, eax
movsx eax, word [0x1400495a0]
sub edx, eax
mov eax, dword [rsp + 0x74]
movzx ecx, byte [rsp + 0x50]
sub edx, eax
movzx eax, r14b
sub rcx, rax
mov eax, ecx
xor rax, rdx
mov qword [0x1400495c8], rax
jmp 0x14001e681
mov eax, dword [rsp + 0x6c]
sub eax, 0x61
cdqe
mov qword [0x1400495d8], rax
mov eax, dword [rsp + 0x54]
add eax, 0x28
mov dword [rsp + 0x64], eax
mov eax, 0xdb9978f6
mov qword [0x1400495a8], rax
mov dword [rsp + 0x68], 1
mov ecx, dword [rsp + 0x68]
mov rcx, qword [0x140049578]
mov rax, qword [0x1400495c0]
movsx edx, al
movzx eax, byte [rbp + 8]
movsx r8d, cl
mov ecx, r10d
imul r8d, edx
test r14b, r14b
cmove ecx, eax
mov eax, dword [rsp + 0x6c]
add r8b, cl
add al, r8b
mov byte [rbp - 0x80], al
mov eax, dword [rsp + 0x54]
add eax, 0x322
mov dword [0x1400495b0], r10d
mov dword [rbp - 0x68], eax
mov rax, qword [0x1400495f0]
cmp dword [0x1400495b0], r10d
mov byte [0x1400494e3], al
jne 0x14001e728
mov eax, dword [rsp + 0x68]
mov ecx, 0x433a
add ax, cx
movzx ecx, word [0x1400495e0]
xor ax, word [0x1400495d8]
sub ax, r13w
xor ecx, 0x77
mov word [rbp - 0x7c], ax
mov dword [rbp - 0x30], ecx
mov eax, dword [rsp + 0x54]
mov r15, qword [rbp + 0x60]
add eax, 0xea
mov ebx, esi
mov dword [rbp - 0x54], eax
mov rax, qword [r15 + rbx*8]
cmp dword [rax + 0x10c], r10d
jbe 0x14001e8e4
movzx ecx, word [0x1400495bc]
call qword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov r8d, dword [rbp - 0x64]
xor r10d, r10d
mov dword [0x140049590], eax
mov edx, r10d
mov eax, dword [rsp + 0x6c]
movzx ecx, r8b
cmp ecx, eax
mov eax, r10d
setg dl
cmp r8b, 0x63
seta al
cmp edx, eax
je 0x14001e7b8
movups xmm0, xmmword [str.client_request_id]
movzx eax, word [0x140036900]
lea rcx, [rbp + 0x20b8]
mov word [rbp + 0x20c8], ax
movups xmmword [rbp + 0x20b8], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1400495bc], ax
xor r10d, r10d
jmp 0x14001e7c4
movzx eax, word [rsp + 0x5c]
add r8b, al
mov dword [rbp - 0x64], r8d
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov rcx, qword [rbp - 0x28]
movsx eax, byte [rbp - 0x80]
imul ecx, eax
mov eax, dword [rsp + 0x54]
add eax, 0x292
mov dword [rbp - 0x48], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x68], eax
mov al, byte [0x140a8df10]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x54]
add eax, 0x1ce
mov dword [rbp - 0x30], ecx
mov dword [rsp + 0x64], eax
mov rax, qword [0x140049588]
add rax, 0x13e5
mov qword [0x1400495c0], rax
movzx eax, r14b
xor di, ax
mov eax, dword [rsp + 0x54]
add eax, 0x1c7
mov qword [rbp - 0x10], rdi
mov dword [rsp + 0x64], eax
mov edx, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
add edx, eax
mov eax, dword [rsp + 0x64]
add eax, 0x201
cmp eax, edx
je 0x14001e8e4
movsx rcx, byte [0x1400494fb]
movabs rax, 0xb52929dc0bb8e
sub rcx, rax
mov qword [0x140049588], rcx
cmp byte [rbp - 0x18], r10b
jne 0x14001e88f
mov rdx, qword [r15 + rbx*8]
mov r8, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rdx]
call fcn.14001ff9c
mov r8d, eax
xor r10d, r10d
jmp 0x14001e892
mov r8d, r10d
mov edx, dword [rbp - 0x54]
mov r15d, 0x40ed
mov eax, dword [rbp - 0x68]
add edx, eax
mov eax, dword [rbp - 0x68]
cmp edx, eax
je 0x14001e8ea
mov rax, qword [0x1400495f0]
imul rcx, rax, 0x7b793be6
movzx eax, word [0x1400495fc]
mov qword [0x1400495d8], rcx
mov qword [0x140b01ee8], rax
test r8d, r8d
je 0x14001e8ea
movzx eax, word [0x140049514]
imul eax, eax, 0x86
mov dword [0x1400494fc], eax
jmp 0x14001e8ea
mov r15d, 0x40ed
mov ecx, dword [rbp - 0x58]
inc esi
mov rbx, qword [rbp + 0x10]
cmp esi, dword [rbp + 4]
jb 0x14001e1ea
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14001e933
mov rax, qword [rbp - 0x28]
mov ecx, r10d
cmp dword [0x140049590], r10d
sete cl
and cx, bx
xor ax, cx
mov word [0x1400495fc], ax
movzx eax, word [0x1400495d4]
add eax, 0xc5ef
mov dword [rsp + 0x68], eax
mov r15d, r10d
mov r12d, 1
cmp dword [rbp + 4], r10d
jbe 0x14001f6c4
movsx eax, byte [rbp + 0x20]
and eax, 0x88c6a7f7
mov dword [0x14004956c], eax
mov rax, qword [rbp - 0x70]
movzx ecx, al
imul eax, ecx, 0xd9
movsx ecx, byte [0x1400494e4]
mov byte [0x1400494e7], al
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x68]
cmp eax, ecx
jne 0x14001e998
mov al, byte [rsp + 0x50]
cmp byte [rbp - 0x64], al
jne 0x14001e998
movzx eax, word [rbp - 0x58]
add rax, 0xca
mov qword [rbp - 0x70], rax
mov eax, dword [rsp + 0x54]
movzx esi, word [rsp + 0x70]
add eax, 0x346
mov edi, dword [rbp - 0x80]
mov dword [rsp + 0x64], eax
mov rax, qword [0x140049598]
movzx r14d, sil
cmp r14, rax
jl 0x14001e9f2
mov rax, qword [rbp - 0x70]
test dil, dil
mov edx, r10d
mov word [0x1400495a0], r12w
sete dl
add dx, word [0x1400495a4]
add dx, r13w
movsx r13d, byte [0x1400494fb]
sub dx, ax
add r13w, dx
mov dword [rbp - 0x60], r13d
jmp 0x14001ea0a
cmp byte [0x140049513], r10b
jne 0x14001ea0a
mov eax, dword [rsp + 0x68]
and eax, 0xce0b3001
mov dword [0x140049594], eax
mov eax, dword [rsp + 0x54]
movzx ecx, byte [0x140049513]
add eax, 0x1ff
mov dword [rsp + 0x64], eax
call qword [sym.imp.USER32.dll_IsZoomed]
mov eax, eax
xor r10d, r10d
mov qword [0x140049598], rax
mov rax, qword [0x140049598]
test rax, rax
jne 0x14001eb20
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
xor r10d, r10d
mov dl, al
mov dword [rsp + 0x7c], edx
test al, al
jne 0x14001ea7c
cmp word [0x1400495d4], r10w
jne 0x14001ea62
movzx eax, word [rsp + 0x60]
mov eax, dword [rsp + 0x68]
mov word [0x1400495f8], ax
mov rax, qword [rbp - 0x70]
shl rax, 2
mov qword [0x1400495f0], rax
mov r8, qword [rbp - 0x40]
mov eax, dword [rsp + 0x54]
add eax, 0x3a5
mov dword [rbp - 0x54], eax
mov eax, dword [rsp + 0x64]
imul ecx, eax, 0x67
mov eax, dword [rbp - 0x54]
cmp eax, ecx
je 0x14001f6b3
test sil, sil
je 0x14001ebee
mov word [rsp + 0x60], r12w
mov r12d, 0x7e1c
add r12w, word [0x140049608]
movsx eax, word [rsp + 0x60]
mov qword [rbp - 0x10], r12
test eax, eax
je 0x14001eb67
cmp eax, 1
jne 0x14001eb7c
mov dword [rsp + 0x78], 0xe79
test ebx, ebx
mov rcx, qword [0x140049600]
mov rdx, r10
sete dl
mov eax, ebx
mov rbx, qword [rbp + 8]
and rdx, rax
mov rax, qword [0x1400495f0]
add rcx, rax
movzx eax, bx
imul rdx, rcx
movsx ecx, word [0x1400495b4]
imul ecx, eax
movsx eax, dil
not eax
xor ecx, eax
xor ecx, edx
mov dword [rsp + 0x6c], ecx
jmp 0x14001eb80
mov r8, qword [rbp - 0x40]
mov rax, r8
not rax
test rax, rax
jns 0x14001eb42
movsx eax, word [0x1400495b8]
add eax, 0x57
mov dword [rsp + 0x74], eax
jmp 0x14001ea80
movsx ecx, byte [0x1400494e5]
not ecx
test ecx, ecx
jne 0x14001eb56
mov rax, qword [0x140049578]
mov al, byte [0x1400495a0]
add al, 0x6e
add byte [rsp + 0x7c], al
jmp 0x14001ea80
mov rax, qword [0x1400495c8]
mov ecx, 0xc9a9
movzx eax, ax
imul eax, ecx
mov dword [rbp - 0x58], eax
mov rbx, qword [rbp + 8]
mov eax, dword [0x140a0f0f0]
dec byte [rbp + 0x20]
mov rdi, qword [rbp - 8]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x34
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x14001ec58
movsx ecx, byte [0x1400494e3]
mov edx, r10d
movzx eax, word [0x1400495d4]
cmp ecx, eax
mov al, byte [0x1400494e3]
mov ecx, r10d
sete dl
cmp al, 7
sete cl
cmp edx, ecx
mov rdx, qword [rbp - 0x30]
jae 0x14001ec12
movsx rax, word [0x1400495b8]
movabs rcx, 0x6ddc661866e09
sub rax, rcx
mov qword [rbp - 0x28], rax
jmp 0x14001ec5c
movzx eax, word [0x1400495b4]
mov r12, qword [rbp - 0x10]
mov rbx, qword [rbp + 8]
test ax, ax
jne 0x14001eb80
mov rax, qword [0x140049600]
jmp 0x14001eb80
cmp word [rbp - 0x7c], r10w
lea eax, [rdx + rdi]
mov ecx, r10d
setne cl
cmp eax, ecx
je 0x14001ec5c
movsx rax, word [rsp + 0x5c]
mov rcx, rax
mov qword [0x1400495e8], rax
movzx eax, word [0x140049514]
test ax, ax
je 0x14001ec4c
movzx ecx, word [0x1400495b4]
mov dword [rbp - 0x7c], ecx
jmp 0x14001ec5c
movzx eax, word [0x1400495f8]
mov dword [rbp - 0x7c], eax
jmp 0x14001ec5c
mov rdx, qword [rbp - 0x30]
mov eax, dword [rsp + 0x54]
add eax, 0x33e
cmp qword [0x140049608], r10
mov dword [rsp + 0x64], eax
je 0x14001ec92
call qword [sym.imp.USER32.dll_GetFocus]
xor r10d, r10d
test rax, rax
je 0x14001ecd9
lea edx, [r10 + 1]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetSystemMenu]
xor r10d, r10d
jmp 0x14001ecd9
mov ecx, dword [0x1400495e4]
mov rax, qword [0x1400495f0]
cmp rax, rcx
jbe 0x14001eccd
cmp byte [0x1400494e7], r10b
jne 0x14001eccd
mov eax, edx
not eax
cdqe
cmp r8, rax
jge 0x14001ecd9
mov ecx, 0x5756
movzx eax, r13w
xor ax, cx
mov word [0x1400495fc], ax
jmp 0x14001ecd9
movzx eax, byte [rsp + 0x50]
add qword [0x140049610], rax
mov eax, dword [rsp + 0x54]
add eax, 0x1a0
mov dword [rbp - 0x54], eax
movsxd rax, dword [0x140cf32e0]
add bx, bx
and qword [0x140049610], rax
sub bx, word [0x14004956c]
mov rax, qword [rbp + 0x60]
mov dword [0x140049590], 0x71534b5
mov esi, r15d
mov qword [rbp + 8], rbx
mov rax, qword [rax + rsi*8]
cmp dword [rax + 0x10c], r10d
jbe 0x14001f6ad
mov ecx, dword [rsp + 0x74]
mov edx, r10d
inc ecx
mov eax, r10d
add ecx, edi
mov edi, dword [rbp - 0x64]
movzx ebx, dil
sete dl
mov ecx, ebx
cmp word [0x1400495fc], r10w
sete al
sub dx, ax
mov word [0x140049514], dx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r9, qword [rbp + 8]
xor r10d, r10d
mov edx, dword [0x140a0f0f0]
mov ecx, r10d
mov eax, r10d
movzx edi, dil
cmp r9w, di
mov dword [rsp + 0x54], edx
lea r8d, [r10 + 1]
seta cl
cmp r9w, r8w
seta al
cmp ecx, eax
ja 0x14001ed8e
mov byte [rbp + 0x20], dl
jmp 0x14001edc3
mov rax, qword [rbp - 0x28]
movzx ecx, byte [str.MSUnsupportedAlgorit]
cmp r12w, cx
jg 0x14001edc9
movzx eax, word [0x140049554]
add ax, r8w
mov qword [0x1400495e8], 0x7b23
movzx ecx, ax
movzx eax, word [rbp - 0x58]
imul eax, ecx
mov word [rbp - 0x58], ax
mov r8, qword [rbp - 0x30]
jmp 0x14001ee26
mov r8, qword [rbp - 0x30]
cmp word [rbp - 0x7c], r10w
je 0x14001ede2
mov eax, 0x8450
mov word [0x140049554], ax
jmp 0x14001ee26
mov rax, qword [0x140049588]
movabs rdx, 0x5807d5d57a5b4
add rax, 0xffffffffffffffaa
mov qword [0x1400495e8], rax
mov eax, r8d
sub eax, ebx
movsxd rcx, eax
mov rax, qword [0x140049578]
not rax
xor rdx, rax
add rdx, rcx
movsx rcx, word [rsp + 0x5c]
add rcx, rdx
mov qword [0x1400495a8], rcx
mov eax, dword [rsp + 0x54]
mov ebx, dword [rsp + 0x7c]
add eax, 0x325
mov dword [rbp + 0x18], eax
mov eax, dword [rsp + 0x54]
add eax, 0x196
mov dword [rbp + 0x48], eax
mov dword [rsp + 0x78], 4
test bl, bl
je 0x14001ee56
movsx rax, word [rsp + 0x60]
jmp 0x14001ee5c
mov eax, dword [0x1400495e8]
mov qword [rbp - 8], rax
movabs rcx, 0xc69278c863391
movsx rax, r12w
sub rax, rcx
mov qword [rbp - 0x70], rax
mov ecx, dword [rsp + 0x78]
dec ecx
sub ecx, 1
je 0x14001eeab
sub ecx, 1
je 0x14001ee95
cmp ecx, 1
jne 0x14001ef12
mov dword [rsp + 0x78], r8d
jmp 0x14001ef12
movzx eax, byte [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
imul eax, ecx
not eax
cdqe
mov qword [rbp - 0x28], rax
jmp 0x14001ef12
mov rax, qword [0x140049600]
mov ecx, r10d
mov r8d, dword [rsp + 0x74]
test rax, rax
movsx edx, word [0x1400495b8]
sete cl
movzx eax, r9w
add edx, ecx
not eax
imul edx, eax
mov rax, qword [0x1400495c8]
movzx ecx, r9w
imul rcx, qword [0x1400495d8]
imul r8d, edx
sub rcx, r14
add rax, rcx
mov ecx, r10d
movzx eax, di
sete cl
xor cx, r8w
mov word [0x1400495f8], cx
mov ecx, 0x77ad
sub ax, cx
mov word [0x1400495bc], ax
mov eax, dword [rsp + 0x54]
lea rdx, [rbp + 0xa0]
mov qword [rsp + 0x40], r10
lea rcx, [fcn.140027c40]
mov qword [rsp + 0x38], r10
add eax, 0x2d2
mov qword [rsp + 0x30], r10
mov r9d, 0x2000
mov qword [rsp + 0x28], r10
xor r8d, r8d
mov dword [rbp - 0x48], eax
mov qword [rsp + 0x20], r10
call fcn.140012594
xor r10d, r10d
cmp byte [rbp - 0x18], r10b
jne 0x14001ef9d
mov rax, qword [rbp + 0x60]
lea r8, [rbp + 0xa0]
mov rcx, qword [rbp + 0x40]
mov r9d, 0x400
mov rdx, qword [rax + rsi*8]
mov rax, qword [rbp + 0x90]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov rdx, qword [rdx]
call fcn.140012768
mov r14d, eax
xor r10d, r10d
jmp 0x14001efa0
mov r14d, r10d
mov eax, dword [rbp - 0x78]
imul ecx, eax, 0x2b6
mov eax, dword [rsp + 0x64]
mov edx, dword [rbp - 0x78]
sub ecx, eax
mov eax, dword [rbp - 0x54]
add edx, ecx
mov ecx, dword [rbp - 0x78]
sub ecx, eax
cmp ecx, edx
je 0x14001f6ad
cmp qword [0x140049610], r10
mov r8d, dword [rbp - 0x80]
je 0x14001f07e
movsx eax, word [0x1400495b4]
cmp eax, dword [rbp - 8]
ja 0x14001f06a
movsx ecx, word [0x1400495b4]
movsx eax, bl
not eax
add ecx, eax
movsx eax, r8b
movsxd rdx, ecx
not eax
mov rcx, qword [0x140049578]
cdqe
not rcx
sub rdx, rax
mov rax, qword [rbp - 0x28]
add rcx, rdx
mov word [0x1400495a0], di
add al, cl
mov byte [0x1400494fb], al
mov rbx, qword [rbp - 0x40]
movzx ecx, word [0x1400495e0]
mov edx, r10d
mov eax, dword [rsp + 0x78]
mov r11d, 0x47
mov edi, dword [rbp - 0x7c]
cmp ecx, eax
movzx eax, word [0x1400495e0]
mov ecx, r10d
sete dl
cmp ax, r11w
sete cl
cmp edx, ecx
je 0x14001f09b
mov eax, dword [rsp + 0x74]
add eax, 0x59c6abcc
movsx ecx, di
add ecx, eax
mov dword [rsp + 0x74], ecx
jmp 0x14001f0cd
movsxd rcx, dword [rsp + 0x78]
mov rax, qword [0x1400495c8]
sub ecx, eax
mov dword [rsp + 0x78], ecx
jmp 0x14001f021
test r13w, r13w
je 0x14001f021
mov rax, qword [0x140049578]
mov rbx, qword [rbp - 0x40]
add rax, rbx
mov qword [0x140049578], rax
jmp 0x14001f025
mov rax, qword [0x1400495f0]
test rax, rax
je 0x14001f0b7
mov r9d, 1
add r12w, r9w
mov qword [rbp - 0x10], r12
jmp 0x14001f0d3
mov rax, qword [0x140049580]
test rax, rax
je 0x14001f0cd
movsx eax, word [0x1400495b8]
add dword [rbp - 0x30], eax
mov r9d, 1
mov rdx, qword [rbp + 0x20]
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
test dl, dl
je 0x14001f134
movsx eax, r8b
cmp di, ax
jl 0x14001f0ff
mov r8b, byte [0x1400495d4]
and r8b, 0x60
mov dword [rbp - 0x64], r8d
jmp 0x14001f160
mov rax, qword [0x140049580]
test rax, rax
jne 0x14001f110
test rbx, rbx
jne 0x14001f15c
mov rax, qword [0x140049578]
movabs rcx, 0xa87a87571d42c
add rcx, rax
add rcx, qword [0x1400495a8]
mov qword [0x140049598], rcx
jmp 0x14001f15c
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x14001f15c
mov cl, byte [0x140049513]
mov al, r13b
sub r12w, word [0x140049590]
and al, cl
sub cl, al
mov qword [rbp - 0x10], r12
mov byte [0x140049513], cl
mov r8d, dword [rbp - 0x64]
mov eax, dword [rsp + 0x54]
mov ecx, 0x66c2
add eax, 0xe6
mov dword [rbp - 0x54], eax
mov eax, dword [0x140a0f0f0]
mov dword [0x14004956c], eax
mov al, byte [0x140049610]
xor al, 0xb3
add dl, al
mov eax, dword [rsp + 0x54]
add eax, 0x58fc
mov qword [rbp + 0x20], rdx
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x54]
add eax, 0xed
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x74]
sub ax, cx
mov ecx, dword [rsp + 0x64]
add word [rbp - 0x58], ax
mov eax, dword [rbp - 0x54]
imul ecx, eax
mov eax, 0xd5f5
sub eax, ecx
mov dword [rbp + 0x48], eax
mov eax, dword [rsp + 0x68]
add eax, dword [0x140a8d8e0]
mov sil, byte [0x1400495d4]
mov dword [rsp + 0x68], eax
sub sil, r11b
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov qword [rbp - 0x70], 4
mov rax, qword [rbp - 0x70]
dec rax
mov word [rsp + 0x70], si
sub rax, 1
je 0x14001f24a
sub rax, 1
je 0x14001f23d
cmp rax, 1
jne 0x14001f24e
movzx eax, word [0x1400495fc]
imul rbx, rax
mov rax, qword [0x1400495f0]
mov rdx, qword [0x140049608]
test rax, rax
movzx ecx, r8b
cmovne rdx, rcx
mov qword [rbp - 0x40], rbx
mov qword [0x140049600], rdx
jmp 0x14001f24e
or rbx, qword [0x140ab97b0]
mov qword [rbp - 0x40], rbx
jmp 0x14001f24e
add dword [rbp + 0x10], r9d
mov eax, dword [rsp + 0x54]
add eax, 0x6beb
movzx ecx, r12w
mov dword [rbp - 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0x21
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x54]
add eax, 0xea74
mov dword [rbp + 0x2c], eax
mov eax, 0xffffffa1
sub eax, dword [0x140049608]
add dword [0x14004956c], eax
mov al, byte [0x140ca858c]
mov byte [rsp + 0x50], al
mov eax, 0xda54
imul ecx, eax
movzx eax, word [0x1400495e0]
mov word [rbp + 8], cx
mov ecx, 0x3e63
sub ax, cx
mov ecx, dword [rbp - 0x48]
mov word [0x1400495bc], ax
mov eax, dword [rbp - 0x48]
sub ecx, eax
mov r8d, dword [rbp + 0x18]
add r8d, 0x173
imul r8d, ecx
mov ecx, dword [rsp + 0x64]
mov edx, dword [rbp - 0x54]
add ecx, 0x4a
add edx, ecx
movzx ecx, sil
xor edx, 0x6dd4
sub edx, r8d
mov dword [rbp + 0x2c], edx
call qword [sym.imp.USER32.dll_GetLastActivePopup]
mov dword [0x1400495e4], eax
xor esi, esi
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
test rbx, rbx
je 0x14001f30e
movzx eax, word [0x140049594]
mov dword [rbp - 0x7c], eax
jmp 0x14001f32e
mov eax, dword [rsp + 0x78]
imul eax, dword [0x1400494fc]
test eax, eax
je 0x14001f32e
mov al, byte [rsp + 0x50]
add byte [0x1400494e4], al
mov word [0x140ca86ce], di
mov eax, dword [rsp + 0x54]
mov bl, byte [0x1400495b8]
add eax, 0xa6
mov dword [rbp + 0x18], eax
add bl, 0x70
mov eax, dword [rsp + 0x54]
add eax, 0x15
mov byte [rbp - 0x80], bl
mov dword [rbp - 0x54], eax
test r13w, r13w
je 0x14001f376
movsxd r8, dword [rsp + 0x7c]
movsx rax, r8b
add qword [0x1400495d8], rax
mov rax, qword [0x140049578]
mov qword [0x140049580], rax
jmp 0x14001f37b
mov r8d, dword [rsp + 0x7c]
mov eax, dword [rsp + 0x54]
movsx edi, byte [rbp + 0x20]
add eax, 0x47
mov dword [rsp + 0x64], eax
mov eax, 0xffffa611
mov word [0x1400495b4], ax
movsx edx, word [0x1400495b4]
movsx eax, word [0x1400495a0]
add edx, edi
cmp eax, edx
jne 0x14001f450
mov r12, qword [rbp - 8]
mov ebx, 0xffffa611
movsx esi, r8b
add esi, 0x17
mov eax, dword [0x140036928]
lea rcx, [rbp + 0x2118]
movups xmm0, xmmword [str.__C_specific_handl]
mov dword [rbp + 0x2138], eax
movups xmm1, xmmword [0x140036918]
movzx eax, word [0x14003692c]
movups xmmword [rbp + 0x2118], xmm0
mov word [rbp + 0x213c], ax
movups xmmword [rbp + 0x2128], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rbp - 0x40], rax
movsx eax, word [0x1400495b4]
cmp eax, esi
jne 0x14001f44a
movzx eax, word [0x1400495f8]
test ax, ax
je 0x14001f42b
movzx eax, r12b
imul ecx, eax, 0x78
mov byte [0x1400494e7], cl
mov word [0x1400495b4], bx
movsx edx, word [0x1400495b4]
movsx eax, word [0x1400495a0]
add edx, edi
cmp eax, edx
je 0x14001f3be
mov r13d, dword [rbp - 0x60]
xor esi, esi
call qword [sym.imp.USER32.dll_GetCursor]
test rax, rax
je 0x14001f463
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetCaretPos]
mov edx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x54]
add edx, eax
mov eax, dword [rbp + 0x18]
xor eax, 0x8e
imul eax, edx
sub eax, 0xb26
mov dword [rbp + 0x4c], eax
mov rax, qword [rbp - 0x70]
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x6c]
test eax, eax
jne 0x14001f4c0
cmp byte [rbp - 0x64], sil
jne 0x14001f4c0
movsx ecx, word [rsp + 0x60]
mov eax, 0x8a1a
xor ax, word [0x140049590]
mov word [0x1400495fc], ax
mov eax, dword [rsp + 0x6c]
imul eax, ecx
mov dword [rsp + 0x6c], eax
jmp 0x14001f4e9
mov eax, dword [rsp + 0x6c]
mov ecx, esi
test eax, eax
movsx edx, r13w
movsx eax, byte [0x1400494e3]
sete cl
add edx, ecx
sub edx, eax
movzx eax, word [0x140a0f0f0]
mov word [rsp + 0x5c], ax
mov dword [rbp + 0x10], edx
mov eax, dword [rsp + 0x54]
add eax, 0x22
mov dword [rbp + 0x18], eax
mov eax, dword [rsp + 0x54]
add eax, 0x5779
mov dword [rbp - 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0xd5
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x74]
cmp eax, dword [0x14004956c]
jbe 0x14001f53a
mov rax, qword [0x140049578]
test rax, rax
je 0x14001f53a
mov al, byte [0x140a0f0f0]
mov byte [0x1400494e4], al
movsx eax, r13w
mov dword [0x14004956c], eax
movzx eax, word [0x140036940]
lea rcx, [rbp + 0x20a0]
movups xmm0, xmmword [str.EnterpriseSTS_Refr]
mov word [rbp + 0x20b0], ax
mov al, byte [0x140036942]
mov byte [rbp + 0x20b2], al
movups xmmword [rbp + 0x20a0], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1400494e4], al
mov ecx, 0xffffa966
mov eax, dword [rsp + 0x64]
xor r10d, r10d
sub ecx, eax
mov eax, dword [rbp - 0x54]
add ecx, eax
mov eax, dword [rbp + 0x18]
add eax, ecx
mov dword [rbp - 0x54], eax
test r14d, r14d
je 0x14001f6ad
mov sil, byte [0x1400494e5]
mov r8d, r10d
mov rax, qword [0x1400495c8]
add sil, 9
not eax
mov word [rsp + 0x70], si
mov dword [0x140049594], eax
mov eax, dword [0x140a0f0f0]
mov dword [rsp + 0x54], eax
movzx eax, word [0x1400495b4]
mov cl, byte [0x1400495a8]
and al, 0x36
xor cl, 0x23
mov dword [rbp - 8], 0xb9a1bc04
not cl
or cl, al
mov rax, qword [0x140049578]
movzx edx, al
movsx rax, word [rbp - 0x7c]
movzx ecx, cl
imul edx, ecx
movabs rcx, 0x730629df83fa4
imul rax, rcx
mov byte [rbp - 0x64], dl
mov ecx, r10d
test rax, rax
movzx edx, sil
movzx eax, word [0x140049554]
sete cl
add ecx, eax
mov eax, dword [rsp + 0x68]
add eax, ecx
mov ecx, dword [rsp + 0x54]
cdqe
mov qword [0x140049610], rax
mov eax, dword [rbp + 0x48]
add ecx, eax
mov dword [rsp + 0x64], ecx
mov ecx, dword [rsp + 0x54]
mov eax, dword [rbp + 0x2c]
add ecx, eax
cmp word [0x1400495a0], r10w
mov dword [rbp - 0x48], ecx
mov ecx, r10d
mov eax, dword [rsp + 0x6c]
sete r8b
test eax, eax
movsx eax, byte [rbp - 0x80]
sete cl
add ecx, eax
mov eax, r10d
cmp edx, r8d
cmove eax, ecx
movzx ecx, word [0x140049608]
cdqe
mov qword [0x140049598], rax
movsx eax, byte [rbp + 0x20]
movzx edx, ax
mov eax, dword [rsp + 0x54]
imul edx, ecx
add eax, 0x33d
not dx
mov word [0x1400495a4], dx
mov dword [rbp + 0x18], eax
mov eax, dword [rsp + 0x64]
mov eax, dword [rbp + 0x4c]
mov eax, dword [rbp - 0x48]
mov eax, dword [rbp - 0x48]
mov eax, dword [rbp - 0x54]
mov r12d, 1
mov rbx, qword [rbp + 0x10]
add r15d, r12d
cmp r15d, dword [rbp + 4]
jb 0x14001e946
movsxd rcx, dword [rsp + 0x68]
mov edx, r10d
mov rax, qword [rbp - 0x70]
cmp rcx, rax
mov eax, dword [rsp + 0x68]
mov ecx, r10d
setge dl
cmp eax, 0x43
setge cl
cmp edx, ecx
jb 0x14001f6f7
mov eax, 0x391f
movsx r13d, r13w
cwde
imul r13d, eax
jmp 0x14001f70e
cmp qword [0x1400495a8], r10
je 0x14001f70e
mov rax, qword [0x1400495c0]
mov qword [0x1400495f0], rax
mov ebx, r10d
cmp dword [rbp + 4], r10d
jbe 0x14001f864
movsx rcx, byte [0x1400494e4]
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov eax, eax
xor r9d, r9d
mov qword [0x140049580], rax
mov word [rsp + 0x60], r9w
movzx eax, word [rsp + 0x60]
movsx ecx, byte [0x1400494fb]
mov eax, dword [rsp + 0x74]
sub cl, al
mov eax, dword [0x140a0f0f0]
sub cl, 0x2a
mov byte [0x1400494fb], cl
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
add eax, 0xa5
cmp dword [0x1400495e4], r9d
mov dword [rsp + 0x64], eax
jne 0x14001f783
cmp word [0x1400495a0], r9w
mov r8d, r9d
je 0x14001f786
mov r8d, r12d
movsx edx, word [rsp + 0x5c]
mov ecx, r9d
movzx eax, word [0x140049554]
cmp edx, r8d
cmovl ecx, eax
test ecx, ecx
je 0x14001f7b8
movsx rcx, byte [0x1400494e5]
mov rax, qword [rbp - 0x70]
sub cl, al
add cl, 0x7f
mov byte [0x1400494e5], cl
jmp 0x14001f7de
movsx eax, r13w
mov ecx, 0xf4
add eax, 0xf5206a5
mov qword [0x140049600], rax
movzx eax, word [0x1400495b4]
sub ax, cx
or word [0x140049554], ax
mov eax, dword [rsp + 0x54]
add eax, 0x2d3
mov dword [rbp - 0x78], eax
mov eax, dword [rsp + 0x54]
add eax, 0xba
mov dword [rsp + 0x64], eax
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x78]
sub ecx, eax
mov eax, dword [rbp - 0x78]
sub eax, 0x9a
cmp eax, ecx
je 0x14001f858
mov rax, qword [rbp - 0x70]
mov edi, r9d
mov r14, qword [rbp + 0x60]
sub al, 0x73
mov byte [0x1400494fb], al
mov eax, 2
mov esi, ebx
mov word [rsp + 0x5c], ax
mov rcx, qword [r14 + rsi*8]
cmp dword [rcx + 0x10c], r9d
jbe 0x14001f858
mov eax, edi
lea rcx, [rcx + rax*8]
add rcx, 0x110
call fcn.1400146b4
mov rcx, qword [r14 + rsi*8]
add edi, r12d
cmp edi, dword [rcx + 0x10c]
jb 0x14001f837
add ebx, r12d
cmp ebx, dword [rbp + 4]
jb 0x14001f71b
movzx eax, word [0x1400495a0]
not ax
and word [0x1400495a4], ax
xor eax, eax
mov rcx, qword [rbp + 0x2270]
xor rcx, rsp
call fcn.1400267f0
lea r11, [rsp + 0x2380]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret