Function at 0x6080cc
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff20
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], ecx
mov esi, eax
mov ebx, dword [ebp + 0x18]
mov edi, dword [ebp + 0x20]
cmp di, 0x32
jne 0x6082b9
test bl, bl
jne 0x6082b9
cmp dword [ebp + 0x10], 0x64
jne 0x6082b9
movzx eax, byte [ebp + 0x24]
cmp eax, 4
ja case.default.0x60841d
jmp dword [eax*4 + 0x60811f]
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp + 0x14]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp + 0x14]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
cmp dword [ebp + 8], 0
jne 0x608186
mov dl, 1
mov eax, dword [0x4e6d30]
call fcn.004efc38
mov dword [ebp - 0x20], eax
jmp 0x60818c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp + 0x14]
push eax
movzx eax, word [ebp + 0x1c]
push eax
movzx eax, byte [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609d3c
cmp dword [ebp + 8], 0
jne case.default.0x60841d
mov eax, dword [ebp - 0x20]
call fcn.004069e4
jmp case.default.0x60841d
push esi
lea esi, [ebp - 0xa4]
lea edi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
push 0xbff00000
push 0
lea eax, [ebp - 0xc4]
call fcn.006097e4
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 4]
call fcn.004e9b64
lea edx, [ebp - 0xa4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xc4]
call fcn.00609750
push esi
lea esi, [ebp - 0xd4]
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp + 0x14]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
push esi
lea esi, [ebp - 0xa4]
lea edi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop esi
push 0xbff00000
push 0
lea eax, [ebp - 0xc4]
call fcn.006097e4
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 4]
call fcn.004e9b64
lea edx, [ebp - 0xa4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp + 0x14]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
push 0x64
movzx eax, di
push eax
movzx eax, byte [ebp + 0x14]
push eax
call sub.kernel32.dll_MulDiv
mov byte [ebp - 9], al
movzx eax, byte [ebp + 0x14]
sub al, byte [ebp - 9]
mov byte [ebp - 0xa], al
cmp bl, 1
je 0x6083ac
mov eax, dword [ebp - 4]
call fcn.004e8934
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x28]
call fcn.004e8934
mov edx, dword [ebp - 8]
mov byte [ebp - 0xd], dl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0xc], cl
shr edx, 0x10
mov byte [ebp - 0xb], dl
mov edx, eax
mov byte [ebp - 0x16], dl
mov ecx, edx
shr ecx, 8
mov byte [ebp - 0x15], cl
shr edx, 0x10
mov byte [ebp - 0x14], dl
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
movzx eax, byte [ebp - 0x16]
movzx edx, byte [ebp - 0xd]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x1c], ax
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
movzx eax, byte [ebp - 0x15]
movzx edx, byte [ebp - 0xc]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x1a], ax
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
movzx eax, byte [ebp - 0x14]
movzx edx, byte [ebp - 0xb]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x18], ax
movzx eax, byte [ebp - 0xd]
add al, byte [ebp - 0x1c]
mov byte [ebp - 0x10], al
movzx eax, byte [ebp - 0xc]
add al, byte [ebp - 0x1a]
mov byte [ebp - 0xf], al
movzx eax, byte [ebp - 0xb]
add al, byte [ebp - 0x18]
mov byte [ebp - 0xe], al
movzx eax, byte [ebp - 0x16]
sub al, byte [ebp - 0x1c]
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x15]
sub al, byte [ebp - 0x1a]
mov byte [ebp - 0x12], al
movzx eax, byte [ebp - 0x14]
sub al, byte [ebp - 0x18]
mov byte [ebp - 0x11], al
movzx eax, byte [ebp + 0x24]
cmp eax, 4
ja case.default.0x60841d
jmp dword [eax*4 + 0x6083c0]
push 0x64
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
push eax
movzx eax, di
push eax
call sub.kernel32.dll_MulDiv
add eax, dword [ebp - 0xa0]
push eax
lea eax, [ebp - 0xb4]
push eax
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
call fcn.0048fc38
movzx eax, bl
cmp eax, 5
ja case.default.0x60841d
jmp dword [eax*4 + 0x608424]
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x2d], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x2e], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x2d]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x2e]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x2f], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x30], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x2f]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x30]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x31], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x32], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x31]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x32]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x33], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x34], al
movzx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x33]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x34]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x35], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x36], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x35]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x36]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x37], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x38], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x37]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x38]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x39], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x3a], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x39]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x3a]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x3b], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x3c], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x3b]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x3c]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609be8
jmp case.default.0x60841d
mov eax, dword [ebp - 0x98]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0x64
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
push eax
movzx eax, di
push eax
call sub.kernel32.dll_MulDiv
mov ecx, eax
add ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa4]
call fcn.0048fc38
movzx eax, bl
cmp eax, 5
ja case.default.0x60841d
jmp dword [eax*4 + 0x608770]
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x3d], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x3e], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x3d]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x3e]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x3f], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x40], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x3f]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x40]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x41], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x42], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x41]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x42]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x43], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x44], al
movzx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x43]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x44]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x45], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x46], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x45]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x46]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x47], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x48], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x47]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x48]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x4a], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x49]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x4a]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x4b], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x4c], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x4b]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x4c]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609a94
jmp case.default.0x60841d
mov eax, dword [ebp - 0x9c]
sub eax, dword [ebp - 0xa4]
imul eax
mov ecx, eax
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0xa0]
imul eax
add ecx, eax
mov dword [ebp - 0xd8], ecx
fild dword [ebp - 0xd8]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00405658
call fcn.00405668
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0x64
mov eax, dword [ebp - 0x24]
push eax
movzx eax, di
push eax
call sub.kernel32.dll_MulDiv
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0048fc38
cmp dword [ebp + 8], 0
jne 0x608ae6
mov dl, 1
mov eax, dword [0x4e6d30]
call fcn.004efc38
mov dword [ebp - 0x20], eax
jmp 0x608aec
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
xor edx, edx
push ebp
push 0x608f49
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x30]
cmp eax, dword [ebp - 0x24]
je 0x608b12
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp eax, dword [ebp - 0x24]
je 0x608b2a
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x38]
movzx eax, bl
cmp eax, 5
ja case.default.0x608b36
jmp dword [eax*4 + 0x608b3d]
mov eax, dword [ebp - 0x20]
call fcn.004f056c
movzx edx, byte [ebp - 0xf]
mov byte [ebp - 0x4d], dl
movzx edx, byte [ebp - 0xe]
mov byte [ebp - 0x4e], dl
movzx edx, byte [ebp - 0x10]
movzx ecx, byte [ebp - 0x4d]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp - 0x4e]
shl ecx, 0x10
or edx, ecx
push edx
movzx edx, byte [ebp - 9]
push edx
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
movzx edx, byte [ebp - 0x12]
mov byte [ebp - 0x4f], dl
movzx edx, byte [ebp - 0x11]
mov byte [ebp - 0x50], dl
mov edx, dword [ebp + 0x28]
push edx
movzx edx, byte [ebp - 0xa]
push edx
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x4f]
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
call fcn.00609a94
jmp case.default.0x608b36
mov eax, dword [ebp - 0x20]
call fcn.004f056c
movzx edx, byte [ebp - 0xf]
mov byte [ebp - 0x51], dl
movzx edx, byte [ebp - 0xe]
mov byte [ebp - 0x52], dl
movzx edx, byte [ebp - 0x10]
movzx ecx, byte [ebp - 0x51]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp - 0x52]
shl ecx, 0x10
or edx, ecx
push edx
movzx edx, byte [ebp - 9]
push edx
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
movzx edx, byte [ebp - 0x12]
mov byte [ebp - 0x53], dl
movzx edx, byte [ebp - 0x11]
mov byte [ebp - 0x54], dl
movzx edx, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0x53]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebp - 0x54]
shl ecx, 0x10
or edx, ecx
push edx
movzx edx, byte [ebp - 0xa]
push edx
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
call fcn.00609a94
jmp case.default.0x608b36
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov dword [ebp - 0x5c], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x55], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x56], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x55]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x56]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x5c]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
call fcn.00609a94
jmp case.default.0x608b36
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov dword [ebp - 0x64], eax
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x5d], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x5e], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x5d]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x5e]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x64]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov dword [ebp - 0x6c], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x65], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x66], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x65]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x66]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x6c]
call fcn.00609a94
jmp case.default.0x608b36
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xb4]
call fcn.00609a94
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x20]
call fcn.004f056c
mov dword [ebp - 0x74], eax
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x6d], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x6d]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x6e]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 0x74]
call fcn.00609a94
push esi
push edi
lea esi, [ebp - 0xa4]
lea edi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0xbff00000
push 0
lea eax, [ebp - 0xc4]
call fcn.006097e4
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 4]
call fcn.004e9b64
lea edx, [ebp - 0xa4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0xd4]
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xc4]
call fcn.00609750
push esi
push edi
lea esi, [ebp - 0xd4]
lea edi, [ebp - 0xa4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
movzx eax, di
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
fdiv dword [0x60974c]
fstp qword [ebp - 0xe0]
wait
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xb4]
lea edx, [ebp - 0xc4]
lea eax, [ebp - 0xa4]
call fcn.00609838
movzx eax, di
mov edx, eax
neg eax
mov ecx, 0x64
cdq
idiv ecx
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
fstp qword [ebp - 0xe0]
wait
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
lea eax, [ebp - 0xb4]
call fcn.006097e4
movzx eax, bl
cmp eax, 5
ja case.default.0x60841d
jmp dword [eax*4 + 0x60905e]
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x75], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x76], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x75]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x76]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x77], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x78], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x77]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x78]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x79], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x7a], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x79]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x7a]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x7b], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x7c], al
movzx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x7b]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x7c]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x7d], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x7e], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x7d]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x7e]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x7f], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x80], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x7f]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x80]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x81], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x82], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x81]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x82]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x83], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x84], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 0
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x83]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x84]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
push esi
push edi
lea esi, [ebp - 0xa4]
lea edi, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
push 0xbff00000
push 0
lea eax, [ebp - 0xc4]
call fcn.006097e4
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 4]
call fcn.004e9b64
lea edx, [ebp - 0xa4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x54]
movzx eax, di
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
fdiv dword [0x60974c]
fstp qword [ebp - 0xe0]
wait
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
lea ecx, [ebp - 0xb4]
lea edx, [ebp - 0xc4]
lea eax, [ebp - 0xa4]
call fcn.00609838
movzx eax, di
mov edx, eax
neg eax
mov ecx, 0x64
cdq
idiv ecx
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
fstp qword [ebp - 0xe0]
wait
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
lea eax, [ebp - 0xb4]
call fcn.006097e4
movzx eax, bl
cmp eax, 5
ja case.default.0x60841d
jmp dword [eax*4 + 0x609415]
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x85], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x86], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x85]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x86]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x87], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x88], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x87]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x88]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x89], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x8a], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x89]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x8a]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x8b], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x8c], al
movzx eax, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x8b]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x8c]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x8d], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x8e], al
movzx eax, byte [ebp - 0x10]
movzx edx, byte [ebp - 0x8d]
shl edx, 8
or eax, edx
movzx edx, byte [ebp - 0x8e]
shl edx, 0x10
or eax, edx
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
mov ecx, dword [ebp + 0x28]
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
movzx eax, byte [ebp - 0x12]
mov byte [ebp - 0x8f], al
movzx eax, byte [ebp - 0x11]
mov byte [ebp - 0x90], al
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
movzx ecx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x8f]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x90]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x92], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x91]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x92]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc
jmp case.default.0x60841d
mov eax, dword [ebp + 0x28]
push eax
movzx eax, byte [ebp - 9]
push eax
lea eax, [ebp - 0xb4]
push eax
push 1
mov ecx, dword [ebp - 4]
lea edx, [ebp - 0xa4]
mov eax, esi
call fcn.00609edc
movzx eax, byte [ebp - 0xf]
mov byte [ebp - 0x93], al
movzx eax, byte [ebp - 0xe]
mov byte [ebp - 0x94], al
mov eax, dword [ebp - 4]
push eax
movzx eax, byte [ebp - 0xa]
push eax
lea eax, [ebp - 0xc4]
push eax
push 1
movzx ecx, byte [ebp - 0x10]
movzx eax, byte [ebp - 0x93]
shl eax, 8
or ecx, eax
movzx eax, byte [ebp - 0x94]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xb4]
mov eax, esi
call fcn.00609edc