Function at 0x14000fbb0
Capabilities:
Check for time delay via gettickcount
Get keyboard layout
Log keystrokes
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x108
lea rbp, [rsp + 0x60]
cmp word [rcx], 0
mov r14, r9
mov r12d, r8d
mov r15d, edx
mov rbx, rcx
je 0x14001114a
mov rdi, qword [0x1400fda58]
mov qword [rbp + 0x38], rdi
test edx, edx
jne 0x14000fc1c
lea r8d, [rdx + 7]
lea rdx, str.Blind
call fcn.1400ab1e8
test eax, eax
jne 0x14000fc1c
mov byte [0x140107297], 1
add rbx, 0xe
jmp 0x14000fc28
mov byte [0x140107297], 0
test r15d, r15d
jne 0x14000fc52
mov r8d, 6
lea rdx, [0x1400e0c48]
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x14000fc52
mov r15d, 2
add rbx, 0xc
mov dword [rbp + 0xf8], r15d
mov eax, dword [rdi + 0x7c]
xor r13d, r13d
mov dword [rbp + 0x48], eax
mov eax, dword [rdi + 0x84]
mov dword [rbp + 0x4c], eax
lea eax, [r12 - 1]
test eax, 0xfffffffd
jne 0x14000fd4a
cmp qword [0x140107208], r13
je 0x14000fd07
mov rcx, qword [0x140102e98]
test rcx, rcx
je 0x14000fc93
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, str.AHK_Keybd
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [0x140102e98], r13
mov esi, eax
je 0x14000fcc1
mov qword [0x140102e98], rdi
jmp 0x14000fcca
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, 0xb7
je 0x14000fd03
test r15d, r15d
jne 0x14000fcf4
call fcn.14000a290
test al, al
je 0x14000fcf4
lea rdx, str.Click
mov rcx, rbx
call fcn.140089210
test rax, rax
jne 0x14000fd03
mov r12d, 1
mov dword [rbp + 0x100], r12d
jmp 0x14000fd4a
mov rdi, qword [rbp + 0x38]
cmp r12d, 3
jne 0x14000fd1c
mov r12d, 2
mov dword [rbp + 0x100], r12d
jmp 0x14000fd4a
mov r12d, r13d
mov dword [rbp + 0x100], r13d
cmp dword [rdi + 0x7c], r13d
jge 0x14000fd3a
cmp dword [rdi + 0x84], r13d
jge 0x14000fd3a
or eax, 0xffffffff
jmp 0x14000fd3d
mov eax, r13d
mov dword [rdi + 0x84], eax
mov dword [rdi + 0x7c], 0xffffffff
mov byte [rbp + 8], r13b
mov edi, r13d
test r14, r14
je 0x14000fdab
xor edx, edx
mov rcx, r14
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rbp + 0x2c], eax
mov esi, eax
test eax, eax
je 0x14000fec8
cmp eax, dword [0x140106398]
je 0x14000fec8
mov rcx, r14
call fcn.14008e7f0
test al, al
jne 0x14000fec8
mov ecx, dword [0x140106398]
mov r8d, 1
mov edx, esi
call qword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
mov edi, esi
setne byte [rbp + 8]
jmp 0x14000fec8
test byte [0x140106f96], 0xc0
je 0x14000feaf
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x140106f8c]
cmp eax, 0x32
jae 0x14000feaf
cmp r12d, 2
je 0x14000feaf
cmp byte [0x140107297], dil
jne 0x14000feaf
cmp r15d, 2
je 0x14000feaf
cmp byte [0x140107203], dil
je 0x14000feaf
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [0x140106398]
jne 0x14000feaf
lea rdx, [0x1400e0ee8]
mov rcx, rbx
call fcn.14000aaa0
test r15d, r15d
je 0x14000fe76
test rax, rax
setne al
test al, al
je 0x14000feaf
mov edi, 0x8000
mov ecx, 0x5b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test di, ax
jne 0x14000fe54
mov ecx, 0x5c
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test di, ax
je 0x14000feaf
mov edx, 1
mov dword [0x1400fda50], r13d
mov ecx, 0x8000012f
call fcn.140001710
mov dword [0x1400fda50], 1
jmp 0x14000fe34
test rax, rax
je 0x14000feaf
nop dword [rax + rax]
lea rcx, [rax + 2]
lea rdx, [0x1400e0ef0]
call fcn.14000aaa0
test rax, rax
je 0x14000fe2f
cmp word [rax], 0x7b
je 0x14000fe2f
lea rdx, [0x1400e0ee8]
mov rcx, rax
call fcn.14000aaa0
test rax, rax
jne 0x14000fe80
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rdx, rax
call fcn.1400149f0
mov edi, eax
mov eax, dword [rbp + 0xf0]
mov dword [rbp + 0x2c], eax
mov ecx, edi
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
mov rcx, rax
mov qword [0x1401072a0], rax
xor edx, edx
call fcn.140014c70
mov cl, 1
mov dword [0x14010729c], eax
call fcn.140014480
and byte [0x140102e5b], al
movzx edi, al
cmp qword [0x140101f90], r13
je 0x14000ff1c
movzx eax, byte [0x140102d2f]
movzx edx, byte [0x140102d2d]
movzx ecx, al
and cl, dl
not al
and al, dl
mov byte [rbp + 6], al
jmp 0x14000ff45
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x140106f8c]
cmp eax, dword [0x1400ff3e4]
jae 0x14000ff3c
movzx edx, byte [0x140106f96]
and dl, dil
jmp 0x14000ff3e
xor dl, dl
movzx ecx, dl
mov byte [rbp + 6], r13b
movzx r13d, byte [0x140104e0a]
not cl
and cl, dil
mov byte [rbp + 4], dl
and r13b, cl
cmp byte [0x140107297], 0
mov byte [rbp], r13b
mov byte [0x140104e0a], r13b
je 0x14000ff84
not r13b
mov byte [rbp], dil
and r13b, dil
mov byte [rbp + 3], dil
mov byte [rbp + 5], r13b
movzx r13d, dil
jmp 0x14000ff8d
xor al, al
mov byte [rbp + 3], r13b
mov byte [rbp + 5], al
mov rax, qword [rbp + 0x38]
cmp byte [rax + 0x133], 0
je 0x14000ffbc
cmp byte [0x140107297], 0
jne 0x14000ffbc
cmp r15d, 2
je 0x14000ffbc
mov edx, 2
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
call fcn.140013b20
mov dword [rbp + 0x28], eax
xor edx, edx
jmp 0x14000ffc1
xor edx, edx
mov dword [rbp + 0x28], edx
mov dword [0x140104e14], r12d
mov eax, 0x1f4
test r12d, r12d
je 0x14001005c
cmp r12d, 1
jne 0x14000ffe9
mov ecx, 0x4e20
mov dword [0x1401072ac], eax
jmp 0x14000fff8
mov ecx, 0x2ee0
mov dword [0x1401072ac], 0x5dc
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x14001000b
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1400bde80
sub rsp, rax
mov byte [0x14010727d], dil
mov rax, qword [0x1400ff3f8]
mov byte [0x14010727e], 0
mov dword [0x1401072a8], edx
lea rcx, [rsp + 0x60]
mov byte [0x14010727f], 0
mov qword [rax], rcx
mov dword [0x1401072b8], 0x80000000
mov dword [0x1401072bc], 0x80000000
mov byte [0x140107296], 1
mov eax, dword [reloc.WSOCK32.dll_inet_ntoa]
movzx edi, byte [0x140101fe4]
add eax, 0xfffffff8
mov byte [rbp + 0x10], dil
mov ecx, 4
test eax, 0xfffffffd
jne 0x14001010c
test r12d, r12d
jne 0x14001010c
test r14, r14
jne 0x14001010c
mov rax, qword gs:[0x58]
mov edx, ecx
mov byte [rbp + 9], 1
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140108c70], eax
jle 0x1400100f0
lea rcx, [0x140108c70]
call fcn.1400a4d5c
cmp dword [0x140108c70], 0xffffffff
jne 0x1400100f0
lea rcx, str.user32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.BlockInput
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140108c70]
mov qword [0x140108c78], rax
call fcn.1400a4cfc
mov rax, qword [0x140108c78]
test rax, rax
je 0x140010103
mov ecx, 1
call rax
mov byte [0x140101fe4], 1
jmp 0x140010110
mov byte [rbp + 9], 0
xor sil, sil
cmp word [rbx], 0
mov byte [rbp + 1], sil
je 0x140010ed5
lea rdi, [0x140000000]
mov r12d, 0x7d
nop
cmp dword [0x140104e14], 0
mov byte [rbp + 0xf0], 0
jne 0x1400101a5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1400fda58]
sub eax, dword [0x140106fe4]
cmp eax, dword [rcx + 0x118]
jbe 0x1400101a5
xor edi, edi
lea rcx, [rbp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x140010192
lea edx, [rdi + 1]
mov dword [0x1400fda50], edi
or ecx, 0xffffffff
call fcn.140001710
mov dword [0x1400fda50], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140106fe4], eax
lea rdi, [0x140000000]
test r15d, r15d
jne 0x140010dab
movzx edx, word [rbx]
lea rcx, [0x1400e0ef8]
call fcn.1400a7178
test rax, rax
je 0x140010e11
movzx eax, word [rbx]
add eax, 0xffffffdf
cmp eax, 0x5c
ja case.0x1400101e9.38
cdqe
movzx eax, byte [rdi + rax + 0x1117c]
mov ecx, dword [rdi + rax*4 + 0x11160]
add rcx, rdi
jmp rcx
test r13b, 3
jne case.0x1400101e9.38
movzx r15d, byte [rbp + 0xf0]
or sil, 1
jmp 0x140010e9d
test r13b, 0x30
jne case.0x1400101e9.38
movzx r15d, byte [rbp + 0xf0]
or sil, 0x10
jmp 0x140010e9d
test r13b, 0xc
jne case.0x1400101e9.38
movzx r15d, byte [rbp + 0xf0]
or sil, 4
jmp 0x140010e9d
test r13b, 0xc0
jne case.0x1400101e9.38
movzx r15d, byte [rbp + 0xf0]
or sil, 0x40
jmp 0x140010e9d
lea rdi, [rbx + 2]
mov edx, r12d
mov rcx, rdi
call fcn.1400a7178
mov qword [rbp + 0x30], rax
mov r12, rax
test rax, rax
je case.0x1400101e9.38
mov rbx, rdi
nop dword [rax]
movzx ecx, word [rbx]
cmp cx, 0x20
je 0x14001028f
cmp cx, 9
jne 0x140010295
add rbx, 2
jmp 0x140010280
mov r15, rax
sub r15, rbx
sar r15, 1
jne 0x140010345
lea rdi, [rax + 2]
movzx eax, word [rax + 2]
cmp ax, 0x7d
jne 0x1400102c4
mov r12, rdi
mov qword [rbp + 0x30], rdi
mov r15d, 1
jmp 0x140010345
cmp ax, 0x20
je 0x1400102d4
cmp ax, 9
jne 0x140010721
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400102e3
cmp ax, 9
jne 0x1400102e9
add rdi, 2
jmp 0x1400102d4
mov r8d, 4
lea rdx, str.Down
mov rcx, rdi
call fcn.1400ab1e8
test eax, eax
je 0x14001031f
mov r8d, 2
lea rdx, [0x1400cf1e0]
mov rcx, rdi
call fcn.1400ab1e8
test eax, eax
jne 0x140010721
mov edx, 0x7d
mov rcx, rdi
call fcn.1400a7178
mov qword [rbp + 0x30], rax
mov r12, rax
test rax, rax
je case.0x1400101e9.38
mov r15, rax
sub r15, rbx
sar r15, 1
mov r8d, 5
lea rdx, [0x1400cd4e8]
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x14001045b
mov word [r12], ax
lea rcx, [rbx + 0xa]
nop dword [rax + rax]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14001037f
cmp ax, 9
jne 0x140010385
add rcx, 2
jmp 0x140010370
lea rax, [rbp + 7]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 2]
lea rax, [rbp + 0x14]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x1c]
lea rax, [rbp + 0xc]
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.140012040
mov ecx, dword [rbp + 0x14]
mov eax, 0x7d
mov word [r12], ax
cmp ecx, 1
jge 0x140010403
mov rax, qword [rbp + 0x38]
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x1c]
lea rcx, [rbp + 0x20]
movzx r9d, byte [rax + 0x12f]
movzx eax, byte [rbp + 7]
mov byte [rsp + 0x20], al
call fcn.140012fd0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
movzx eax, byte [rbp + 7]
xor edx, edx
mov byte [rsp + 0x50], al
movzx r9d, r13b
mov eax, dword [rbp + 0x1c]
movzx r8d, sil
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0xc]
mov qword [rsp + 0x38], r14
mov byte [rsp + 0x30], dl
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
movzx ecx, byte [rbp + 2]
call fcn.1400111e0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
mov r8d, 3
lea rdx, [0x1400e0f08]
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x14001049a
movzx r15d, byte [rbp + 0xf0]
mov eax, 1
mov rbx, qword [rbp + 0x30]
xor sil, sil
mov r14, qword [rbp + 0x108]
mov dword [rbp + 0xf8], eax
jmp 0x140010e9d
mov r8d, 4
lea rdx, str.Text
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x1400104fb
add rbx, 8
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400104c6
cmp ax, 9
jne 0x1400104cc
add rbx, 2
jmp 0x1400104b7
movzx r15d, byte [rbp + 0xf0]
cmp rbx, r12
jne 0x140010729
mov rbx, qword [rbp + 0x30]
mov eax, 2
mov r14, qword [rbp + 0x108]
xor sil, sil
mov dword [rbp + 0xf8], eax
jmp 0x140010e9d
mov eax, 1
mov dword [rbp + 0xc], 2
xor r14d, r14d
mov dword [rbp + 0x14], eax
lea rdx, [0x1400e0a20]
mov word [r12], r14w
mov rcx, rbx
mov r13, r15
call fcn.14000aaa0
mov r12, rax
test rax, rax
je 0x1400105fb
movzx eax, word [rax]
lea rdi, [r12 + 2]
mov r13, r12
mov word [rbp + 0x18], ax
sub r13, rbx
mov word [r12], r14w
sar r13, 1
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14001055f
cmp ax, 9
jne 0x140010565
add rdi, 2
jmp 0x140010550
mov rax, qword [rbp + 0x30]
sub rax, rdi
sar rax, 1
test eax, eax
je 0x1400105fb
mov r8d, 4
lea rdx, str.Down
mov rcx, rdi
call fcn.1400ab1e8
test eax, eax
jne 0x1400105d4
add rdi, 8
mov dword [rbp + 0xc], r14d
mov rcx, rdi
lea r8d, [rax + 4]
lea rdx, str.Temp
call fcn.1400ab1e8
test eax, eax
jne 0x1400105b5
mov dword [rbp + 0x24], r14d
jmp 0x1400105fb
cmp word [rdi], 0x52
mov ecx, r14d
sete cl
call fcn.1400ad078
test eax, eax
mov edi, r14d
setne dil
inc edi
mov dword [rbp + 0x24], edi
jmp 0x1400105fb
lea rdx, [0x1400cf1e0]
mov rcx, rdi
call fcn.1400a8c00
test eax, eax
jne 0x1400105f0
mov dword [rbp + 0xc], 1
jmp 0x1400105fb
mov rcx, rdi
call fcn.14000f670
mov dword [rbp + 0x14], eax
mov rcx, qword [0x1401072a0]
lea rdx, [rbp + 1]
mov qword [rsp + 0x20], rcx
mov r8b, 1
mov rcx, rbx
call fcn.140015190
mov byte [rbp + 2], al
movzx esi, al
test al, al
jne 0x1400106a6
mov rcx, rbx
call fcn.140015090
movzx r14d, ax
test ax, ax
jne 0x1400106a6
mov r8d, 2
lea rdx, [0x1400e0a7c]
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x1400106a6
lea rcx, [rbx + 4]
lea r8d, [rax + 0x10]
lea rdx, [rbp + 0x40]
call fcn.1400accfc
mov rcx, qword [rbp + 0x40]
lea rdx, [0x1400e1078]
mov r8d, 2
mov edi, eax
call fcn.1400ab1e8
test eax, eax
jne 0x1400106a6
mov rcx, qword [rbp + 0x40]
lea r8d, [rax + 0x10]
add rcx, 4
lea rdx, [rbp + 0x40]
call fcn.1400accfc
mov rcx, qword [rbp + 0x40]
cmp word [rcx], r14w
jne 0x1400106a6
movzx esi, dil
mov byte [rbp + 2], dil
movzx r14d, ax
test r12, r12
je 0x1400106b4
movzx eax, word [rbp + 0x18]
mov word [r12], ax
mov rax, qword [rbp + 0x30]
mov ecx, 0x7d
mov r12d, dword [rbp + 0x14]
mov word [rax], cx
cmp r12d, 1
jl 0x14001071c
test sil, sil
jne 0x140010bf4
test r14w, r14w
jne 0x140010bf4
cmp r13, 1
jne 0x14001076f
cmp dword [rbp + 0xc], r13d
je 0x14001071c
mov r14, qword [rbp + 0x108]
test r14, r14
je 0x14001073c
test r12d, r12d
jle 0x14001071c
mov edi, r12d
movzx r8d, word [rbx]
xor r9d, r9d
mov edx, 0x102
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
sub rdi, 1
jne 0x140010701
movzx r13d, byte [rbp]
movzx r15d, byte [rbp + 0xf0]
mov rbx, qword [rbp + 0x30]
xor sil, sil
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
movzx r8d, byte [rbp + 1]
mov edx, r12d
movzx r13d, byte [rbp]
movzx ecx, word [rbx]
or r8b, r13b
call fcn.140011440
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
mov r14, qword [rbp + 0x108]
lea r9, [rbp + 3]
test r14, r14
lea r8, [rbp + 0xc]
mov rdx, r15
mov rcx, rbx
sete al
mov byte [rsp + 0x20], al
call fcn.1400154e0
mov byte [rbp + 2], al
movzx edi, al
test al, al
je 0x14001094c
mov esi, dword [rbp + 0xc]
test r14, r14
jne 0x14001083e
test esi, esi
jne 0x1400107c0
movzx r15d, al
mov byte [rbp + 0xf0], al
jmp 0x140010846
cmp dword [0x140107298], 0
jne 0x14001083e
cmp byte [0x140104e0b], dil
je 0x14001083e
cmp byte [0x140107297], 0
jne 0x14001083e
movzx ecx, byte [0x140104ec0]
lea eax, [rdi - 0x5b]
cmp al, 1
ja 0x1400107f9
lea eax, [rcx - 0x5b]
cmp al, 1
ja 0x1400107f9
cmp dword [0x140104e14], 2
jne 0x140010816
cmp dil, 0xa4
je 0x14001080e
cmp dil, 0xa5
jne 0x14001083e
cmp dword [0x14010729c], 3
je 0x14001083e
add cl, 0x5c
cmp cl, 1
ja 0x14001083e
movzx r8d, word [0x1400ff3f0]
xor r9d, r9d
movzx edx, byte [reloc.OLEAUT32.dll_SafeArrayGetElemsize]
mov dword [rsp + 0x28], 0xffc3d44d
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 2]
call fcn.140011960
movzx r15d, byte [rbp + 0xf0]
cmp dword [0x140104e14], 0
je 0x140010858
movzx eax, byte [0x14010727d]
jmp 0x14001085f
xor ecx, ecx
call fcn.140014480
movzx r13d, byte [rbp + 3]
xor r9d, r9d
movzx ecx, r13b
mov dword [rsp + 0x28], 0xffc3d44d
mov r8, r14
mov byte [rsp + 0x20], 0
movzx edx, al
mov byte [rbp], r13b
call fcn.140013c70
test r12d, r12d
jle 0x140010729
mov rbx, r12
xor r15d, r15d
nop word [rax + rax]
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
mov r9, r14
mov byte [rsp + 0x20], 1
movzx edx, dil
mov ecx, esi
call fcn.140011960
cmp dword [0x140104e14], r15d
jne 0x140010927
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rcx, qword [0x1400fda58]
sub eax, dword [0x140106fe4]
cmp eax, dword [rcx + 0x118]
jbe 0x140010927
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea rcx, [rbp + 0x68]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x14001091b
mov edx, 1
mov dword [0x1400fda50], r15d
or ecx, 0xffffffff
call fcn.140001710
mov dword [0x1400fda50], 1
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x140106fe4], eax
sub rbx, 1
jne 0x1400108a0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
cmp r15, 4
jbe 0x140010a05
mov r8d, 4
lea rdx, str.ASC
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x140010a05
test r14, r14
jne 0x140010a05
lea rcx, [rbx + 6]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x14001098f
cmp ax, 9
jne 0x140010995
add rcx, 2
jmp 0x140010980
call fcn.140011630
cmp dword [0x140104e14], 2
mov rax, qword [0x1400fda58]
jne 0x1400109d9
mov ecx, dword [rax + 0x80]
call fcn.1400137d0
movzx r13d, byte [rbp + 3]
xor sil, sil
movzx r15d, byte [rbp + 0xf0]
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
mov byte [rbp], r13b
jmp 0x140010e9d
mov ecx, dword [rax + 0x7c]
call fcn.1400137d0
movzx r13d, byte [rbp + 3]
xor sil, sil
movzx r15d, byte [rbp + 0xf0]
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
mov byte [rbp], r13b
jmp 0x140010e9d
cmp r15, 2
jbe 0x1400109e1
mov r8d, 2
lea rdx, [0x1400e0f2c]
mov rcx, rbx
call fcn.1400ab1e8
test eax, eax
jne 0x1400109e1
lea rcx, [rbx + 4]
xor edx, edx
lea r8d, [rax + 0x10]
call fcn.1400acccc
cmp eax, 0x10000
jb 0x140010a66
add eax, 0xffff0000
mov edx, 0x3ff
mov ecx, eax
movzx ebx, ax
shr ecx, 0xa
and bx, dx
and cx, dx
mov r8d, 0x2800
sub cx, r8w
mov edx, 0x2400
sub bx, dx
jmp 0x140010a6b
movzx ecx, ax
xor ebx, ebx
movzx r13d, byte [rbp + 3]
mov byte [rbp], r13b
test r14, r14
je 0x140010ab1
movzx r8d, cx
xor r9d, r9d
mov rcx, r14
mov edx, 0x102
call qword [sym.imp.USER32.dll_PostMessageW]
test bx, bx
je 0x140010b9b
movzx r8d, bx
xor r9d, r9d
mov edx, 0x102
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140010b9b
cmp dword [0x140104e14], 2
je 0x140010ae4
movzx edi, byte [rbp + 1]
or dil, r13b
movzx edx, dil
call fcn.14000f8f0
test bx, bx
je 0x140010b9b
movzx edx, dil
movzx ecx, bx
call fcn.14000f8f0
jmp 0x140010b9b
mov ecx, gethostbyname
lea rdx, [rbp + 0x5a]
mov word [rbp + 0x58], cx
lea r8d, [rcx - 0x26]
mov ecx, eax
call fcn.1400a8af8
cmp dword [0x140104e14], 0
je 0x140010b0e
movzx eax, byte [0x14010727d]
jmp 0x140010b15
xor ecx, ecx
call fcn.140014480
movzx ecx, al
mov dword [rsp + 0x28], 0xffc3d44f
and cl, 0xc4
mov byte [rsp + 0x20], 1
or cl, 4
xor r9d, r9d
xor r8d, r8d
movzx edx, al
call fcn.140013c70
movzx eax, word [rbp + 0x58]
lea rbx, [rbp + 0x58]
cmp ax, 0x30
jb 0x140010b7d
cmp ax, 0x39
ja 0x140010b7d
movzx edx, byte [rbx]
xor r8d, r8d
add dl, 0x30
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
lea ecx, [r8 + 2]
call fcn.140011960
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, 0x30
jae 0x140010b47
xor r8d, r8d
mov dword [rsp + 0x28], 0xffc3d44d
xor r9d, r9d
mov byte [rsp + 0x20], r8b
mov dl, reloc.OLEAUT32.dll_SafeArrayGetUBound
lea ecx, [r8 + 1]
call fcn.140011960
cmp dword [0x140104e14], 2
mov rax, qword [0x1400fda58]
jne 0x140010bd1
mov ecx, dword [rax + 0x80]
call fcn.1400137d0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
mov ecx, dword [rax + 0x7c]
call fcn.1400137d0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
xor r8d, r8d
movzx edx, r14w
movzx ecx, sil
call fcn.1400146d0
mov r15, qword [rbp + 0x108]
movzx ebx, al
mov edi, dword [rbp + 0xc]
test al, al
je 0x140010d41
test r15, r15
jne 0x140010d41
test edi, edi
jne 0x140010c70
mov eax, dword [rbp + 0x24]
mov byte [rbp + 0xf0], sil
cmp eax, 1
jne 0x140010c50
movzx r13d, byte [rbp]
or byte [0x140104e0a], bl
or r13b, bl
mov byte [rbp], r13b
mov byte [rbp + 3], r13b
jmp 0x140010d46
cmp eax, 2
jne 0x140010c5b
or byte [0x140102e5b], bl
movzx r13d, byte [rbp]
or r13b, bl
mov byte [rbp], r13b
mov byte [rbp + 3], r13b
jmp 0x140010d46
cmp edi, 1
jne 0x140010d41
cmp dword [0x140107298], 0
jne 0x140010cf9
cmp byte [0x140104e0b], sil
je 0x140010cf9
cmp byte [0x140107297], 0
jne 0x140010cf9
movzx ecx, byte [0x140104ec0]
lea eax, [rsi - 0x5b]
cmp al, dil
ja 0x140010cb4
lea eax, [rcx - 0x5b]
cmp al, dil
ja 0x140010cb4
cmp dword [0x140104e14], 2
jne 0x140010cd1
cmp sil, 0xa4
je 0x140010cc9
cmp sil, 0xa5
jne 0x140010cf9
cmp dword [0x14010729c], 3
je 0x140010cf9
add cl, 0x5c
cmp cl, 1
ja 0x140010cf9
movzx r8d, word [0x1400ff3f0]
xor r9d, r9d
movzx edx, byte [reloc.OLEAUT32.dll_SafeArrayGetElemsize]
mov dword [rsp + 0x28], 0xffc3d44d
mov byte [rsp + 0x20], 0
lea ecx, [r9 + 2]
call fcn.140011960
movzx r13d, byte [0x140104e0a]
movzx eax, bl
movzx ecx, byte [rbp + 5]
not al
and byte [0x140102e5b], al
and r13b, al
and cl, al
mov byte [0x140104e0a], r13b
mov byte [rbp + 5], cl
cmp sil, 0xa5
jne 0x140010d34
cmp dword [0x14010729c], 3
jne 0x140010d34
and cl, 0xfe
mov byte [rbp + 5], cl
or r13b, cl
mov byte [rbp], r13b
mov byte [rbp + 3], r13b
jmp 0x140010d46
movzx r13d, byte [rbp]
movzx r8d, byte [rbp + 1]
movzx r9d, r13b
mov byte [rsp + 0x50], 0
movzx edx, r14w
mov dword [rsp + 0x48], 0x80000000
movzx ecx, sil
mov dword [rsp + 0x40], 0x80000000
mov qword [rsp + 0x38], r15
mov byte [rsp + 0x30], bl
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r12d
call fcn.1400111e0
movzx r15d, byte [rbp + 0xf0]
xor sil, sil
mov rbx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x108]
jmp 0x140010e9d
movzx r15d, byte [rbp + 0xf0]
jmp 0x140010ea1
cmp r15d, 2
jne 0x140010e11
movzx ecx, word [rbx]
sub ecx, 8
je 0x140010e0a
sub ecx, 1
je 0x140010e03
sub ecx, 1
je 0x140010dfc
sub ecx, 3
je 0x140010def
mov byte [rbp + 2], 0
test r14, r14
je 0x140010e82
movzx r8d, word [rbx]
xor r9d, r9d
mov edx, 0x102
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140010e96
cmp word [rbx + 2], 0xa
lea rax, [rbx + 2]
cmove rbx, rax
mov al, 0xd
mov byte [rbp + 2], al
jmp 0x140010e41
mov al, 9
mov byte [rbp + 2], al
jmp 0x140010e41
mov al, 8
mov byte [rbp + 2], al
jmp 0x140010e41
or sil, r13b
je 0x140010e20
test r15d, r15d
jne 0x140010e20
mov r9b, 1
jmp 0x140010e23
xor r9d, r9d
mov r8, qword [0x1401072a0]
lea rdx, [rbp + 1]
movzx ecx, word [rbx]
call fcn.1400152f0
movzx esi, byte [rbp + 1]
mov byte [rbp + 2], al
test al, al
je 0x140010dcc
xor edx, edx
movzx r9d, r13b
mov byte [rsp + 0x50], dl
movzx r8d, sil
mov dword [rsp + 0x48], 0x80000000
movzx ecx, al
mov dword [rsp + 0x40], 0x80000000
mov qword [rsp + 0x38], r14
mov byte [rsp + 0x30], dl
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], 1
call fcn.1400111e0
jmp 0x140010e96
movzx ecx, word [rbx]
or sil, r13b
movzx r8d, sil
mov edx, 1
call fcn.140011440
xor sil, sil
movzx r15d, sil
mov byte [rbp + 1], sil
add rbx, 2
mov byte [0x140104e0b], r15b
mov r15d, dword [rbp + 0xf8]
lea rdi, [0x140000000]
mov r12d, 0x7d
cmp word [rbx], 0
jne 0x140010130
mov r12d, dword [rbp + 0x100]
movzx edi, byte [rbp + 0x10]
cmp dword [0x140104e14], 0
je 0x140010f8e
or ebx, 0xffffffff
cmp byte [0x14010727f], 0
mov dword [rbp + 0xf0], ebx
jne 0x140010f52
cmp dword [0x1401072a8], 0
jbe 0x140010f52
cmp byte [0x140107297], 0
je 0x140010f0c
xor eax, eax
mov ebx, eax
jmp 0x140010f18
movzx ebx, byte [rbp + 6]
movzx edx, byte [rbp + 4]
not ebx
and ebx, edx
movzx edx, byte [0x14010727d]
or bl, r13b
movzx ecx, bl
mov dword [rsp + 0x28], 0xffc3d44d
mov r9b, 1
mov byte [rsp + 0x20], 1
xor r8d, r8d
call fcn.140013c70
movzx edx, bl
lea rcx, [rbp + 0xf0]
call fcn.140013660
mov ebx, dword [rbp + 0xf0]
cmp dword [0x140104e14], 1
mov eax, 0x5dc
mov ecx, 0x1f4
cmove eax, ecx
cmp dword [0x1401072ac], eax
jbe 0x140010f7a
mov rcx, qword [0x140104e18]
call fcn.1400ac834
xor esi, esi
mov ecx, ebx
mov dword [0x140104e14], esi
call fcn.1400137d0
jmp 0x140011027
cmp qword [0x140101f90], 0
je 0x140010fa5
movzx ecx, byte [0x140102d2d]
movzx edx, byte [rbp + 4]
jmp 0x140010fd1
cmp dword [0x1400ff3e4], 0
jl 0x140010fca
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x140106f8c]
cmp eax, dword [0x1400ff3e4]
jb 0x140010fca
movzx edx, byte [rbp + 4]
xor cl, cl
jmp 0x140010fd1
movzx edx, byte [rbp + 4]
movzx ecx, dl
or cl, byte [0x140102e5b]
cmp byte [0x140107297], 0
je 0x140010ff5
movzx eax, cl
xor al, dl
movzx ebx, al
and al, cl
and bl, dl
not bl
and bl, r13b
or bl, al
jmp 0x140011000
movzx ebx, byte [rbp + 6]
not bl
and bl, cl
or bl, r13b
xor ecx, ecx
call fcn.140014480
movzx edx, al
mov dword [rsp + 0x28], 0xffc3d44d
mov r9b, 1
mov byte [rsp + 0x20], 1
mov r8, r14
movzx ecx, bl
call fcn.140013c70
xor esi, esi
cmp qword [0x140101f90], 0
je 0x14001104d
movzx ecx, byte [0x140102d2e]
movzx eax, cl
xor al, byte [0x140102d2f]
and al, cl
not al
and cl, al
mov byte [0x140102d2e], cl
cmp dword [rbp + 0x28], 1
jne 0x14001105f
mov edx, 1
mov cl, reloc.OLEAUT32.dll_SafeArrayLock
call fcn.140013b20
cmp byte [rbp + 8], 0
je 0x140011077
mov edx, dword [rbp + 0x2c]
xor r8d, r8d
mov ecx, dword [0x140106398]
call qword [sym.imp.USER32.dll_AttachThreadInput]
cmp byte [rbp + 9], 0
je 0x140011100
test dil, dil
jne 0x140011100
mov rax, qword gs:[0x58]
mov r9d, 4
mov r8, qword [rax]
mov eax, dword [r9 + r8]
cmp dword [0x140108c70], eax
jle 0x1400110e9
lea rcx, [0x140108c70]
call fcn.1400a4d5c
cmp dword [0x140108c70], 0xffffffff
jne 0x1400110e9
lea rcx, str.user32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.BlockInput
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [0x140108c70]
mov qword [0x140108c78], rax
call fcn.1400a4cfc
mov rax, qword [0x140108c78]
test rax, rax
je 0x1400110f9
xor ecx, ecx
call rax
mov byte [0x140101fe4], 0
cmp r12d, 1
jne 0x140011137
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, dword [0x140106398]
jne 0x140011137
mov edx, r12d
mov dword [0x1400fda50], esi
or ecx, 0xffffffff
call fcn.140001710
mov dword [0x1400fda50], r12d
mov rax, qword [rbp + 0x38]
mov ecx, dword [rbp + 0x48]
mov dword [rax + 0x7c], ecx
mov ecx, dword [rbp + 0x4c]
mov dword [rax + 0x84], ecx
lea rsp, [rbp + 0xa8]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret