Function at 0x140060c00
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0x290
mov rax, qword [0x14066d440]
xor rax, rsp
mov qword [rsp + 0x280], rax
lea rdx, str.SnippingTool.exe
lea rcx, [rsp + 0x160]
call fcn.14004d3d0
nop
lea rcx, [rsp + 0x160]
call fcn.140070d10
mov ecx, eax
call fcn.140071360
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x160]
call fcn.14006e350
nop
cmp qword [rsp + 0x48], 0
jne 0x140060c64
jmp 0x140061631
mov dword [rsp + 0x1d8], 0xffffffff
lea rax, [rsp + 0x1dc]
mov rdi, rax
xor eax, eax
mov ecx, listen
rep stosb byte [rdi], al
mov edx, 5
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_ShowWindow]
lea rdx, [rsp + 0x1d8]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov r8d, 0x800a8
mov edx, 0xffffffec
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [rsp + 0x30], 3
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_SetWindowPos]
nop
lea rdx, [0x1406745f0]
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call sub.d3d9.dll_Direct3DCreate9Ex
test eax, eax
jge 0x140060d24
mov r9d, reloc.WS2_32.dll_recv
lea r8, [0x1401a2f04]
lea rdx, str.Failed_to_create_Direct3D_object
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
jmp 0x140061631
lea rax, [rsp + 0x190]
mov rdi, rax
xor eax, eax
mov ecx, 0x40
rep stosb byte [rdi], al
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x190], eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x194], eax
mov dword [rsp + 0x198], reloc.WS2_32.dll_setsockopt
mov dword [rsp + 0x19c], 1
mov dword [rsp + 0x1a0], 0
mov dword [rsp + 0x1a8], 1
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x1b0], rax
mov dword [rsp + 0x1b8], 1
mov dword [rsp + 0x1bc], 1
mov dword [rsp + 0x1c0], 0x50
mov dword [rsp + 0x1cc], 0x80000000
mov rax, qword [0x1406745f0]
mov rax, qword [rax]
mov rax, qword [rax + 0xa0]
mov qword [rsp + 0x88], rax
lea rax, [0x1406745f8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], 0
lea rax, [rsp + 0x190]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x40
mov r9, qword [rsp + 0x48]
mov r8d, 1
xor edx, edx
mov rcx, qword [0x1406745f0]
call qword [rsp + 0x88]
test eax, eax
jge 0x140060e42
mov r9d, reloc.WS2_32.dll_recv
lea r8, str.Error
lea rdx, str.Failed_to_create_Direct3D_device
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
jmp 0x140061631
xor ecx, ecx
call fcn.14008f560
call fcn.140095860
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f58]
mov r8d, 0x41f54
lea rdx, [0x1405f2680]
mov rcx, qword [rsp + 0x98]
call fcn.1400b9840
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f64]
mov r8d, 0xe5c
lea rdx, [0x140642130]
mov rcx, qword [rsp + 0xa8]
call fcn.1400b9840
mov qword [0x1406746d0], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f70]
mov r8d, 0xe5c
lea rdx, [0x140642130]
mov rcx, qword [rsp + 0xb8]
call fcn.1400b9840
mov qword [0x1406746d8], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f5c]
mov r8d, 0x459d0
lea rdx, [0x1405accb0]
mov rcx, qword [rsp + 0xc8]
call fcn.1400b9840
mov qword [0x1406746f0], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f70]
mov r8d, 0x459d0
lea rdx, [0x1405accb0]
mov rcx, qword [rsp + 0xd8]
call fcn.1400b9840
mov qword [0x1406746e8], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f68]
mov r8d, 0x492a4
lea rdx, [0x140563a00]
mov rcx, qword [rsp + 0xe8]
call fcn.1400b9840
mov qword [0x1406746f8], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f68]
mov r8d, 0xdb48
lea rdx, [0x1406345e0]
mov rcx, qword [rsp + 0xf8]
call fcn.1400b9840
mov qword [0x1406746e0], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f58]
mov r8d, 0x41f54
lea rdx, [0x1405f2680]
mov rcx, qword [rsp + 0x108]
call fcn.1400b9840
mov qword [0x140674708], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f50]
mov r8d, 0x41f54
lea rdx, [0x1405f2680]
mov rcx, qword [rsp + 0x118]
call fcn.1400b9840
mov qword [0x140674700], rax
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x50]
call fcn.1400c0170
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss xmm3, dword [0x1401a3f54]
mov r8d, 0xb8d8
lea rdx, [0x140661040]
mov rcx, qword [rsp + 0x128]
call fcn.1400b9840
mov qword [0x140674710], rax
xor ecx, ecx
call fcn.1400c8530
mov rcx, qword [rsp + 0x48]
call fcn.1400d9900
mov rcx, qword [0x1406745f8]
call fcn.1400d7d30
lea rcx, [rsp + 0x1f0]
call fcn.1400b81c0
mov byte [rsp + 0x238], 1
mov byte [rsp + 0x210], 1
mov dword [rsp + 0x208], 2
mov dword [rsp + 0x20c], 2
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x54], eax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x30], 8
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_SetWindowPos]
nop
xor eax, eax
cmp eax, 1
je 0x1400615d5
mov ecx, reloc.WLDAP32.dll_Ordinal_45
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 1
test eax, eax
je 0x140061325
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
jne 0x140061312
mov dword [rsp + 0x50], 1
jmp 0x14006131a
mov dword [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
mov byte [reloc.WS2_32.dll_accept], al
call fcn.1400d7f20
call fcn.1400d9b60
call fcn.1400a2cf0
nop
movzx eax, byte [reloc.WS2_32.dll_accept]
test eax, eax
je 0x14006149f
lea rcx, [rsp + 0x1d0]
call qword [sym.imp.USER32.dll_GetCursorPos]
cvtsi2ss xmm0, dword [rsp + 0x1d0]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0xdf4], xmm0
cvtsi2ss xmm0, dword [rsp + 0x1d4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0xdf8], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1400613a6
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax + 0xdfc], 1
jmp 0x1400613bc
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x40]
mov byte [rcx + rax + 0xdfc], 0
call fcn.140066c40
nop
call fcn.1400955b0
mov qword [rsp + 0x148], rax
mov dword [rsp + 0x20], 0xff
mov r9d, 0xff
mov r8d, 0xff
mov edx, 0xff
lea rcx, [rsp + 0x180]
call fcn.14004ddf0
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
mov rcx, rax
call fcn.14008ed10
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xdf8]
movss dword [rsp + 0x68], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xdf4]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [rsp + 0x60]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x7c], xmm0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x70]
movss xmm2, dword [0x1401a3ee8]
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
call fcn.1400b8670
nop
call fcn.1400913b0
call fcn.14004f790
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rax, qword [rax + 0x158]
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x30], 0
movss xmm0, dword [0x1401a12e0]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
mov r9d, 3
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1406745f8]
call qword [rsp + 0x150]
nop
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rcx, qword [0x1406745f8]
call qword [rax + 0x148]
test eax, eax
jl 0x14006153f
call fcn.1400a5160
call fcn.140095370
mov rcx, rax
call fcn.1400d7f50
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rcx, qword [0x1406745f8]
call qword [rax + 0x150]
nop
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rax, qword [rax + 0x88]
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [0x1406745f8]
call qword [rsp + 0x158]
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0x88760868
jne 0x1400615d0
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rcx, qword [0x1406745f8]
call qword [rax + Ordinal_26]
cmp eax, 0x88760869
jne 0x1400615d0
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x190]
mov rcx, qword [0x1406745f8]
call qword [rsp + 0x80]
nop
jmp 0x1400612df
call fcn.1400d97f0
call fcn.1400d9de0
xor ecx, ecx
call fcn.140090620
nop
cmp qword [0x1406745f8], 0
je 0x140061606
mov rax, qword [0x1406745f8]
mov rax, qword [rax]
mov rcx, qword [0x1406745f8]
call qword [rax + reloc.WS2_32.dll_recv]
nop
cmp qword [0x1406745f0], 0
je 0x140061625
mov rax, qword [0x1406745f0]
mov rax, qword [rax]
mov rcx, qword [0x1406745f0]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_DestroyWindow]
nop
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.14019a660
add rsp, 0x290
pop rdi
ret