Function at 0x4361d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5de7d2
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x128
mov eax, dword [0x64e2c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
xorps xmm0, xmm0
mov dword [ebp - 4], 0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
push 0x1d
push str.Asset_Data_WindowSettings.csv
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 1
call fcn.004c2ad0
push 0
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 2
call fcn.004c2a90
mov esi, eax
call fcn.00436dc0
mov ecx, dword [esi]
add ecx, 0x18
mov dword [ebp - 0xb0], eax
cmp dword [ecx + 0x14], 0xf
jbe 0x4362a1
mov ecx, dword [ecx]
push ecx
call fcn.005c30f5
mov ecx, dword [esi]
add esp, 4
mov dword [ebp - 0xb4], eax
cmp dword [ecx + 0x14], 0xf
jbe 0x4362ba
mov ecx, dword [ecx]
push ecx
call fcn.005c30f5
mov ecx, dword [ebp - 0xb0]
add esp, 4
push dword [ebp - 0xb4]
push eax
call fcn.00436ba0
test al, al
je 0x4367c7
lea esi, [edi + 8]
mov ecx, esi
mov dword [ebp - 0xb8], esi
call fcn.004c3560
mov ecx, esi
call fcn.004c35f0
cmp byte [edi + 0x20], 0
jne 0x436770
mov ecx, dword [0x655918]
mov eax, dword fs:[0x2c]
lea eax, [eax + ecx*4]
mov dword [ebp - 0xbc], eax
mov ecx, edi
call fcn.004f5010
cmp dword [edi], 0
je 0x436770
push 0x1b
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x436334
mov byte [edi + 0x20], 1
call fcn.0042a180
call fcn.0042a2f0
call fcn.00410060
push 0
push 0
push str.WindowName
call fcn.00404570
add esp, 0xc
call fcn.00408980
call fcn.004370e0
mov ecx, eax
call fcn.0046eee0
call fcn.004372a0
mov ecx, eax
call fcn.00468cc0
call fcn.004372a0
mov ecx, eax
call fcn.00468d70
call fcn.00436a50
mov ecx, eax
call fcn.0046dee0
call fcn.004372a0
mov ecx, eax
call fcn.00468ca0
call fcn.00436e40
mov esi, eax
call fcn.00437200
lea ecx, [ebp - 0x120]
movups xmm0, xmmword [eax + 0x6d0]
movaps xmmword [ebp - 0xd0], xmm0
movups xmm0, xmmword [eax + 0x6e0]
movaps xmmword [ebp - 0xe0], xmm0
movups xmm0, xmmword [eax + 0x6f0]
movaps xmmword [ebp - 0x70], xmm0
movups xmm0, xmmword [eax + 0x700]
movaps xmmword [ebp - 0x50], xmm0
call fcn.00434e40
movaps xmm0, xmmword [ebp - 0xd0]
lea ecx, [ebp - 0x130]
movaps xmm1, xmmword [ebp - 0xe0]
movaps xmm2, xmmword [ebp - 0x70]
movaps xmm3, xmmword [ebp - 0x50]
call fcn.004373c0
lea eax, [ebp - 0x120]
mov ecx, esi
push eax
movups xmmword [ebp - 0x120], xmm0
movups xmmword [ebp - 0x110], xmm1
movups xmmword [ebp - 0x100], xmm2
movups xmmword [ebp - 0xf0], xmm3
call fcn.00471280
call fcn.00436fe0
mov ecx, eax
call fcn.00471ab0
call fcn.00437200
lea ecx, [eax + 0x14f4]
call fcn.004c1c20
call fcn.00437200
lea ecx, [eax + 0x148]
call fcn.004f3710
call fcn.004372a0
mov ecx, eax
call fcn.00468cb0
call fcn.004372a0
mov ecx, eax
call fcn.00468b70
call fcn.00436a50
mov ecx, eax
call fcn.0046d560
call fcn.00437200
lea ecx, [eax + 0x148]
call fcn.004f3660
call fcn.004372a0
mov ecx, eax
call fcn.00404240
call fcn.004372a0
mov ecx, eax
call fcn.00468b80
call fcn.004372a0
mov ecx, eax
call fcn.00468b90
call fcn.004116d0
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax]
mov eax, dword [0x653c70]
cmp eax, dword [ecx + 0x10]
jg 0x436976
mov ecx, dword [0x653bb0]
push 0
push 0
push ecx
mov eax, dword [ecx]
call dword [eax + 0x20]
lea esi, [edi + 8]
mov ecx, esi
call fcn.004c3570
mov eax, dword [esi]
test eax, eax
jns 0x436501
neg eax
push eax
lea eax, [ebp - 0x17]
push eax
call fcn.00434360
add esp, 8
mov byte [eax - 1], 0x2d
dec eax
jmp 0x43650e
push eax
lea eax, [ebp - 0x17]
push eax
call fcn.00434360
add esp, 8
lea ecx, [ebp - 0x17]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x40], 0
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
cmp eax, ecx
jne 0x436547
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
jmp 0x4365e1
lea edi, [ebp - 0x17]
sub edi, eax
cmp edi, 0x7fffffff
ja 0x436a40
mov dword [ebp - 0x3c], 0xf
cmp edi, 0xf
ja 0x43657c
push edi
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], edi
push eax
call fcn.005b46d0
add esp, 0xc
mov byte [ebp + edi - 0x50], 0
jmp 0x4365db
mov eax, edi
or eax, 0xf
cmp eax, 0x7fffffff
jbe 0x43658f
mov eax, Ordinal_1
jmp 0x43659a
cmp eax, 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0042e8e0
mov ecx, dword [ebp - 0xb0]
mov esi, eax
push edi
push dword [ebp - 0xb4]
mov dword [ebp - 0x50], esi
push esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], ecx
call fcn.005b46d0
mov byte [esi + edi], 0
add esp, 0x14
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xc0]
push 0x16
push str.Sword
push 0
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 4
call fcn.00431b40
mov dword [ebp - 0x60], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov dword [ebp - 0x5c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x70], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x60], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 1
push 0x5f7a70
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.004307d0
mov dword [ebp - 0x9c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xac], xmm0
mov dword [ebp - 0x98], 0
movups xmm0, xmmword [eax]
mov byte [ebp - 4], 4
movups xmmword [ebp - 0xac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x9c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x4366be
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4366b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
push ecx
push edx
call fcn.005b26d8
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
mov byte [ebp - 4], 2
cmp ecx, 0xf
jbe 0x436708
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4366fe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
push ecx
push edx
call fcn.005b26d8
add esp, 8
cmp dword [ebp - 0x98], 0xf
lea eax, [ebp - 0xac]
cmova eax, dword [ebp - 0xac]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 0x98]
cmp ecx, 0xf
jbe 0x43675f
mov edx, dword [ebp - 0xac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x436755
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
push ecx
push edx
call fcn.005b26d8
add esp, 8
mov ecx, esi
call fcn.004c35f0
cmp byte [edi + 0x20], 0
je 0x436313
call fcn.00436a50
mov ecx, eax
call fcn.0046dce0
call fcn.004370e0
mov ecx, eax
call fcn.0046eed0
call fcn.00437200
mov ecx, eax
call fcn.004f0dd0
call fcn.00436e40
mov ecx, eax
call fcn.00471230
call fcn.0042a190
call fcn.0042a4d0
push 0
call fcn.00408920
add esp, 4
call fcn.00436fe0
mov ecx, eax
call fcn.00472a60
mov ecx, edi
call fcn.004f5080
mov ecx, dword [ebp - 0x74]
cmp ecx, 0xf
jbe 0x4367fe
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4367f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
push ecx
push edx
call fcn.005b26d8
add esp, 8
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
test edi, edi
je 0x436958
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xbc], eax
cmp edi, eax
je 0x436912
mov esi, dword [edi]
test esi, esi
je 0x436901
mov eax, dword [edi + 4]
mov dword [ebp - 0xb8], eax
cmp esi, eax
je 0x4368a1
nop dword [eax]
mov ecx, dword [esi + 0x14]
cmp ecx, 0xf
jbe 0x436889
mov eax, dword [esi]
inc ecx
cmp ecx, 0x1000
jb 0x436879
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
mov eax, edx
push ecx
push eax
call fcn.005b26d8
mov eax, dword [ebp - 0xb8]
add esp, 8
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
add esi, 0x18
cmp esi, eax
jne 0x436850
mov ecx, dword [edi + 8]
mov eax, 0x2aaaaaab
mov esi, dword [edi]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
shl ecx, 3
cmp ecx, 0x1000
jb 0x4368dd
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x436a3b
mov esi, edx
push ecx
push esi
call fcn.005b26d8
mov eax, dword [ebp - 0xbc]
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
add edi, 0xc
cmp edi, eax
jne 0x436835
mov edi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x8c]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x43694e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x436a3b
push ecx
push edi
call fcn.005b26d8
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005b26e6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x653c70
call fcn.005b2bcf
add esp, 4
cmp dword [0x653c70], 0xffffffff
jne 0x4364cb
push 0x435620
push fcn.004343a0
push 0xa
push 0xc
push 0x653bb4
mov byte [ebp - 4], 3
mov dword [0x653ba8], 0
mov dword [0x653bac], 0
mov dword [0x653bb0], 0
call fcn.005b2e94
movups xmm0, xmmword [0x5f3940]
push 0x5ec410
mov dword [0x653c2c], 0
movups xmmword [0x653c40], xmm0
mov dword [0x653c30], 0
xorps xmm0, xmm0
mov dword [0x653c34], 0
mov dword [0x653c38], 0x500
mov dword [0x653c3c], 0x30c
movups xmmword [0x653c50], xmm0
movups xmmword [0x653c60], xmm0
call fcn.005b2b3e
push 0x653c70
mov byte [ebp - 4], 2
call fcn.005b2b7e
add esp, 8
jmp 0x4364cb
call fcn.005c1009
call fcn.0042ad50
int3