Function at 0x644ac4
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffefc
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0xc8]
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 - 8], ecx
mov dword [ebp - 4], eax
cmp word [ebp + 0x20], 0x32
jne 0x644cb1
cmp byte [ebp + 0x18], 0
jne 0x644cb1
cmp dword [ebp + 0x10], 0x64
jne 0x644cb1
xor eax, eax
mov al, byte [ebp + 0x24]
cmp eax, 4
ja case.default.0x644e27
jmp dword [eax*4 + 0x644b16]
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp + 0x14]
push eax
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp + 0x14]
push eax
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
cmp dword [ebp + 8], 0
jne 0x644b7d
mov dl, 1
mov eax, dword [0x51e0dc]
call fcn.00528328
mov dword [ebp - 0x28], eax
jmp 0x644b83
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp + 0x14]
push eax
mov ax, word [ebp + 0x1c]
push eax
mov al, byte [ebp + 0xc]
push eax
mov eax, dword [ebp - 0x28]
push eax
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.0064622c
cmp dword [ebp + 8], 0
jne case.default.0x644e27
mov eax, dword [ebp - 0x28]
call fcn.004088bc
jmp case.default.0x644e27
lea esi, [ebp - 0xc8]
lea edi, [ebp - 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xbff00000
push 0
lea eax, [ebp - 0xe8]
call fcn.00646a98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 8]
call fcn.00521288
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0xf8]
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xe8]
call fcn.006469e8
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0xc8]
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 eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp + 0x14]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
lea esi, [ebp - 0xc8]
lea edi, [ebp - 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xbff00000
push 0
lea eax, [ebp - 0xe8]
call fcn.00646a98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 8]
call fcn.00521288
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp + 0x14]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
push 0x64
movzx eax, word [ebp + 0x20]
push eax
xor eax, eax
mov al, byte [ebp + 0x14]
push eax
call sub.kernel32.dll_MulDiv
mov byte [ebp - 0x11], al
mov al, byte [ebp + 0x14]
sub al, byte [ebp - 0x11]
mov byte [ebp - 0x12], al
cmp byte [ebp + 0x18], 1
je 0x644db2
mov eax, dword [ebp - 8]
call fcn.00520080
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x28]
call fcn.00520080
mov dword [ebp - 0x10], eax
mov al, byte [ebp - 0xc]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0xc]
shr eax, 8
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0xc]
shr eax, 0x10
mov byte [ebp - 0x13], al
mov al, byte [ebp - 0x10]
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x10]
shr eax, 8
mov byte [ebp - 0x1d], al
mov eax, dword [ebp - 0x10]
shr eax, 0x10
mov byte [ebp - 0x1c], al
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
xor eax, eax
mov al, byte [ebp - 0x1e]
xor edx, edx
mov dl, byte [ebp - 0x15]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x24], ax
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
xor eax, eax
mov al, byte [ebp - 0x1d]
xor edx, edx
mov dl, byte [ebp - 0x14]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x22], ax
push 0x64
mov eax, dword [ebp + 0x10]
sub eax, 0x32
push eax
xor eax, eax
mov al, byte [ebp - 0x1c]
xor edx, edx
mov dl, byte [ebp - 0x13]
sub eax, edx
push eax
call sub.kernel32.dll_MulDiv
mov word [ebp - 0x20], ax
mov al, byte [ebp - 0x15]
add al, byte [ebp - 0x24]
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x14]
add al, byte [ebp - 0x22]
mov byte [ebp - 0x17], al
mov al, byte [ebp - 0x13]
add al, byte [ebp - 0x20]
mov byte [ebp - 0x16], al
mov al, byte [ebp - 0x1e]
sub al, byte [ebp - 0x24]
mov byte [ebp - 0x1b], al
mov al, byte [ebp - 0x1d]
sub al, byte [ebp - 0x22]
mov byte [ebp - 0x1a], al
mov al, byte [ebp - 0x1c]
sub al, byte [ebp - 0x20]
mov byte [ebp - 0x19], al
xor eax, eax
mov al, byte [ebp + 0x24]
cmp eax, 4
ja case.default.0x644e27
jmp dword [eax*4 + 0x644dc7]
push 0x64
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0xc4]
push eax
movzx eax, word [ebp + 0x20]
push eax
call sub.kernel32.dll_MulDiv
add eax, dword [ebp - 0xc4]
push eax
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
call fcn.0049c514
xor eax, eax
mov al, byte [ebp + 0x18]
cmp eax, 5
ja case.default.0x644e27
jmp dword [eax*4 + 0x644e2e]
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x39], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x3a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x39]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x3a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x3b], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x3c], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x3b]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x3c]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x3d], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x3e], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x3d]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x3e]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x3f], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x40], al
xor eax, eax
mov al, byte [ebp - 0x1b]
xor edx, edx
mov dl, byte [ebp - 0x3f]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x40]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x41], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x42], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x41]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x42]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x43], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x44], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x43]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x44]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x45], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x46], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x45]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x46]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.006463e0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x47], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x48], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x47]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x48]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.006463e0
jmp case.default.0x644e27
mov eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0x64
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xc8]
push eax
movzx eax, word [ebp + 0x20]
push eax
call sub.kernel32.dll_MulDiv
mov ecx, eax
add ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc8]
call fcn.0049c514
xor eax, eax
mov al, byte [ebp + 0x18]
cmp eax, 5
ja case.default.0x644e27
jmp dword [eax*4 + 0x645185]
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x49], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x4a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x49]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x4a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x4c], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x4b]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x4c]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x4d], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x4e], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x4d]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x4e]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x4f], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x50], al
xor eax, eax
mov al, byte [ebp - 0x1b]
xor edx, edx
mov dl, byte [ebp - 0x4f]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x50]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x51], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x52], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x51]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x52]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x53], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x54], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x53]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x54]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x55], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x56], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x55]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x56]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x57], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x58], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x57]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x58]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646574
jmp case.default.0x644e27
mov eax, dword [ebp - 0xc0]
sub eax, dword [ebp - 0xc8]
imul eax
mov ecx, eax
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0xc4]
imul eax
add ecx, eax
mov dword [ebp - 0xfc], ecx
fild dword [ebp - 0xfc]
add esp, 0xfffffff4
fstp xword [esp]
wait
call fcn.00407f88
call fcn.00407f98
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0x64
mov eax, dword [ebp - 0x2c]
push eax
movzx eax, word [ebp + 0x20]
push eax
call sub.kernel32.dll_MulDiv
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0049c514
cmp dword [ebp + 8], 0
jne 0x645504
mov dl, 1
mov eax, dword [0x51e0dc]
call fcn.00528328
mov dword [ebp - 0x28], eax
jmp 0x64550a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x6459c6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x30]
cmp eax, dword [ebp - 0x2c]
je 0x645530
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x24]
cmp eax, dword [ebp - 0x2c]
je 0x645548
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
mov al, byte [ebp + 0x18]
cmp eax, 5
ja case.default.0x645556
jmp dword [eax*4 + 0x64555d]
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x60], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x59], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x5a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x59]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x5a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x60]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x68], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x61], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x62], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x61]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x62]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x68]
call fcn.00646574
jmp case.default.0x645556
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
call fcn.00646574
jmp case.default.0x645556
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x70], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x69], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x6a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x69]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x6a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x70]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x78], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x71], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x72], al
xor eax, eax
mov al, byte [ebp - 0x1b]
xor edx, edx
mov dl, byte [ebp - 0x71]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x72]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x12]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x78]
call fcn.00646574
jmp case.default.0x645556
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x80], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x79], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x7a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x79]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x7a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x80]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
call fcn.00646574
jmp case.default.0x645556
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x88], eax
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x81], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x82], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x81]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x82]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x88]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x90], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x89], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x8a], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x89]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x8a]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x90]
call fcn.00646574
jmp case.default.0x645556
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp - 8]
call fcn.00646574
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x28]
call fcn.00528d10
mov dword [ebp - 0x98], eax
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x91], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x92], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0x91]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x92]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0x98]
call fcn.00646574
mov dx, word [ebp + 0x1c]
mov eax, dword [ebp - 0x28]
call fcn.006448f8
cmp byte [ebp + 0xc], 0
je 0x645959
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xc8]
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 4]
call fcn.00522518
push eax
call sub.gdi32.dll_GetWindowOrgEx
mov eax, dword [ebp - 0x34]
neg eax
push eax
mov eax, dword [ebp - 0x38]
neg eax
push eax
mov eax, dword [ebp - 0x30]
push eax
call sub.gdi32.dll_OffsetRgn
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 4]
call fcn.00522518
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0xbc]
sub ecx, dword [ebp - 0xc4]
sub ecx, dword [ebp - 0x2c]
sar ecx, 1
jns 0x645973
adc ecx, 0
add ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
sub edx, dword [ebp - 0xc8]
sub edx, dword [ebp - 0x2c]
sar edx, 1
jns 0x64598f
adc edx, 0
add edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x44]
cmp byte [ebp + 0xc], 0
je 0x6459bc
push 0
mov eax, dword [ebp - 4]
call fcn.00522518
push eax
call sub.gdi32.dll_SelectClipRgn
mov eax, dword [ebp - 0x30]
push eax
call sub.gdi32.dll_DeleteObject
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x6459d0
cmp dword [ebp + 8], 0
jne case.default.0x644e27
mov eax, dword [ebp - 0x28]
call fcn.004088bc
jmp case.default.0x644e27
lea esi, [ebp - 0xc8]
lea edi, [ebp - 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xbff00000
push 0
lea eax, [ebp - 0xe8]
call fcn.00646a98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 8]
call fcn.00521288
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x54]
lea ecx, [ebp - 0xf8]
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xe8]
call fcn.006469e8
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0xc8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x20]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fdiv dword [0x646228]
fstp qword [ebp - 0x104]
wait
push dword [ebp - 0x100]
push dword [ebp - 0x104]
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0xe8]
lea eax, [ebp - 0xc8]
call fcn.00646b00
movzx eax, word [ebp + 0x20]
mov edx, eax
neg eax
mov ecx, 0x64
cdq
idiv ecx
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fstp qword [ebp - 0x104]
wait
push dword [ebp - 0x100]
push dword [ebp - 0x104]
lea eax, [ebp - 0xd8]
call fcn.00646a98
xor eax, eax
mov al, byte [ebp + 0x18]
cmp eax, 5
ja case.default.0x644e27
jmp dword [eax*4 + 0x645adb]
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x99], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x9a], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x99]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x9a]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x9b], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x9c], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0x9b]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0x9c]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x9d], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x9e], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0x9d]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0x9e]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0x9f], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xa0], al
xor eax, eax
mov al, byte [ebp - 0x1b]
xor edx, edx
mov dl, byte [ebp - 0x9f]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xa0]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xa1], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xa2], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0xa1]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xa2]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0xa3], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xa4], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0xa3]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xa4]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xa6], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0xa5]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xa6]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 0
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xa7], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xa8], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0xa7]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xa8]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
lea esi, [ebp - 0xc8]
lea edi, [ebp - 0xe8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xbff00000
push 0
lea eax, [ebp - 0xe8]
call fcn.00646a98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 8]
call fcn.00521288
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x54]
movzx eax, word [ebp + 0x20]
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fdiv dword [0x646228]
fstp qword [ebp - 0x104]
wait
push dword [ebp - 0x100]
push dword [ebp - 0x104]
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0xe8]
lea eax, [ebp - 0xc8]
call fcn.00646b00
movzx eax, word [ebp + 0x20]
mov edx, eax
neg eax
mov ecx, 0x64
cdq
idiv ecx
mov dword [ebp - 0xfc], eax
fild dword [ebp - 0xfc]
fstp qword [ebp - 0x104]
wait
push dword [ebp - 0x100]
push dword [ebp - 0x104]
lea eax, [ebp - 0xd8]
call fcn.00646a98
xor eax, eax
mov al, byte [ebp + 0x18]
cmp eax, 5
ja case.default.0x644e27
jmp dword [eax*4 + 0x645ee6]
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xa9], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xaa], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0xa9]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xaa]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0xab], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xac], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0xab]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xac]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xad], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xae], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0xad]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xae]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0xaf], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xb0], al
xor eax, eax
mov al, byte [ebp - 0x1b]
xor edx, edx
mov dl, byte [ebp - 0xaf]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xb0]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xb1], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xb2], al
xor eax, eax
mov al, byte [ebp - 0x18]
xor edx, edx
mov dl, byte [ebp - 0xb1]
shl edx, 8
or eax, edx
xor edx, edx
mov dl, byte [ebp - 0xb2]
shl edx, 0x10
or eax, edx
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
lea edx, [ebp - 0xd8]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov al, byte [ebp - 0x1a]
mov byte [ebp - 0xb3], al
mov al, byte [ebp - 0x19]
mov byte [ebp - 0xb4], al
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x1b]
xor eax, eax
mov al, byte [ebp - 0xb3]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xb4]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xb5], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xb6], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0xb5]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xb6]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
jmp case.default.0x644e27
mov eax, dword [ebp + 0x28]
push eax
mov al, byte [ebp - 0x11]
push eax
lea eax, [ebp - 0xd8]
push eax
push 1
lea edx, [ebp - 0xc8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00646708
mov al, byte [ebp - 0x17]
mov byte [ebp - 0xb7], al
mov al, byte [ebp - 0x16]
mov byte [ebp - 0xb8], al
mov eax, dword [ebp - 8]
push eax
mov al, byte [ebp - 0x12]
push eax
lea eax, [ebp - 0xe8]
push eax
push 1
xor ecx, ecx
mov cl, byte [ebp - 0x18]
xor eax, eax
mov al, byte [ebp - 0xb7]
shl eax, 8
or ecx, eax
xor eax, eax
mov al, byte [ebp - 0xb8]
shl eax, 0x10
or ecx, eax
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 4]
call fcn.00646708
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24