Function at 0x41c5e0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x401a86
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401988
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x2c]
xor esi, esi
rep stosd dword es:[edi], eax
push 0x423098
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], esi
call fcn.00408694
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov edi, eax
call ebx
test edi, edi
jne 0x41c377
mov dword [ebp - 0x44], 0xffffffff
jmp 0x41c519
lea eax, [ebp - 0x40]
push eax
call 0x41c5e0
test eax, eax
je 0x41c50d
push 0
push 0xff
push 1
lea ecx, [ebp - 0x30]
push 3
push ecx
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
mov edx, dword [0x4230b4]
add esp, 0x1c
push edx
call fcn.00408d24
mov edi, eax
call ebx
test edi, edi
je 0x41c50d
mov ecx, dword [0x4230b4]
lea eax, [ebp - 0x2c]
push eax
push ecx
call fcn.00408d9c
mov edi, eax
call ebx
test edi, edi
je 0x41c488
test byte [ebp - 0x22], 4
je 0x41c3bf
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x3c]
push edx
push eax
call fcn.00408a14
call ebx
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x40]
push ecx
push edx
call 0x41c550
test ax, ax
jne 0x41c3bf
mov eax, dword [ebp - 0x30]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
cmp esi, eax
jle 0x41c43b
mov ecx, esi
push 0
add ecx, 0x100
lea edx, [ebp - 0x30]
jo 0x41c54a
push ecx
push 1
push 3
push edx
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x41c468
cmp word [ecx], 1
jne 0x41c468
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov edi, esi
sub edi, edx
cmp edi, eax
jb 0x41c45f
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
lea eax, [edi*4]
jmp 0x41c471
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebp - 0x2c]
add esi, 1
mov dword [ecx + eax], edx
jo 0x41c54a
jmp 0x41c3bf
mov eax, dword [0x4230b4]
push eax
call fcn.00408d58
call ebx
sub esi, 1
mov ebx, 1
jo 0x41c54a
mov dword [ebp - 0x54], esi
xor edi, edi
cmp edi, dword [ebp - 0x54]
jg 0x41c507
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x41c4da
cmp word [ecx], 1
jne 0x41c4da
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x41c4d1
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
lea eax, [esi*4]
jmp 0x41c4e3
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + eax]
mov eax, dword [0x4230b4]
push edx
push 0
push eax
call fcn.00408de0
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov ecx, ebx
add ecx, edi
jo 0x41c54a
mov edi, ecx
jmp 0x41c4a8
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
push 0x423098
call fcn.004085d8
call ebx
push 0x41c535
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea edx, [ebp - 0x30]
push edx
push 0
call esi
lea eax, [ebp - 0x40]
push eax
push 0
call esi
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push esi
mov eax, dword [ebx]
push edi
push eax
push 1
xor esi, esi
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ebp, eax
xor edi, edi
test ebp, ebp
jl 0x41c5c6
mov eax, dword [ebx]
test eax, eax
je 0x41c596
cmp word [eax], 1
jne 0x41c596
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov esi, edi
sub esi, edx
cmp esi, ecx
jb 0x41c58d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea eax, [esi*4]
jmp 0x41c59c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x14]
cmp dword [edx + eax], ecx
je 0x41c5bc
add edi, 1
jo 0x41c5d0
cmp edi, ebp
jle 0x41c56d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret 8
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
ret 8
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x20
push ebx
push ebp
push esi
push edi
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x14]
xor esi, esi
rep stosd dword es:[edi], eax
xor edi, edi
push edi
push 4
call fcn.004094d4
mov ebp, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov ebx, eax
call ebp
cmp ebx, 0xffffffff
mov dword [esp + 0x10], ebx
je 0x41c72f
push edi
mov edi, dword [esp + 0x38]
push 0xff
push 1
push 3
push edi
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0x1c
push eax
push ebx
call fcn.0040951c
mov ebx, eax
call ebp
test ebx, ebx
je 0x41c6f4
mov ecx, dword [edi]
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
cmp esi, eax
jle 0x41c68a
mov edx, esi
push 0
add edx, 0x100
jo 0x41c73b
push edx
push 1
push 3
push edi
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
call fcn.004095b0
mov ebx, eax
call ebp
cmp dword [esp + 0x20], ebx
jne 0x41c6d9
mov eax, dword [edi]
test eax, eax
je 0x41c6c2
cmp word [eax], 1
jne 0x41c6c2
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov ebx, esi
sub ebx, edx
cmp ebx, ecx
jb 0x41c6b9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea eax, [ebx*4]
jmp 0x41c6c8
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [edi]
add esi, 1
jo 0x41c73b
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [edx + eax], ecx
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00409564
mov ebx, eax
call ebp
test ebx, ebx
jne 0x41c655
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00409a60
call ebp
test esi, esi
je 0x41c723
mov edx, esi
push 0
sub edx, 1
jo 0x41c73b
push edx
push 1
push 3
push edi
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 4
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop