Function at 0x408110
Capabilities:
Create pipe
Get common file path
Get file attributes
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x4a4004]
xor eax, esp
mov dword [esp + 0x30], eax
mov edx, dword [0x4a5c00]
mov ecx, dword [0x5a5b44]
push ebx
push esi
push edi
xor ebx, ebx
xor eax, eax
mov edi, 0xec58acac
or esi, 0xffffffff
nop
cmp eax, 0x8450db
jne 0x40814d
lea ecx, [edx + 0xa231]
cmp ecx, 0x141
jne 0x408161
mov dword [0x4a6d98], edi
mov dword [0x4a6d9c], esi
inc eax
cmp eax, 0xb9fa618
jl 0x408140
mov edi, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [0x5a5b44], ecx
xor esi, esi
cmp esi, 0x562d05
jne 0x408189
mov eax, dword [0x4a5bf4]
mov dword [0x5a5b48], eax
cmp ecx, 0x3c
jne 0x408197
push ebx
call edi
mov ecx, dword [0x5a5b44]
inc esi
cmp esi, 0x5f6c74
jl 0x408177
cmp ecx, 0x7c
jne 0x408217
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push ebx
call dword [sym.imp.KERNEL32.dll_ConvertDefaultLocale]
push ebx
call dword [sym.imp.KERNEL32.dll_FindAtomW]
push ebx
call dword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetNumaProcessorNode]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
cmp dword [0x5a5b44], 0x2d
jne 0x408208
push ebx
push ebx
push ebx
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_CreatePipe]
push ebx
call fcn.00401261
mov ecx, dword [0x5a5b44]
add esp, 4
cmp ecx, 0x110a
jne 0x408294
push str.gucixi
mov dword [0x5a57b0], ebx
mov dword [0x5a57b4], ebx
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push str.xijofulefawoyetocohilumotozeli
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenWaitableTimerW]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_HeapValidate]
push ebx
call fcn.00401093
push ebx
call fcn.00401093
push ebx
push ebx
call fcn.00401277
push 0x4a3318
push 0x4a6898
call fcn.0040100f
push ebx
call fcn.0040124a
add esp, 0x1c
push ebx
call fcn.004015a7
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x5a54e4], eax
cmp dword [0x5a5b44], ebx
jbe 0x40830c
mov edi, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
mov ebx, dword [sym.imp.ADVAPI32.dll_GetPrivateObjectSecurity]
jmp 0x4082c0
mov eax, dword [0x5a5b48]
mov dword [esp + 0xc], eax
mov eax, 0xa231
add dword [esp + 0xc], eax
cmp dword [0x5a5b44], 0x5ab
mov ecx, dword [esp + 0xc]
mov dl, byte [ecx + esi]
mov eax, dword [0x5a54e4]
mov byte [eax + esi], dl
jne 0x408301
push 0
push 0
push 0
call edi
push 0
push 0
push 0
push 0
push 0
call ebx
inc esi
cmp esi, dword [0x5a5b44]
jb 0x4082c0
xor ebx, ebx
push 0x4a331c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.00407e70
call fcn.004080a0
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ebx, dword [sym.imp.KERNEL32.dll_GetACP]
xor esi, esi
nop
cmp esi, 0xbd9cb
jne 0x40833d
call fcn.00407e60
cmp dword [0x5a5b44], 0xc
jne 0x40834f
lea ecx, [esp + 0x10]
push ecx
call edi
call ebx
inc esi
cmp esi, 0x15a63d
jl 0x408330
mov edi, dword [sym.imp.USER32.dll_GetMonitorInfoA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetAtomNameA]
xor esi, esi
lea edx, [esp + 0x14]
push edx
push 0
call edi
push 0
push 0
push 0
call ebx
cmp esi, 0x1a01e
jle 0x408389
cmp dword [esp + 0x1c], 0xf5bed7
jne 0x408392
inc esi
cmp esi, 0x1ece7a52
jl 0x408366
mov ebx, dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
xor esi, esi
mov edi, 0x8e46a6f0
nop
cmp dword [0x5a5b44], 0xcc1
jne 0x4083ae
call ebx
cmp esi, 0x12e6c3
jne 0x4083bb
call fcn.00407e50
inc esi
mov dword [0x5a57b8], edi
cmp esi, 0x1519a5
jl 0x4083a0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401000
mov esp, ebp
pop ebp
ret