Function at 0x435630
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4ba16b
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x4e3f80]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4e3f80]
xor eax, esp
push eax
lea eax, [esp + 0xbc]
mov dword fs:[0], eax
mov eax, dword [esp + 0xcc]
xor ebp, ebp
mov dword [esp + 0x30], eax
mov dword [eax + 0x880], ebp
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push ebp
lea eax, [esp + 0x38]
push str.PRINTER_d_AVAILABLE
push eax
call ebx
add esp, 0xc
lea ecx, [esp + 0x34]
push ecx
call fcn.0046ccd0
mov esi, eax
test esi, esi
je 0x43594c
push esi
call fcn.0049e31d
add esp, 4
push esi
mov edi, eax
call fcn.0049081d
add esp, 4
cmp edi, 1
jne 0x43594c
push ebp
lea edx, [esp + 0x38]
push str.PRINTER_d_NAME
push edx
call ebx
add esp, 0xc
lea eax, [esp + 0x34]
push eax
call fcn.0046ccd0
push ebp
lea ecx, [esp + 0x38]
push str.PRINTER_d_TYPE
push ecx
mov dword [esp + 0x28], eax
call ebx
add esp, 0xc
lea edx, [esp + 0x34]
xor edi, edi
push edx
mov dword [esp + 0x28], edi
call fcn.0046ccd0
mov esi, eax
cmp esi, edi
je 0x43571f
push esi
call fcn.0049e31d
add esp, 4
push esi
mov dword [esp + 0x28], eax
call fcn.0049081d
add esp, 4
push ebp
lea eax, [esp + 0x38]
push str.PRINTER_d_PORT
push eax
call ebx
add esp, 0xc
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x24], edi
call fcn.0046ccd0
mov esi, eax
cmp esi, edi
je 0x435759
push esi
call fcn.0049e31d
add esp, 4
push esi
mov dword [esp + 0x24], eax
call fcn.0049081d
add esp, 4
push ebp
lea edx, [esp + 0x38]
push str.PRINTER_d_PRNTYPE
push edx
call ebx
add esp, 0xc
lea eax, [esp + 0x34]
push eax
mov dword [esp + 0x1c], edi
call fcn.0046ccd0
mov esi, eax
cmp esi, edi
je 0x435793
push esi
call fcn.0049e31d
add esp, 4
push esi
mov dword [esp + 0x1c], eax
call fcn.0049081d
add esp, 4
push ebp
lea ecx, [esp + 0x38]
push str.PRINTER_d_PRNSERNUM
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x34]
push edx
call fcn.0046ccd0
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x28], eax
mov eax, dword [0x4ee750]
mov eax, dword [eax + 0x1c]
add eax, 0x64
push eax
mov edi, 1
call ebx
mov ecx, dword [0x4ee750]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x1c]
inc dword [0x4ee7c8]
push edx
push eax
call fcn.004823b0
mov esi, eax
test esi, esi
je 0x4358b7
lea eax, [esi + 0x1c0]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x435805
push eax
call ebx
inc dword [0x4ee7c4]
mov eax, dword [0x4ee750]
mov eax, dword [eax + 0x1c]
add eax, 0x64
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [0x4ee7c8], edi
jns 0x43582c
push str.Ahh..._r_n
call fcn.00477b80
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x435875
mov eax, dword [esi + 0x1b4]
test eax, eax
je 0x435849
cmp dword [eax + 0x10], 0
setne al
test al, al
jne 0x43589c
push str.PRINTINGOFF
mov eax, esi
xor ebx, ebx
call fcn.00480b20
mov esi, eax
test esi, esi
je 0x435871
push esi
call fcn.0049e31d
add esp, 4
push esi
mov ebx, eax
call fcn.0049081d
add esp, 4
mov edi, ebx
jmp 0x43589c
cmp eax, 1
jne 0x43589c
mov eax, dword [esi + 0x1b4]
test eax, eax
je 0x43589c
cmp dword [eax + 0x10], 0
setne al
test al, al
je 0x43589c
mov ebx, dword [esp + 0x1c]
mov ecx, esi
call fcn.00485240
mov edi, eax
mov ecx, dword [esp + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [0x4ee7c4], 1
jns 0x4358df
push str.ahhh_r_n
jmp 0x4358d7
mov edx, dword [0x4ee750]
mov eax, dword [edx + 0x1c]
add eax, 0x64
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [0x4ee7c8], edi
jns 0x4358df
push str.Ahh..._r_n
call fcn.00477b80
add esp, 4
mov eax, dword [esp + 0x28]
push 0
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.004019b0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
push ecx
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov dword [esp + 0xe4], 0
call fcn.004019b0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xe0], 0xffffffff
call fcn.004364e0
mov eax, dword [esp + 0x28]
push eax
call fcn.0049081d
mov ecx, dword [esp + 0x20]
add esp, 4
push ecx
call fcn.0049081d
add esp, 4
inc ebp
cmp ebp, 0x20
jl 0x43567e
mov edx, dword [esp + 0x30]
push edx
call fcn.0043a1a0
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.0049dc2a
add esp, 0xb4
ret 4