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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10040148
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x100551b8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x101617a8]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov eax, dword [eax]
test eax, eax
je 0x10007961
movsx ecx, word [eax + 0x13]
call fcn.100063f0
cmp byte [eax + 0x78], 0
je 0x10007961
call esi
mov dword [0x101617a4], eax
cmp byte [0x1016174e], 0
jne 0x10007bc6
cmp dword [0x1016184c], 0
jne 0x10007a08
mov eax, str.lXRTQ_
lea ecx, [ebp - 0x18]
sub eax, 0x3b9f0e53
push eax
call fcn.10011490
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
call dword [sym.imp.GDI32.dll_CreateFontA]
mov dword [0x1016184c], eax
mov edx, 0xce
xor ecx, ecx
nop
mov al, byte [ecx + 0x1004dfc0]
xor al, dl
mov byte [ebp + ecx - 0x40], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x27
jb 0x100079c0
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
call dword [0x10055b58]
add esp, 0x18
jmp 0x10007bc6
push dword [0x10155cdc]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10007a56
cmp byte [0x10155ce0], 0
jne 0x10007a5d
mov byte [0x10155ce0], 1
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0xe8c578]
jne 0x10007a5d
cmp byte [0x101617c0], 0
sete al
mov byte [0x101617c0], al
test al, al
jne 0x10007a6a
mov dword [0xe8cb3c], 0
jmp 0x10007a5d
mov byte [0x10155ce0], 0
cmp byte [0x101617c0], 0
je 0x10007bc6
push 1
mov edi, 0x635fd0
mov dword [0xe8cb3c], 1
call edi
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, [edi - 0x80]
mov byte [0x101617c1], 0
call eax
push 0
call edi
movss xmm0, dword [0x100501e0]
add esp, 0x34
mov edx, str.Xa_bng_monster
mov ecx, 0x101617c2
movaps xmm1, xmm0
call fcn.100076c0
movss xmm1, dword [0x100501e4]
mov edx, str.Xo_hiu_ng_ng
movss xmm0, dword [0x100501e0]
mov ecx, 0x101617c4
call fcn.100076c0
movss xmm1, dword [0x100501e8]
mov edx, str.Xo_hiu_ng_tnh
movss xmm0, dword [0x100501e0]
mov ecx, 0x101617c5
call fcn.100076c0
movss xmm1, dword [0x100501ec]
mov edx, str.Xa_hiu_ng_k_nng
movss xmm0, dword [0x100501e0]
mov ecx, 0x101617c3
call fcn.100076c0
movss xmm1, dword [0x100501e0]
mov edx, str.Kp_chut_phi
movss xmm0, dword [0x100501f0]
mov ecx, 0x101617c6
call fcn.100076c0
movss xmm1, dword [0x100501e4]
mov edx, str.Kp_phm_CTRL
movss xmm0, dword [0x100501f0]
mov ecx, 0x101617c7
call fcn.100076c0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10160fb4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10562598]
cmp eax, dword [ecx + 4]
jle 0x10007c0c
push 0x10562598
call fcn.10025b93
add esp, 4
cmp dword [0x10562598], 0xffffffff
jne 0x10007c0c
call esi
push 0x10562598
mov dword [0x1056259c], eax
call fcn.10025b54
add esp, 4
call esi
sub eax, dword [0x1056259c]
cmp eax, 0xea60
jb 0x10007ce9
call esi
cmp byte [0x101619ed], 0
mov dword [0x1056259c], eax
jne 0x10007c46
push 0x10161b94
push ecx
push 0
push 0x1000afd0
call fcn.1001f890
mov dword [0x10161714], eax
cmp byte [0x101619ee], 0
jne 0x10007c66
push 0x10161b98
push ecx
push 0
push 0x1000ac40
call fcn.1001f890
mov dword [0x10161718], eax
cmp byte [0x101619ef], 0
jne 0x10007c86
push 0x10161b9c
push ecx
push 0
push 0x1000ab40
call fcn.1001f890
mov dword [0x1016171c], eax
cmp byte [0x10161bc8], 0
jne 0x10007ca6
push 0x10161ba4
push ecx
push 0
push 0x1000ab00
call fcn.1001f890
mov dword [0x10161720], eax
cmp byte [0x10161bc9], 0
jne 0x10007cc6
push 0x10161bac
push ecx
push 0
push 0x10009350
call fcn.1001f890
mov dword [0x10161728], eax
mov byte [0x101619ed], 0
mov byte [0x101619ee], 0
mov byte [0x101619ef], 0
mov byte [0x10161bc8], 0
mov byte [0x10161bc9], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100256b8
mov esp, ebp
pop ebp
ret