Function at 0x405645
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3f4], eax
push edx
or edx, 0x3967
add edx, 0x1841f
or edx, 0x11d2a
pop edx
push ecx
push ecx
add esp, 4
and ecx, 0x12397
add ecx, 0x1025b
xor ecx, 0x11ef3
xor ecx, 0x103cf
pop ecx
mov ecx, dword [ebp - 0x20cc]
mov dword [ebp - 0x15c8], ecx
push ecx
push ebx
add esp, 4
add ecx, 0x176a5
or ecx, 0x1116c
add ecx, 0x819
or ecx, 0x7771
pop ecx
push esi
sub esi, 0x6ba7
add esi, 0x17227
and esi, 0x11a24
pop esi
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x55f3663b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x15c8], edx
mov edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x2014], edx
mov eax, dword [ebp - 0x2014]
add eax, dword [ebp - 0x15c8]
mov dword [ebp - 0x3f4], eax
push edx
xor edx, 0x2e9
or edx, 0xf939
sub edx, 0x74a
or edx, 0x5626
pop edx
push esi
xor esi, 0x102c5
call 0x405046
add byte [ebp + 0x47], cl
push eax
push eax
push eax
dec edi
dec edi
add esp, 4
pop esi
mov byte [ebp - 0xbf0], 0x52
mov byte [ebp - 0xbef], 0xb9
mov byte [ebp - 0xbee], 0x10
mov byte [ebp - 0xbed], 0x10
mov byte [ebp - 0xbec], 0x10
mov byte [ebp - 0xbeb], 0x10
mov byte [ebp - 0xbea], 0x5a
push edi
push ecx
add esp, 4
or edi, 0xf2ab
sub edi, 0x73db
pop edi
push edi
add edi, 0x11138
sub edi, 0x111fb
sub edi, 0xbf19
pop edi
push ebx
push ebx
add esp, 4
jmp 0x4050ac
pop ebx
mov byte [ebp - 0xbe8], 0x52
mov byte [ebp - 0xbe7], 0xb9
mov byte [ebp - 0xbe6], 0x20
mov byte [ebp - 0xbe5], 0x20
mov byte [ebp - 0xbe4], 0x20
mov byte [ebp - 0xbe3], 0x20
mov byte [ebp - 0xbe2], 0x5a
push esi
and esi, 0x11c1
sub esi, 0x24e2
pop esi
push ebx
push esi
add esp, 4
jmp 0x4050f8
and ebx, 0x14b3d
call 0x40510c
add byte [esp + eax*2 + 0x3c], al
push eax
inc ecx
dec edx
push eax
dec esi
add esp, 4
pop ebx
mov dword [ebp - 0x20d0], 0xe
push eax
call 0x405128
add byte [edx + 0x3c], cl
dec eax
dec ecx
dec ebx
inc ebx
xor eax, dword [ebx - 0x377efb3c]
div bl
add byte [eax], al
add eax, 0xb77f
xor eax, 0x127aa
pop eax
push eax
and eax, 0x9d70
xor eax, 0x1093d
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbf0]
mov dword [ebp - 0x15cc], eax
push ebx
sub ebx, 0x930b
pop ebx
push esi
push ebx
add esp, 4
jmp 0x405177
jmp 0x405180
pop esi
push edx
call 0x40518f
add byte [0x40363650], bh
cmp al, 0x42
add esp, 4
pop edx
mov dword [ebp - 0x20d4], 0xffffffff
push ecx
sub ecx, 0x177b5
and ecx, 0x35ef
call 0x4051b9
add byte [ecx + 0x49], al
dec edx
inc ebx
cmp al, 0x3f
inc esi
dec ebp
xor eax, 0x5904c483
push ecx
push eax
add esp, 4
add ecx, 0xd633
or ecx, 0x142ce
pop ecx
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x500], ecx
jmp 0x4051ec
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edi
add edi, 0xbb37
pop edi
push ecx
sub ecx, 0x6761
pop ecx
push ebx
push eax
add esp, 4
or ebx, 0x28b5
call 0x405214
add byte [ecx + 0x4d], al
inc edi
xor esi, dword [ebx]
inc esi
xor eax, dword [ebx - 0x347efb3c]
pushal
lahf
add byte [eax], al
pop ebx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x405266
push ebx
sub ebx, 0x5403
xor ebx, 0xc3e8
xor ebx, 0x73d4
jmp 0x405248
pop ebx
push edx
push edx
add esp, 4
sub edx, 0x144ee
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0x117fd
pop ecx
jmp 0x405494
mov dword [ebp - 0xc84], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xad0], ecx
push ebx
push edi
add esp, 4
or ebx, 0x11635
and ebx, 0xd352
add ebx, 0xc550
sub ebx, 0xfa93
pop ebx
push eax
push ecx
add esp, 4
or eax, 0x1604b
pop eax
push ecx
jmp 0x4052ad
pop ecx
mov edx, dword [ebp - 0x15cc]
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xc88], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15cc]
jne 0x405315
push eax
push edi
add esp, 4
and eax, 0x12910
jmp 0x4052e3
pop eax
push edx
push ecx
add esp, 4
or edx, 0x2dc3
jmp 0x4052f7
add edx, 0x156b0
xor edx, 0x119df
pop edx
mov ecx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], ecx
jmp 0x405446
cmp dword [ebp - 0xc84], 0
jle 0x40543a
push ecx
jmp 0x40532b
pop ecx
push edi
jmp 0x405336
jmp 0x40533e
pop edi
push eax
push edi
add esp, 4
jmp 0x40534d
xor eax, 0x876c
pop eax
mov edx, dword [ebp - 0xad0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xacc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x4053d6
invalid
push edi
add edi, 0x13b0
pop edi
push edx
push edi
add esp, 4
add edx, 0x16232
call 0x40538a
add byte [esi], dh
inc ecx
inc edx
dec esp
dec esi
cmp al, 0x83
les eax, [ecx + eax*4]
loop 0x405361
nop
add byte [eax], al
jmp 0x40539b
pop edx
mov eax, dword [ebp - 0xad0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xacc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x4053be
mov dword [ebp - 0x15d0], 1
jmp 0x4053c8
mov dword [ebp - 0x15d0], 0xffffffff
mov ecx, dword [ebp - 0x15d0]
mov dword [ebp - 0xc88], ecx
jmp 0x40543a
push esi
or esi, 0x9142
call 0x4053ec
add byte [eax], bh
cmp byte [edx + edi], bh
cmp dword [edx + 0x38], ecx
dec esp
dec esp
add esp, 4
sub esi, 0x47bb
pop esi
push esi
push esi
add esp, 4
sub esi, 0x11081
xor esi, 0x100a5
pop esi
mov edx, dword [ebp - 0xc84]
sub edx, 1
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0xad0]
add eax, 1
mov dword [ebp - 0xad0], eax
mov ecx, dword [ebp - 0xacc]
add ecx, 1
mov dword [ebp - 0xacc], ecx
jmp 0x405315
mov edx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x40548f
push ebx
xor ebx, 0x6cf9
call 0x405465
add byte [ecx + 0x44], cl
cmp edx, dword [eax + 0x4d]
xor al, 0x4a
cmp ecx, dword [edx - 0x7d]
les eax, [ebx + ebx*2]
push ecx
push esi
add esp, 4
xor ecx, 0x91ba
jmp 0x40547a
xor ecx, 0x182b2
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x3e4], eax
jmp 0x4054d0
jmp 0x4051dd
push eax
push eax
add esp, 4
call 0x4054a5
add byte [ecx], bh
dec ebx
dec edx
dec edx
inc ebp
aaa
add esp, 4
call 0x4054b4
add byte [edx + esi], dh
cmp bh, byte [edx]
inc ecx
inc edi
add esp, 4
xor eax, 0x1533b
pop eax
push ebx
and ebx, 0xd716
pop ebx
mov dword [ebp - 0x3e4], 0
push edi
jmp 0x4054d9
pop edi
push eax
add eax, 0x135e9
and eax, 0x580d
xor eax, 0x2021
add eax, 0x12971
pop eax
push edi
xor edi, 0x52ef
and edi, 0x8fd7
pop edi
push eax
push ecx
add esp, 4
sub eax, 0x80c3
jmp 0x405514
or eax, 0x3b81
pop eax
push edx
push ebx
add esp, 4
or edx, 0x189c
jmp 0x40552d
add edx, 0x3acd
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe8]
mov dword [ebp - 0x15d8], eax
push eax
or eax, 0x15432
sub eax, 0x775a
call 0x405566
add byte [esi], bh
inc ecx
xor eax, 0x3c434b42
dec edi
inc esi
add esp, 4
jmp 0x405572
pop eax
push ecx
or ecx, 0x15eb5
pop ecx
mov dword [ebp - 0x20d8], 0xffffffff
push esi
or esi, 0x5a04
or esi, 0x12183
add esi, 0xc28f
xor esi, 0xaf4c
pop esi
push ecx
push edi
add esp, 4
sub ecx, 0x582a
and ecx, 0x1c36
add ecx, 0x4ec
pop ecx
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x504], ecx
jmp 0x4055d4
mov edx, dword [ebp - 0x504]
add edx, 1
mov dword [ebp - 0x504], edx
push ebx
and ebx, 0x11e95
xor ebx, 0x18288
jmp 0x4055e7
pop ebx
push edi
push ebx
add esp, 4
xor edi, 0x863a
and edi, 0x3ad5
add edi, 0x7a70
sub edi, 0xee33
pop edi
mov eax, dword [ebp - 0x504]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x40564e
push edx
sub edx, 0x15d61
call 0x40562c
add byte [esi], bh
xor al, 0x35
inc ebp
aaa
inc ebx
inc ecx
inc ebp
add esp, 4
or edx, 0x7be8
call 0x405645
add byte [eax + 0x3e], dl
dec edi
aaa
dec esp
cmp al, 0x35
aaa
xor al, 0x34
add esp, 4
pop edx
jmp 0x40587c
mov dword [ebp - 0xc8c], 7
mov ecx, dword [ebp - 0x504]
invalid
invalid