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

Disassembly:
push 0xffffffffffffffff
push 0x42413e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x30]
fild dword [ebp + 0x20]
fmul dword [ebp + 0x1c]
fmul dword [0x42524c]
fstp dword [esp + 0x20]
fild dword [ebp + 0x24]
fmul dword [ebp + 0x1c]
fmul dword [0x42524c]
fstp dword [esp + 0x24]
call fcn.00408480
mov eax, dword [ebp + 0x24]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x1c], ebx
jle 0x4150e6
mov edi, dword [ebp + 0x20]
xor esi, esi
test edi, edi
mov dword [esp + 0x14], esi
jle 0x4150d6
fld dword [ebp + 0x1c]
imul edi, ebx
fmul dword [0x42524c]
fild dword [esp + 0x14]
fmul dword [ebp + 0x1c]
fadd st(1)
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 8]
fsub dword [esp + 0x20]
sub eax, ebx
add edi, esi
mov dword [esp + 0x14], eax
mov al, byte [ecx + edi]
fstp dword [esp + 0x10]
fild dword [esp + 0x14]
cmp al, 0x2e
fmul dword [ebp + 0x1c]
fsub st(1)
fsub dword [esp + 0x24]
fstp dword [esp + 0x14]
fstp st(0)
je 0x4150c6
cmp al, 0x40
jne 0x414d0e
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
push edx
push 0
call fcn.00408650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
push eax
push 2
call fcn.00408650
mov ecx, dword [esp + 0x74]
push ebx
push esi
call fcn.0040fee0
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
mov byte [ecx + edi], 0x2d
mov ecx, dword [ebp + 8]
push eax
lea eax, [esp + 0x38]
mov dl, byte [ecx + edi]
mov ecx, ebp
push edx
push eax
call fcn.004153c0
jmp 0x4150c6
cmp al, 0x24
jne 0x414d69
mov ecx, dword [esp + 0x80]
call fcn.0040d200
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
push ecx
push 0
mov ecx, eax
call fcn.00408650
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push edx
push 2
call fcn.00408650
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
mov byte [eax + edi], 0x2d
mov eax, dword [ebp + 8]
push edx
lea edx, [esp + 0x38]
mov cl, byte [eax + edi]
push ecx
push edx
mov ecx, ebp
call fcn.004153c0
jmp 0x4150c6
cmp al, 0x41
jb 0x414e48
cmp al, 0x5a
ja 0x414e48
mov ecx, dword [esp + 0x7c]
push eax
call fcn.00415e20
test eax, eax
mov dword [esp + 0x28], eax
je 0x414da9
mov ecx, dword [esp + 0x10]
push ecx
push 0
mov ecx, eax
call fcn.00408650
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
push edx
push 2
call fcn.00408650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
lea edx, [esp + 0x38]
push 0x2d
push edx
mov ecx, ebp
call fcn.004153c0
mov ecx, dword [ebp + 8]
cmp byte [ecx + edi], 0x56
jne 0x4150c6
lea eax, [ebx - 1]
mov edx, eax
imul edx, dword [ebp + 0x20]
add edx, ecx
mov ecx, eax
mov byte [edx + esi - 1], 0x5a
imul ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 8]
add ecx, edx
mov edx, ebx
mov byte [ecx + esi], 0x5a
imul eax, dword [ebp + 0x20]
add eax, dword [ebp + 8]
mov byte [eax + esi + 1], 0x5a
imul edx, dword [ebp + 0x20]
mov eax, dword [ebp + 8]
add edx, eax
mov eax, ebx
mov byte [edx + esi - 1], 0x5a
imul eax, dword [ebp + 0x20]
add eax, dword [ebp + 8]
mov byte [eax + esi + 1], 0x5a
lea eax, [ebx + 1]
mov ecx, eax
mov edx, dword [ebp + 8]
imul ecx, dword [ebp + 0x20]
add ecx, edx
mov edx, eax
mov byte [ecx + esi - 1], 0x5a
imul edx, dword [ebp + 0x20]
add edx, dword [ebp + 8]
mov byte [edx + esi], 0x5a
imul eax, dword [ebp + 0x20]
add eax, dword [ebp + 8]
mov byte [eax + esi + 1], 0x5a
jmp 0x4150c6
cmp al, 0x61
jb 0x414eca
cmp al, 0x7a
ja 0x414eca
mov ecx, dword [esp + 0x78]
push eax
call fcn.0040f7d0
mov ebx, eax
mov eax, dword [esp + 0x10]
push eax
push 0
mov ecx, ebx
call fcn.00408650
mov ecx, dword [esp + 0x14]
push ecx
push 2
mov ecx, ebx
call fcn.00408650
mov edx, dword [esp + 0x1c]
mov ecx, ebx
push edx
push esi
call fcn.0040fee0
mov eax, dword [ebp + 8]
mov al, byte [eax + edi]
cmp al, 0x64
jne 0x414e97
mov ecx, dword [ebp + 0x10]
mov byte [ecx + edi], al
jmp 0x414e9d
mov edx, dword [ebp + 0xc]
mov byte [edx + edi], al
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
mov byte [eax + edi], 0x2d
mov eax, dword [ebp + 8]
push edx
lea edx, [esp + 0x38]
mov cl, byte [eax + edi]
push ecx
push edx
mov ecx, ebp
call fcn.004153c0
mov ebx, dword [esp + 0x1c]
jmp 0x4150c6
cmp al, 0x2d
je 0x415079
cmp al, 0x2b
je 0x415079
cmp al, 0x21
je 0x415079
cmp al, 0x5b
je 0x415079
cmp al, 0x5d
je 0x415079
cmp al, 0x3e
je 0x415079
cmp al, 0x3c
je 0x415079
cmp al, 0x23
je 0x415079
cmp al, 0x3d
je 0x415079
cmp al, 0x2a
je 0x415079
cmp al, 0x31
jb 0x4150c6
cmp al, 0x33
ja 0x4150c6
cmp al, 0x31
mov dword [esp + 0x18], 0
jne 0x414f5c
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebx
push esi
lea edx, [esp + 0x40]
push 1
push edx
mov ecx, ebp
call fcn.00415570
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x18], eax
jmp 0x414fee
cmp al, 0x32
jne 0x414f97
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push edi
push ecx
push ebx
push esi
lea edx, [esp + 0x40]
push 1
push edx
mov ecx, ebp
call fcn.00415570
mov eax, dword [esp + 0x10]
push edi
push eax
push ebx
push esi
lea ecx, [esp + 0x40]
push 2
push ecx
mov ecx, ebp
call fcn.00415570
fld dword [ebp + 0x1c]
fadd st(0), st(0)
jmp 0x414fea
cmp al, 0x33
jne 0x414fee
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push edi
push edx
push ebx
push esi
lea eax, [esp + 0x40]
push 1
push eax
mov ecx, ebp
call fcn.00415570
mov ecx, dword [esp + 0x10]
push edi
push ecx
push ebx
push esi
lea edx, [esp + 0x40]
push 2
push edx
mov ecx, ebp
call fcn.00415570
mov eax, dword [esp + 0x10]
push edi
push eax
push ebx
push esi
lea ecx, [esp + 0x40]
push 3
push ecx
mov ecx, ebp
call fcn.00415570
fld dword [ebp + 0x1c]
fmul dword [0x42595c]
fstp dword [esp + 0x18]
push 0x88
call fcn.0041bb17
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
mov byte [esp + 0x6c], 1
je 0x415022
mov edx, dword [ebp + 0x1c]
mov ecx, edx
mov dword [esp + 0x2c], edx
push ecx
push ecx
mov ecx, dword [ebp + 4]
push ecx
mov ecx, eax
call fcn.00409bf0
mov edi, eax
jmp 0x415024
xor edi, edi
mov ax, word [ebp + 0x28]
mov edx, dword [edi]
push 0x3e800000
push 0x3f000000
push 0
push 0x3e800000
push eax
mov ecx, edi
mov byte [esp + 0x80], 0
call dword [edx + 0x20]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
mov edx, dword [edi]
lea eax, [esp + 0x38]
mov dword [esp + 0x38], ecx
push eax
mov ecx, edi
call dword [edx + 4]
push edi
lea ecx, [esp + 0x34]
call fcn.00408530
jmp 0x4150c6
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push eax
lea eax, [esp + 0x3c]
push eax
mov ecx, ebp
call fcn.004153c0
mov ecx, dword [ebp + 8]
cmp byte [ecx + edi], 0x21
jne 0x4150c6
mov ecx, dword [esp + 0x7c]
push 0x21
call fcn.00415e20
mov edi, eax
test edi, edi
je 0x4150c6
mov edx, dword [esp + 0x10]
mov ecx, edi
push edx
push 0
call fcn.00408650
mov eax, dword [esp + 0x14]
mov ecx, edi
push eax
push 2
call fcn.00408650
mov edi, dword [ebp + 0x20]
inc esi
cmp esi, edi
mov dword [esp + 0x14], esi
jl 0x414c6d
mov eax, dword [ebp + 0x24]
inc ebx
cmp ebx, eax
mov dword [esp + 0x1c], ebx
jl 0x414c5c
xor esi, esi
lea ecx, [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0x74], esi
call fcn.00408580
test eax, eax
jbe 0x41512f
push esi
lea ecx, [esp + 0x34]
call fcn.00408590
mov edi, eax
mov ecx, edi
call fcn.00408f40
mov ecx, edi
add ebx, eax
call fcn.004021c0
mov edi, dword [esp + 0x74]
lea ecx, [esp + 0x30]
add edi, eax
inc esi
mov dword [esp + 0x74], edi
call fcn.00408580
cmp esi, eax
jb 0x4150fb
push 0x88
call fcn.0041bb17
add esp, 4
mov dword [esp + 0x7c], eax
xor edi, edi
mov byte [esp + 0x6c], 2
cmp eax, edi
je 0x41515e
mov ecx, dword [esp + 0x74]
mov edx, dword [ebp + 4]
push ecx
push ebx
push edx
mov ecx, eax
call fcn.00408d90
jmp 0x415160
xor eax, eax
mov cx, word [ebp + 0x28]
push 0x3f800000
push 0x3f800000
push edi
mov dword [ebp + 0x14], eax
mov edx, dword [eax]
push edi
push ecx
mov ecx, eax
mov byte [esp + 0x80], 0
call dword [edx + 0x20]
lea ecx, [esp + 0x30]
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], 0
call fcn.00408580
test eax, eax
jbe 0x41526f
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x30]
push edx
call fcn.00408590
mov ebx, eax
xor esi, esi
mov ecx, ebx
call fcn.004021c0
test eax, eax
jbe 0x4151f0
push esi
mov ecx, ebx
call fcn.00408f90
mov ecx, dword [esp + 0x74]
add eax, ecx
mov ecx, dword [ebp + 0x14]
push eax
push edi
call fcn.00408fa0
inc edi
mov ecx, ebx
inc esi
call fcn.004021c0
cmp esi, eax
jb 0x4151c7
mov dword [esp + 0x78], edi
mov ecx, ebx
mov dword [esp + 0x7c], 0
call fcn.00408f40
test eax, eax
jbe 0x41524f
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, ebx
call fcn.00408f50
sub esp, 0x20
mov ecx, 8
mov esi, eax
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x94]
mov ecx, dword [ebp + 0x14]
push esi
call fcn.00408f70
inc esi
mov ecx, ebx
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x7c]
inc esi
mov dword [esp + 0x7c], esi
call fcn.00408f40
cmp esi, eax
jb 0x415203
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x80]
lea ecx, [esp + 0x30]
inc esi
mov dword [esp + 0x80], esi
call fcn.00408580
cmp esi, eax
jb 0x4151a7
lea ecx, [esp + 0x30]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00408500
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x60
ret 0x10