Function at 0x463340
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4db408
mov eax, dword fs:[0]
push eax
mov eax, 0x64
call fcn.00468d20
mov eax, dword [0x5808f0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x5808f0]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
xor ebx, ebx
xor eax, eax
mov esi, ecx
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], ebx
mov word [esp + 0x58], ax
lea ecx, [esp + 0x30]
mov dword [esp + 0x7c], ebx
call fcn.00424cc0
lea ecx, [esp + 0x10]
push ecx
mov byte [esp + 0x80], 1
call fcn.0041ae00
mov edi, eax
add esp, 4
cmp edi, 8
jae 0x4633f9
mov edx, dword [esp + 0x10]
push edx
call fcn.004690f0
push str.Pass_file_too_small_n
call fcn.0041a700
add esp, 8
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], bl
call fcn.00424ce0
cmp dword [esp + 0x6c], 8
jb 0x463778
mov eax, dword [esp + 0x58]
push eax
call fcn.004699ce
add esp, 4
jmp 0x463778
mov eax, dword [esp + 0x10]
cmp byte [eax + 5], 0x56
je 0x463440
push eax
call fcn.004690f0
push str.Wrong_pass_file_format__no_version__n
call fcn.0041a700
add esp, 8
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], bl
call fcn.00424ce0
cmp dword [esp + 0x6c], 8
jb 0x463778
mov ecx, dword [esp + 0x58]
push ecx
call fcn.004699ce
add esp, 4
jmp 0x463778
movsx eax, byte [eax + 6]
add eax, 0xffffffd0
mov dword [esi + 0x24], eax
cmp eax, 4
jne 0x4634a0
cmp dword [0x584064], ebx
je 0x463463
mov ecx, 0x4e2e98
mov eax, 0x4e2e58
jmp 0x46346d
mov ecx, 0x4e2e1c
mov eax, str.Choose_encrypted_doc_file
lea edx, [esp + 0x54]
push edx
push ecx
push eax
mov ecx, esi
call fcn.0042bd50
test al, al
jne 0x46348e
mov eax, dword [esp + 0x10]
push eax
call fcn.004690f0
jmp 0x46375f
push 0x4e1788
lea ecx, [esi + 4]
call fcn.0041c900
jmp 0x463529
cmp dword [0x584064], ebx
je 0x4634b4
mov ecx, 0x4f2210
mov eax, 0x4e2e58
jmp 0x4634be
mov ecx, str.Encrypted_doc_files
mov eax, str.Choose_encrypted_doc_file
lea edx, [esp + 0x54]
push edx
push ecx
push eax
mov ecx, esi
call fcn.0042bd50
test al, al
je 0x46347f
push 1
push 0xffffffffffffffff
push 0x4e1750
lea ecx, [esp + 0x60]
call fcn.0041b940
cmp eax, 0xffffffff
jne 0x4634f6
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004690f0
jmp 0x46375f
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x60]
call fcn.0041c930
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esi + 4]
mov byte [esp + 0x88], 2
call fcn.0041c410
lea ecx, [esp + 0x14]
mov byte [esp + 0x7c], 1
call fcn.0041b5b0
cmp dword [esp + 0x6c], 8
mov eax, dword [esp + 0x58]
jae 0x463538
lea eax, [esp + 0x58]
push ebx
push eax
lea ecx, [esp + 0x38]
call fcn.00424d40
lea ecx, [esp + 0x30]
call fcn.00424740
test al, al
jne 0x46356c
push str.Error_reading_file_for_test_n
call fcn.0041a700
mov eax, dword [esp + 0x14]
push eax
call fcn.004690f0
add esp, 8
jmp 0x463762
mov eax, dword [esi + 0x24]
dec eax
cmp eax, 3
ja case.default.0x463579
jmp dword [eax*4 + 0x463798]
mov ecx, dword [esp + 0x10]
push edi
push ecx
mov ecx, esi
call fcn.00462530
lea ecx, [esp + 0x30]
test al, al
je 0x463766
call fcn.00424be0
cmp edx, ebx
jg 0x4635b5
jl 0x4635ab
cmp eax, 0x118
jae 0x4635b5
push str.File_for_test_is_too_small_n
jmp 0x46375a
lea ecx, [esp + 0x30]
call fcn.00424be0
sub eax, 0x104
sbb edx, ebx
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004249e0
cmp eax, 0x100
je 0x4635e1
push str.Wrong_encrypted_file_format_n
jmp 0x46375a
lea edx, [esp + 0x30]
push edx
mov ecx, esi
call fcn.00462fb0
mov byte [esi + 0x20], al
jmp 0x463762
mov eax, dword [esp + 0x10]
push edi
push eax
mov ecx, esi
call fcn.00462530
lea ecx, [esp + 0x30]
test al, al
je 0x463766
call fcn.00424be0
cmp edx, ebx
jg 0x463620
jl 0x4635ab
cmp eax, 0x218
jb 0x4635ab
lea ecx, [esp + 0x30]
call fcn.00424be0
sub eax, 4
sbb edx, ebx
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004249e0
cmp eax, 0x200
jne 0x4635d7
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.00462fb0
mov byte [esi + 0x20], al
jmp 0x463762
mov edx, dword [esp + 0x10]
push edi
push edx
mov ecx, esi
call fcn.004625c0
lea ecx, [esp + 0x30]
test al, al
je 0x463766
call fcn.00424be0
cmp edx, ebx
jg 0x463687
jl 0x4635ab
cmp eax, 0x21d
jb 0x4635ab
lea ecx, [esp + 0x30]
call fcn.00424be0
sub eax, 9
sbb edx, ebx
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004249e0
cmp eax, 0x200
jne 0x4635d7
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.004626e0
mov byte [esi + 0x20], al
jmp 0x463762
mov ecx, dword [esp + 0x10]
push edi
push ecx
mov ecx, esi
call fcn.004625c0
lea ecx, [esp + 0x30]
test al, al
je 0x463766
call fcn.00424be0
cmp edx, ebx
jg 0x4636f0
jl 0x4635ab
cmp eax, 0x19
jb 0x4635ab
lea ecx, [esp + 0x30]
call fcn.00424be0
sub eax, 9
sbb edx, ebx
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004249e0
lea edx, [esp + 0x30]
push edx
mov ecx, esi
mov dword [esi + 0x70], eax
call fcn.004626e0
mov byte [esi + 0x20], al
cmp al, bl
jne 0x463762
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.004627a0
lea ecx, [esp + 0x30]
mov byte [esi + 0x20], al
call fcn.00424be0
sub eax, 0x19
sbb edx, ebx
push edx
push eax
lea ecx, [esp + 0x38]
call fcn.004249e0
mov dword [esi + 0x70], eax
cmp byte [esi + 0x20], bl
je 0x463762
mov byte [esi + 0x74], 1
jmp 0x463762
push str.Wrong_pass_file__unknown_version__n
call fcn.0041a700
add esp, 4
lea ecx, [esp + 0x30]
mov byte [esp + 0x7c], bl
call fcn.00424ce0
lea ecx, [esp + 0x54]
call fcn.0041b5b0
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004690b5
add esp, 0x70
ret