Function at 0x140125270
Capabilities:
Log keystrokes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
sub rsp, 0x40
mov rax, qword [0x14041f010]
xor rax, rsp
mov qword [rsp + 0x38], rax
cmp dword [0x14045b718], 0
je 0x1401252a2
cmp dword [0x14045b6f8], 0
je 0x1401252a2
xor ecx, ecx
call fcn.14009e830
mov ebx, dword [0x1404431ac]
xor ebp, ebp
cmp ebx, 0xffffffff
je 0x1401252fc
cmp dword [0x1404601b4], ebp
jne 0x1401252c9
cmp qword [0x140460020], rbp
jne 0x1401252fc
cmp qword [0x140460190], rbp
jne 0x1401252fc
mov eax, dword [0x1404601dc]
mov dword [0x14045b5b8], eax
mov eax, dword [0x14045fd3c]
mov dword [0x14046a324], eax
mov eax, dword [0x140460180]
mov dword [0x14046a310], eax
mov dword [0x1404431ac], 0xffffffff
jmp 0x140125729
mov eax, dword [0x14045fd38]
mov ecx, ebp
sub dword [0x1404601d8], eax
mov ebx, 0x80
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov dword [0x14045b870], ebp
mov dword [0x14045b890], ebp
mov dword [0x14045b5b8], ecx
nop dword [rax + rax]
test ecx, ecx
jne 0x14012534d
call fcn.1401eb450
test eax, eax
jne 0x14012534d
lea ecx, [rax + 1]
call fcn.14011f670
mov edi, dword [0x14045b65c]
jmp 0x140125377
inc dword [0x14045b658]
mov ecx, 1
inc dword [0x14045b65c]
call fcn.14011f670
mov edi, dword [0x14045b65c]
dec dword [0x14045b658]
dec edi
mov dword [0x14045b65c], edi
mov ecx, eax
cmp eax, ebx
jne 0x140125449
inc dword [0x14045b658]
mov ecx, 1
mov dword [0x14045b65c], ebp
call fcn.14011f670
mov ecx, 1
mov esi, eax
call fcn.14011f670
dec dword [0x14045b658]
mov ecx, eax
mov dword [0x14045b65c], edi
cmp esi, 0xfc
je 0x140125325
cmp esi, 0xfe
je 0x140125660
cmp esi, 0xff
je 0x14012543f
shl ecx, 8
add ecx, esi
neg ecx
cmp ecx, 0xffff9403
je 0x140125435
cmp ecx, 0xffff9503
jne 0x140125449
mov dword [0x140420790], ebp
mov edi, ebp
mov ecx, 1
call fcn.14011f670
mov ecx, eax
mov esi, eax
call fcn.1400126f0
test eax, eax
je 0x140125423
mov ecx, dword [0x140420790]
inc edi
lea eax, [rcx - 6]
lea eax, [rcx + rax*4]
lea eax, [rsi + rax*2]
mov dword [0x140420790], eax
cmp edi, 0x14
jl 0x1401253f0
mov ecx, dword [0x14045b5b8]
mov qword [0x14045b3f0], rbp
jmp 0x140125330
mov ebx, 0x1b
jmp 0x140125660
mov ebx, 0xffffa701
jmp 0x140125660
mov ebx, ecx
cmp ecx, 0xffffbd03
jg 0x14012554b
je 0x140125541
cmp ecx, 0xffffb9b5
jg 0x1401254e3
mov eax, ecx
je 0x1401254d9
cmp eax, 0xffffb6b5
jg 0x1401254b3
je 0x1401254a9
cmp eax, 0xffffb3b5
je 0x14012549f
cmp eax, 0xffffb4b5
je 0x140125495
cmp eax, 0xffffb5b5
jne 0x140125660
mov ebx, 0x37
jmp 0x140125660
mov ebx, 0x38
jmp 0x140125660
mov ebx, 0x39
jmp 0x140125660
mov ebx, 0x36
jmp 0x140125660
cmp eax, 0xffffb7b5
je 0x1401254cf
cmp eax, 0xffffb8b5
jne 0x140125660
mov ebx, 0x34
jmp 0x140125660
mov ebx, 0x35
jmp 0x140125660
mov ebx, 0x33
jmp 0x140125660
cmp ecx, 0xffffbab5
je 0x140125537
cmp ecx, 0xffffbb03
je 0x14012552d
cmp ecx, 0xffffbbb5
je 0x140125523
cmp ecx, 0xffffbc03
je 0x140125519
cmp ecx, 0xffffbcb5
jne 0x140125660
mov ebx, 0x30
jmp 0x140125660
mov ebx, 0xffff9395
jmp 0x140125660
mov ebx, 0x31
jmp 0x140125660
mov ebx, 0xffff8d95
jmp 0x140125660
mov ebx, 0x32
jmp 0x140125660
mov ebx, 0xffff9b95
jmp 0x140125660
cmp ecx, 0xffffc103
jg 0x1401255eb
je 0x14012562f
cmp ecx, 0xffffbdb5
je 0x1401255d9
cmp ecx, 0xffffbe03
je 0x1401255cf
cmp ecx, 0xffffbeb5
je 0x1401255c5
cmp ecx, 0xffffbf03
je 0x140125589
cmp ecx, 0xffffc003
jne 0x140125660
cmp dword [0x14045b5b8], 2
jne 0x1401255a2
mov ebx, 0xffffcddd
mov dword [0x14045b5b8], ebp
jmp 0x140125660
cmp dword [0x14045b5b8], 4
jne 0x1401255bb
mov ebx, 0xffffa803
mov dword [0x14045b5b8], ebp
jmp 0x140125660
mov ebx, 0xffff9795
jmp 0x140125660
mov ebx, recv
jmp 0x140125660
mov ebx, 0xffff8a95
jmp 0x140125660
mov edx, 2
lea ecx, [rdx + 0x6c]
call qword [sym.imp.USER32.dll_MapVirtualKeyA]
mov ebx, eax
jmp 0x140125660
cmp ecx, 0xffffc203
je 0x14012562f
cmp ecx, 0xffffc6b5
je 0x140125628
cmp ecx, 0xffffc7b5
je 0x140125621
cmp ecx, 0xffffc8b5
je 0x14012561a
cmp ecx, 0xffffc9b5
jne 0x140125660
mov ebx, 0x2b
jmp 0x140125660
mov ebx, 0x2d
jmp 0x140125660
mov ebx, 0x2f
jmp 0x140125660
mov ebx, 0x2a
jmp 0x140125660
cmp dword [0x14045b5b8], 2
jne 0x140125645
mov ebx, 0xffffc8d6
mov dword [0x14045b5b8], ebp
jmp 0x140125660
cmp dword [0x14045b5b8], 4
jne 0x14012565b
mov ebx, 0xffffa703
mov dword [0x14045b5b8], ebp
jmp 0x140125660
mov ebx, 0xffffc8c0
cmp dword [0x14045b514], ebp
je 0x1401256f9
cmp ebx, 0xff
ja 0x1401256f9
movsxd rax, ebx
lea rcx, [0x140469e60]
movsx rcx, byte [rax + rcx]
cmp cl, 1
jle 0x1401256f9
inc dword [0x14045b658]
mov rsi, rcx
mov byte [rsp + 0x20], bl
cmp rcx, 1
jle 0x1401256e6
mov ebx, 1
mov ecx, 1
call fcn.14011f670
mov byte [rsp + rbx + 0x20], al
cmp al, 0x80
jne 0x1401256de
mov ecx, 1
call fcn.14011f670
mov ecx, 1
mov edi, eax
call fcn.14011f670
cmp eax, 0x51
jne 0x1401256de
cmp edi, 0xfd
jne 0x1401256de
mov byte [rsp + rbx + 0x20], 0x9b
inc rbx
cmp rbx, rsi
jl 0x1401256a4
dec dword [0x14045b658]
lea rcx, [rsp + 0x20]
call qword [case.0x14018a5b3.0]
mov ebx, eax
cmp dword [0x14045b890], ebp
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
jne 0x14012571d
mov eax, dword [0x14045b5b8]
mov dword [0x14045b870], eax
mov dword [0x14045b890], ebx
mov eax, dword [0x1404601d8]
mov dword [0x14045fd38], eax
mov dword [0x14045b718], ebp
cmp ebx, 0xffff9b03
je 0x140125752
cmp ebx, 0xffffca03
je 0x140125752
cmp ebx, 0xffff9f03
je 0x140125752
mov dword [0x14045b888], ebp
call fcn.1401e3620
cmp dword [0x14045b63c], ebp
je 0x140125762
cmp dword [0x14045b720], ebp
je 0x14012577f
mov ecx, ebx
call fcn.1401eb4b0
test eax, eax
je 0x14012577f
cmp ebx, 3
jne 0x140125778
mov dword [0x14045b41c], ebp
mov eax, 0xffffca03
jmp 0x1401257ac
cmp ebx, 0xffffca03
je 0x1401257aa
cmp dword [0x1404608d8], ebp
je 0x1401257a4
lea r8, str.key_typed
xor ecx, ecx
lea rdx, str.SafeState:_reset:__s
call fcn.1401522a0
mov dword [0x1404608d8], ebp
mov eax, ebx
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140001200
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rbp
ret