Function at 0x10007370
Capabilities:
Check for time delay via gettickcount
Encode data using xor
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003fb58
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x100561b8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x101627fc], 0
jne 0x10007439
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x6f686154
push eax
push 0
push 3
push 0
push 0
push 1
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push 0x12
mov word [ebp - 0x14], 0x616d
mov byte [ebp - 0x12], 0
call dword [sym.imp.GDI32.dll_CreateFontA]
mov dword [0x101627fc], eax
mov edx, 0xce
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004dfd0]
xor al, dl
mov byte [ebp + ecx - 0x40], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x27
jb 0x100073f0
mov byte [ebp - 0x19], 0
push 0
push 1
push 0x2900
push 0x2601
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push 0xfffff
push eax
mov eax, 0x772330
call eax
add esp, 0x18
jmp 0x100075f7
push dword [0x10156cc0]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10007487
cmp byte [0x10156cc4], 0
jne 0x1000748e
mov byte [0x10156cc4], 1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0xe8c578]
jne 0x1000748e
cmp byte [0x10162770], 0
sete al
mov byte [0x10162770], al
test al, al
jne 0x1000749b
mov dword [0xe8cb3c], 0
jmp 0x1000748e
mov byte [0x10156cc4], 0
cmp byte [0x10162770], 0
je 0x100075f7
push 1
mov esi, 0x635fd0
mov dword [0xe8cb3c], 1
call esi
mov dword [esp], 0x3f800000
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor4f]
push ecx
mov dword [esp], 0
mov eax, 0x637c60
push 1
push 1
sub esp, 0x20
mov dword [esp + 0x1c], 0x3e5c0000
mov dword [esp + 0x18], 0x3e850000
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x3f22c000
mov dword [esp + 0xc], 0x42dc0000
mov dword [esp + 8], 0x43850000
mov dword [esp + 4], 0x42340000
mov dword [esp], 0x41f00000
push 0xfffff
call eax
lea eax, [esi - 0x80]
mov byte [0x10162771], 0
call eax
push 0
call esi
movss xmm0, dword [0x10050768]
add esp, 0x34
mov edx, str.Xa_bng_monster
mov ecx, 0x10162772
movaps xmm1, xmm0
call fcn.10007120
movss xmm1, dword [0x1005076c]
mov edx, str.Xo_hiu_ng_ng
movss xmm0, dword [0x10050768]
mov ecx, 0x10162774
call fcn.10007120
movss xmm1, dword [0x10050770]
mov edx, str.Xo_hiu_ng_tnh
movss xmm0, dword [0x10050768]
mov ecx, 0x10162775
call fcn.10007120
movss xmm1, dword [0x10050774]
mov edx, str.Xa_hiu_ng_k_nng
movss xmm0, dword [0x10050768]
mov ecx, 0x10162773
call fcn.10007120
movss xmm1, dword [0x10050768]
mov edx, str.Kp_chut_phi
movss xmm0, dword [0x10050778]
mov ecx, 0x10162776
call fcn.10007120
movss xmm1, dword [0x1005076c]
mov edx, str.Kp_phm_CTRL
movss xmm0, dword [0x10050778]
mov ecx, 0x10162777
call fcn.10007120
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10161f6c]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10563538]
cmp eax, dword [ecx + 4]
jle 0x10007643
push 0x10563538
call fcn.100255c0
add esp, 4
cmp dword [0x10563538], 0xffffffff
jne 0x10007643
call esi
push 0x10563538
mov dword [0x1056353c], eax
call fcn.10025581
add esp, 4
call esi
sub eax, dword [0x1056353c]
cmp eax, 0xea60
jb 0x10007720
call esi
cmp byte [0x1016299d], 0
mov dword [0x1056353c], eax
jne 0x1000767d
push 0x10162b44
push ecx
push 0
push 0x1000aaa0
call fcn.1001f420
mov dword [0x101626cc], eax
cmp byte [0x1016299e], 0
jne 0x1000769d
push 0x10162b48
push ecx
push 0
push 0x1000a720
call fcn.1001f420
mov dword [0x101626d0], eax
cmp byte [0x1016299f], 0
jne 0x100076bd
push 0x10162b4c
push ecx
push 0
push 0x1000a620
call fcn.1001f420
mov dword [0x101626d4], eax
cmp byte [0x10162b78], 0
jne 0x100076dd
push 0x10162b54
push ecx
push 0
push 0x1000a4d0
call fcn.1001f420
mov dword [0x101626d8], eax
cmp byte [0x10162b79], 0
jne 0x100076fd
push 0x10162b5c
push ecx
push 0
push 0x10008d80
call fcn.1001f420
mov dword [0x101626e0], eax
mov byte [0x1016299d], 0
mov byte [0x1016299e], 0
mov byte [0x1016299f], 0
mov byte [0x10162b78], 0
mov byte [0x10162b79], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100250e5
mov esp, ebp
pop ebp
ret