Function at 0x100041e0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1012fd2d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push edi
mov eax, dword [0x103b2018]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov eax, dword [esi + 0x74]
mov eax, dword [eax + 0x54]
push esi
push str.loginocx::retrynothread_0_0x_08x
push eax
call sub.NirvanaUtils.dll_public:_long_int___cdecl_GLog::WriteLogFormat_wchar_t_const__
xor ebx, ebx
add esp, 0xc
cmp dword [0x103c2c38], ebx
jne 0x1000423a
mov ecx, dword [esi + 0x20]
push esi
push 0x10003720
push ecx
call dword [sym.imp.USER32.dll_EnumChildWindows]
push ebx
lea edx, [esp + 0x24]
push edx
push 9
push 2
lea eax, [esi + 0x98]
push 0xcb
push eax
call sub.mfc90u.dll_CWnd::InvokeHelper
add esp, 0x18
mov dword [esp + 0x14], ebx
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0x10137b64
push eax
mov eax, dword [ecx]
call eax
cmp eax, ebx
jl 0x100047b4
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x100047b4
mov dword [esp + 0x18], ebx
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x3c], 1
mov ecx, dword [eax]
push 0x10137b74
push eax
mov eax, dword [ecx]
call eax
mov dword [esp + 0x10], ebx
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x10]
push edx
push str.password_edit
push eax
mov eax, dword [ecx + 0xb8]
call eax
mov edi, eax
cmp edi, ebx
jl 0x10004747
cmp dword [esp + 0x10], ebx
je 0x10004747
mov ecx, dword [esi + 0x74]
mov eax, dword [ecx + 0x54]
push esi
push str.loginocx::retrynothread_1_0x_08x
push eax
call sub.NirvanaUtils.dll_public:_long_int___cdecl_GLog::WriteLogFormat_wchar_t_const__
add esp, 0xc
mov dword [esp + 0xc], ebx
mov byte [esp + 0x38], 4
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0xc]
push ecx
push 0x10137b84
push eax
call edx
mov edi, eax
cmp edi, ebx
jl 0x10004640
cmp dword [esp + 0xc], ebx
je 0x10004640
mov eax, dword [esi + 0x74]
mov eax, dword [eax + 0x54]
push esi
push str.loginocx::retrynothread_2_0x_08x
push eax
call sub.NirvanaUtils.dll_public:_long_int___cdecl_GLog::WriteLogFormat_wchar_t_const__
add esp, 8
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.sendEnvironmentInfo
call dword [0x10137604]
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esp
cmp eax, ebx
je 0x10004363
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
push ecx
call fcn.10003b50
add esp, 0xc
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edi, 0xa
nop
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub edi, 1
jne 0x10004380
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.getLastErrorCode
call dword [0x10137604]
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esp
cmp eax, ebx
je 0x100043bc
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
lea eax, [esp + 0x2c]
push eax
call fcn.10003b50
add esp, 0xc
push 0x1013807c
lea ecx, [esp + 0x28]
mov byte [esp + 0x3c], 7
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Compare]
test eax, eax
jne 0x1000443d
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.requestSid
call dword [0x10137604]
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esp
cmp eax, ebx
je 0x10004410
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x28]
push ecx
call fcn.10003b50
add esp, 0xc
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edi, 0x14
lea esp, [esp]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub edi, 1
jne 0x10004430
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x38], 8
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x1c]
push ecx
push 0x10137b54
push eax
call edx
cmp eax, ebx
jl 0x1000463c
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x1000463c
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc8]
push eax
call edx
cmp dword [0x103c2c38], ebx
je 0x100044d0
mov eax, dword [esi + 0x84]
mov eax, dword [eax - 0xc]
lea ebx, [esi + 0x84]
xor edi, edi
mov dword [esp + 0x20], eax
test eax, eax
jle 0x100044ce
jmp 0x100044a0
push edi
mov ecx, ebx
call dword [sym.imp.mfc90u.dll_ATL::CSimpleStringT_wchar_t_1_::operator__]
mov edx, dword [0x103c2c38]
movzx eax, ax
movzx ecx, ax
mov eax, dword [edx + 4]
push 0
push ecx
push 0x102
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
inc edi
cmp edi, dword [esp + 0x20]
jl 0x100044a0
xor ebx, ebx
mov ecx, dword [esi + 0x74]
mov eax, dword [ecx + 0x54]
push esi
push str.loginocx::retrynothread_3_0x_08x
push eax
call sub.NirvanaUtils.dll_public:_long_int___cdecl_GLog::WriteLogFormat_wchar_t_const__
add esp, 0xc
mov edi, 0x14
lea ebx, [ebx]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub edi, 1
jne 0x100044f0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.getSessionId
call dword [0x10137604]
mov edx, dword [esp + 0x10]
push ecx
mov eax, esp
mov dword [eax], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], esp
cmp eax, ebx
je 0x1000452c
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
lea eax, [esp + 0x28]
push eax
call fcn.10003b50
add esp, 0xc
push eax
lea ecx, [esi + 0x90]
mov byte [esp + 0x3c], 9
call dword [0x101375f4]
lea ecx, [esp + 0x20]
mov byte [esp + 0x38], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.getPassword
call dword [0x10137604]
push ecx
mov ecx, dword [esp + 0x14]
mov eax, esp
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], esp
cmp eax, ebx
je 0x10004589
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x30]
push ecx
call fcn.10003b50
add esp, 0xc
push eax
lea ecx, [esi + 0x94]
mov byte [esp + 0x3c], 0xa
call dword [0x101375f4]
lea ecx, [esp + 0x28]
mov byte [esp + 0x38], 8
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov edx, dword [esi + 0x74]
mov eax, dword [edx + 0x54]
push esi
push str.loginocx::retrynothread_4_0x_08x
push eax
call sub.NirvanaUtils.dll_public:_long_int___cdecl_GLog::WriteLogFormat_wchar_t_const__
add esp, 0xc
push 1
mov ecx, esi
call sub.mfc90u.dll_CDialog::EndDialog
mov byte [esp + 0x38], 7
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x100045ea
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0x10004609
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x1000461e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100047bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100047bd
push 2
jmp 0x100045ce
lea ecx, [esp + 0x20]
call dword [0x1013762c]
and edi, 0xffff
mov bl, 5
push edi
mov byte [esp + 0x3c], bl
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x28]
push 0x10138310
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
add esp, 0x10
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::AllocSysString]
push 0x18
call sub.mfc90u.dll_new
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x38], 6
test eax, eax
je 0x1000469c
push eax
call fcn.10001260
mov edi, eax
jmp 0x1000469e
xor edi, edi
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x3c], bl
lea ecx, [edi + 4]
mov dword [edi + 0xc], 0
call dword [0x101375f4]
push 0x10138380
lea ecx, [edi + 8]
call dword [0x10137600]
call sub.mfc90u.dll_AfxGetModuleState
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x20]
mov edx, dword [eax + 0x20]
push 0
push edi
push 0x7f2
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
push 2
mov ecx, esi
call sub.mfc90u.dll_CDialog::EndDialog
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x38], 2
mov eax, dword [esp + 0xc]
test eax, eax
je 0x1000470a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000471f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x38], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10004734
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
jmp 0x100047cb
lea ecx, [esp + 0x20]
call dword [0x1013762c]
and edi, 0xffff
push edi
mov byte [esp + 0x3c], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x28]
push 0x10138258
push eax
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::Format]
mov ecx, dword [esp + 0x30]
add esp, 0x10
push ebx
push ebx
push ecx
call sub.mfc90u.dll_AfxMessageBox
push 2
mov ecx, esi
call sub.mfc90u.dll_CDialog::EndDialog
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
mov byte [esp + 0x38], 1
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x1000461e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x1000461e
push 2
mov ecx, esi
call sub.mfc90u.dll_CDialog::EndDialog
mov dword [esp + 0x38], 0xffffffff
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x100047d5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret