Function at 0x4051ab
Capabilities:
Accept command line arguments
Check mutex on windows
Create pipe
Get geographical location
Get hostname
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1210
call fcn.00407170
push ebx
push esi
xor ebx, ebx
xor esi, esi
cmp esi, 0x1e3bd
jge 0x4051d5
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetComboBoxInfo]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp esi, 0x1ea07d0f
jle 0x4051ef
cmp dword [ebp - 4], 0xacef98
je 0x4051ef
cmp dword [ebp - 0x28], 0xad6910c
jne 0x4051f8
inc esi
cmp esi, 0x8df05308
jb 0x4051be
xor ecx, ecx
cmp ecx, 0x13e6
jne 0x40520d
mov eax, 0x38d6
add dword [0x92d6a4], eax
inc ecx
cmp ecx, 0x31a652
jl 0x4051fa
push edi
call fcn.00405197
mov edi, dword [sym.imp.KERNEL32.dll_EnumTimeFormatsW]
mov esi, 0x962a66
cmp dword [0x92d6a4], 3
jne 0x40523e
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
cmp dword [0x92d6a4], 0x71f
jne 0x40528d
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoA]
push ebx
push ebx
push ebx
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.KERNEL32.dll_VerifyVersionInfoA]
push ebx
push ebx
push ebx
call edi
push ebx
lea eax, [ebp - 0x1210]
push eax
push 0x4012a0
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CreateMemoryResourceNotification]
dec esi
jne 0x405227
mov eax, dword [0x92d6a4]
cmp eax, ebx
jbe 0x4052c7
cmp eax, 0xfe
jne 0x4052b7
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseActCtx]
push esi
call fcn.00404c04
mov eax, dword [0x92d6a4]
inc esi
cmp esi, eax
jb 0x405299
cmp eax, 0x19c
jne 0x405375
mov esi, dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
push ebx
call esi
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_ZombifyActCtx]
push ebx
push ebx
push ebx
call edi
push ebx
push 0x4012c8
push ebx
call dword [sym.imp.KERNEL32.dll__hwrite]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_EnumResourceLanguagesW]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push ebx
lea eax, [ebp - 0xe10]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
push ebx
lea eax, [ebp - 8]
push eax
call fcn.00404360
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
push ebx
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
xor esi, esi
mov edi, 0x8012e8
cmp esi, 0xab9d
jne 0x405390
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x92d6a0], eax
inc esi
cmp esi, 0x2594b
jl 0x40537c
mov byte [0x8012e8], bl
xor esi, esi
cmp esi, 0x148
jne 0x4053ae
call fcn.00404d4c
inc esi
cmp esi, 0x71761d
jl 0x4053a1
push 0x7ffd10
push dword [0x92d6a4]
push dword [0x92a438]
call fcn.00404bdc
xor esi, esi
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFlags]
cmp esi, 0x2f64
jne 0x4053e3
call fcn.00404d3d
inc esi
cmp esi, 0x46d9a
jl 0x4053cf
mov esi, 0xdd7b3
cmp dword [0x92d6a4], 0x21
jne 0x405443
push 0x40131c
push 0x40135c
pop esp
adc eax, dword [eax]
push 0x401380
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileSectionA]
push ebx
push ebx
lea eax, [ebp - 0x1210]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasW]
lea eax, [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
push ebx
lea eax, [ebp - 0xa10]
push eax
push 0x4013f0
call dword [sym.imp.KERNEL32.dll_GetProfileSectionW]
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
dec esi
jne 0x4053f1
push edi
mov dword [0x8012e9], 0x676d6973
mov word [0x8012f1], 0x6c6c
mov byte [0x8012f3], bl
mov byte [0x8012e8], 0x6d
mov dword [0x8012ed], 0x642e3233
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, 0x1ef75
pop edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
dec esi
jne 0x40547d
cmp dword [0x92d6a4], 0x58c
jne 0x4054ff
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_UpdateResourceW]
push 0x401408
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call dword [sym.imp.KERNEL32.dll_FreeConsole]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xe10]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathA]
push ebx
lea eax, [ebp - 0x610]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleTitleA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
lea eax, [ebp - 4]
push eax
push 0x401438
call dword [sym.imp.KERNEL32.dll_GetBinaryTypeA]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call fcn.00404d36
pop esi
xor eax, eax
pop ebx
leave
ret