Function at 0x4cbbc0
Capabilities:
Enumerate files on windows
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5642d6
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1044
call fcn.00554650
mov eax, dword [0x5c04b4]
xor eax, esp
mov dword [esp + 0x1040], eax
push ebx
push esi
push edi
mov eax, dword [0x5c04b4]
xor eax, esp
push eax
lea eax, [esp + 0x1058]
mov dword fs:[0], eax
mov dword [esp + 0x60], ecx
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x70], eax
mov dword [esp + 0x24], vtable.CBuffer.0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1060], 0
mov dword [esp + 0x38], vtable.CBuffer.0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x1060], 1
mov edx, 0x104
lea ecx, [esp + 0xa3c]
call fcn.0050a320
test al, al
je 0x4cc6d5
push 0x592c70
mov edx, 0x104
lea ecx, [esp + 0xa40]
call fcn.0052fae0
lea ecx, [esp + 0xa40]
add esp, 4
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cbcb6
mov ebx, dword [sym.imp.MSVCR120.dll_wcscpy_s]
lea eax, [esp + 0xa3c]
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
jae 0x4cbcef
push eax
lea eax, [esp + 0xc48]
push 0x104
push eax
call ebx
add esp, 0xc
jmp 0x4cbd15
push 0x103
push eax
lea eax, [esp + 0xc4c]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0x10
xor eax, eax
mov word [esp + 0xe4a], ax
push 0x58b228
mov edx, 0x104
lea ecx, [esp + 0xc48]
call fcn.0052fae0
add esp, 4
lea ecx, [esp + 0x24]
xor esi, esi
mov dword [esp + 0x20], esi
push 8
call fcn.004d2430
test eax, eax
je 0x4cbd6c
mov dword [eax], 8
mov dword [eax + 4], esi
mov edx, dword [esp + 0x34]
mov ecx, edx
mov eax, dword [esp + 0x2c]
sub ecx, dword [esp + 0x28]
add eax, 8
add eax, ecx
cmp eax, dword [esp + 0x30]
ja 0x4cbd6c
add edx, 8
mov dword [esp + 0x34], edx
call fcn.00439be0
mov esi, dword [ebp + 0x18]
mov edi, eax
mov dword [esp + 0x7c], edi
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4cbd8a
cmp ecx, 2
jne 0x4cc287
lea eax, [esp + 0x524]
push eax
lea eax, [esp + 0xc48]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [esp + 0x4c], edi
cmp edi, 0xffffffff
je 0x4cc27c
nop
lea ecx, [esp + 0xa3c]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cbdc0
sub ecx, edx
lea eax, [esp + 0xa3c]
sar ecx, 1
cmp ecx, 0x104
jae 0x4cbdf3
push eax
lea eax, [esp + 0x838]
push 0x104
push eax
call ebx
add esp, 0xc
jmp 0x4cbe19
push 0x103
push eax
lea eax, [esp + 0x83c]
push 0x104
push eax
call dword [sym.imp.MSVCR120.dll_wcsncpy_s]
add esp, 0x10
xor eax, eax
mov word [esp + 0xa3a], ax
lea eax, [esp + 0x550]
mov edx, 0x104
push eax
lea ecx, [esp + 0x838]
call fcn.0052fae0
add esp, 4
lea edx, [esp + 0x834]
lea ecx, [esp + 0x18]
call fcn.00533f70
test eax, eax
jne 0x4cc265
cmp dword [esi + 8], eax
jne 0x4cc255
mov ebx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov ebx, dword [ebx + 0xec]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x1c], 0x20
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0
mov eax, ecx
test eax, eax
jne 0x4cbea9
lea ecx, [esp + 0x54]
jmp 0x4cbeb6
cmp esi, 0xffffffff
je 0x4cbf75
test esi, esi
jne 0x4cbec8
mov edi, dword [ebx + 0x74]
test edi, edi
je 0x4cbed1
mov eax, dword [edi + 0x78]
mov dword [ecx], eax
mov esi, dword [esp + 0x14]
jmp 0x4cbed1
mov edi, esi
mov esi, dword [esi + 0x78]
mov dword [esp + 0x14], esi
cmp dword [ecx], 0
jne 0x4cbee0
mov dword [ecx], 0xffffffff
mov esi, dword [esp + 0x14]
test edi, edi
je 0x4cbf75
lea eax, [edi + 4]
push eax
push str.START
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4cbe91
cmp dword [edi], 6
jne 0x4cbe91
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x7f8]
mov ecx, ebx
push eax
push edi
call fcn.00531610
add esp, 0xc
test eax, eax
jne 0x4cbf79
cmp dword [esp + 0x1c], eax
je 0x4cbf79
lea edx, [esp + 0x64]
lea ecx, [esp + 0x7f4]
call fcn.0054e960
lea eax, [esp + 0x64]
push eax
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov eax, dword [esp + 0x68]
xor ecx, ecx
add ecx, dword [esp + 0x64]
push 0
adc eax, 0
sub ecx, 0xd53e8000
push 0x989680
sbb eax, 0x19db1de
push eax
push ecx
call fcn.00554230
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], edx
jmp 0x4cbf81
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x50], 0xffffffff
mov ebx, dword [ebx + 0xec]
xor esi, esi
mov dword [esp + 0x1c], 0x100
mov dword [esp + 0x14], esi
jmp 0x4cbfa0
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0
mov eax, ecx
test eax, eax
jne 0x4cbfb8
lea ecx, [esp + 0x54]
jmp 0x4cbfc1
cmp esi, 0xffffffff
je 0x4cc02a
test esi, esi
jne 0x4cbfd3
mov edi, dword [ebx + 0x74]
test edi, edi
je 0x4cbfdc
mov eax, dword [edi + 0x78]
mov dword [ecx], eax
mov esi, dword [esp + 0x14]
jmp 0x4cbfdc
mov edi, esi
mov esi, dword [esi + 0x78]
mov dword [esp + 0x14], esi
cmp dword [ecx], 0
jne 0x4cbfeb
mov dword [ecx], 0xffffffff
mov esi, dword [esp + 0x14]
test edi, edi
je 0x4cc02a
lea eax, [edi + 4]
push eax
push str.COMMENT
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4cbfa0
cmp dword [edi], 6
jne 0x4cbfa0
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0xe50]
mov ecx, ebx
push eax
push edi
call fcn.00531610
add esp, 0xc
test eax, eax
je 0x4cc09a
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x74]
push eax
xor esi, esi
push 0x58b33c
mov edx, dword [ecx + 0xec]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
call fcn.00534870
add esp, 8
test eax, eax
jne 0x4cc05b
mov esi, dword [esp + 0x74]
push 0x587600
lea eax, [esp + 0xe50]
push 0x100
push eax
call dword [sym.imp.MSVCR120.dll_wcscpy_s]
add esp, 0xc
test esi, esi
je 0x4cc096
lea eax, [esp + 0x54]
push eax
push 0x100
lea eax, [esp + 0xe54]
push eax
push 0xf000041
call fcn.0046f310
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 0xec]
xor esi, esi
mov dword [esp + 0x1c], 0x40
mov dword [esp + 0x14], esi
mov edi, edi
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0
mov eax, ecx
test eax, eax
jne 0x4cc0c8
lea ecx, [esp + 0x54]
jmp 0x4cc0d1
cmp esi, 0xffffffff
je 0x4cc138
test esi, esi
jne 0x4cc0e3
mov edi, dword [ebx + 0x74]
test edi, edi
je 0x4cc0ec
mov eax, dword [edi + 0x78]
mov dword [ecx], eax
mov esi, dword [esp + 0x14]
jmp 0x4cc0ec
mov edi, esi
mov esi, dword [esi + 0x78]
mov dword [esp + 0x14], esi
cmp dword [ecx], 0
jne 0x4cc0fb
mov dword [ecx], 0xffffffff
mov esi, dword [esp + 0x14]
test edi, edi
je 0x4cc138
lea eax, [edi + 4]
push eax
push str.USER
call dword [sym.imp.MSVCR120.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x4cc0b0
cmp dword [edi], 6
jne 0x4cc0b0
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x778]
push eax
push edi
call fcn.00531610
add esp, 0xc
test eax, eax
je 0x4cc142
xor eax, eax
mov word [esp + 0x774], ax
push 0x58516c
lea ecx, [esp + 0x838]
call fcn.0054e900
lea ecx, [esp + 0x838]
add esp, 4
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc160
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x838]
push eax
lea ecx, [esp + 0x40]
call fcn.004d2340
lea ecx, [esp + 0xe4c]
mov ebx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc194
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0xe50]
push eax
lea ecx, [esp + 0x40]
call fcn.004d2340
lea ecx, [esp + 0x774]
mov edi, eax
lea edx, [ecx + 2]
jmp 0x4cc1d0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc1d0
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [esp + 0x778]
push eax
lea ecx, [esp + 0x40]
call fcn.004d2340
push 0x14
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.004d2430
test eax, eax
je 0x4cc248
mov ecx, dword [esp + 0x50]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov edi, dword [esp + 0x4c]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0x18]
mov dword [eax + 0x10], 0x64
mov edx, dword [esp + 0x34]
mov ecx, edx
mov eax, dword [esp + 0x2c]
sub ecx, dword [esp + 0x28]
add eax, 0x14
add eax, ecx
cmp eax, dword [esp + 0x30]
ja 0x4cc24f
add edx, 0x14
mov dword [esp + 0x34], edx
jmp 0x4cc24f
mov esi, dword [ebp + 0x18]
mov edi, dword [esp + 0x4c]
mov ebx, dword [sym.imp.MSVCR120.dll_wcscpy_s]
push dword [esp + 0x18]
inc dword [esp + 0x24]
call fcn.00532e00
add esp, 4
lea eax, [esp + 0x524]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4cbdb0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x4cc29b
push edi
push 0
call dword [sym.imp.ADVAPI32.dll_SetThreadToken]
push edi
call dword [0x5c001c]
mov eax, dword [esi + 8]
test eax, eax
je 0x4cc326
cmp eax, 1
je 0x4cc326
cmp eax, 2
jne 0x4cc2e2
mov edi, dword [esp + 0x60]
lea esi, [edi + 0x1c9c]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [edi + 0x1cc4]
mov eax, 0xc0e07039
mul ecx
push esi
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xa
add dword [esp + 0x24], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x2c]
mov dword [ecx], 8
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0x24]
ja 0x4cc665
mov ecx, dword [esp + 0x70]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x74]
mov dword [ecx], eax
call sub.MSVCR120.dll_memcpy
add esp, 0xc
xor esi, esi
jmp 0x4cc66a
mov esi, dword [esp + 0x60]
lea eax, [esi + 0x1c9c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esi + 0x1cc4]
mov eax, 0xc0e07039
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0xa
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x4cc5ce
mov ebx, dword [esp + 0x14]
xor eax, eax
add dword [esp + 0x20], ecx
mov dword [esp + 0x4c], eax
cmp dword [esi + 0x1cc4], 0
je 0x4cc37a
mov esi, dword [esi + 0x1cbc]
add esi, eax
jmp 0x4cc37c
xor esi, esi
mov ecx, 0x124
lea edi, [esp + 0x94]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x98]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc394
mov esi, dword [esp + 0x48]
sub ecx, edx
sar ecx, 1
mov dword [esp + 0x1c], esi
lea edi, [ecx*2 + 2]
test edi, edi
jne 0x4cc3bc
mov dword [esp + 0x1c], esi
jmp 0x4cc3d6
push edi
lea ecx, [esp + 0x3c]
call fcn.004d2430
test eax, eax
jne 0x4cc404
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [esp + 0x2a0]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc3e0
sub ecx, edx
mov dword [esp + 0x18], esi
sar ecx, 1
lea edi, [ecx*2 + 2]
test edi, edi
jne 0x4cc434
mov dword [esp + 0x18], esi
jmp 0x4cc44e
push edi
lea ecx, [esp + 0x9c]
push ecx
push eax
call sub.MSVCR120.dll_memcpy
mov esi, dword [esp + 0x54]
add esp, 0xc
mov eax, esi
sub eax, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
add eax, edi
cmp eax, dword [esp + 0x44]
ja 0x4cc3ce
add esi, edi
mov dword [esp + 0x48], esi
jmp 0x4cc3d6
push edi
lea ecx, [esp + 0x3c]
call fcn.004d2430
test eax, eax
jne 0x4cc4b8
mov esi, dword [esp + 0x48]
mov dword [esp + 0x18], 0xffffffff
lea ecx, [esp + 0x4a0]
lea edx, [ecx + 2]
jmp 0x4cc460
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cc460
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2 + 2]
test edi, edi
je 0x4cc4f2
push edi
lea ecx, [esp + 0x3c]
call fcn.004d2430
test eax, eax
je 0x4cc4ef
push edi
lea ecx, [esp + 0x4a4]
push ecx
push eax
call sub.MSVCR120.dll_memcpy
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov eax, ecx
sub eax, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
add eax, edi
cmp eax, dword [esp + 0x44]
ja 0x4cc4ef
add ecx, edi
mov dword [esp + 0x48], ecx
jmp 0x4cc4f2
push edi
lea ecx, [esp + 0x2a4]
push ecx
push eax
call sub.MSVCR120.dll_memcpy
mov esi, dword [esp + 0x54]
add esp, 0xc
mov eax, esi
sub eax, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
add eax, edi
cmp eax, dword [esp + 0x44]
ja 0x4cc446
add esi, edi
mov dword [esp + 0x48], esi
jmp 0x4cc44e
or esi, 0xffffffff
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x5c0090]
test eax, eax
je 0x4cc523
cmp dword [esp + 0x50], 0
setne al
test al, al
je 0x4cc523
mov edi, 0x32
jmp 0x4cc567
mov eax, dword [esp + 0x520]
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 8]
test eax, eax
je 0x4cc547
lea ecx, [esp + 0x14]
push ecx
push 0x2ee3
call eax
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebx, ebx
jns 0x4cc54f
xor ebx, ebx
jmp 0x4cc559
cmp ebx, 0x64
jle 0x4cc55d
mov ebx, 0x64
mov dword [esp + 0x14], ebx
mov edi, ebx
cmp ebx, 0x64
jne 0x4cc567
lea edi, [ebx - 1]
push 0x14
lea ecx, [esp + 0x28]
call fcn.004d2430
test eax, eax
je 0x4cc5b3
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edi
mov edx, dword [esp + 0x34]
mov ecx, edx
mov eax, dword [esp + 0x2c]
sub ecx, dword [esp + 0x28]
add eax, 0x14
add eax, ecx
cmp eax, dword [esp + 0x30]
ja 0x4cc5b3
add edx, 0x14
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x60]
add eax, 0x490
dec dword [esp + 0x54]
mov dword [esp + 0x4c], eax
jne 0x4cc367
lea eax, [esi + 0x1c9c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x4cc5ec
mov eax, dword [esp + 0x2c]
add eax, 8
jmp 0x4cc5ee
xor eax, eax
mov edx, dword [esp + 0x20]
test edx, edx
je 0x4cc613
add eax, 8
lea esp, [esp]
add dword [eax - 4], ecx
lea eax, [eax + 0x14]
add dword [eax - 0x14], ecx
add dword [eax - 0x10], ecx
dec edx
jne 0x4cc600
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x4cc2e6
mov edi, dword [esp + 0x40]
lea ecx, [esp + 0x24]
push esi
call fcn.004d2430
test eax, eax
je 0x4cc2e2
push esi
push edi
push eax
call sub.MSVCR120.dll_memcpy
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov eax, ecx
sub eax, dword [esp + 0x28]
add eax, dword [esp + 0x2c]
add eax, esi
cmp eax, dword [esp + 0x30]
ja 0x4cc2e6
add ecx, esi
mov dword [esp + 0x34], ecx
jmp 0x4cc2e6
mov esi, 5
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], 0
call fcn.004d2290
lea ecx, [esp + 0x38]
mov dword [esp + 0x48], 0
call fcn.004d2290
mov byte [esp + 0x1060], 0
mov eax, dword [esp + 0x3c]
mov edi, dword [sym.imp.MSVCR120.dll_free]
mov dword [esp + 0x38], vtable.CBuffer.0
test eax, eax
je 0x4cc6b0
push eax
call edi
add esp, 4
mov dword [esp + 0x1060], 0xffffffff
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], vtable.CBuffer.0
test ecx, ecx
je 0x4cc6d1
push ecx
call edi
add esp, 4
mov eax, esi
jmp 0x4cc71c
mov byte [esp + 0x1060], 0
mov eax, dword [esp + 0x3c]
mov esi, dword [sym.imp.MSVCR120.dll_free]
mov dword [esp + 0x38], vtable.CBuffer.0
test eax, eax
je 0x4cc6f9
push eax
call esi
add esp, 4
mov dword [esp + 0x1060], 0xffffffff
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], vtable.CBuffer.0
test eax, eax
je 0x4cc71a
push eax
call esi
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x1058]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1040]
xor ecx, esp
call fcn.00553510
mov esp, ebp
pop ebp
ret 0x24