Function at 0x4057a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x5d7f5b
mov eax, dword fs:[0]
push eax
sub esp, 0x368
mov eax, dword [0x638190]
xor eax, esp
mov dword [esp + 0x330], eax
push ebx
push esi
push edi
mov eax, dword [0x638190]
xor eax, esp
push eax
lea eax, [esp + 0x378]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, ecx
xor ebx, ebx
push ebx
lea ecx, [esp + 0x98]
mov dword [esp + 0x60], eax
call fcn.004d3dc0
lea ecx, [esp + 0xfc]
mov dword [esp + 0x380], ebx
call fcn.00538cd0
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
mov byte [esp + 0x384], 1
call dword [sym.imp.BMB_NX_C9.dll_public:_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______thiscall_BMBComment::GetText_void_]
mov eax, dword [eax]
push eax
lea edx, [esp + 0x8c]
push edx
mov ecx, edi
mov byte [esp + 0x388], 2
call fcn.00416f20
lea ecx, [esp + 0x18]
mov byte [esp + 0x380], 4
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esp + 0x88]
push eax
lea ecx, [esp + 0x100]
call fcn.00539930
mov ecx, esi
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetAngle_void_]
fstp qword [esp + 0x7c]
mov ecx, esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetP1_void_]
fstp qword [esp + 0x74]
mov ecx, esi
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetP2_void_]
fstp qword [esp + 0x24]
mov ecx, esi
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetLength_void_]
fstp qword [esp + 0x4c]
mov ecx, esi
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetHeight_void_]
fstp qword [esp + 0x3c]
mov ecx, esi
call dword [sym.imp.BMB_NX_C9.dll_public:_double___thiscall_BMBComment::GetWidth_void_]
fstp qword [esp + 0x54]
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_316]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
mov byte [esp + 0x384], 5
call dword [sym.imp.BMB_NX_C9.dll_public:_class_ATL::CStringT_char__class_StrTraitMFC_DLL_char__class_ATL::ChTraitsCRT_char______thiscall_BMBComment::GetText_void_]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x384], 6
call dword [sym.imp.mfc90.dll_Ordinal_817]
lea ecx, [esp + 0x18]
mov byte [esp + 0x380], 5
call dword [sym.imp.mfc90.dll_Ordinal_601]
fld qword [esp + 0x24]
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [esp + 0xa4]
fld qword [esp + 0x84]
fstp qword [esp]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00403a20
fld qword [esp + 0x3c]
mov ecx, dword [eax]
fstp qword [esp + 0x10]
fld qword [esp + 0x64]
add esp, 8
fadd qword [esp + 0x84]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 4]
lea eax, [esp + 0xa4]
fstp qword [esp]
push eax
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x60], edx
call fcn.00403a20
fld qword [esp + 0x94]
mov edx, dword [eax]
add esp, 0x18
lea ecx, [esp + 0x44]
push ecx
mov dword [esp + 0x30], edx
mov eax, dword [eax + 4]
sub esp, 8
lea ecx, [esp + 0x38]
fstp qword [esp]
mov dword [esp + 0x3c], eax
call fcn.005bf070
fld qword [esp + 0x7c]
fmul qword [0x5f3dd8]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
fdiv qword [0x5f3dd0]
mov dword [esp + 0x38], edx
fld qword [0x5f3e30]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x405a05
fcomp qword [0x5f3e28]
fnstsw ax
test ah, 5
jnp 0x405a07
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax - 0xc]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fld qword [esp + 0x54]
push ecx
fstp dword [esp + 0x1c]
mov ecx, edi
fmul dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00403c90
add eax, dword [esp + 0x24]
jmp 0x405a41
fstp st(0)
mov edx, dword [esp + 0x20]
mov eax, dword [edx - 0xc]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
push ecx
fld qword [esp + 0x58]
mov dword [esp + 0x1c], ecx
fstp dword [esp + 0x28]
mov ecx, edi
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.00403c90
mov ecx, dword [esp + 0x18]
sub ecx, eax
mov eax, ecx
cmp dword [esp + 0x2c], eax
mov dword [esp + 0x34], eax
jle 0x405a52
lea ecx, [esp + 0x34]
push ecx
jmp 0x405a57
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x100]
call fcn.005386f0
fld qword [esp + 0x54]
sub esp, 8
fstp qword [esp]
call fcn.00403940
mov eax, dword [esp + 0xfc]
fstp qword [esp + 0x54]
push eax
lea ecx, [esp + 0x58]
push ecx
call dword [esp + 0xf8]
add esp, 0x10
push eax
lea ecx, [esp + 0x100]
call fcn.005399d0
fld qword [esp + 0x3c]
sub esp, 8
fstp qword [esp]
call fcn.00403940
mov edx, dword [esp + 0xfc]
fstp qword [esp + 0x44]
push edx
lea eax, [esp + 0x48]
push eax
call dword [esp + 0xf8]
add esp, 0x10
push eax
lea ecx, [esp + 0x100]
call fcn.00539a00
fldz
sub esp, 8
fstp qword [esp]
call fcn.00403940
fstp qword [esp + 0x44]
mov ecx, dword [esp + 0xfc]
push ecx
lea edx, [esp + 0x48]
push edx
call dword [esp + 0xf8]
add esp, 0x10
push eax
lea ecx, [esp + 0x100]
call fcn.00539a30
push 1
lea ecx, [esp + 0x100]
mov dword [esp + 0x104], 1
call fcn.00538bf0
push 0x64
lea ecx, [esp + 0x100]
call fcn.00538c20
lea ecx, [esp + 0x60]
call fcn.005174e0
fld1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
mov byte [esp + 0x388], 7
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x6c], 3
call fcn.00403940
fstp qword [esp + 0x44]
mov edx, dword [esp + 0xfc]
push edx
lea eax, [esp + 0x48]
push eax
call dword [esp + 0xf8]
add esp, 0x10
lea ecx, [esp + 0x204]
mov dword [esp + 0x70], eax
call fcn.00539aa0
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x208]
mov byte [esp + 0x384], 8
call fcn.00537de0
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x310]
call fcn.005177f0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x328], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x32c], ecx
mov ecx, esi
mov dword [esp + 0x330], edx
mov dword [esp + 0x334], eax
mov dword [esp + 0x320], ebx
mov dword [esp + 0x324], ebx
call dword [sym.imp.BMB_NX_C9.dll_public:_bool___thiscall_BMBComment::IsTagMode_void_]
cmp al, 1
jne 0x405c0f
push 1
lea ecx, [esp + 0x208]
call fcn.00538bd0
mov edx, dword [esp + 0x5c]
push 1
lea ecx, [esp + 0x208]
push ecx
mov ecx, dword [edi + 0x20]
push edx
call fcn.00494970
mov byte [esp + 0x380], 7
lea ecx, [esp + 0x204]
cmp eax, ebx
jne 0x405c9e
call fcn.00539be0
lea ecx, [esp + 0x60]
mov byte [esp + 0x380], 5
call fcn.00517530
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x88]
mov byte [esp + 0x380], 1
call fcn.005bd9f0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x380], bl
call fcn.00538f80
lea ecx, [esp + 0x94]
mov dword [esp + 0x380], 0xffffffff
call fcn.00440ab0
mov eax, 1
jmp 0x405cfe
call fcn.00539be0
lea ecx, [esp + 0x60]
mov byte [esp + 0x380], 5
call fcn.00517530
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea ecx, [esp + 0x88]
mov byte [esp + 0x380], 1
call fcn.005bd9f0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x380], bl
call fcn.00538f80
lea ecx, [esp + 0x94]
mov dword [esp + 0x380], 0xffffffff
call fcn.00440ab0
xor eax, eax
mov ecx, dword [esp + 0x378]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x330]
xor ecx, esp
call fcn.005c3bb6
mov esp, ebp
pop ebp
ret 0xc