Function at 0x405dc0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x415c50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
push 0x14
push ecx
mov dword [ebp - 0x14], edi
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd7c
mov dword [ebp - 4], 0
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov ebx, dword [ebp + 8]
push 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd70
mov dword [ebx], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd60
mov dword [ebx + 8], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 3
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd50
mov dword [ebx + 4], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 7
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
mov dword [ebx + 0xc], eax
push 0x41fd3c
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd2c
mov dword [ebx + 0x10], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 2
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fd1c
mov dword [ebx + 0x14], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 3
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
fstp dword [ebx + 0x18]
push 0x41fd0c
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 8
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push ecx
fild dword [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fd00
fstp dword [ebx + 0x1c]
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 9
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fcf0
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0
call fcn.00402970
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCRT.dll_atol]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x20], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fce4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fcd4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0xc
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
push ecx
mov ecx, dword [edi + 0x20]
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x24], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fcc8
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fcb8
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0x18]
push edx
mov byte [ebp - 4], 0
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x28], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fcc8
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fcac
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x2c], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fca4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fc94
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
push ecx
mov ecx, dword [edi + 0x20]
call fcn.00402970
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x30], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fca4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x13
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fc84
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0x18]
push edx
mov byte [ebp - 4], 0
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x34], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fca4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fc74
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x38], eax
call fcn.00414af4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fca4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x17
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fc68
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x18
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0
push ecx
mov ecx, dword [edi + 0x20]
call fcn.00402970
mov eax, dword [eax]
push eax
call esi
add esp, 4
lea ecx, [ebp - 0x18]
mov dword [ebx + 0x3c], eax
call fcn.00414af4
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fc5c
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push ecx
mov dword [ebx + 0x40], eax
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fbac
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1a
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fc50
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1b
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [edi + 0x20]
lea edx, [ebp - 0x1c]
push edx
mov byte [ebp - 4], 0
call fcn.00402970
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x44]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1c]
call fcn.00414af4
push 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fc44
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov esi, dword [ebp - 0x14]
mov byte [ebp - 4], 0
mov ecx, dword [esi + 0x20]
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0x64
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0x78]
push 0x41fc38
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1d
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0x64
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0x7c]
push 0x41fc2c
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1e
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0x80]
push 0x41fc1c
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0x2bc
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0x84]
push 0x41fc10
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x20
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fc04
mov dword [ebx + 0x88], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x21
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebx + 0x8c], eax
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fbf8
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x22
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fbec
mov dword [ebx + 0x90], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x23
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fbe4
mov dword [ebx + 0x94], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x24
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
push 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x41fbd8
mov dword [ebx + 0x98], eax
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x25
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0x14
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0x9c]
push 0x41fbcc
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x26
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 0x14
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0xa0]
push 0x41fbc0
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x27
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebp - 0x18], eax
push 1
fild dword [ebp - 0x18]
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
fstp dword [ebx + 0xa4]
push 0x41fbb4
call sub.MFC42.DLL_CString::CString_2
push ecx
mov byte [ebp - 4], 0x28
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x41fb24
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esi + 0x20]
mov byte [ebp - 4], 0
call fcn.00402c60
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4