Function at 0x409385
Capabilities:
Check for software breakpoints
Enumerate services
Get disk information
Manipulate console buffer
Set http header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1c60
call fcn.00408b40
mov eax, dword [0x426004]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor esi, esi
xor eax, eax
cmp eax, 0x180
jne 0x4093ba
mov ecx, dword [0x4277d4]
add ecx, 0x9e49
mov dword [0x233fa8c], ecx
cmp dword [0x233fa8c], 0x141
jne 0x4093d7
or dword [0x4283bc], 0xffffffff
mov dword [0x4283b8], 0xec58acac
inc eax
cmp eax, 0x12376ec
jl 0x4093a1
push ebx
push edi
xor edi, edi
cmp edi, 0x562d05
jne 0x4093f5
mov eax, dword [0x426fe8]
mov dword [0x233fa90], eax
cmp dword [0x233fa8c], 0x3c
jne 0x409406
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsW]
inc edi
cmp edi, 0x5f6c74
jl 0x4093e3
cmp dword [0x233fa8c], 0x7c
jne 0x409515
push esi
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push esi
lea eax, [ebp - 0x1c54]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push esi
lea eax, [ebp - 0x1c58]
push eax
push esi
lea eax, [ebp - 0x1404]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
push esi
push esi
call dword [sym.imp.ole32.dll_CoTaskMemRealloc]
push esi
push esi
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetAtomNameA]
call dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
xor eax, eax
mov word [ebp - 0x1c4c], ax
lea edi, [ebp - 0x1c4a]
stosw word es:[edi], ax
mov word [ebp - 0x1c48], ax
lea edi, [ebp - 0x1c46]
stosw word es:[edi], ax
lea eax, [ebp - 0x1c60]
push eax
push dword [ebp - 0x1c48]
lea eax, [ebp - 0x1c50]
push dword [ebp - 0x1c4c]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputA]
push esi
push esi
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointW]
push esi
lea eax, [ebp - 0x1c04]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_EnumCalendarInfoExW]
cmp dword [0x233fa8c], 0x11
jne 0x409507
push esi
push esi
push esi
call dword [sym.imp.GDI32.dll_GetBoundsRect]
lea eax, [ebp - 0x1c4c]
push eax
lea eax, [ebp - 0x1c48]
push eax
push esi
lea eax, [ebp - 0x1c2c]
push eax
push esi
push esi
call dword [sym.imp.ADVAPI32.dll_EnumDependentServicesA]
push esi
call fcn.00401389
push esi
call fcn.0040139f
pop ecx
pop ecx
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalAlloc]
xor edi, edi
cmp dword [0x233fa8c], 0xc31
jne 0x409534
push esi
push esi
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_AddAtomW]
lea eax, [ebp - 0x1c44]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCommProperties]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x233fa8c], 0xf1d
jne 0x409561
push esi
call dword [sym.imp.KERNEL32.dll_ZombifyActCtx]
push esi
push esi
lea eax, [ebp - 0x1c04]
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasesW]
cmp edi, 0x25888
jle 0x40958c
cmp dword [0x233fa8c], 0xa
jne 0x40958c
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_FoldStringA]
inc edi
cmp edi, 0xe3f5a
jl 0x40951d
cmp dword [0x233fa8c], 0x110a
jne 0x4095ff
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
push esi
push esi
push esi
push esi
mov dword [0x233f958], esi
mov dword [0x233f95c], esi
call edi
cmp dword [0x233fa8c], 0xcc
jne 0x4095d5
push esi
push esi
push esi
push esi
call edi
mov dword [0x4283b0], 0x14
push esi
push esi
call fcn.00401620
push esi
call fcn.004012bf
push esi
call fcn.004013aa
push esi
push esi
push esi
call fcn.0040123b
push esi
call fcn.004015d5
push esi
call fcn.004015ec
add esp, 0x24
push dword [0x233fa8c]
push esi
call ebx
xor ecx, ecx
pop edi
mov dword [0x233f7ac], eax
pop ebx
cmp dword [0x233fa8c], esi
jbe 0x40965c
mov eax, dword [0x233fa90]
mov dword [ebp - 0x1c48], eax
mov eax, 0x9e49
add dword [ebp - 0x1c48], eax
mov eax, dword [ebp - 0x1c48]
mov al, byte [eax + ecx]
mov edx, dword [0x233f7ac]
mov byte [edx + ecx], al
mov eax, dword [0x233fa8c]
cmp eax, 0x5ab
jne 0x409657
mov dword [0x233f7b0], 0x19b0
inc ecx
cmp ecx, eax
jb 0x409619
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
call fcn.0040911d
call fcn.004090ff
call fcn.00409342
xor eax, eax
cmp eax, 0xd606b
jne 0x409684
call fcn.004090f4
inc eax
cmp eax, 0x24e87d
jl 0x409678
mov dword [0x233f7b4], 0x8e46a6f0
cmp esi, 0x408e
jle 0x4096aa
cmp dword [ebp - 0x1c28], 0xf5bed7
jne 0x4096b3
inc esi
cmp esi, 0x687ed2
jl 0x409696
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00401000
leave
ret