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

Disassembly:
lea eax, [ebp - 0x468]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x280], edx
xor eax, eax
mov word [ebp - 0x58], ax
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x280]
mov ax, word [edx]
mov word [ebp - 0x33a], ax
mov ecx, dword [ebp - 0x280]
add ecx, 2
mov dword [ebp - 0x280], ecx
mov dx, word [ebp - 0x33a]
mov word [ebp - 0x58], dx
mov eax, dword [ebp - 0x284]
mov cx, word [eax]
mov word [ebp - 0x33c], cx
mov edx, dword [ebp - 0x284]
add edx, 2
mov dword [ebp - 0x284], edx
mov ax, word [ebp - 0x33c]
mov word [ebp - 0x28], ax
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x415543
movzx edx, word [ebp - 0x58]
movzx eax, word [ebp - 0x28]
sub edx, eax
mov dword [ebp - 0x440], edx
jmp 0x41557d
movzx ecx, word [ebp - 0x58]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x4154d5
movzx eax, word [ebp - 0x58]
movzx ecx, word [ebp - 0x28]
cmp eax, ecx
jge 0x415567
mov dword [ebp - 0x43c], 0xffffffff
jmp 0x415571
mov dword [ebp - 0x43c], 1
mov edx, dword [ebp - 0x43c]
mov dword [ebp - 0x440], edx
cmp dword [ebp - 0x440], 0
jne 0x415591
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x80], eax
jmp 0x4155c4
invalid
mov ecx, dword [ebp - 0x108]
mov edx, dword [ecx]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x288]
je 0x4155bd
mov ecx, dword [ebp - 0x108]
cmp dword [ecx + 0x30], 0
jne 0x4154ae
mov dword [ebp - 0x80], 0
cmp dword [ebp - 0x80], 0
jne 0x415b11
mov edx, 0x6b
mov word [ebp - 0x4e8], dx
mov eax, 0x65
mov word [ebp - 0x4e6], ax
mov ecx, 0x72
mov word [ebp - 0x4e4], cx
mov edx, 0x6e
mov word [ebp - 0x4e2], dx
mov eax, 0x65
mov word [ebp - 0x4e0], ax
mov ecx, 0x6c
mov word [ebp - 0x4de], cx
mov edx, 0x33
mov word [ebp - 0x4dc], dx
mov eax, 0x32
mov word [ebp - 0x4da], ax
mov ecx, 0x2e
mov word [ebp - 0x4d8], cx
mov edx, 0x64
mov word [ebp - 0x4d6], dx
mov eax, 0x6c
mov word [ebp - 0x4d4], ax
mov ecx, 0x6c
mov word [ebp - 0x4d2], cx
xor edx, edx
mov word [ebp - 0x4d0], dx
mov byte [ebp - 0x1d8], 0x4c
mov byte [ebp - 0x1d7], 0x6f
mov byte [ebp - 0x1d6], 0x61
mov byte [ebp - 0x1d5], 0x64
mov byte [ebp - 0x1d4], 0x4c
mov byte [ebp - 0x1d3], 0x69
mov byte [ebp - 0x1d2], 0x62
mov byte [ebp - 0x1d1], 0x72
mov byte [ebp - 0x1d0], 0x61
mov byte [ebp - 0x1cf], 0x72
mov byte [ebp - 0x1ce], 0x79
mov byte [ebp - 0x1cd], 0x57
mov byte [ebp - 0x1cc], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x638]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 0
jne 0x415701
mov dword [ebp - 0x17c], 0
jmp 0x415853
mov ecx, dword [ebp - 0x444]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 0
jne 0x41572b
mov dword [ebp - 0x17c], 0
jmp 0x415853
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0xfc], ecx
lea edx, [ebp - 0x4e8]
mov dword [ebp - 0x290], edx
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x28c], ecx
xor edx, edx
mov word [ebp - 0x5c], dx
xor eax, eax
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x28c]
mov dx, word [ecx]
mov word [ebp - 0x33e], dx
mov eax, dword [ebp - 0x28c]
add eax, 2
mov dword [ebp - 0x28c], eax
mov cx, word [ebp - 0x33e]
mov word [ebp - 0x5c], cx
mov edx, dword [ebp - 0x290]
mov ax, word [edx]
mov word [ebp - 0x340], ax
mov ecx, dword [ebp - 0x290]
add ecx, 2
mov dword [ebp - 0x290], ecx
mov dx, word [ebp - 0x340]
mov word [ebp - 0x2c], dx
movzx eax, word [ebp - 0x2c]
test eax, eax
jne 0x4157cc
movzx ecx, word [ebp - 0x5c]
movzx edx, word [ebp - 0x2c]
sub ecx, edx
mov dword [ebp - 0x44c], ecx
jmp 0x415806
movzx eax, word [ebp - 0x5c]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
je 0x41575e
movzx edx, word [ebp - 0x5c]
movzx eax, word [ebp - 0x2c]
cmp edx, eax
jge 0x4157f0
mov dword [ebp - 0x448], 0xffffffff
jmp 0x4157fa
mov dword [ebp - 0x448], 1
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x44c], ecx
cmp dword [ebp - 0x44c], 0
jne 0x41581d
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x17c], edx
jmp 0x415853
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xfc]
cmp edx, dword [ebp - 0x294]
je 0x415849
mov eax, dword [ebp - 0xfc]
cmp dword [eax + 0x30], 0
jne 0x415737
mov dword [ebp - 0x17c], 0
cmp dword [ebp - 0x17c], 0
jne 0x41586b
mov dword [ebp - 0x170], 0
jmp 0x415f05
mov ecx, dword [ebp - 0x17c]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x350], 0
jne 0x4158aa
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], ecx
jmp 0x415ad0
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0xb0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x354], eax
jne 0x4158d2
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], ecx
jmp 0x415ad0
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x354]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x358], edx
cmp dword [ebp - 0x358], 0
jne 0x415904
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], eax
jmp 0x415ad0
mov ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0x358]
mov dword [ebp - 0x180], ecx
jne 0x415929
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], edx
jmp 0x415ad0
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0xb0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0xb0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x16c], 0
jmp 0x415983
mov eax, dword [ebp - 0x16c]
add eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ecx + 0x18]
jae 0x415ac4
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x640]
mov edx, dword [ebp - 0xb0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x644]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x648]
mov ecx, dword [ebp - 0xb0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x64c], ecx
mov dword [ebp - 0x10], 0
jmp 0x4159ea
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x188]
add eax, dword [ebp - 0x10]
movsx ecx, byte [eax]
test ecx, ecx
je 0x415a4a
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x1d8]
test eax, eax
je 0x415a4a
mov ecx, dword [ebp - 0x188]
add ecx, dword [ebp - 0x10]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x10]
movsx ecx, byte [ebp + eax - 0x1d8]
cmp edx, ecx
je 0x415a42
mov edx, dword [ebp - 0x188]
add edx, dword [ebp - 0x10]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x10]
movsx edx, byte [ebp + ecx - 0x1d8]
cmp eax, edx
jne 0x415a46
jmp 0x4159e1
jmp 0x415a4a
mov eax, dword [ebp - 0x188]
add eax, dword [ebp - 0x10]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x1d8]
cmp ecx, eax
jne 0x415a71
mov dword [ebp - 0x298], 0
jmp 0x415aa8
mov ecx, dword [ebp - 0x188]
add ecx, dword [ebp - 0x10]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x10]
movsx ecx, byte [ebp + eax - 0x1d8]
or ecx, 0x20
cmp edx, ecx
jge 0x415a9e
mov dword [ebp - 0x298], 0xffffffff
jmp 0x415aa8
mov dword [ebp - 0x298], 1
cmp dword [ebp - 0x298], 0
jne 0x415abf
mov edx, dword [ebp - 0x64c]
mov dword [ebp - 0xc4], edx
jmp 0x415ad0
jmp 0x415974
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x415b11
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x650]
mov dword [ebp - 0x654], edx
lea eax, [ebp - 0x468]
push eax
call dword [ebp - 0x654]
test eax, eax
jne 0x415b11
mov dword [ebp - 0x170], 0
jmp 0x415f05
invalid
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5e4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x35c], ecx
cmp dword [ebp - 0x35c], 0
jne 0x415b4e
mov dword [ebp - 0x80], 0
jmp 0x415c97
mov edx, dword [ebp - 0x35c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x2a4], ecx
cmp dword [ebp - 0x2a4], 0
jne 0x415b75
mov dword [ebp - 0x80], 0
jmp 0x415c97
mov edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x10c], edx
lea eax, [ebp - 0x468]
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x29c], edx
xor eax, eax
mov word [ebp - 0x54], ax
xor ecx, ecx
mov word [ebp - 0x30], cx
mov edx, dword [ebp - 0x29c]
mov ax, word [edx]
mov word [ebp - 0x342], ax
mov ecx, dword [ebp - 0x29c]
add ecx, 2
mov dword [ebp - 0x29c], ecx
mov dx, word [ebp - 0x342]
mov word [ebp - 0x54], dx
mov eax, dword [ebp - 0x2a0]
mov cx, word [eax]
mov word [ebp - 0x344], cx
mov edx, dword [ebp - 0x2a0]
add edx, 2
mov dword [ebp - 0x2a0], edx
mov ax, word [ebp - 0x344]
mov word [ebp - 0x30], ax
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x415c16
movzx edx, word [ebp - 0x54]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x364], edx
jmp 0x415c50
movzx ecx, word [ebp - 0x54]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
je 0x415ba8
movzx eax, word [ebp - 0x54]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
jge 0x415c3a
mov dword [ebp - 0x360], 0xffffffff
jmp 0x415c44
mov dword [ebp - 0x360], 1
mov edx, dword [ebp - 0x360]
mov dword [ebp - 0x364], edx
cmp dword [ebp - 0x364], 0
jne 0x415c64
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x80], eax
jmp 0x415c97
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx]
invalid
xchg ebp, eax
hlt
invalid