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

Disassembly:
and esi, 0xc148
pop esi
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x405c6d
push ecx
sub ecx, 0xe717
or ecx, 0x14b57
pop ecx
push eax
push eax
add esp, 4
sub eax, 0xdf02
and eax, 0x13489
and eax, 0x1bfe
pop eax
push ebx
push edx
add esp, 4
sub ebx, 0x9e70
pop ebx
cmp dword [ebp - 0x6ec], 0
jne 0x405ce9
push edx
push eax
add esp, 4
add edx, 0xf9e1
add edx, 0x4ef4
call 0x405cc8
add byte [eax + 0x4c], al
cmp byte ds:[esi], dh
dec ebx
cmp dword [ebx + 0x41], eax
add esp, 4
sub edx, 0x9265
add byte [edx + 0x51], bl
or ecx, 0x4bc4
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x406810
push edi
push edx
add esp, 4
sub edi, 0x17162
add edi, 0xb8e
pop edi
push ebx
push edx
add esp, 4
xor ebx, 0x8152
xor ebx, 0x13640
add ebx, 0xc41d
pop ebx
push edx
or edx, 0xa03d
pop edx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x405d5a
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40604b
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x405d82
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x40604b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x405db4
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x40604b
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x405dd9
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x40604b
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x405e33
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x40603f
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x405ea3
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x405f55
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x405f55
push edi
push edx
add esp, 4
and edi, 0x9afe
and edi, 0x5dec
and edi, 0x14a6e
pop edi
push ebx
add ebx, 0x6469
or ebx, 0x6948
xor ebx, 0x4bb
xor ebx, 0xf7df
pop ebx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x405f47
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x405f4e
jmp 0x405e94
jmp 0x405f55
push edx
or edx, 0x27bc
sub edx, 0x95ec
add edx, 0x16e51
pop edx
push ebx
push ecx
add esp, 4
xor ebx, 0xeb1e
push ds
jmp 0x405f73
add byte [ecx + 0x13c6ec3], al
add byte [ecx + 0x4c77c3], al
add byte [ecx + 0x6f7cb], al
add byte [ebx - 0x75], bl
xchg ebp, eax
or cl, bh
invalid
inc dword [ebx]
xchg ebp, eax
cmp dh, 0xff
dec dword [edi]
mov esi, 0x808d8b02
invalid
invalid
dec dword [edi]
mov esi, 0xf7e00d94
invalid
invalid
cmp eax, edx
jne 0x405fb4
mov dword [ebp - 0xc30], 0
jmp 0x406023
push edi
call 0x405fc4
add byte [0x454d4738], dh
inc edx
xor cl, byte [edx + ecx*2 - 0x7d]
les eax, [ecx + eax*4]
out 0xec, eax
push ss
add dword [eax], eax
xor edi, 0xb4ef
and edi, 0x1770d
pop edi
push esi
push edx
add esp, 4
or esi, 0xf128
into
sub cl, dh
add byte [eax], al
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x406019
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x406023
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x40603a
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x40604b
jmp 0x405e24
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x406126
push esi
xor esi, 0x17a5b
add esi, 0xf6dc
and esi, 0x1181
or esi, 0x1243d
pop esi
push ecx
push ebx
add esp, 4
and ecx, 0xdcc5
or ecx, 0xdb2
jmp 0x406089
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ebx
sub ebx, 0x1432
add ebx, 0x2615
and ebx, 0x62d0
and ebx, 0x392
pop ebx
push eax
push ebx
add esp, 4
sub eax, 0x150a5
jmp 0x4060c1
sub eax, 0x35e4
pop eax
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x406126
push eax
add eax, 0x147d6
and eax, 0x10fab
pop eax
push edx
push ecx
add esp, 4
add edx, 0xfa3f
xor edx, 0x3237
pop edx
push esi
jmp 0x40610f
jmp 0x406116
pop esi
mov dword [ebp - 0x738], 0
jmp 0x406810
push edi
or edi, 0x8db6
add edi, 0x61ec
jmp 0x40613a
pop edi
push edi
push esi
add esp, 4
sub edi, 0xda90
pop edi
push esi
push ebx
add esp, 4
jmp 0x406151
sub esi, 0x792c
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push eax
xor eax, 0x1ff5
and eax, 0x175c8
pop eax
push esi
jmp 0x406195
xor esi, 0x1234b
or esi, 0x10f9
pop esi
push eax
xor eax, 0x2085
jmp 0x4061b0
pop eax
cmp dword [ebp - 0x14f4], 0
jne 0x4061c9
mov dword [ebp - 0x2e0], 0
jmp 0x406470
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push eax
push edi
add esp, 4
add eax, 0x3aa2
jmp 0x4061ee
pop eax
push ebx
push eax
add esp, 4
call 0x406203
add byte [ebp + 0x3f], cl
dec ecx
dec ebx
dec esi
dec ebp
inc edi
xor eax, 0x4c48336
or ebx, 0x12108
pop ebx
cmp dword [ebp - 0xc3c], 0
jne 0x406225
mov dword [ebp - 0x2e0], 0
jmp 0x406470
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edx
sub edx, 0x302a
and edx, 0x9dc9
pop edx
push edi
push ebx
add esp, 4
or edi, 0x110a9
add edi, 0xbc36
pop edi
push eax
jmp 0x40625a
jmp 0x406262
pop eax
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push edx
add esp, 4
or esi, 0x16b49
pop esi
push ebx
add ebx, 0x13cd
pop ebx
push eax
push edi
add esp, 4
and eax, 0x166a1
pop eax
push esi
push edx
add esp, 4
add esi, 0x10940
or esi, 0xe66b
pop esi
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push esi
sub esi, 0xfee
and esi, 0x11a4d
add esi, 0x455c
pop esi
push eax
push edx
add esp, 4
add eax, 0x97e8
add eax, 0x168ed
xor eax, 0x1398
and eax, 0x1549b
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406365
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x4063bf
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40628d
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40628d
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4063a9
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x4063b3
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x406408
push ebx
add ebx, 0x17737
and ebx, 0x16afa
or ebx, 0xe4a6
pop ebx
push edx
or edx, 0x17204
sub edx, 0x13c85
call 0x4063f6
add byte [edx], dh
xor cl, byte [edi + 0x43]
dec edx
inc esp
inc ecx
add esp, 4
pop edx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x406470
push eax
and eax, 0xaac
add eax, 0xf0ff
pop eax
push eax
or eax, 0x11c5b
call 0x40642a
add byte [edx + 0x3d], cl
inc edx
xor al, 0x4e
inc eax
cmp dword [ebx - 0x177efb3c], eax
iretd
push ebx
or ebx, 0x12d87
and ebx, 0xad22
xor ebx, 0x135db
pop ebx
push edx
push eax
add esp, 4
xor edx, 0xd6a
sub edx, 0x535b
sub edx, 0xf16e
xor edx, 0x9c75
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edi
or edi, 0xc018
xor edi, 0x113c6
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x152c8
add ebx, 0x4acb
call 0x4064df
add byte [eax + 0x3a], al
cmp dword [0x453e3b4d], esi
cmp eax, 0x5b04c483
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x406513
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406804
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x40653b
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406804
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x40656d
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x406804
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x406592
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x406804
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x4065ec
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x4067f8
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x40665c
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x40670e
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x40670e
push edx
push edx
add esp, 4
add edx, 0x12754
pop edx
push ecx
push edx
add esp, 4
jmp 0x4066a3
pop ecx
push ecx
add ecx, 0x8ffb
jmp 0x4066b4
jmp 0x4066ba
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x406700
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x406707
jmp 0x40664d
jmp 0x40670e
push ecx
push edx
add esp, 4
or ecx, 0xdcd3
jmp 0x406721
pop ecx
push edx
sub edx, 0x10ccd
sub edx, 0xd9b0
call 0x40673c
add byte [ebx], bh
dec ebp
inc ecx
xor edi, dword [eax]
dec edx
push eax
add esp, 4
pop edx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x40676d
mov dword [ebp - 0xc40], 0
jmp 0x4067dc
push esi
or esi, 0xab9b
pop esi
push edi
push edx
add esp, 4
xor edi, 0x13bf0
call 0x40678f
add byte [eax + 0x3d], dl
dec ebp
dec ebx
dec eax
xor edi, dword [eax]
cmp eax, 0x4c4834f
sub edi, 0x1563a
and edi, 0x48b5
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x4067d2
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x4067dc
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x4067f3
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x406804
jmp 0x4065dd
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ecx
or ecx, 0x102d3
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0xbbd6
or ecx, 0x68f7
and ecx, 0x16f3c
pop ecx
push esi
push eax
add esp, 4
add esi, 0x185d2
add esi, 0x124e8
pop esi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edi
push ecx
add esp, 4
and edi, 0xab3a
pop edi
push esi
push eax
add esp, 4
sub esi, 0x37e4
sub esi, 0x1bf8
pop esi
push edi
or edi, 0x6acb
add edi, 0x530
add edi, 0x1847a
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x406895
cmp dword [ebp - 0xa5c], 0
jne 0x4068db
push edx
push esi
add esp, 4
or edx, 0x12bb
add edx, 0xc213
and edx, 0xf71e
pop edx
push edx
push ecx
add esp, 4
xor edx, 0x174e4
pop edx
push edx
or edx, 0x7ec1
or edx, 0x11f18
pop edx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ebx
push esi
add esp, 4
xor ebx, 0x14cd5
pop ebx
push edx
push edi
add esp, 4
add edx, 0x68ad
pop edx
push eax
call 0x40690d
add byte [0x413d3d49], bh
inc esi
cmp eax, 0xc4833849
add al, 0x81
enter 0x7bb, 0
add byte [eax - 0x75], bl
test dword [esp + edi*8], esi
invalid