Function at 0x10031480
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004bdc0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x8b8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x1004d610
call fcn.1003da5f
add esp, 4
mov dword [0x1005fc3c], eax
mov eax, dword [0x1005f0c8]
mov ecx, dword [0x1005f0cc]
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x84c], ecx
mov edx, 0x2e56
mov word [ebp - 0x2c], dx
mov dword [ebp - 0x5c], 0x30
xor eax, eax
mov dword [ebp - 0x58], 0x9d46
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x11], 0x29
mov ecx, 0x4cdc
mov word [ebp - 0x20], cx
mov dl, byte [0x1005f140]
mov byte [ebp - 0x17], dl
mov ax, word [0x1005f158]
mov byte [ebp - 0x15], al
mov cx, word [0x1005f0c0]
mov byte [ebp - 0x16], cl
xor edx, edx
mov dword [ebp - 0x70], 0x23
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x50], 0x32
mov eax, dword [0x1005f0a0]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1005f0b4]
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1005f0b8]
mov edx, dword [0x1005f0bc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov byte [ebp - 0x13], 5
mov dword [ebp - 0x74], 0x56801ed8
mov ax, word [0x1005f140]
mov word [ebp - 0x24], ax
mov ecx, 0x1da8d
mov dword [ebp - 0x34], 0x197ca864
mov dword [ebp - 0x30], ecx
mov dx, word [0x1005f148]
mov word [ebp - 0x1c], dx
mov eax, dword [0x1005f0a8]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1005f0a0]
mov byte [ebp - 0x14], cl
xor edx, edx
mov dword [ebp - 0x64], 0x96d0
mov dword [ebp - 0x60], edx
mov ax, word [0x1005f150]
mov word [ebp - 0x28], ax
mov cl, byte [0x1005f09e]
mov byte [ebp - 0x12], cl
mov dword [ebp - 0x68], 0xfcac0d9b
movzx eax, word [0x1005f138]
cdq
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x854], edx
mov dword [ebp - 0x7e0], 0x81
xor edx, edx
mov dword [ebp - 0x860], 0xbe
mov dword [ebp - 0x85c], edx
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], ecx
movzx edx, word [0x1005f148]
mov dword [ebp - 0x7e4], edx
mov eax, dword [0x1005f0b0]
mov byte [ebp - 0xe5], al
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x484], edx
mov eax, dword [0x1005f150]
cmp eax, dword [ebp - 0x488]
jne 0x10031679
mov ecx, dword [0x1005f154]
cmp ecx, dword [ebp - 0x484]
jne 0x10031679
mov dl, byte [ebp - 0x68]
mov byte [0x1005f09f], dl
movzx eax, byte [ebp - 0x14]
movsx ecx, byte [0x1005f04f]
add eax, ecx
mov byte [ebp - 0x14], al
movzx edx, word [0x1005f10c]
movsx eax, byte [0x1005f03b]
add edx, eax
mov word [0x1005f10c], dx
jmp 0x10031722
movzx ecx, byte [0x1005f0a4]
movzx edx, byte [ebp - 0x14]
add ecx, edx
movzx eax, byte [0x1005f0a4]
add eax, ecx
mov byte [0x1005f0a4], al
mov ecx, dword [0x1005f0b4]
sub ecx, dword [ebp - 0x74]
mov edx, dword [0x1005f0b4]
sub edx, ecx
mov dword [0x1005f0b4], edx
movzx eax, byte [str.a_StartIdle_]
test eax, eax
jne 0x100316c2
mov dword [ebp - 0x308], 1
jmp 0x100316cc
mov dword [ebp - 0x308], 0
movsx ecx, byte [ebp - 0x15]
mov eax, dword [ebp - 0x308]
sub eax, ecx
movsx edx, word [ebp - 0x24]
movzx ecx, byte [ebp - 0x14]
imul edx, ecx
sub eax, edx
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x1005f150]
not ecx
mov esi, dword [0x1005f154]
not esi
sub eax, ecx
sbb edx, esi
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
movsx eax, byte [0x1005f04f]
cdq
xor eax, 0x2d72f72e
mov byte [0x1005f09e], al
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x490]
or edx, dword [ebp - 0x48c]
je 0x100317e6
mov eax, dword [0x1005f0c8]
add eax, 0x1b85c4fa
mov ecx, dword [0x1005f0cc]
adc ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1005f104]
add edx, 0x5369a794
mov dword [0x1005f0e8], edx
movsx eax, word [ebp - 0x28]
imul ecx, eax, 0xb0f81a58
xor edx, edx
mov dword [0x1005f0c8], ecx
mov dword [0x1005f0cc], edx
mov ax, word [ebp - 0x1c]
add ax, 1
mov word [ebp - 0x1c], ax
movsx eax, word [0x1005f15c]
cdq
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
xor ecx, eax
xor esi, edx
mov eax, dword [ebp - 0x38]
cdq
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [0x1005f0f8], ecx
mov dword [0x1005f0fc], esi
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0x29415f30
mov dword [ebp - 0x74], eax
jmp 0x10031839
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x7e8], eax
sub edx, 0x5732c72b
mov ecx, dword [0x1005f100]
and ecx, edx
mov dword [0x1005f100], ecx
movzx eax, word [0x1005f128]
cdq
sub eax, 0x80b3c02f
mov word [ebp - 0x28], ax
xor edx, edx
mov dword [0x1005f130], 1
mov dword [0x1005f134], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 2
call fcn.1003a840
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xf0]
add eax, 0xfedc
mov dword [ebp - 0x110], eax
mov byte [0x1005f04f], 2
mov ecx, dword [ebp - 0x38]
shl ecx, 4
mov dword [ebp - 0x44], ecx
movzx eax, byte [str.a_StartIdle_]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f0f0]
not edx
mov eax, dword [0x1005f0f4]
not eax
add ecx, edx
adc esi, eax
movzx eax, byte [0x1005f0a4]
cdq
add eax, dword [0x1005f0d8]
adc edx, dword [0x1005f0dc]
sub ecx, eax
sbb esi, edx
not ecx
not esi
movsx edx, word [ebp - 0x24]
movsx eax, byte [ebp - 0x16]
add edx, eax
mov eax, dword [0x1005f0b4]
sub eax, edx
xor edx, edx
add ecx, eax
adc esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
mov ax, word [0x1005fc3c]
mov word [ebp - 0x2c], ax
imul ecx, dword [ebp - 0x5c], 0xed
movsx edx, byte [0x1005f076]
and edx, ecx
mov byte [0x1005f076], dl
mov al, byte [0x1005f04f]
mov byte [ebp - 0xec], al
cmp byte [ebp - 0xec], 0
je 0x10031901
cmp byte [ebp - 0xec], 1
je 0x1003195c
cmp byte [ebp - 0xec], 2
je 0x10031a4f
jmp 0x10031b3f
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x10031922
mov edx, dword [0x1005f0a8]
mov eax, dword [0x1005f0ac]
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], eax
jmp 0x10031933
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], edx
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x7ec], ecx
mov word [0x1005f15c], ax
jmp 0x10031b3f
mov edx, dword [0x1005f100]
add edx, 0x43d3
mov dword [0x1005f0d0], edx
movzx eax, byte [ebp - 0x14]
test eax, eax
jne 0x1003198a
xor ecx, ecx
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], ecx
jmp 0x10031995
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
mov edx, dword [ebp - 0x358]
sub edx, dword [0x1005f0a8]
mov eax, dword [ebp - 0x354]
sbb eax, dword [0x1005f0ac]
mov dword [0x1005f0c8], edx
mov dword [0x1005f0cc], eax
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
not edx
not eax
sub ecx, edx
sbb esi, eax
movsx eax, word [ebp - 0x24]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov byte [ebp - 0x12], al
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
movsx eax, word [ebp - 0x24]
movsx ecx, word [0x1005f108]
imul eax, ecx
test eax, eax
jne 0x10031a11
mov dword [ebp - 0x30c], 1
jmp 0x10031a1b
mov dword [ebp - 0x30c], 0
movzx edx, word [0x1005f138]
movzx eax, byte [ebp - 0x14]
sub edx, eax
not edx
add edx, dword [ebp - 0x30c]
imul ecx, edx, 0xf1ab
mov byte [0x1005f076], cl
mov edx, dword [0x1005f0b0]
not edx
mov byte [0x1005f04f], dl
jmp 0x10031b3f
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x498]
or edx, dword [ebp - 0x494]
je 0x10031a89
mov eax, dword [0x1005f104]
xor ecx, ecx
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], ecx
jmp 0x10031aa0
mov edx, dword [0x1005f0b8]
mov eax, dword [0x1005f0bc]
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x330]
mov edx, dword [ebp - 0x32c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov ecx, dword [0x1005f0d8]
sub ecx, 0xfa43
mov esi, dword [0x1005f0dc]
sbb esi, 0
movzx eax, byte [ebp - 0x12]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
movsx edx, byte [str._CpuC3StatesChanges]
movsx eax, byte [0x1005f09e]
imul edx, eax
movsx ecx, byte [str._CpuC3StatesChanges]
or ecx, edx
mov byte [str._CpuC3StatesChanges], cl
mov edx, dword [0x1005f0b0]
sub edx, 0x6a
mov dword [0x1005f0e8], edx
movsx eax, byte [ebp - 0x13]
cdq
push edx
push eax
mov eax, dword [0x1005f0fc]
push eax
mov ecx, dword [0x1005f0f8]
push ecx
call fcn.1003a730
push edx
push eax
mov edx, dword [0x1005f0fc]
push edx
mov eax, dword [0x1005f0f8]
push eax
call fcn.1003a730
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov ecx, dword [ebp - 0xf0]
add ecx, 0x8857
mov dword [ebp - 0x7f0], ecx
movsx edx, word [ebp - 0x28]
imul edx, dword [ebp - 0x44]
not edx
xor eax, eax
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
cmp ecx, dword [0x1005f0f4]
jg 0x10031b93
jl 0x10031b87
mov edx, dword [ebp - 0x4a0]
cmp edx, dword [0x1005f0f0]
jae 0x10031b93
mov dword [ebp - 0x318], 1
jmp 0x10031b9d
mov dword [ebp - 0x318], 0
mov eax, dword [0x1005f0a0]
not eax
movsx ecx, byte [0x1005f076]
cmp eax, ecx
jg 0x10031bbb
mov dword [ebp - 0x314], 1
jmp 0x10031bc5
mov dword [ebp - 0x314], 0
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
movsx eax, byte [0x1005f0a5]
not eax
cdq
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], esi
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], edx
mov edx, dword [ebp - 0x4a4]
cmp edx, dword [ebp - 0x4ac]
jg 0x10031c17
jl 0x10031c0b
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x4b0]
ja 0x10031c17
mov dword [ebp - 0x310], 1
jmp 0x10031c21
mov dword [ebp - 0x310], 0
mov ecx, dword [ebp - 0x310]
not ecx
cmp dword [ebp - 0x314], ecx
je 0x10031c3d
mov dword [ebp - 0x31c], 1
jmp 0x10031c47
mov dword [ebp - 0x31c], 0
mov edx, dword [ebp - 0x318]
imul edx, dword [ebp - 0x31c]
test edx, edx
je 0x10031cd1
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [0x1005f0bc]
push ecx
mov ecx, dword [0x1005f0b8]
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x16], al
mov edx, dword [0x1005f0f0]
or edx, dword [0x1005f0f4]
jne 0x10031c8f
mov dword [ebp - 0x320], 1
jmp 0x10031c99
mov dword [ebp - 0x320], 0
movsx eax, byte [str._CpuC3StatesChanges]
movsx ecx, word [ebp - 0x24]
add eax, ecx
movsx edx, byte [ebp - 0x11]
sub edx, dword [ebp - 0x320]
not edx
add eax, edx
mov byte [0x1005f077], al
movzx eax, byte [ebp - 0x12]
xor eax, dword [0x1005f0b0]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x10031d60
movzx eax, word [0x1005f148]
cdq
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
not eax
not edx
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], edx
mov edx, dword [ebp - 0x4b8]
or edx, dword [ebp - 0x4b4]
je 0x10031d60
mov eax, dword [0x1005f130]
or eax, dword [0x1005f134]
je 0x10031d1c
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x108], ecx
jmp 0x10031d28
mov edx, dword [0x1005f100]
mov dword [ebp - 0x108], edx
mov al, byte [ebp - 0x108]
mov byte [ebp - 0x13], al
movsx eax, byte [ebp - 0x17]
sub eax, 0x6a
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx ecx, byte [str._CpuC3StatesChanges]
sar ecx, 1
mov word [0x1005f0ec], cx
mov edx, 0xffffdf21
mov word [0x1005f114], dx
mov eax, dword [ebp - 0xf0]
add eax, 0xefc7
mov dword [ebp - 0x114], eax
movsx ecx, word [0x1005f108]
test ecx, ecx
je 0x10031dea
cmp dword [0x1005f0b0], 0
je 0x10031d91
movsx edx, byte [ebp - 0x16]
mov dword [ebp - 0x10c], edx
jmp 0x10031d9c
mov eax, dword [0x1005f0e8]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
mov cx, word [0x1005fc3c]
mov word [0x1005f0c0], cx
movsx eax, byte [0x1005f09e]
sub eax, 0xfd
cdq
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x7f4], eax
xor edx, 0x70adb007
mov word [ebp - 0x20], dx
mov dword [ebp - 4], 0
mov ecx, dword [0x1004d618]
mov dword [ebp - 0x754], ecx
mov edx, dword [0x1004d61c]
mov dword [ebp - 0x750], edx
mov eax, dword [0x1004d620]
mov dword [ebp - 0x74c], eax
mov ecx, dword [0x1004d624]
mov dword [ebp - 0x748], ecx
mov dx, word [0x1004d628]
mov word [ebp - 0x744], dx
mov al, byte [0x1004d62a]
mov byte [ebp - 0x742], al
lea ecx, [ebp - 0x754]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1005f0e4], eax
jmp 0x10031e77
mov dword [ebp - 4], 0xffffffff
jmp 0x10031e87
mov edx, dword [ebp - 0x110]
xor edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0x114]
sub eax, dword [ebp - 0x114]
or edx, eax
xor edx, 0xb8
mov dword [ebp - 0x468], edx
movsx ecx, byte [ebp - 0x15]
movzx edx, byte [0x1005f0a4]
cmp ecx, edx
jle 0x10031fd6
xor eax, eax
mov dword [0x1005f130], 1
mov dword [0x1005f134], eax
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x1005f130]
mov ecx, dword [0x1005f134]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], ecx
mov edx, dword [ebp - 0x338]
or edx, dword [ebp - 0x334]
je 0x10031f1b
cmp dword [ebp - 0x338], 1
jne 0x10031f16
cmp dword [ebp - 0x334], 0
je 0x10031f4c
jmp 0x10031fd1
push 0
push 0x80ab2d67
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.1003a730
mov word [ebp - 0x1c], ax
movsx edx, byte [ebp - 0x11]
add edx, 0x1d
mov dword [ebp - 0x44], edx
mov al, byte [0x1005fc3c]
mov byte [str._CpuC3StatesChanges], al
jmp 0x10031fd1
push 0x7280
push 0x76ec8bd4
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov word [0x1005f108], ax
mov eax, 8
imul ecx, eax, 0x10ad
mov edx, dword [ecx + 0x101fad10]
mov eax, dword [ecx + 0x101fad14]
mov dword [0x1005f0d8], edx
mov dword [0x1005f0dc], eax
mov ecx, dword [ebp - 0x74]
sar ecx, 2
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7f8], eax
not edx
mov byte [ebp - 0x12], dl
movsx eax, word [0x1005f110]
add eax, 0x9f
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, 8
imul eax, eax, 0x28
mov dword [eax + 0x102b2af8], ecx
mov dword [eax + 0x102b2afc], edx
jmp 0x10032094
movzx ecx, word [0x1005f138]
sub ecx, dword [0x1005f100]
movzx edx, word [0x1005f138]
sub edx, ecx
mov word [0x1005f138], dx
movzx eax, word [0x1005f148]
add eax, 0x6324c880
mov dword [ebp - 0x50], eax
mov ecx, dword [0x1005f0b0]
xor edx, edx
add ecx, 0x55231a2
adc edx, 0xffb95
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
jne 0x10032038
xor ecx, ecx
mov dword [ebp - 0x360], 1
mov dword [ebp - 0x35c], ecx
jmp 0x10032043
xorps xmm0, xmm0
movlpd qword [ebp - 0x360], xmm0
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
push eax
push edx
mov ecx, dword [ebp - 0x35c]
push ecx
mov edx, dword [ebp - 0x360]
push edx
call fcn.1003a730
not eax
mov dword [ebp - 0x38], eax
movsx eax, byte [0x1005f077]
cdq
push 0xa8529
push 0x7bdca8c4
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
mov eax, dword [0x1005f0e8]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0e8], eax
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
cmp edx, dword [0x1005f0cc]
jl 0x100320dc
jg 0x100320d0
mov eax, dword [ebp - 0x4c0]
cmp eax, dword [0x1005f0c8]
jbe 0x100320dc
mov dword [ebp - 0x118], 1
jmp 0x100320e6
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4c4], edx
cmp dword [ebp - 0x4c4], 0
jl 0x10032118
jg 0x1003210c
cmp dword [ebp - 0x4c8], 0x57
jbe 0x10032118
mov dword [ebp - 0x11c], 1
jmp 0x10032122
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x11c]
jl 0x10032542
mov dword [ebp - 0xf4], 0
jmp 0x1003214f
mov ecx, dword [ebp - 0xf4]
add ecx, 2
mov dword [ebp - 0xf4], ecx
cmp dword [ebp - 0xf4], 0x257
jge 0x10032542
movzx edx, byte [str.a_StartIdle_]
test edx, edx
je 0x10032440
movzx eax, byte [str.a_StartIdle_]
cmp dword [0x1005f0b4], eax
je 0x1003243b
movzx ecx, word [0x1005f10c]
test ecx, ecx
jne 0x100321c2
movsx eax, word [0x1005f0e0]
cdq
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], edx
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x4d0]
jne 0x100321b6
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x4cc]
je 0x100321c2
mov dword [ebp - 0x128], 0
jmp 0x100321cc
mov dword [ebp - 0x128], 1
movzx ecx, word [0x1005f0ec]
cmp dword [0x1005f0a0], ecx
je 0x100321e7
mov dword [ebp - 0x120], 1
jmp 0x100321f1
mov dword [ebp - 0x120], 0
movsx edx, word [0x1005f108]
test edx, edx
jne 0x1003220c
xor eax, eax
jne 0x1003220c
mov dword [ebp - 0x124], 1
jmp 0x10032216
mov dword [ebp - 0x124], 0
mov ecx, dword [ebp - 0x120]
cmp ecx, dword [ebp - 0x124]
jg 0x10032230
mov dword [ebp - 0x12c], 1
jmp 0x1003223a
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0x128]
and edx, dword [ebp - 0x12c]
je 0x100322dd
mov eax, dword [0x1005f0f0]
add eax, dword [0x1005f130]
mov ecx, dword [0x1005f0f4]
adc ecx, dword [0x1005f134]
and eax, dword [0x1005f0f0]
and ecx, dword [0x1005f0f4]
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4d8], edx
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d8]
or ecx, dword [ebp - 0x4d4]
jne 0x100322ae
xor edx, edx
mov dword [ebp - 0x4e0], 1
mov dword [ebp - 0x4dc], edx
jmp 0x100322b9
xorps xmm0, xmm0
movlpd qword [ebp - 0x4e0], xmm0
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
push 0
push 0x7b048060
push ecx
push eax
call fcn.1003a730
mov edx, dword [ebp - 0x4e0]
sub edx, eax
mov dword [ebp - 0x5c], edx
jmp 0x1003243b
movzx eax, byte [0x1005f0a4]
cdq
sub eax, dword [0x1005f130]
sbb edx, dword [0x1005f134]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e8]
or eax, dword [ebp - 0x4e4]
je 0x10032363
movzx eax, word [0x1005f138]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x7fc], edx
add ecx, eax
not ecx
mov byte [ebp - 0x16], cl
mov ecx, 8
shl ecx, 7
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x100e7930]
call fcn.1003a790
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [0x1005f158]
sub edx, 0x5c91612
mov eax, dword [0x1005f0a0]
add eax, edx
mov dword [0x1005f0a0], eax
jmp 0x1003243b
cmp dword [0x1005f0e4], 0
je 0x10032381
cmp dword [0x1005f100], 0
je 0x10032381
mov dword [ebp - 0x130], 0
jmp 0x1003238b
mov dword [ebp - 0x130], 1
cmp dword [0x1005f100], 0
jne 0x100323a8
xor ecx, ecx
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x364], ecx
jmp 0x100323b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x368], xmm0
mov edx, dword [ebp - 0x368]
cmp edx, dword [ebp - 0x4c]
jne 0x100323d5
mov eax, dword [ebp - 0x364]
cmp eax, dword [ebp - 0x48]
jne 0x100323d5
mov dword [ebp - 0x134], 1
jmp 0x100323df
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x130]
sub ecx, dword [ebp - 0x134]
je 0x1003243b
mov dl, byte [0x1005f0c8]
mov byte [ebp - 0x16], dl
mov eax, dword [0x1005f0c8]
add eax, 0x7a
mov byte [0x1005f04f], al
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x1003241f
xor edx, edx
mov dword [ebp - 0x4f0], 1
mov dword [ebp - 0x4ec], edx
jmp 0x1003242a
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f0], xmm0
mov eax, dword [ebp - 0x4f0]
sub eax, dword [0x1005f0f0]
mov byte [0x1005f04f], al
jmp 0x1003252b
movsx ecx, word [0x1005f108]
test ecx, ecx
jne 0x10032457
mov dword [ebp - 0x138], 1
jmp 0x10032461
mov dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0
jg 0x10032476
mov dword [ebp - 0x13c], 1
jmp 0x10032480
mov dword [ebp - 0x13c], 0
movsx edx, word [0x1005f108]
movsx eax, word [ebp - 0x28]
sub edx, eax
cmp dword [ebp - 0x13c], edx
jle 0x1003252b
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x800], edx
sub ecx, 0x5f2ccd05
mov dword [ebp - 0x44], ecx
mov eax, dword [0x1005f0b0]
mov ecx, 4
imul edx, ecx, 0xd66
mov dword [edx + 0x100dd428], eax
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1005f134]
push ecx
mov ecx, dword [0x1005f130]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
movsx edx, byte [ebp - 0x16]
add edx, 0x14285cc5
mov dword [ebp - 0x50], edx
mov eax, dword [0x1005f0a0]
cdq
mov ecx, dword [0x1005f134]
push ecx
mov ecx, dword [0x1005f130]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
mov eax, dword [0x1005f0a0]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0a0], eax
mov dx, word [0x1005f148]
add dx, 1
mov word [0x1005f148], dx
jmp 0x10032140
mov eax, dword [ebp - 0x84]
add eax, 0x7ee
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0xfc], 0x25f1
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x804], ecx
sub eax, 0x34
mov byte [ebp - 0x17], al
movsx edx, byte [0x1005f09e]
imul eax, edx, 0x9d
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov al, byte [0x1005fc3c]
mov byte [ebp - 0x17], al
cmp dword [ebp - 0x74], 0
jne 0x100325b0
mov dword [ebp - 0x140], 1
jmp 0x100325ba
mov dword [ebp - 0x140], 0
imul ecx, dword [0x1005f0b4], 0x93
not ecx
movzx edx, word [0x1005f128]
imul edx, dword [ebp - 0x140]
sub ecx, edx
mov byte [str.a_StartIdle_], cl
mov ecx, dword [0x1005f0b8]
sub ecx, 0x18516508
mov esi, dword [0x1005f0bc]
sbb esi, 0xc1178
movsx eax, byte [ebp - 0x17]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x17], al
cmp dword [ebp - 0xfc], 0x243e
jle 0x100327e2
movzx edx, word [0x1005f148]
movsx eax, word [ebp - 0x20]
cmp edx, eax
jle 0x10032630
mov dword [ebp - 0x144], 1
jmp 0x1003263a
mov dword [ebp - 0x144], 0
movzx ecx, word [0x1005f148]
cmp ecx, 0x31
jle 0x10032652
mov dword [ebp - 0x148], 1
jmp 0x1003265c
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x148]
jl 0x1003277e
movsx eax, word [0x1005f110]
test eax, eax
je 0x100326e2
mov dword [ebp - 0xf8], 0x2a0
jmp 0x10032694
mov ecx, dword [ebp - 0xf8]
sub ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0
jle 0x100326dd
movzx edx, byte [ebp - 0x12]
imul eax, edx, 0xdb721b89
mov dword [0x1005f104], eax
imul ecx, dword [ebp - 0x74], 0xf3b1eb73
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0x3bcb
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x44], eax
mov dl, byte [ebp - 0x13]
add dl, 1
mov byte [ebp - 0x13], dl
jmp 0x10032685
jmp 0x1003277c
movsx eax, word [ebp - 0x24]
imul ecx, eax, 0x667e8376
mov byte [ebp - 0x13], cl
cmp dword [ebp - 0x68], 0
jne 0x10032701
mov dword [ebp - 0x14c], 1
jmp 0x1003270b
mov dword [ebp - 0x14c], 0
movzx edx, byte [ebp - 0x12]
not edx
movzx eax, byte [ebp - 0x14]
add edx, eax
mov ecx, dword [ebp - 0x14c]
sub ecx, 0xa4c2
sub edx, ecx
mov word [0x1005f128], dx
movsx edx, byte [0x1005f04f]
movsx eax, byte [0x1005f09e]
sub edx, eax
movsx ecx, byte [0x1005f04f]
add ecx, edx
mov byte [0x1005f04f], cl
mov edx, dword [0x1005f130]
add edx, 0x9fc87d79
mov dword [ebp - 0x68], edx
movsx eax, word [0x1005f114]
cdq
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x808], edx
sub eax, ecx
mov word [0x1005f114], ax
jmp 0x100327ce
mov eax, 0x74cc08da
or eax, 0xde1ea
je 0x100327ce
mov ecx, dword [0x1005f0d0]
not ecx
movsx edx, byte [0x1005f076]
sub ecx, edx
mov word [0x1005f0c0], cx
mov dword [0x1005f0d0], 0x72769706
mov eax, dword [0x1005f120]
mov ecx, dword [0x1005f124]
xor eax, dword [0x1005f130]
xor ecx, dword [0x1005f134]
mov dword [0x1005f130], eax
mov dword [0x1005f134], ecx
mov edx, dword [ebp - 0xfc]
sub edx, 1
mov dword [ebp - 0xfc], edx
jmp 0x10032605
mov eax, dword [ebp - 0x84]
add eax, 0x5c1
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movzx eax, word [0x1005f148]
cdq
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], esi
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], edx
mov edx, dword [ebp - 0x4f4]
cmp edx, dword [ebp - 0x4fc]
jb 0x10032843
ja 0x10032837
mov eax, dword [ebp - 0x4f8]
cmp eax, dword [ebp - 0x500]
jbe 0x10032843
mov dword [ebp - 0x150], 1
jmp 0x1003284d
mov dword [ebp - 0x150], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x504], edx
cmp dword [ebp - 0x504], 0
ja 0x10032871
cmp dword [ebp - 0x508], 0x26
jbe 0x1003287d
mov dword [ebp - 0x154], 1
jmp 0x10032887
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x154]
jle 0x10032984
mov ecx, 4
imul edx, ecx, 0x8f
movzx eax, byte [0x1005f09f]
sub eax, dword [edx + 0x102c3858]
mov byte [0x1005f09f], al
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x100328ca
mov dword [ebp - 0x158], 1
jmp 0x100328d4
mov dword [ebp - 0x158], 0
mov edx, dword [ebp - 0x158]
add edx, 0x773f2df3
mov byte [ebp - 0x15], dl
movsx eax, word [0x1005f0e0]
test eax, eax
je 0x10032908
mov ecx, dword [0x1005f0c8]
mov edx, dword [0x1005f0cc]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], edx
jmp 0x1003291c
movsx eax, byte [0x1005f03b]
cdq
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x370]
mov dword [0x1005f100], eax
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x510]
or eax, dword [ebp - 0x50c]
je 0x10032967
mov ecx, dword [0x1005f0f8]
mov edx, dword [0x1005f0fc]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], edx
jmp 0x10032977
mov eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], edx
mov ax, word [ebp - 0x378]
mov word [0x1005f148], ax
mov ecx, dword [ebp - 0x84]
add ecx, 0x632
mov dword [ebp - 0x810], ecx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push eax
push edx
call fcn.1003a730
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
movzx edx, word [0x1005f158]
add edx, 6
movzx eax, byte [0x1005f0a4]
xor edx, eax
mov dword [0x1005f104], edx
movzx ecx, byte [0x1005f0a4]
xor ecx, 0xb39d5550
mov dx, word [0x1005f114]
sar dx, cl
mov word [0x1005f114], dx
mov eax, dword [0x1005f0d8]
mov ecx, 4
imul edx, ecx, 0x18
mov dword [edx + 0x102b27c0], eax
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x88], eax
mov byte [ebp - 0x16], 0xc8
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x814], edx
add ecx, 0x32
mov byte [0x1005f09e], cl
movsx eax, word [ebp - 0x24]
cdq
push 0x6c6da
push 0x3689b4e0
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [0x1005f138]
cdq
and eax, 0x79beb3a1
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x88]
add eax, 0x511
mov dword [ebp - 0x1c8], eax
movsx ecx, word [ebp - 0x1c]
cmp dword [0x1005f0a0], ecx
jge 0x10032a8c
xor edx, edx
mov dword [ebp - 0x380], 1
mov dword [ebp - 0x37c], edx
jmp 0x10032a97
xorps xmm0, xmm0
movlpd qword [ebp - 0x380], xmm0
mov eax, dword [0x1005f144]
cmp eax, dword [ebp - 0x37c]
jl 0x10032ac0
jg 0x10032ab4
mov ecx, dword [0x1005f140]
cmp ecx, dword [ebp - 0x380]
jbe 0x10032ac0
mov dword [ebp - 0x15c], 1
jmp 0x10032aca
mov dword [ebp - 0x15c], 0
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
cmp dword [ebp - 0x514], 0x136a7
jl 0x10032b43
jg 0x10032af5
cmp dword [ebp - 0x518], 0xee6b8196
jb 0x10032b43
cmp dword [0x1005f0e4], 0
jne 0x10032b12
xor edx, edx
mov dword [ebp - 0x388], 1
mov dword [ebp - 0x384], edx
jmp 0x10032b1d
xorps xmm0, xmm0
movlpd qword [ebp - 0x388], xmm0
cmp dword [ebp - 0x384], 0x9a854
jl 0x10032b43
jg 0x10032b37
cmp dword [ebp - 0x388], 0x22cec726
jb 0x10032b43
mov dword [ebp - 0x160], 0
jmp 0x10032b4d
mov dword [ebp - 0x160], 1
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
je 0x10032d36
xor ecx, ecx
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x6c], ecx
movsx edx, word [0x1005f0c0]
imul eax, edx, 0xb4
mov byte [ebp - 0x11], al
movsx ecx, byte [0x1005f04f]
mov edx, dword [0x1005f0b4]
sub edx, ecx
mov eax, dword [0x1005f0b4]
sub eax, edx
mov dword [0x1005f0b4], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov eax, dword [0x1005f144]
push eax
mov eax, dword [0x1005f140]
push eax
push edx
push ecx
call fcn.1003a730
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x1c]
cdq
mov edi, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x70]
sbb edx, edi
add ecx, eax
adc esi, edx
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x51c], esi
mov edx, dword [ebp - 0x520]
or edx, dword [ebp - 0x51c]
jne 0x10032be4
mov byte [ebp - 0x75], 1
jmp 0x10032be8
mov byte [ebp - 0x75], 0
mov al, byte [ebp - 0x75]
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x68], 0
jne 0x10032c00
mov dword [ebp - 0x168], 1
jmp 0x10032c0a
mov dword [ebp - 0x168], 0
movsx ecx, word [0x1005f15c]
test ecx, ecx
jne 0x10032c21
mov dword [ebp - 0x164], 1
jmp 0x10032c2b
mov dword [ebp - 0x164], 0
movsx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x164]
add edx, dword [ebp - 0x168]
mov byte [0x1005f0a4], dl
movsx eax, byte [ebp - 0x11]
xor eax, 0x675b
cdq
mov ecx, dword [0x1005f0f0]
sub ecx, eax
mov eax, dword [0x1005f0f4]
sbb eax, edx
mov dword [0x1005f0f0], ecx
mov dword [0x1005f0f4], eax
mov eax, dword [ebp - 0x68]
cdq
add eax, dword [0x1005f140]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x340]
or eax, dword [ebp - 0x33c]
je 0x10032ca9
cmp dword [ebp - 0x340], 1
jne 0x10032ca4
cmp dword [ebp - 0x33c], 0
je 0x10032cef
jmp 0x10032d31
movzx ecx, byte [ebp - 0x12]
add ecx, 0x95
mov dword [0x1005f0e4], ecx
movzx edx, word [ebp - 0x2c]
movsx eax, byte [0x1005f0a5]
lea ecx, [eax + edx - 0x57]
mov byte [0x1005f0a5], cl
mov edx, dword [0x1005f0c8]
sub edx, 0xc4
mov eax, dword [0x1005f0cc]
sbb eax, 0
mov dword [0x1005f0c8], edx
mov dword [0x1005f0cc], eax
jmp 0x10032d31
mov dword [0x1005f0b4], 0x87a94953
mov ecx, dword [ebp - 0x44]
movsx edx, byte [ebp - 0x11]
lea eax, [edx + ecx + 0xf0]
mov byte [ebp - 0x11], al
movsx eax, byte [0x1005f0a5]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10032dd4
mov ecx, 0xae
test ecx, ecx
je 0x10032dd4
movsx edx, word [ebp - 0x28]
or edx, 0x7577
movsx eax, word [ebp - 0x28]
not eax
xor edx, eax
jne 0x10032d6b
xor ecx, ecx
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x38c], ecx
jmp 0x10032d76
xorps xmm0, xmm0
movlpd qword [ebp - 0x390], xmm0
movsx eax, word [ebp - 0x20]
not eax
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x7e2cbfd8
adc esi, 0xc151a
movsx eax, word [0x1005f0c0]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x38c]
push edx
mov eax, dword [ebp - 0x390]
push eax
push esi
push ecx
call fcn.1003a730
mov word [ebp - 0x2c], ax
movsx ecx, byte [ebp - 0x17]
movsx edx, word [ebp - 0x24]
lea eax, [edx + ecx + 0x6f3071c6]
mov word [ebp - 0x24], ax
mov cl, byte [str.a_StartIdle_]
mov byte [ebp - 0x14], cl
mov edx, dword [ebp - 0x88]
add edx, 0x885
mov dword [ebp - 0x90], edx
movsx eax, word [ebp - 0x1c]
add eax, 0x49
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
movzx eax, byte [ebp - 0x14]
add eax, 0xc1
mov dword [ebp - 0x5c], eax
movsx ecx, word [ebp - 0x1c]
movsx edx, byte [0x1005f013]
xor ecx, edx
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x528], ecx
mov dword [ebp - 0x524], esi
mov edx, dword [ebp - 0x528]
or edx, dword [ebp - 0x524]
jne 0x10032e50
mov dword [ebp - 0x16c], 1
jmp 0x10032e5a
mov dword [ebp - 0x16c], 0
imul eax, dword [ebp - 0x38], 0x36b9
sub eax, dword [ebp - 0x16c]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x88]
add ecx, 0x53c
mov dword [ebp - 0x1c4], ecx
mov edx, 8
imul ecx, edx, 0x22
mov eax, dword [0x1005f0a0]
cdq
mov esi, dword [ecx + 0x100e2a04]
push esi
mov ecx, dword [ecx + 0x100e2a00]
push ecx
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0a0], eax
mov eax, dword [ebp - 0x38]
not eax
mov edx, dword [ebp - 0x50]
add edx, dword [ebp - 0x38]
add eax, edx
cdq
mov ecx, eax
movsx eax, word [0x1005f0c0]
cdq
mov esi, eax
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0x818], eax
add esi, edx
movzx eax, word [0x1005f10c]
cdq
sub esi, eax
not esi
add ecx, esi
mov byte [ebp - 0x13], cl
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push eax
push edx
push ecx
call fcn.1003a730
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x468]
xor ecx, 0x2fb
cmp dword [ebp - 0x46c], ecx
je 0x10033f59
mov eax, dword [ebp - 0x50]
cdq
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
mov edx, dword [ebp - 0x530]
cmp edx, dword [0x1005f0c8]
jne 0x10032f4e
mov eax, dword [ebp - 0x52c]
cmp eax, dword [0x1005f0cc]
jne 0x10032f4e
mov dword [ebp - 0x170], 1
jmp 0x10032f58
mov dword [ebp - 0x170], 0
cmp dword [ebp - 0x50], 0x2d
jne 0x10032f6a
mov dword [ebp - 0x174], 1
jmp 0x10032f74
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x174]
jne 0x10032ffe
movzx edx, byte [ebp - 0x12]
movsx eax, byte [0x1005f076]
add edx, eax
movzx ecx, byte [ebp - 0x12]
sub ecx, edx
mov byte [ebp - 0x12], cl
movsx edx, byte [0x1005f09e]
movzx eax, word [0x1005f138]
sub edx, eax
movsx ecx, byte [0x1005f09e]
sub ecx, edx
mov byte [0x1005f09e], cl
movzx edx, word [ebp - 0x2c]
mov dword [ebp - 0x44], edx
movsx eax, byte [ebp - 0x11]
test eax, eax
je 0x10032fda
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], edx
jmp 0x10032fec
mov eax, dword [0x1005f0a0]
cdq
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], edx
mov ax, word [ebp - 0x398]
mov word [0x1005f10c], ax
jmp 0x100331d9
mov ecx, dword [0x1005f130]
or ecx, dword [0x1005f134]
je 0x100330b3
movsx edx, word [0x1005f0e0]
imul eax, edx, 0xb3dac378
mov byte [str.a_StartIdle_], al
mov cl, byte [0x1005fc3c]
mov byte [ebp - 0x12], cl
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
add edx, dword [0x1005f0a8]
adc eax, dword [0x1005f0ac]
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
push 0
push 0xfdc477a4
mov ecx, dword [0x1005f0f4]
push ecx
mov edx, dword [0x1005f0f0]
push edx
call fcn.1003a730
mov ecx, eax
movsx eax, byte [0x1005f04f]
cdq
and eax, ecx
mov byte [0x1005f04f], al
movsx edx, word [ebp - 0x20]
movsx eax, byte [ebp - 0x11]
imul edx, eax
movzx ecx, word [0x1005f158]
or edx, ecx
movsx eax, byte [ebp - 0x11]
movsx ecx, byte [ebp - 0x15]
add ecx, 0x1065
sub eax, ecx
add edx, eax
mov byte [ebp - 0x15], dl
movsx edx, word [ebp - 0x20]
add edx, dword [0x1005f0a0]
mov byte [ebp - 0x17], dl
jmp 0x100331d9
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], ecx
cmp dword [ebp - 0x538], 0
jne 0x100330e8
cmp dword [ebp - 0x534], 0
jne 0x100330e8
mov dword [ebp - 0x178], 1
jmp 0x100330f2
mov dword [ebp - 0x178], 0
movsx edx, byte [ebp - 0x17]
test edx, edx
jne 0x10033106
mov dword [ebp - 0x17c], 1
jmp 0x10033110
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x178]
cmp eax, dword [ebp - 0x17c]
jge 0x10033167
mov ecx, dword [0x1005f0b8]
sub ecx, 0xfd60
mov word [0x1005f0c0], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movzx ecx, byte [ebp - 0x12]
imul edx, ecx, 0xb39b7906
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x100331d9
movzx edx, word [ebp - 0x2c]
test edx, edx
jne 0x10033181
mov eax, dword [0x1005f100]
not eax
movsx ecx, word [ebp - 0x1c]
imul eax, ecx
test eax, eax
je 0x100331d9
mov dx, word [0x1005f114]
sub dx, 1
mov word [0x1005f114], dx
movzx eax, word [0x1005f158]
add eax, dword [0x1005f0d0]
or eax, dword [0x1005f0d0]
mov dword [0x1005f0d0], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x81c], edx
mov dword [ebp - 0x44], ecx
mov byte [str._CpuC3StatesChanges], 0xf3
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x820], ecx
sub eax, 0x31
mov word [ebp - 0x1c], ax
call fcn.10007210
movzx edx, al
test edx, edx
jne 0x10033f59
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x50]
cmp eax, dword [0x1005f100]
jne 0x100333f0
cmp dword [ebp - 0x5c], 0
jne 0x10033211
mov dword [ebp - 0x180], 1
jmp 0x1003321b
mov dword [ebp - 0x180], 0
movsx eax, word [ebp - 0x24]
xor eax, dword [ebp - 0x180]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x1005f0ec]
cdq
add eax, dword [0x1005f130]
adc edx, dword [0x1005f134]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], edx
mov edx, dword [ebp - 0x540]
or edx, dword [ebp - 0x53c]
jne 0x10033275
xor eax, eax
mov dword [ebp - 0x3a0], 1
mov dword [ebp - 0x39c], eax
jmp 0x10033280
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a0], xmm0
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [ebp - 0x39c]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
add eax, 0x2fdd
adc ecx, 0
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
cmp dword [0x1005f0b0], 0
jne 0x100332c0
mov dword [ebp - 0x184], 1
jmp 0x100332ca
mov dword [ebp - 0x184], 0
movsx edx, byte [0x1005f077]
test edx, edx
jne 0x100332e9
xor eax, eax
mov dword [ebp - 0x3a8], 1
mov dword [ebp - 0x3a4], eax
jmp 0x100332f4
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a8], xmm0
mov ecx, dword [ebp - 0x3a4]
push ecx
mov edx, dword [ebp - 0x3a8]
push edx
mov eax, dword [0x1005f0dc]
push eax
mov ecx, dword [0x1005f0d8]
push ecx
call fcn.1003a730
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], edx
mov edx, dword [ebp - 0x548]
or edx, dword [ebp - 0x544]
jne 0x10033342
xor eax, eax
mov dword [ebp - 0x3b0], 1
mov dword [ebp - 0x3ac], eax
jmp 0x1003334d
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b0], xmm0
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x6c]
movzx eax, byte [str.a_StartIdle_]
not eax
sub eax, dword [ebp - 0x184]
cdq
xor esi, eax
xor edi, edx
movsx eax, word [0x1005f110]
cdq
mov ecx, dword [ebp - 0x60]
sub eax, dword [ebp - 0x64]
sbb edx, ecx
not eax
not edx
push edx
push eax
mov edx, dword [ebp - 0x3ac]
push edx
mov eax, dword [ebp - 0x3b0]
push eax
call fcn.1003a730
xor esi, eax
xor edi, edx
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], edi
movsx ecx, byte [0x1005f0a5]
imul ecx, dword [ebp - 0x50]
and ecx, 0xc6
mov word [ebp - 0x1c], cx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x100333cb
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], ecx
jmp 0x100333dc
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x348]
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
jmp 0x1003345d
movzx ecx, byte [0x1005f09f]
test ecx, ecx
je 0x1003345d
mov eax, dword [ebp - 0x68]
cdq
push 0xed0ff
push 0x9b15bad7
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x17], al
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x74], edx
mov dword [0x1005f0a0], 0x5d
mov eax, dword [ebp - 0x4c]
add eax, 0x44f5759e
mov ecx, dword [ebp - 0x48]
adc ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movzx edx, word [ebp - 0x2c]
imul eax, edx, 0x533d
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x14]
mov ecx, 4
imul edx, ecx, 0x49
mov dword [edx + 0x10103b20], eax
jmp 0x100334ca
mov dword [ebp - 4], 0xffffffff
jmp 0x100334da
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], edx
mov eax, dword [0x1005f0ac]
cmp eax, dword [ebp - 0x54c]
ja 0x10033514
jb 0x10033508
mov ecx, dword [0x1005f0a8]
cmp ecx, dword [ebp - 0x550]
ja 0x10033514
mov dword [ebp - 0x188], 1
jmp 0x1003351e
mov dword [ebp - 0x188], 0
cmp dword [0x1005f0ac], 0
ja 0x1003353e
jb 0x10033532
cmp dword [0x1005f0a8], 0x2b
ja 0x1003353e
mov dword [ebp - 0x18c], 1
jmp 0x10033548
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x18c]
jg 0x10033946
mov dword [0x1005f0b0], 4
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x828], edx
add eax, ecx
mov word [ebp - 0x28], ax
movsx eax, word [0x1005f110]
imul ecx, eax, 0x51b9
movsx edx, byte [0x1005f0a5]
add ecx, dword [ebp - 0x68]
add edx, ecx
movsx eax, word [ebp - 0x28]
not eax
imul eax, dword [ebp - 0x68]
xor edx, eax
mov dword [0x1005f0b4], edx
movzx ecx, byte [str.a_StartIdle_]
test ecx, ecx
je 0x100335c0
movzx edx, byte [str.a_StartIdle_]
mov dword [ebp - 0x190], edx
jmp 0x100335cd
movzx eax, word [0x1005f10c]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movsx eax, byte [ebp - 0x17]
cdq
add eax, 0xc9edbc39
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1005f140]
add ecx, 0xace
mov byte [0x1005f03b], cl
movsx edx, word [ebp - 0x24]
test edx, edx
jne 0x10033612
mov dword [ebp - 0x194], 1
jmp 0x1003361c
mov dword [ebp - 0x194], 0
movsx eax, byte [0x1005f077]
mov ecx, 0xa3
sub ecx, eax
add ecx, 0x1d
sub ecx, dword [ebp - 0x194]
mov eax, ecx
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov edx, dword [0x1005f0b0]
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 4
ja case.default.0x1003365b
mov eax, dword [ebp - 0x198]
jmp dword [eax*4 + 0x10038880]
mov cl, byte [0x1005fc3c]
mov byte [ebp - 0x12], cl
movsx edx, byte [ebp - 0x11]
imul eax, edx, 0x95c7
mov byte [ebp - 0x13], al
movsx eax, word [0x1005f110]
cdq
xor eax, 0x1ccac9bb
xor edx, 0x3599e
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx ecx, byte [0x1005f03b]
movzx edx, byte [str.a_StartIdle_]
imul ecx, edx
movsx eax, byte [0x1005f03b]
sub eax, ecx
mov byte [0x1005f03b], al
movsx eax, word [0x1005f108]
movzx ecx, byte [ebp - 0x12]
sub eax, ecx
cdq
mov ebx, eax
movsx eax, byte [0x1005f04f]
not eax
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
push esi
push ecx
push edx
push eax
call fcn.1003a730
not eax
sub ebx, eax
mov byte [str._CpuC3StatesChanges], bl
mov dx, word [ebp - 0x20]
sub dx, 1
mov word [ebp - 0x20], dx
jmp case.default.0x1003365b
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0x82f97fed
mov byte [str._CpuC3StatesChanges], cl
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, 8
shl ecx, 0
mov dword [ecx + 0x10148db0], eax
mov dword [ecx + 0x10148db4], edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x830], eax
sub edx, ecx
xor edx, 0x8650c84c
mov word [ebp - 0x24], dx
movsx eax, byte [0x1005f03b]
movsx ecx, byte [ebp - 0x11]
not ecx
sub eax, ecx
movsx edx, word [ebp - 0x24]
movsx ecx, word [0x1005f0e0]
xor edx, ecx
add eax, edx
cdq
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
mov esi, eax
sub esi, 0x111d149d
movzx eax, word [0x1005f10c]
movzx edx, byte [ebp - 0x14]
xor eax, edx
cdq
add esi, eax
add ecx, esi
mov word [ebp - 0x24], cx
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x1005f10c]
not ecx
or eax, ecx
movzx edx, byte [str.a_StartIdle_]
lea eax, [eax + edx + 0x22f9]
mov byte [ebp - 0x12], al
mov ecx, dword [0x1005f0d8]
sub ecx, 1
mov edx, dword [0x1005f0dc]
sbb edx, 0
mov dword [0x1005f0d8], ecx
mov dword [0x1005f0dc], edx
jmp case.default.0x1003365b
movzx eax, word [0x1005f10c]
not eax
mov byte [0x1005f0a5], al
movsx ecx, word [0x1005f108]
imul ecx, dword [ebp - 0x38]
movsx edx, word [0x1005f108]
sub edx, ecx
mov word [0x1005f108], dx
movsx eax, byte [ebp - 0x16]
add eax, 0x75e3f32e
mov byte [ebp - 0x17], al
jmp case.default.0x1003365b
push 0
push 0x3083
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov word [0x1005f108], ax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
push 0
push 0xb41c228e
push ecx
push eax
call fcn.1003a730
mov dword [0x1005f0b4], eax
cmp dword [0x1005f0a0], 0
je 0x1003384c
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x7a], dl
jmp 0x10033854
mov al, byte [0x1005f09f]
mov byte [ebp - 0x7a], al
movzx eax, byte [ebp - 0x7a]
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov ecx, dword [0x1005f0b0]
add ecx, dword [0x1005f0d0]
mov dword [0x1005f0b0], ecx
mov edx, dword [0x1005f0b4]
and edx, 0xe4bff4bb
mov word [ebp - 0x24], dx
movzx eax, byte [str.a_StartIdle_]
sub eax, 0x21b1d69a
mov dword [ebp - 0x38], eax
jmp case.default.0x1003365b
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x100338b1
movzx edx, word [0x1005f0ec]
mov dword [ebp - 0x19c], edx
jmp 0x100338be
movsx eax, byte [0x1005f077]
mov dword [ebp - 0x19c], eax
mov cx, word [ebp - 0x19c]
mov word [ebp - 0x28], cx
xor edx, edx
mov dword [ebp - 0x4c], 0x90b33a2
mov dword [ebp - 0x48], edx
mov eax, dword [0x1005f100]
add eax, 1
mov dword [0x1005f100], eax
mov ecx, dword [0x1005f100]
xor edx, edx
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push ecx
push esi
push eax
call fcn.1003a730
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], edx
mov ecx, dword [ebp - 0x558]
or ecx, dword [ebp - 0x554]
jne 0x1003391f
mov dword [ebp - 0x1a0], 1
jmp 0x10033929
mov dword [ebp - 0x1a0], 0
movsx eax, word [0x1005f114]
imul eax, dword [ebp - 0x68]
add eax, dword [ebp - 0x1a0]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100339da
movsx eax, byte [ebp - 0x13]
sub eax, 0x95
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
add eax, ecx
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x68]
imul edx, dword [ebp - 0x5c]
imul edx, dword [ebp - 0x68]
mov dword [ebp - 0x68], edx
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
mov dword [ebp - 0x834], ecx
mov edx, 1
imul ecx, edx, 0x4b
mov byte [ecx + 0x101b8ae0], al
movzx edx, byte [ebp - 0x12]
add edx, dword [0x1005f104]
mov dword [0x1005f104], edx
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x8c], eax
movsx eax, byte [0x1005f077]
not eax
movsx ecx, word [0x1005f0c0]
and ecx, dword [ebp - 0x5c]
imul eax, ecx
movsx edx, word [0x1005f15c]
sub edx, dword [ebp - 0x5c]
movsx ecx, byte [ebp - 0x15]
mov esi, dword [0x1005f0e4]
add esi, ecx
imul edx, esi
and eax, edx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [0x1005f0a4]
cdq
sub eax, 0xc3f70726
mov dword [ebp - 0x44], eax
movzx eax, word [0x1005f138]
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov edx, 0x459
mov word [0x1005f158], dx
movsx eax, byte [ebp - 0x11]
and eax, 0xaa
mov word [0x1005f114], ax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x6ed
mov dword [ebp - 0x838], ecx
mov eax, dword [ebp - 0x50]
cdq
add eax, 0xa0c247eb
adc edx, 0x5b7c4
mov ecx, dword [0x1005f150]
sub ecx, eax
mov eax, dword [0x1005f154]
sbb eax, edx
mov dword [0x1005f150], ecx
mov dword [0x1005f154], eax
movsx ecx, byte [0x1005f0a5]
test ecx, ecx
je 0x10033ab7
movsx eax, word [0x1005f0c0]
cdq
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
jmp 0x10033ace
mov edx, dword [0x1005f0c8]
mov eax, dword [0x1005f0cc]
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x38], ecx
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x8c]
add eax, 0x563
mov dword [ebp - 0x1ac], eax
mov ecx, dword [0x1005f150]
or ecx, dword [0x1005f154]
je 0x10033d34
movsx eax, byte [str._CpuC3StatesChanges]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], edx
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], esi
mov edx, dword [ebp - 0x560]
cmp edx, dword [ebp - 0x568]
jne 0x10033b46
mov eax, dword [ebp - 0x55c]
cmp eax, dword [ebp - 0x564]
je 0x10033cab
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
mov ecx, dword [0x1005f0b8]
cmp ecx, dword [ebp - 0x570]
jne 0x10033b73
mov edx, dword [0x1005f0bc]
cmp edx, dword [ebp - 0x56c]
je 0x10033b7f
mov dword [ebp - 0x1a4], 1
jmp 0x10033b89
mov dword [ebp - 0x1a4], 0
cmp dword [0x1005f0b8], 0x4f
jne 0x10033b9b
cmp dword [0x1005f0bc], 0
je 0x10033ba7
mov dword [ebp - 0x1a8], 1
jmp 0x10033bb1
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x1a8]
jge 0x10033c5f
mov ecx, dword [0x1005f0a0]
sar ecx, 8
mov word [ebp - 0x20], cx
mov edx, dword [0x1005fc3c]
xor eax, eax
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
movsx eax, word [ebp - 0x28]
cdq
push edx
push eax
mov ecx, dword [0x1005f0ac]
push ecx
mov edx, dword [0x1005f0a8]
push edx
call fcn.1003a730
add eax, dword [0x1005f0a8]
adc edx, dword [0x1005f0ac]
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
xor eax, eax
mov ecx, dword [0x1005f0f0]
sub ecx, dword [0x1005f0b0]
mov edx, dword [0x1005f0f4]
sbb edx, eax
mov dword [0x1005f0f0], ecx
mov dword [0x1005f0f4], edx
movzx eax, word [0x1005f138]
sub eax, 0x77
mov dword [0x1005f104], eax
movzx ecx, byte [ebp - 0x14]
mov edx, dword [0x1005f0b0]
sub edx, ecx
mov eax, dword [0x1005f0b0]
add eax, edx
mov dword [0x1005f0b0], eax
jmp 0x10033ca6
movsx ecx, byte [ebp - 0x15]
not ecx
mov dword [ebp - 0x74], ecx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x83c], eax
sub ecx, edx
movsx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
movsx ecx, word [ebp - 0x28]
add ecx, 0x6e709c40
mov byte [0x1005f0a4], cl
movsx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
jmp 0x10033d32
mov ecx, dword [0x1005f104]
xor edx, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [0x1005f0b4]
add eax, dword [ebp - 0x68]
movsx ecx, byte [0x1005f076]
not ecx
imul ecx, dword [ebp - 0x5c]
not ecx
imul eax, ecx
movzx edx, word [0x1005f128]
not edx
movsx ecx, byte [0x1005f013]
add edx, ecx
movsx ecx, byte [ebp - 0x11]
sub edx, ecx
add eax, edx
mov dword [0x1005f0b0], eax
movsx edx, byte [ebp - 0x11]
add edx, 0xa7
mov byte [0x1005f04f], dl
mov eax, dword [ebp - 0x5c]
sub eax, 0x5e86
mov byte [ebp - 0x12], al
mov ecx, dword [0x1005f0f0]
add ecx, 0xbb
mov byte [ebp - 0x14], cl
movsx edx, byte [0x1005f076]
movsx eax, byte [0x1005f04f]
add edx, eax
mov byte [0x1005f076], dl
jmp 0x10033d9f
cmp dword [ebp - 0x5c], 0
je 0x10033d9f
mov eax, dword [0x1005f150]
mov edx, dword [0x1005f154]
mov cl, 8
call fcn.1003a770
mov dword [0x1005f0a0], eax
movzx ecx, word [0x1005f148]
add ecx, 0x34837a85
mov byte [ebp - 0x17], cl
mov edx, 8
imul eax, edx, 0x2d
mov ecx, dword [eax + 0x10075828]
mov edx, dword [eax + 0x1007582c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 0x14]
sar eax, 5
mov byte [str.a_StartIdle_], al
mov cl, byte [0x1005f128]
mov byte [ebp - 0x16], cl
mov edx, dword [0x1005f0b4]
sub edx, 0x78
mov byte [0x1005f09f], dl
mov eax, dword [ebp - 0x8c]
add eax, 0x743
mov dword [ebp - 0x1b0], eax
mov ecx, 4
mov word [0x1005f10c], cx
movzx eax, word [ebp - 0x2c]
cdq
push 0xd8fdb
push 0x234ab9b9
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
mov edx, dword [0x1005f150]
add edx, 0xf1
mov eax, dword [0x1005f154]
adc eax, 0
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
movsx ecx, byte [ebp - 0x17]
test ecx, ecx
jne 0x10033e0b
xor edx, edx
mov dword [ebp - 0x578], 1
mov dword [ebp - 0x574], edx
jmp 0x10033e16
xorps xmm0, xmm0
movlpd qword [ebp - 0x578], xmm0
mov ecx, dword [0x1005f0a8]
not ecx
add ecx, dword [ebp - 0x578]
movzx eax, word [0x1005f10c]
cdq
add ecx, eax
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x1ac]
sub edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1b0]
and eax, dword [ebp - 0x1b0]
or edx, eax
cmp edx, 0xa0
je 0x10033f59
push 0
push 0xb
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx eax, byte [ebp - 0x13]
sar eax, 7
mov byte [ebp - 0x17], al
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10033e92
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x1b4], edx
jmp 0x10033e9f
movsx eax, byte [0x1005f09e]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, word [0x1005f108]
add ecx, dword [ebp - 0x74]
mov word [0x1005f108], cx
movzx edx, word [0x1005f0ec]
add edx, dword [0x1005f100]
add edx, dword [0x1005f0b4]
mov byte [0x1005f04f], dl
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x840], ecx
mov dword [ebp - 0x74], eax
mov edx, 4
mov word [ebp - 0x28], dx
cmp dword [ebp - 0x44], 0
jne 0x10033f08
xor eax, eax
mov dword [ebp - 0x580], 1
mov dword [ebp - 0x57c], eax
jmp 0x10033f13
xorps xmm0, xmm0
movlpd qword [ebp - 0x580], xmm0
movsx eax, byte [str._CpuC3StatesChanges]
movsx ecx, byte [ebp - 0x15]
xor eax, ecx
cdq
mov edx, dword [ebp - 0x580]
xor edx, dword [0x1005f0b8]
sub eax, edx
mov byte [0x1005f076], al
mov eax, dword [ebp - 0x38]
cdq
add eax, 0xc6b0375b
mov byte [ebp - 0x17], al
movsx eax, word [ebp - 0x24]
movsx ecx, byte [ebp - 0x11]
imul eax, ecx
mov word [ebp - 0x24], ax
mov eax, 1
jmp 0x1003886c
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x50]
je 0x10033f6d
mov dword [ebp - 0x1b8], 1
jmp 0x10033f77
mov dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x38], 0x25
je 0x10033f89
mov dword [ebp - 0x1bc], 1
jmp 0x10033f93
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
jg 0x10033ffe
mov ecx, dword [str.Starting_2225_Tone]
mov dword [ebp - 0x768], ecx
mov edx, dword [0x1004d630]
mov dword [ebp - 0x764], edx
mov eax, dword [0x1004d634]
mov dword [ebp - 0x760], eax
mov ecx, dword [0x1004d638]
mov dword [ebp - 0x75c], ecx
mov dx, word [0x1004d63c]
mov word [ebp - 0x758], dx
mov al, byte [0x1004d63e]
mov byte [ebp - 0x756], al
lea ecx, [ebp - 0x768]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 0x16], al
jmp 0x10034176
movzx edx, word [0x1005f148]
test edx, edx
je 0x10034066
mov eax, 0x4db9
mov word [0x1005f158], ax
mov eax, dword [0x1005f0d0]
add eax, 0x8f
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
mov ecx, dword [ebp - 0x50]
not ecx
mov byte [ebp - 0x16], cl
movsx edx, byte [ebp - 0x13]
imul eax, edx, 0x116d
mov dword [ebp - 0x38], eax
movsx ecx, byte [ebp - 0x15]
xor ecx, 0x6f
mov dword [ebp - 0x68], ecx
mov edx, dword [0x1005f0a0]
add edx, dword [0x1005f100]
mov eax, dword [0x1005f0a0]
sub eax, edx
mov dword [0x1005f0a0], eax
jmp 0x10034176
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x588], ecx
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x588]
or eax, dword [ebp - 0x584]
jne 0x100340f2
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x5c], eax
movzx eax, byte [ebp - 0x12]
sar eax, 6
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0xefb07668
mov byte [0x1005f076], al
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
push 0
push 0x1ff1a8bb
push eax
push edx
call fcn.1003a730
mov ecx, eax
movsx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
mov dl, byte [0x1005f10c]
mov byte [ebp - 0x14], dl
jmp 0x10034176
mov eax, 0x54bae92c
or eax, 0xe28aa
je 0x10034176
mov ecx, 0x7fdf
mov word [ebp - 0x24], cx
movsx edx, byte [ebp - 0x13]
imul edx, dword [0x1005f0e8]
imul edx, dword [0x1005f0e8]
mov dword [0x1005f0e8], edx
movsx eax, byte [0x1005f03b]
test eax, eax
je 0x10034139
movsx ecx, word [0x1005f0e0]
mov dword [ebp - 0x1c0], ecx
jmp 0x10034142
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x1c0]
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movzx eax, word [0x1005f128]
mov ecx, dword [0x1005f104]
xor ecx, dword [0x1005f104]
sub eax, ecx
xor edx, edx
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1c4]
add ecx, dword [ebp - 0x90]
sub eax, ecx
mov edx, dword [ebp - 0x1c4]
sub edx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c8]
add ecx, edx
cmp eax, ecx
je 0x100387d0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x590], edx
mov dword [ebp - 0x58c], eax
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x590]
jne 0x100341d4
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x58c]
je 0x100341e0
mov dword [ebp - 0x1cc], 1
jmp 0x100341ea
mov dword [ebp - 0x1cc], 0
cmp dword [ebp - 0x4c], 0x54
jne 0x100341f6
cmp dword [ebp - 0x48], 0
je 0x10034202
mov dword [ebp - 0x1d0], 1
jmp 0x1003420c
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x1d0]
jne 0x1003421f
jmp 0x100342c2
movsx ecx, byte [0x1005f076]
not ecx
sub ecx, dword [ebp - 0x5c]
je 0x100342c2
movsx eax, word [0x1005f0c0]
shl eax, 2
cdq
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
movsx eax, byte [ebp - 0x13]
movsx edx, word [0x1005f15c]
add eax, edx
cdq
xor eax, dword [0x1005f140]
xor edx, dword [0x1005f144]
not eax
not edx
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
movsx eax, word [ebp - 0x1c]
mov ecx, dword [0x1005f0e8]
sub ecx, eax
mov dword [0x1005f0e8], ecx
movsx eax, word [0x1005f0c0]
not eax
movzx edx, word [0x1005f138]
imul eax, edx
cdq
mov ecx, dword [0x1005f0b0]
xor esi, esi
mov edi, dword [0x1005f164]
add ecx, dword [0x1005f160]
adc esi, edi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
xor edx, edx
mov dword [ebp - 0x64], 0x3c0f
mov dword [ebp - 0x60], edx
call fcn.100299e0
test eax, eax
je 0x1003506e
mov dword [ebp - 0x94], 0xd26
movzx eax, byte [ebp - 0x12]
movsx ecx, byte [ebp - 0x15]
sub eax, ecx
mov byte [ebp - 0x12], al
movzx edx, word [0x1005f0ec]
movsx eax, word [0x1005f114]
sub edx, eax
movzx ecx, word [0x1005f0ec]
add ecx, edx
mov word [0x1005f0ec], cx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x594], eax
mov ecx, dword [ebp - 0x598]
or ecx, dword [ebp - 0x594]
jne 0x10034337
mov dword [ebp - 0x1d4], 1
jmp 0x10034341
mov dword [ebp - 0x1d4], 0
movsx edx, word [0x1005f0c0]
add edx, dword [ebp - 0x1d4]
movsx eax, byte [ebp - 0x15]
xor eax, dword [0x1005f0b4]
add edx, eax
jne 0x10034370
xor ecx, ecx
mov dword [ebp - 0x3c0], 1
mov dword [ebp - 0x3bc], ecx
jmp 0x1003437b
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c0], xmm0
mov edx, dword [0x1005f0b0]
xor eax, eax
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
push eax
push edx
push esi
push ecx
call fcn.1003a730
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x2c]
cdq
add ecx, eax
adc esi, edx
add ecx, dword [ebp - 0x3c0]
adc esi, dword [ebp - 0x3bc]
not ecx
not esi
mov dword [0x1005f130], ecx
mov dword [0x1005f134], esi
push 0
push 0x87
mov edx, dword [0x1005f0dc]
push edx
mov eax, dword [0x1005f0d8]
push eax
call fcn.1003a730
mov byte [0x1005f013], al
mov ecx, dword [ebp - 0x38]
not ecx
mov byte [0x1005f013], cl
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1005f0b8]
sub ecx, eax
mov eax, dword [0x1005f0bc]
sbb eax, edx
mov dword [0x1005f0b8], ecx
mov dword [0x1005f0bc], eax
cmp dword [ebp - 0x94], 0xc9a
jle 0x10034472
movsx eax, byte [0x1005f03b]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movsx ecx, word [ebp - 0x20]
mov edx, dword [0x1005f100]
sub edx, ecx
mov dword [0x1005f100], edx
movsx eax, byte [0x1005f013]
cdq
mov ecx, eax
xor ecx, dword [0x1005f0b8]
movsx eax, byte [0x1005f013]
cdq
sub eax, ecx
mov byte [0x1005f013], al
mov edx, dword [ebp - 0x94]
sub edx, 1
mov dword [ebp - 0x94], edx
jmp 0x10034402
mov dword [ebp - 0x98], 0x299
jmp 0x1003448d
mov eax, dword [ebp - 0x98]
sub eax, 1
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
jle 0x10034528
movzx ecx, word [ebp - 0x2c]
movsx edx, word [ebp - 0x1c]
cmp ecx, edx
jl 0x100344b2
mov dword [ebp - 0x1d8], 1
jmp 0x100344bc
mov dword [ebp - 0x1d8], 0
movzx eax, word [ebp - 0x2c]
cmp eax, 0x49
jl 0x100344d1
mov dword [ebp - 0x1dc], 1
jmp 0x100344db
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x1dc]
jl 0x100344eb
jmp 0x10034514
mov dl, byte [0x1005f0a5]
mov byte [str._CpuC3StatesChanges], dl
movsx eax, word [ebp - 0x1c]
mov ecx, 0x99
sub ecx, eax
mov eax, ecx
cdq
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
mov byte [ebp - 0x16], 0x4f
mov edx, dword [0x1005f100]
add edx, 1
mov dword [0x1005f100], edx
jmp 0x1003447e
call fcn.10010fb0
test eax, eax
jne 0x10035069
mov ecx, dword [0x1005f0f8]
add ecx, 0xf3de7c49
movsx eax, byte [0x1005f013]
cdq
sub eax, ecx
mov byte [0x1005f013], al
mov edx, dword [0x1005fc3c]
mov dword [0x1005f0a0], edx
mov eax, dword [0x1005f130]
add eax, 0xe0
mov word [0x1005f114], ax
movsx ecx, byte [0x1005f0a5]
movsx edx, byte [0x1005f0a5]
imul ecx, edx
mov byte [0x1005f0a5], cl
movsx eax, byte [0x1005f09e]
movsx ecx, word [0x1005f108]
and eax, ecx
mov byte [0x1005f09e], al
movsx edx, byte [ebp - 0x15]
imul eax, edx, 0x2c40b34b
mov byte [ebp - 0x13], al
movzx eax, word [ebp - 0x2c]
add eax, dword [ebp - 0x50]
cdq
mov ecx, eax
movsx eax, byte [ebp - 0x16]
cdq
xor eax, dword [0x1005f0f0]
and ecx, eax
mov word [0x1005f0e0], cx
mov dword [ebp - 0x44], 0x16b5
movzx edx, word [0x1005f0ec]
movsx eax, byte [ebp - 0x11]
sub edx, eax
mov word [0x1005f0ec], dx
mov ecx, dword [0x1005fc3c]
mov dword [ebp - 0xa0], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x100345fe
mov dword [ebp - 0x1e0], 1
jmp 0x10034608
mov dword [ebp - 0x1e0], 0
movsx eax, word [ebp - 0x20]
cmp eax, dword [ebp - 0x1e0]
jl 0x10034620
mov dword [ebp - 0x1ec], 1
jmp 0x1003462a
mov dword [ebp - 0x1ec], 0
movzx ecx, word [0x1005f128]
cmp ecx, 0x5b
jl 0x10034642
mov dword [ebp - 0x1e4], 1
jmp 0x1003464c
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x74], 0
jne 0x10034668
movzx edx, byte [ebp - 0x14]
not edx
test edx, edx
jne 0x10034668
mov dword [ebp - 0x1e8], 0
jmp 0x10034672
mov dword [ebp - 0x1e8], 1
mov eax, dword [ebp - 0x1e4]
imul eax, dword [ebp - 0x1e8]
cmp dword [ebp - 0x1ec], eax
jg 0x10034739
mov ecx, 2
mov word [ebp - 0x20], cx
movsx edx, byte [ebp - 0x16]
add edx, dword [ebp - 0x50]
jne 0x100346a9
mov dword [ebp - 0x1f0], 1
jmp 0x100346b3
mov dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x74], 0
jne 0x100346c5
mov dword [ebp - 0x1f4], 1
jmp 0x100346cf
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f0]
sub eax, dword [ebp - 0x1f4]
jne 0x100346f1
xor ecx, ecx
mov dword [ebp - 0x5a0], 1
mov dword [ebp - 0x59c], ecx
jmp 0x100346fc
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a0], xmm0
movzx eax, byte [ebp - 0x12]
not eax
cdq
mov ecx, eax
add ecx, 0x7baaccd1
movsx edx, byte [0x1005f04f]
mov eax, dword [ebp - 0x50]
sub eax, edx
cdq
add ecx, eax
and ecx, dword [ebp - 0x5a0]
mov word [0x1005f128], cx
movzx eax, byte [ebp - 0x14]
mov ecx, dword [0x1005f0e4]
add ecx, eax
mov dword [0x1005f0e4], ecx
mov edx, dword [ebp - 0xa0]
add edx, 0x86c
mov dword [ebp - 0x844], edx
mov dword [ebp - 0x9c], 0x1108
movsx eax, word [ebp - 0x20]
movsx ecx, byte [0x1005f077]
imul eax, ecx
movsx edx, word [ebp - 0x20]
sub edx, eax
mov word [ebp - 0x20], dx
movzx eax, byte [ebp - 0x14]
test eax, eax
jne 0x10034789
xor ecx, ecx
mov dword [ebp - 0x5a8], 1
mov dword [ebp - 0x5a4], ecx
jmp 0x10034794
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a8], xmm0
mov ecx, 0x30c197c2
sub ecx, dword [ebp - 0x5a8]
movzx eax, byte [0x1005f0a4]
not eax
cdq
sub ecx, eax
mov word [0x1005f10c], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, 1
adc eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movsx eax, byte [0x1005f09e]
add eax, 0xdf
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
cmp dword [ebp - 0x9c], 0xffb
jle 0x10034b2a
mov ecx, dword [0x1005f0b8]
or ecx, dword [0x1005f0bc]
je 0x10034ad6
movzx edx, byte [ebp - 0x12]
cmp edx, dword [0x1005f0b4]
jb 0x10034a60
movsx eax, byte [0x1005f077]
test eax, eax
je 0x10034981
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], edx
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 0x5b4], esi
mov edx, dword [ebp - 0x5ac]
cmp edx, dword [ebp - 0x5b4]
jg 0x10034873
jl 0x10034867
mov eax, dword [ebp - 0x5b0]
cmp eax, dword [ebp - 0x5b8]
ja 0x10034873
mov dword [ebp - 0x1f8], 1
jmp 0x1003487d
mov dword [ebp - 0x1f8], 0
movsx ecx, word [0x1005f108]
cmp ecx, 0x31
jg 0x10034895
mov dword [ebp - 0x1fc], 1
jmp 0x1003489f
mov dword [ebp - 0x1fc], 0
mov edx, dword [ebp - 0x1f8]
cmp edx, dword [ebp - 0x1fc]
jle 0x100348f0
movsx eax, byte [ebp - 0x11]
sub eax, dword [ebp - 0x5c]
mov byte [ebp - 0x11], al
push 0
push 0x37c955eb
mov ecx, dword [0x1005f0ac]
push ecx
mov edx, dword [0x1005f0a8]
push edx
call fcn.1003a730
mov byte [0x1005f0a4], al
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x848], ecx
and eax, 0x30f64aac
mov word [ebp - 0x1c], ax
jmp 0x1003497c
mov edx, dword [0x1005f140]
or edx, dword [0x1005f144]
je 0x1003497c
movzx eax, word [0x1005f128]
add eax, 0x67ba
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov eax, dword [0x1005f0e8]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov dl, byte [ebp - 0x11]
mov byte [str.a_StartIdle_], dl
movsx eax, word [0x1005f0e0]
sar eax, 1
mov dword [ebp - 0x68], eax
mov cl, byte [0x1005f076]
add cl, 1
mov byte [0x1005f076], cl
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1005f0dc]
push ecx
mov ecx, dword [0x1005f0d8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x10034a5e
movsx eax, byte [ebp - 0x17]
cdq
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], edx
cmp dword [ebp - 0x5bc], 0xfff9c02f
jg 0x100349b8
jl 0x100349ac
cmp dword [ebp - 0x5c0], 0xfa200797
ja 0x100349b8
mov dword [ebp - 0x200], 1
jmp 0x100349c2
mov dword [ebp - 0x200], 0
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x100349d6
mov dword [ebp - 0x204], 1
jmp 0x100349e0
mov dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0x204]
jg 0x10034a5e
movzx ecx, byte [ebp - 0x14]
mov dword [0x1005f0d0], ecx
movsx edx, byte [ebp - 0x16]
movsx eax, word [0x1005f0c0]
sub edx, eax
mov byte [ebp - 0x16], dl
mov ecx, dword [ebp - 0x44]
imul ecx, dword [ebp - 0x5c]
test ecx, ecx
jne 0x10034a1f
mov dword [ebp - 0x208], 1
jmp 0x10034a29
mov dword [ebp - 0x208], 0
mov edx, dword [0x1005f0d0]
add edx, dword [ebp - 0x38]
mov eax, dword [0x1005f0a0]
xor eax, 2
sub eax, dword [ebp - 0x208]
not eax
imul edx, eax
not edx
mov byte [ebp - 0x11], dl
movsx ecx, byte [0x1005f0a5]
add ecx, 0xa495
mov word [0x1005f108], cx
jmp 0x10034ad4
mov edx, 0xa9
test edx, edx
je 0x10034ad4
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, eax
adc esi, edx
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
mov ecx, dword [0x1005f150]
sub ecx, 0x5630
mov word [0x1005f10c], cx
movsx eax, byte [0x1005f0a5]
cdq
sub eax, 0xcb83d96e
mov word [ebp - 0x1c], ax
movsx edx, byte [0x1005f013]
mov eax, dword [0x1005f0b0]
sub eax, edx
mov dword [0x1005f0b0], eax
jmp 0x10034b16
mov ecx, dword [0x1005f0b8]
or ecx, dword [0x1005f0bc]
je 0x10034b16
mov edx, 0x3d02
mov word [0x1005f15c], dx
movsx eax, word [ebp - 0x28]
movsx ecx, byte [ebp - 0x15]
sub eax, ecx
mov word [ebp - 0x28], ax
movsx edx, byte [0x1005f03b]
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
mov ecx, 0xffff82da
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x9c]
sub edx, 1
mov dword [ebp - 0x9c], edx
jmp 0x100347dc
mov eax, dword [ebp - 0xa0]
add eax, 0x567
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x5c8], ecx
mov dword [ebp - 0x5c4], edx
mov eax, dword [ebp - 0x5c8]
cmp eax, dword [0x1005f0c8]
jne 0x10034c32
mov ecx, dword [ebp - 0x5c4]
cmp ecx, dword [0x1005f0cc]
jne 0x10034c32
movzx edx, byte [ebp - 0x14]
test edx, edx
je 0x10034c2d
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], ecx
mov edx, dword [ebp - 0x5d0]
or edx, dword [ebp - 0x5cc]
je 0x10034bb6
mov eax, dword [0x1005f0b8]
mov ecx, dword [0x1005f0bc]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], ecx
jmp 0x10034bc7
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
mov dl, byte [ebp - 0x3c8]
mov byte [ebp - 0x16], dl
mov eax, 2
imul ecx, eax, 0x35
mov dx, word [ebp - 0x68]
mov word [ecx + 0x100e7860], dx
xor eax, eax
mov dword [0x1005f0a8], 8
mov dword [0x1005f0ac], eax
movzx ecx, word [0x1005f0ec]
movsx edx, byte [ebp - 0x15]
add ecx, edx
mov word [0x1005f0ec], cx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
xor eax, 0x6d6
xor ecx, 0
add eax, dword [0x1005f140]
adc ecx, dword [0x1005f144]
mov dword [0x1005f140], eax
mov dword [0x1005f144], ecx
jmp 0x10034d3d
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d4], edx
mov edx, dword [0x1005f130]
cmp edx, dword [ebp - 0x5d8]
jne 0x10034cee
mov eax, dword [0x1005f134]
cmp eax, dword [ebp - 0x5d4]
jne 0x10034cee
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
push 0x3e1d1
push 0x78e2c8fb
push edx
push ecx
call fcn.1003a730
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
movsx eax, word [ebp - 0x24]
imul ecx, eax, 0xcca5
movsx edx, byte [0x1005f076]
add edx, ecx
mov byte [0x1005f076], dl
movzx eax, byte [ebp - 0x14]
imul eax, dword [0x1005f0e8]
add eax, dword [0x1005f0e8]
mov dword [0x1005f0e8], eax
mov ecx, 8
imul ecx, ecx, 0x2852
movsx eax, word [0x1005f110]
cdq
add eax, dword [ecx + 0x101fad10]
mov word [0x1005f110], ax
movzx edx, byte [ebp - 0x12]
add edx, dword [0x1005f104]
mov byte [ebp - 0x12], dl
mov eax, dword [0x1005f0d8]
mov dword [0x1005f104], eax
jmp 0x10034d3d
movsx ecx, word [0x1005f15c]
test ecx, ecx
je 0x10034d3d
movzx edx, byte [ebp - 0x12]
xor edx, 0x3a0c
mov dword [0x1005f0b0], edx
mov dword [0x1005f0a0], 0xa5284412
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x57e727df
sbb esi, 0xc70d0
movsx eax, byte [0x1005f076]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f076], al
mov edx, dword [ebp - 0xa0]
add edx, 0x707
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x5e0]
or edx, dword [ebp - 0x5dc]
je 0x10034d7a
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x20c], eax
jmp 0x10034d87
movsx ecx, byte [0x1005f013]
mov dword [ebp - 0x20c], ecx
mov dl, byte [ebp - 0x20c]
mov byte [0x1005f0a4], dl
mov ecx, dword [0x1005f104]
xor esi, esi
mov edx, dword [0x1005f130]
not edx
mov eax, dword [0x1005f134]
not eax
sub ecx, edx
sbb esi, eax
movsx eax, word [ebp - 0x28]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x874], edx
add eax, ecx
mov word [0x1005f110], ax
movzx eax, byte [0x1005f0a4]
movsx ecx, byte [ebp - 0x13]
imul eax, ecx
mov byte [0x1005f0a4], al
mov edx, dword [ebp - 0x210]
or edx, dword [ebp - 0x470]
cmp edx, dword [ebp - 0x210]
je 0x10035069
movsx eax, word [0x1005f114]
test eax, eax
je 0x10034e20
mov ecx, dword [0x1005f0d8]
mov edx, dword [0x1005f0dc]
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], edx
jmp 0x10034e32
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x74], edx
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x70]
sbb edx, ecx
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x28], ax
mov edx, dword [0x1005f0ac]
push edx
mov eax, dword [0x1005f0a8]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov byte [ebp - 0x12], al
mov ax, word [ebp - 0x20]
sub ax, 1
mov word [ebp - 0x20], ax
mov dword [0x1005f104], 0x61
movzx ecx, byte [str.a_StartIdle_]
movsx edx, word [0x1005f15c]
cmp ecx, edx
jle 0x10034eb2
mov dword [ebp - 0x214], 1
jmp 0x10034ebc
mov dword [ebp - 0x214], 0
movzx eax, byte [str.a_StartIdle_]
cmp eax, 0x48
jle 0x10034ed4
mov dword [ebp - 0x218], 1
jmp 0x10034ede
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0x218]
jl 0x10034ef1
jmp 0x1003505f
cmp dword [0x1005f0e4], 0
je 0x10034f62
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x10034f0e
movsx eax, byte [ebp - 0x16]
mov dword [ebp - 0x21c], eax
jmp 0x10034f1b
movsx ecx, word [0x1005f15c]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov dword [0x1005f0d0], edx
movsx eax, byte [ebp - 0x17]
movzx ecx, word [0x1005f158]
imul eax, ecx
mov byte [ebp - 0x17], al
movsx edx, word [ebp - 0x1c]
movsx eax, byte [0x1005f013]
sub edx, eax
mov byte [ebp - 0x11], dl
mov ecx, 4
shl ecx, 3
movsx edx, byte [ebp - 0x16]
sub edx, dword [ecx + 0x101fab90]
mov byte [ebp - 0x16], dl
jmp 0x1003505f
movsx eax, word [ebp - 0x28]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
je 0x10034fe7
mov edx, dword [0x1005f0f8]
sub edx, 0x4bf843aa
mov word [ebp - 0x24], dx
mov eax, dword [0x1005f0b4]
xor ecx, ecx
push 0xeeed
push 0xdd713739
push ecx
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
movzx eax, word [0x1005f128]
shl eax, 2
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, byte [ebp - 0x15]
imul eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, word [ebp - 0x1c]
shl edx, 8
mov word [0x1005f114], dx
jmp 0x1003505f
mov eax, dword [0x1005f104]
not eax
test eax, eax
je 0x1003505f
movzx ecx, byte [ebp - 0x14]
movsx edx, word [0x1005f114]
sub ecx, edx
mov byte [ebp - 0x14], cl
imul eax, dword [ebp - 0x5c], 0x9d7f63c1
mov byte [0x1005f076], al
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x878], edx
mov eax, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x87c], edx
add ecx, eax
not ecx
mov ebx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x780], eax
xor ebx, ecx
movsx eax, word [ebp - 0x1c]
not eax
cdq
add ebx, eax
mov byte [0x1005f013], bl
movsx ecx, word [0x1005f108]
add ecx, 0xfe
mov byte [str.a_StartIdle_], cl
mov eax, 1
jmp 0x1003886c
jmp 0x100387d0
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x44], eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0xcf5a23bf
mov byte [ebp - 0x11], al
movzx eax, word [0x1005f138]
cdq
push 0x92720
push 0xc5afdb36
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x14], al
mov edx, dword [ebp - 0xa4]
add edx, 0x75d
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x5bf
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x75e
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], 5
mov dx, word [ebp - 0x68]
mov word [0x1005f148], dx
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
push 0
push 0x8eead4f6
push ecx
push eax
call fcn.1003a730
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0x50]
add edx, 0x9e
mov word [0x1005f0c0], dx
movzx eax, byte [ebp - 0x14]
not eax
add eax, 0x2eed6a6a
mov ecx, dword [ebp - 0x50]
xor ecx, dword [0x1005f104]
sub eax, ecx
jne 0x1003514c
mov dword [ebp - 0x220], 1
jmp 0x10035156
mov dword [ebp - 0x220], 0
mov eax, dword [0x1005f0e8]
cdq
mov ecx, dword [ebp - 0x6c]
add eax, dword [ebp - 0x70]
adc edx, ecx
mov ecx, dword [0x1005f100]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov edx, dword [ebp - 0x5e8]
or edx, dword [ebp - 0x5e4]
jne 0x1003519b
mov dword [ebp - 0x224], 1
jmp 0x100351a5
mov dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x220]
sub eax, dword [ebp - 0x224]
not eax
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x1c]
add eax, 0xeb6
mov byte [ebp - 0x12], al
movsx eax, byte [ebp - 0x17]
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov ecx, dword [ebp - 0x5c]
add ecx, 1
mov dword [ebp - 0x5c], ecx
movzx eax, word [0x1005f10c]
sub eax, 0x4b0bf473
cdq
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
movsx eax, byte [ebp - 0x13]
cdq
add eax, 0xe0ec83ac
mov word [0x1005f0ec], ax
mov edx, dword [ebp - 0xa8]
add edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0x13c9
jl 0x100351c6
mov eax, dword [ebp - 0xac]
imul eax, dword [ebp - 0x474]
mov ecx, dword [ebp - 0xac]
add ecx, dword [ebp - 0xac]
cmp eax, ecx
je 0x100387d0
movsx eax, byte [ebp - 0x17]
cdq
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], edx
mov edx, dword [ebp - 0x5f0]
cmp edx, dword [0x1005f0f0]
jne 0x1003557b
mov eax, dword [ebp - 0x5ec]
cmp eax, dword [0x1005f0f4]
jne 0x1003557b
mov eax, dword [0x1005f0e8]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], edx
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], esi
mov edx, dword [ebp - 0x5f8]
cmp edx, dword [ebp - 0x600]
jne 0x100352bc
mov eax, dword [ebp - 0x5f4]
cmp eax, dword [ebp - 0x5fc]
je 0x10035576
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edx
mov dword [ebp - 0x610], ecx
mov dword [ebp - 0x60c], esi
mov edx, dword [ebp - 0x604]
cmp edx, dword [ebp - 0x60c]
jg 0x1003534e
jl 0x100352fd
mov eax, dword [ebp - 0x608]
cmp eax, dword [ebp - 0x610]
jae 0x1003534e
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0x78c], edx
mov eax, 1
imul edx, eax, 0x17da
mov byte [edx + 0x101b0b60], cl
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x1005f138]
add eax, ecx
mov word [ebp - 0x20], ax
movsx eax, word [0x1005f15c]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
jmp 0x10035576
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
not ecx
not esi
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], esi
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], edx
mov edx, dword [ebp - 0x614]
cmp edx, dword [ebp - 0x61c]
jg 0x100353cc
jl 0x10035399
mov eax, dword [ebp - 0x618]
cmp eax, dword [ebp - 0x620]
jae 0x100353cc
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0x628], ecx
mov dword [ebp - 0x624], edx
mov eax, dword [ebp - 0x628]
or eax, dword [ebp - 0x624]
je 0x100353cc
mov ecx, 0x4fe05e55
or ecx, 0x8a39e
je 0x100353fc
xor edx, edx
mov dword [ebp - 0x4c], 0xe387cfb6
mov dword [ebp - 0x48], edx
mov eax, 4
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x68], ecx
movsx edx, word [ebp - 0x20]
shl edx, 8
mov byte [0x1005f09f], dl
jmp 0x10035576
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x638], edx
mov dword [ebp - 0x634], esi
mov eax, dword [ebp - 0x62c]
cmp eax, dword [ebp - 0x634]
jb 0x1003544a
ja 0x1003543e
mov ecx, dword [ebp - 0x630]
cmp ecx, dword [ebp - 0x638]
jbe 0x1003544a
mov dword [ebp - 0x228], 1
jmp 0x10035454
mov dword [ebp - 0x228], 0
movsx edx, byte [0x1005f03b]
cmp dword [ebp - 0x228], edx
jne 0x10035498
mov al, byte [0x1005fc3c]
mov byte [ebp - 0x14], al
movzx ecx, word [ebp - 0x2c]
shl ecx, 7
mov byte [0x1005f076], cl
movsx edx, byte [0x1005f013]
mov eax, dword [0x1005f0b0]
sub eax, edx
xor ecx, ecx
mov dword [0x1005f150], eax
mov dword [0x1005f154], ecx
jmp 0x10035576
mov edx, dword [0x1005f0d8]
or edx, dword [0x1005f0dc]
jne 0x100354b2
mov dword [ebp - 0x22c], 1
jmp 0x100354bc
mov dword [ebp - 0x22c], 0
movzx eax, byte [ebp - 0x14]
not eax
cmp eax, dword [ebp - 0x22c]
jg 0x10035576
movsx ecx, word [ebp - 0x28]
movsx edx, word [ebp - 0x24]
not edx
imul eax, edx, 0xc5
sub ecx, eax
mov byte [0x1005f013], cl
movsx eax, word [0x1005f108]
movsx ecx, byte [ebp - 0x16]
add eax, ecx
cdq
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x790], ecx
add edx, 0xab3b
add eax, edx
movsx edx, word [0x1005f0e0]
movsx ecx, word [ebp - 0x24]
add edx, ecx
mov ecx, dword [ebp - 0x44]
or ecx, edx
or eax, ecx
mov byte [ebp - 0x17], al
mov edx, dword [0x1005f0b0]
xor eax, eax
mov ecx, dword [0x1005f0fc]
push ecx
mov ecx, dword [0x1005f0f8]
push ecx
push eax
push edx
call fcn.1003a730
mov edx, dword [0x1005f0b0]
add edx, eax
mov dword [0x1005f0b0], edx
movsx eax, word [0x1005f0e0]
sub eax, 0x9b96
mov byte [ebp - 0x15], al
mov ecx, 8
imul edx, ecx, 0x2e14
mov eax, dword [edx + 0x10335cf8]
mov ecx, dword [edx + 0x10335cfc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
jmp 0x10035608
mov edx, dword [ebp - 0x38]
sub edx, 0xd
mov byte [0x1005f076], dl
movsx eax, word [0x1005f0c0]
test eax, eax
je 0x100355a8
mov ecx, dword [0x1005f104]
xor edx, edx
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], edx
jmp 0x100355ba
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], ecx
mov dx, word [ebp - 0x3d8]
mov word [0x1005f0ec], dx
movsx eax, byte [ebp - 0x11]
xor eax, 0x4fb5
mov byte [0x1005f013], al
mov ecx, dword [ebp - 0x38]
sub ecx, 0x2f8c6526
mov word [ebp - 0x24], cx
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push 0
push 0x4c0aea65
push eax
push edx
call fcn.1003a730
mov word [0x1005f138], ax
mov eax, dword [0x1005f0e4]
cdq
mov ecx, dword [ebp - 0x6c]
add eax, dword [ebp - 0x70]
adc edx, ecx
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x4c]
sub esi, dword [ebp - 0x64]
mov edi, dword [ebp - 0x48]
sbb edi, ecx
not esi
not edi
or eax, esi
or edx, edi
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov edx, dword [ebp - 0x640]
or edx, dword [ebp - 0x63c]
jne 0x10035652
mov dword [ebp - 0x230], 1
jmp 0x1003565c
mov dword [ebp - 0x230], 0
movzx eax, word [0x1005f0ec]
xor eax, dword [ebp - 0x44]
movzx ecx, byte [ebp - 0x12]
xor ecx, dword [ebp - 0x38]
sub eax, ecx
mov edx, dword [ebp - 0x230]
sub edx, eax
mov byte [ebp - 0x15], dl
mov eax, 0xfb71
mov word [ebp - 0x2c], ax
mov ecx, dword [0x1005f0b0]
sub ecx, 0xab
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
movsx eax, byte [0x1005f077]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, ecx
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx edx, byte [ebp - 0x13]
test edx, edx
je 0x100356cd
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], ecx
jmp 0x100356e1
movsx eax, word [0x1005f0c0]
cdq
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov dl, byte [ebp - 0x3e0]
mov byte [ebp - 0x16], dl
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0x68], 0x3415
jle 0x1003570a
mov dword [ebp - 0x234], 1
jmp 0x10035714
mov dword [ebp - 0x234], 0
movsx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 0x16]
cmp ecx, edx
jge 0x1003572c
mov dword [ebp - 0x238], 1
jmp 0x10035736
mov dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x234]
cmp eax, dword [ebp - 0x238]
jle 0x1003589c
mov ecx, dword [0x1005f100]
not ecx
movsx edx, word [ebp - 0x24]
add ecx, edx
movsx eax, byte [0x1005f03b]
cmp ecx, eax
jne 0x1003576d
mov dword [ebp - 0x23c], 1
jmp 0x10035777
mov dword [ebp - 0x23c], 0
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x10035798
mov edx, dword [ebp - 0x5c]
not edx
cmp dword [0x1005f0d0], edx
jle 0x10035798
mov dword [ebp - 0x240], 0
jmp 0x100357a2
mov dword [ebp - 0x240], 1
mov eax, dword [ebp - 0x23c]
add eax, dword [ebp - 0x240]
not eax
test eax, eax
je 0x1003589a
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x644], esi
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], edx
mov edx, dword [ebp - 0x648]
cmp edx, dword [ebp - 0x650]
jne 0x1003589a
mov eax, dword [ebp - 0x644]
cmp eax, dword [ebp - 0x64c]
jne 0x1003589a
mov ecx, dword [0x1005f100]
shl ecx, 2
mov byte [0x1005f013], cl
mov dx, word [0x1005f128]
mov word [0x1005f148], dx
mov eax, dword [0x1005f104]
imul eax, dword [ebp - 0x5c]
add eax, dword [0x1005f104]
mov dword [0x1005f104], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x658]
or eax, dword [ebp - 0x654]
je 0x10035863
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], edx
jmp 0x10035875
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x50], edx
imul eax, dword [0x1005f0d0], 0x930f1dfd
mov byte [0x1005f0a4], al
movsx ecx, byte [ebp - 0x15]
add ecx, dword [0x1005f0e4]
mov byte [ebp - 0x15], cl
jmp 0x100358e4
movsx eax, byte [0x1005f077]
cdq
add eax, 0xf484793c
adc edx, 0xa9eb2
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
push 0
push 0x25
mov edx, dword [0x1005f0cc]
push edx
mov eax, dword [0x1005f0c8]
push eax
call fcn.1003a730
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xb4]
add eax, 0x78a
mov dword [ebp - 0x2a8], eax
movzx ecx, word [0x1005f158]
add ecx, 0xaa
mov word [ebp - 0x24], cx
movsx edx, byte [ebp - 0x15]
test edx, edx
je 0x10035919
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x244], eax
jmp 0x10035922
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x244]
mov dword [0x1005f0b0], edx
mov eax, dword [ebp - 0x44]
xor ecx, ecx
add eax, 0x581def6d
adc ecx, 0x6a130
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x1005f0d8]
mov edx, dword [0x1005f0dc]
mov cl, 5
call fcn.1003a770
mov byte [ebp - 0x14], al
mov edx, dword [ebp - 0xb4]
add edx, 0x5c0
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0xb0], 0x67
jmp 0x10035986
mov eax, dword [ebp - 0xb0]
sub eax, 1
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
jle 0x10035a25
movsx ecx, byte [ebp - 0x16]
test ecx, ecx
jne 0x100359a7
mov dword [ebp - 0x248], 1
jmp 0x100359b1
mov dword [ebp - 0x248], 0
movsx edx, byte [ebp - 0x13]
xor edx, dword [ebp - 0x248]
not edx
movsx eax, byte [ebp - 0x16]
sub eax, dword [0x1005f0a0]
sub edx, eax
mov word [ebp - 0x2c], dx
mov ecx, dword [ebp - 0x50]
sub ecx, 0x31253618
mov byte [str._CpuC3StatesChanges], cl
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f164]
sub ecx, dword [0x1005f160]
sbb esi, edx
movzx eax, byte [ebp - 0x14]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x14], al
mov eax, dword [0x1005f0f8]
add eax, 1
mov ecx, dword [0x1005f0fc]
adc ecx, 0
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], ecx
jmp 0x10035977
mov edx, dword [ebp - 0xb4]
add edx, 0x531
mov dword [ebp - 0x794], edx
movzx eax, word [0x1005f148]
test eax, eax
je 0x10035d9d
mov dword [ebp - 0x74], 4
xor ecx, ecx
mov dword [ebp - 0x70], 0x8c17
mov dword [ebp - 0x6c], ecx
mov dx, word [0x1005f148]
add dx, 1
mov word [0x1005f148], dx
mov eax, 0x81
mov word [0x1005f0ec], ax
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x24c], ecx
cmp dword [ebp - 0x24c], 4
ja case.default.0x10035a92
mov edx, dword [ebp - 0x24c]
jmp dword [edx*4 + 0x10038894]
movsx eax, byte [0x1005f09e]
test eax, eax
jne 0x10035ab0
mov dword [ebp - 0x250], 1
jmp 0x10035aba
mov dword [ebp - 0x250], 0
movsx ecx, byte [0x1005f076]
movsx edx, byte [ebp - 0x16]
not edx
sub ecx, edx
not ecx
movsx eax, byte [ebp - 0x15]
mov edx, dword [ebp - 0x44]
xor edx, eax
add ecx, edx
movzx eax, word [0x1005f128]
add eax, dword [ebp - 0x250]
and eax, 0x1e66
xor ecx, eax
jne 0x10035af2
mov byte [ebp - 0x76], 1
jmp 0x10035af6
mov byte [ebp - 0x76], 0
mov cl, byte [ebp - 0x76]
mov byte [0x1005f076], cl
movsx eax, word [ebp - 0x1c]
cdq
push 0xb96ca
push 0x9a03efa7
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx edx, byte [0x1005f04f]
movzx eax, byte [0x1005f0a4]
add eax, edx
imul eax, dword [0x1005f0e8]
cdq
push edx
push eax
mov ecx, dword [0x1005f154]
push ecx
mov edx, dword [0x1005f150]
push edx
call fcn.1003a730
mov byte [ebp - 0x12], al
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x1005f148]
imul eax, ecx
mov dword [ebp - 0x68], eax
jmp case.default.0x10035a92
mov edx, dword [ebp - 0x4c]
sub edx, 0xaca0
mov eax, dword [0x1005f104]
sub eax, edx
mov dword [0x1005f104], eax
movsx ecx, byte [ebp - 0x13]
add ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
movzx eax, byte [0x1005f09f]
cdq
sub eax, 0xa5e6da7f
sbb edx, 0xc4815
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movsx eax, word [0x1005f15c]
cdq
push 0x63fa5
push 0x3bc0e256
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x1005f0d8]
sub edx, dword [0x1005f0f8]
mov eax, dword [0x1005f0dc]
sbb eax, dword [0x1005f0fc]
push eax
push edx
mov ecx, dword [0x1005f0dc]
push ecx
mov edx, dword [0x1005f0d8]
push edx
call fcn.1003a730
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx eax, byte [ebp - 0x11]
sub eax, 0xa7
mov dword [ebp - 0x38], eax
jmp case.default.0x10035a92
movzx ecx, byte [str.a_StartIdle_]
imul edx, ecx, 0x18
mov byte [0x1005f04f], dl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
push 0x80d78
push 0x2c9d5738
push ecx
push eax
call fcn.1003a730
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
mov edx, dword [0x1005f0f8]
mov eax, dword [0x1005f0fc]
mov dword [0x1005f130], edx
mov dword [0x1005f134], eax
imul ecx, dword [ebp - 0x74], 0x2d995727
movsx edx, byte [str._CpuC3StatesChanges]
imul edx, ecx
mov byte [str._CpuC3StatesChanges], dl
jmp case.default.0x10035a92
mov ax, word [ebp - 0x1c]
add ax, 1
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x30
mov dword [0x1005f0e8], ecx
movsx eax, byte [0x1005f04f]
sub eax, 0xa6
cdq
push edx
push eax
mov edx, dword [0x1005f154]
push edx
mov eax, dword [0x1005f150]
push eax
call fcn.1003a730
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov ecx, dword [0x1005f0f8]
not ecx
mov esi, dword [0x1005f0fc]
not esi
movsx eax, byte [0x1005f077]
cdq
sub ecx, eax
sbb esi, edx
movsx edx, byte [ebp - 0x15]
imul eax, edx, 0
cdq
xor ecx, eax
xor esi, edx
movsx eax, word [ebp - 0x20]
mov edx, dword [0x1005f0d0]
sub edx, eax
mov eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x660]
or eax, dword [ebp - 0x65c]
jne 0x10035d10
mov byte [ebp - 0x77], 1
jmp 0x10035d14
mov byte [ebp - 0x77], 0
mov cl, byte [ebp - 0x77]
mov byte [0x1005f0a5], cl
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10035d3b
movzx eax, word [0x1005f158]
cdq
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
jmp 0x10035d4d
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x44], edx
jmp case.default.0x10035a92
mov eax, dword [ebp - 0x44]
add eax, 0x6a1a
mov ecx, dword [ebp - 0x68]
sub ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [0x1005f0a0]
cdq
add eax, dword [0x1005f130]
adc edx, dword [0x1005f134]
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov byte [ebp - 0x15], 0xbb
movsx eax, byte [ebp - 0x13]
cdq
add eax, 0x59e1999
mov byte [0x1005f077], al
jmp 0x10035f1b
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x668], edx
mov dword [ebp - 0x664], eax
mov ecx, dword [ebp - 0x668]
or ecx, dword [ebp - 0x664]
je 0x10035e33
movsx edx, byte [0x1005f077]
imul edx, dword [0x1005f100]
movsx eax, byte [0x1005f077]
add eax, edx
mov byte [0x1005f077], al
movsx ecx, byte [0x1005f03b]
imul ecx, dword [ebp - 0x74]
test ecx, ecx
jne 0x10035df4
mov dword [ebp - 0x254], 1
jmp 0x10035dfe
mov dword [ebp - 0x254], 0
mov edx, dword [0x1005f0e4]
imul edx, dword [ebp - 0x74]
sub edx, dword [ebp - 0x254]
movsx eax, byte [0x1005f03b]
not eax
movzx ecx, byte [0x1005f09f]
add eax, ecx
imul eax, dword [ebp - 0x44]
imul edx, eax
mov word [0x1005f0ec], dx
jmp 0x10035f1b
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x670], edx
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x670]
or ecx, dword [ebp - 0x66c]
jne 0x10035e5f
mov dword [ebp - 0x258], 1
jmp 0x10035e69
mov dword [ebp - 0x258], 0
movsx edx, byte [str._CpuC3StatesChanges]
cmp dword [ebp - 0x258], edx
jg 0x10035e84
mov dword [ebp - 0x25c], 1
jmp 0x10035e8e
mov dword [ebp - 0x25c], 0
movzx eax, byte [str.a_StartIdle_]
not eax
cdq
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], edx
mov eax, dword [0x1005f0fc]
cmp eax, dword [ebp - 0x674]
jl 0x10035ecd
jg 0x10035ec1
mov ecx, dword [0x1005f0f8]
cmp ecx, dword [ebp - 0x678]
jb 0x10035ecd
mov dword [ebp - 0x260], 1
jmp 0x10035ed7
mov dword [ebp - 0x260], 0
mov edx, dword [ebp - 0x25c]
cmp edx, dword [ebp - 0x260]
jne 0x10035f1b
movzx eax, byte [str.a_StartIdle_]
movsx ecx, word [ebp - 0x20]
sub eax, ecx
movzx edx, byte [str.a_StartIdle_]
add edx, eax
mov byte [str.a_StartIdle_], dl
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov byte [ebp - 0x17], 2
call fcn.10020ae0
test eax, eax
je 0x10037a12
mov dword [ebp - 0x50], 1
mov eax, dword [0x1005f0c8]
not eax
mov ecx, dword [0x1005f0cc]
not ecx
mov edx, dword [ebp - 0x4c]
sub edx, eax
mov eax, dword [ebp - 0x48]
sbb eax, ecx
mov dword [ebp - 0x680], edx
mov dword [ebp - 0x67c], eax
mov ecx, dword [ebp - 0x680]
or ecx, dword [ebp - 0x67c]
jne 0x10035f68
mov byte [ebp - 0x78], 1
jmp 0x10035f6c
mov byte [ebp - 0x78], 0
mov dl, byte [ebp - 0x78]
mov byte [ebp - 0x12], dl
movzx eax, word [0x1005f148]
mov ecx, 0x3a4a
sub ecx, eax
mov byte [str._CpuC3StatesChanges], cl
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x10035f9a
mov dword [ebp - 0x264], 1
jmp 0x10035fa4
mov dword [ebp - 0x264], 0
movsx eax, word [ebp - 0x20]
and eax, dword [ebp - 0x264]
movzx ecx, byte [0x1005f0a4]
sub eax, ecx
cdq
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
movzx edx, byte [ebp - 0x14]
shl edx, 4
mov byte [0x1005f077], dl
movsx eax, byte [ebp - 0x15]
add eax, dword [0x1005f0e8]
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x268], ecx
cmp dword [ebp - 0x268], 0
je 0x10035ffd
cmp dword [ebp - 0x268], 1
je 0x10036041
jmp 0x100360f1
movsx edx, word [ebp - 0x20]
imul eax, edx, 0x3d5a
mov byte [ebp - 0x11], al
imul ecx, dword [0x1005f0a0], 0xcefdc6be
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
movsx eax, byte [ebp - 0x15]
movzx ecx, word [0x1005f158]
sub eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [0x1005f0d0]
add edx, 0xfa
mov word [ebp - 0x2c], dx
jmp 0x100360f1
movsx eax, byte [ebp - 0x11]
add eax, dword [0x1005f104]
mov byte [ebp - 0x11], al
movsx ecx, byte [ebp - 0x15]
mov dword [0x1005f0b4], ecx
mov edx, dword [0x1005f104]
sub edx, dword [0x1005f0f0]
mov eax, dword [0x1005f104]
sub eax, edx
mov dword [0x1005f104], eax
movsx eax, word [ebp - 0x28]
sub eax, 0x7224
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x1005f0c8]
or ecx, dword [0x1005f0cc]
jne 0x100360a2
xor edx, edx
mov dword [ebp - 0x688], 1
mov dword [ebp - 0x684], edx
jmp 0x100360ad
xorps xmm0, xmm0
movlpd qword [ebp - 0x688], xmm0
mov ecx, dword [0x1005f130]
add ecx, dword [ebp - 0x688]
movzx eax, byte [ebp - 0x14]
cdq
sub eax, dword [0x1005f0a8]
add ecx, eax
mov word [ebp - 0x28], cx
movsx eax, word [0x1005f108]
cdq
push edx
push eax
mov edx, dword [0x1005f0bc]
push edx
mov eax, dword [0x1005f0b8]
push eax
call fcn.1003a730
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov eax, dword [0x1005f0d0]
cdq
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x68c], esi
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x694], edx
mov edx, dword [ebp - 0x68c]
cmp edx, dword [ebp - 0x694]
jb 0x10036343
ja 0x10036142
mov eax, dword [ebp - 0x690]
cmp eax, dword [ebp - 0x698]
jbe 0x10036343
mov byte [ebp - 4], 5
mov byte [ebp - 4], 6
mov dword [ebp - 0xb8], 0
jmp 0x10036165
mov ecx, dword [ebp - 0xb8]
add ecx, 2
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0x35f
jge 0x10036206
movsx edx, word [0x1005f0e0]
movsx eax, word [ebp - 0x24]
imul edx, eax
movsx ecx, word [0x1005f0e0]
sub ecx, edx
mov word [0x1005f0e0], cx
mov edx, dword [0x1005f150]
or edx, dword [0x1005f154]
je 0x100361ba
mov eax, dword [0x1005f0c8]
mov ecx, dword [0x1005f0cc]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], ecx
jmp 0x100361cb
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], edx
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx ecx, word [ebp - 0x20]
sub ecx, 0x17d4d8ea
mov dword [ebp - 0x50], ecx
movsx edx, byte [ebp - 0x11]
sub edx, 0xf
mov byte [ebp - 0x13], dl
mov eax, dword [0x1005f0d0]
add eax, 1
mov dword [0x1005f0d0], eax
jmp 0x10036156
jmp 0x1003627b
mov dword [ebp - 4], 5
jmp 0x1003628b
jmp 0x10036333
mov dword [ebp - 4], 4
jmp 0x10036343
jmp 0x10036427
mov dword [ebp - 4], 0xffffffff
jmp 0x10036437
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], ecx
mov edx, dword [ebp - 0x6a0]
or edx, dword [ebp - 0x69c]
jne 0x1003646f
mov dword [ebp - 0x278], 1
jmp 0x10036479
mov dword [ebp - 0x278], 0
movzx eax, byte [0x1005f0a4]
movsx ecx, byte [ebp - 0x11]
and eax, ecx
not eax
movsx edx, word [ebp - 0x28]
movsx ecx, byte [ebp - 0x15]
xor edx, ecx
add eax, edx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x278]
add eax, 0xac
not eax
cdq
mov edi, dword [0x1005f118]
mov ebx, dword [0x1005f11c]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1003a730
mov word [0x1005f158], ax
cmp dword [ebp - 0x38], 0
jne 0x100364e0
xor edx, edx
mov dword [ebp - 0x3f8], 1
mov dword [ebp - 0x3f4], edx
jmp 0x100364eb
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f8], xmm0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
not eax
not ecx
add eax, dword [0x1005f0f8]
adc ecx, dword [0x1005f0fc]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x6a8]
or edx, dword [ebp - 0x6a4]
jne 0x1003652f
xor eax, eax
mov dword [ebp - 0x400], 1
mov dword [ebp - 0x3fc], eax
jmp 0x1003653a
xorps xmm0, xmm0
movlpd qword [ebp - 0x400], xmm0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x3f8]
adc edx, dword [ebp - 0x3f4]
sub ecx, dword [ebp - 0x400]
sbb edx, dword [ebp - 0x3fc]
movsx eax, word [ebp - 0x20]
movsx esi, word [ebp - 0x24]
imul esi, dword [0x1005f0b4]
xor eax, esi
xor esi, esi
push esi
push eax
push edx
push ecx
call fcn.1003a730
mov word [0x1005f108], ax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x623
mov dword [ebp - 0x298], ecx
cmp dword [ebp - 0x74], 0
je 0x100366b4
mov eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], edx
mov edx, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x6ac]
jl 0x100365c3
jg 0x100365be
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x6b0]
jbe 0x100365c3
jmp 0x100366b4
cmp dword [ebp - 0x5c], 0
je 0x100365de
mov ecx, 0x8e4f
test ecx, ecx
je 0x100365de
mov dword [ebp - 0x27c], 1
jmp 0x100365e8
mov dword [ebp - 0x27c], 0
movsx edx, word [0x1005f114]
cmp edx, dword [ebp - 0x27c]
jg 0x10036660
movzx eax, word [ebp - 0x2c]
xor eax, 0x4af0
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx eax, word [0x1005f15c]
sar eax, 8
mov word [ebp - 0x24], ax
movsx ecx, byte [ebp - 0x15]
movzx edx, byte [0x1005f09f]
sub ecx, edx
movsx eax, byte [ebp - 0x15]
sub eax, ecx
mov byte [ebp - 0x15], al
mov ecx, 1
imul edx, ecx, 0x39d1
mov al, byte [edx + 0x10331f28]
mov byte [0x1005f09f], al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x79c], edx
xor ecx, 0x81fcc357
mov dword [0x1005f0a0], ecx
jmp 0x100366b4
movsx eax, word [0x1005f0c0]
test eax, eax
je 0x100366b4
push 0
push 0x709e
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
mov byte [0x1005f09e], 0x6c
mov eax, dword [ebp - 0x68]
sub eax, 0x8c
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [0x1005f130]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0xbc]
add eax, 0x849
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x38]
cdq
sub eax, 0xf6bd87dc
sbb edx, 0x9e81
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov ecx, 0xced09
mov dword [ebp - 0x34], 0x85ad39d5
mov dword [ebp - 0x30], ecx
mov edx, dword [0x1005fc3c]
mov dword [0x1005f0e4], edx
mov eax, dword [ebp - 0x44]
sub eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x57c
mov dword [ebp - 0x7a0], ecx
mov dword [ebp - 0xc0], 0x233
jmp 0x10036730
mov edx, dword [ebp - 0xc0]
sub edx, 1
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0
jle 0x10036a35
cmp dword [ebp - 0x44], 0
je 0x10036979
mov dword [ebp - 0xc4], 0x279
movzx eax, word [0x1005f138]
cdq
mov ecx, eax
add ecx, 0xab960d0f
movzx eax, byte [ebp - 0x14]
cdq
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x7a4], esi
or edx, eax
sub ecx, edx
movsx eax, byte [ebp - 0x13]
and eax, 0xdaec6566
add eax, 0x119
xor ecx, eax
mov byte [ebp - 0x13], cl
movzx eax, word [0x1005f138]
add eax, 0x52
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6b4], edx
mov eax, dword [ebp - 0x6b8]
or eax, dword [ebp - 0x6b4]
jne 0x100367d3
xor ecx, ecx
mov dword [ebp - 0x408], 1
mov dword [ebp - 0x404], ecx
jmp 0x100367de
xorps xmm0, xmm0
movlpd qword [ebp - 0x408], xmm0
movsx edx, word [0x1005f0c0]
mov eax, dword [0x1005f0e4]
sub eax, edx
cdq
mov ecx, dword [ebp - 0x408]
add ecx, 0x42f9deb3
mov esi, dword [ebp - 0x404]
adc esi, 0xfffc7d1e
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], edx
mov edx, dword [ebp - 0x6c0]
or edx, dword [ebp - 0x6bc]
jne 0x10036834
mov dword [ebp - 0x280], 1
jmp 0x1003683e
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x5c], eax
movzx ecx, word [0x1005f138]
imul ecx, dword [ebp - 0x44]
mov word [0x1005f138], cx
movsx edx, word [ebp - 0x24]
test edx, edx
jne 0x1003686d
mov dword [ebp - 0x284], 1
jmp 0x10036877
mov dword [ebp - 0x284], 0
cmp dword [ebp - 0x68], 0
jne 0x10036889
mov dword [ebp - 0x288], 1
jmp 0x10036893
mov dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x284]
imul eax, dword [ebp - 0x288]
movzx ecx, word [0x1005f128]
sub ecx, dword [0x1005f0b4]
add eax, ecx
movzx edx, word [0x1005f128]
add eax, edx
mov dword [ebp - 0x5c], eax
movsx eax, byte [ebp - 0x11]
sar eax, 3
mov word [0x1005f158], ax
cmp dword [ebp - 0xc4], 0x100
jle 0x10036974
movzx eax, byte [ebp - 0x14]
cdq
add eax, 0xdb3db33d
mov dword [ebp - 0x5c], eax
movzx ecx, byte [0x1005f09f]
imul ecx, dword [ebp - 0x74]
mov dword [0x1005f0b4], ecx
movsx edx, byte [ebp - 0x11]
sub edx, 0x2e3963b3
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movzx ecx, byte [ebp - 0x12]
imul ecx, dword [ebp - 0x68]
mov byte [ebp - 0x12], cl
mov edx, dword [0x1005f0b0]
sub edx, 0x4dc4358a
mov word [0x1005f158], dx
movsx eax, word [ebp - 0x28]
test eax, eax
jne 0x1003693a
mov dword [ebp - 0x28c], 1
jmp 0x10036944
mov dword [ebp - 0x28c], 0
xor ecx, ecx
sub ecx, dword [ebp - 0x28c]
movzx edx, word [0x1005f0ec]
mov eax, dword [ebp - 0x38]
not eax
add edx, eax
imul ecx, edx
mov byte [ebp - 0x16], cl
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x100368c8
jmp 0x10036a21
cmp dword [ebp - 0x50], 0
je 0x10036993
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10036993
mov dword [ebp - 0x290], 1
jmp 0x1003699d
mov dword [ebp - 0x290], 0
movsx eax, word [0x1005f110]
imul eax, dword [ebp - 0x290]
test eax, eax
je 0x10036a21
movzx eax, word [0x1005f158]
cdq
mov ecx, eax
movzx eax, word [ebp - 0x2c]
cdq
mov esi, eax
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x7a8], eax
add esi, edx
movsx eax, word [ebp - 0x24]
not eax
cdq
add esi, eax
not esi
xor ecx, esi
mov dword [ebp - 0x38], ecx
mov ecx, dword [ebp - 0x68]
shl ecx, 4
mov word [0x1005f158], cx
movsx edx, word [0x1005f15c]
movsx eax, byte [0x1005f076]
imul edx, eax
movsx ecx, word [0x1005f15c]
imul ecx, edx
mov word [0x1005f15c], cx
movsx edx, byte [ebp - 0x16]
add edx, 0x7e78
movsx eax, byte [ebp - 0x17]
imul eax, edx
mov byte [ebp - 0x17], al
mov ecx, dword [0x1005f0a0]
add ecx, 1
mov dword [0x1005f0a0], ecx
jmp 0x10036721
mov edx, dword [ebp - 0x294]
and edx, 0xf2
mov eax, dword [ebp - 0x298]
or eax, 0x1d6
mov ecx, dword [ebp - 0x294]
xor ecx, dword [ebp - 0x298]
sub eax, ecx
cmp edx, eax
je 0x10037a0d
mov edx, 4
mov word [ebp - 0x28], dx
movzx eax, byte [ebp - 0x12]
imul eax, eax, 0xc9
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [0x1005f0f0]
and ecx, 0x54966ac2
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x28]
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 4
ja case.default.0x10036aa8
mov eax, dword [ebp - 0x29c]
jmp dword [eax*4 + 0x100388a8]
mov ecx, dword [0x1005f0e8]
and ecx, dword [ebp - 0x5c]
mov dword [0x1005f104], ecx
mov edx, dword [0x1005f130]
and edx, 0x58
mov eax, dword [0x1005f134]
and eax, 0
mov dword [0x1005f0c8], edx
mov dword [0x1005f0cc], eax
mov ecx, 0x2f3d
mov word [0x1005f138], cx
mov dx, word [0x1005f138]
sub dx, 1
mov word [0x1005f138], dx
jmp case.default.0x10036aa8
movsx eax, byte [0x1005f09e]
imul ecx, eax, 0xab
mov dword [0x1005f0e4], ecx
movzx eax, word [0x1005f158]
movsx edx, byte [str._CpuC3StatesChanges]
sub eax, edx
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
movsx eax, byte [ebp - 0x13]
imul ecx, eax, 0x5963
movzx edx, byte [str.a_StartIdle_]
add edx, ecx
mov byte [str.a_StartIdle_], dl
movsx eax, byte [0x1005f04f]
movsx ecx, byte [ebp - 0x17]
add eax, ecx
mov byte [0x1005f04f], al
movsx edx, byte [0x1005f09e]
test edx, edx
je 0x10036b6d
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2a0], eax
jmp 0x10036b76
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x2a0], ecx
mov dl, byte [ebp - 0x2a0]
mov byte [ebp - 0x11], dl
jmp case.default.0x10036aa8
movsx eax, byte [0x1005f0a5]
sub eax, 0x1f
mov byte [0x1005f013], al
mov ecx, dword [0x1005f150]
mov edx, dword [0x1005f154]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x38]
sub eax, dword [0x1005f0e8]
jne 0x10036bc4
xor ecx, ecx
mov dword [ebp - 0x6c8], 1
mov dword [ebp - 0x6c4], ecx
jmp 0x10036bcf
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c8], xmm0
mov eax, dword [0x1005f0e4]
cdq
mov ecx, dword [0x1005f0f8]
sub ecx, eax
add ecx, dword [ebp - 0x6c8]
movsx eax, word [0x1005f0c0]
movsx edx, byte [ebp - 0x13]
movsx esi, word [0x1005f0e0]
imul edx, esi
not edx
imul eax, edx
cdq
sub ecx, eax
mov byte [0x1005f077], cl
mov al, byte [0x1005f0a8]
mov ecx, 1
imul edx, ecx, 5
mov byte [edx + 0x100e2cd0], al
jmp case.default.0x10036aa8
mov eax, dword [ebp - 0x44]
shr eax, 3
xor ecx, ecx
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
movsx eax, word [0x1005f108]
add eax, dword [ebp - 0x44]
movsx ecx, word [0x1005f108]
add ecx, eax
mov word [0x1005f108], cx
jmp case.default.0x10036aa8
movsx edx, byte [ebp - 0x11]
movsx eax, byte [0x1005f076]
add edx, eax
movsx ecx, byte [ebp - 0x11]
imul ecx, edx
mov byte [ebp - 0x11], cl
movzx eax, byte [0x1005f0a4]
cdq
mov ecx, eax
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
mov dword [ebp - 0x7ac], eax
add ecx, edx
movzx eax, byte [0x1005f0a4]
cdq
add eax, ecx
mov byte [0x1005f0a4], al
movsx ecx, word [0x1005f15c]
test ecx, ecx
je 0x10036cba
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x40c], edx
jmp 0x10036cd1
mov edx, dword [0x1005f0a8]
mov eax, dword [0x1005f0ac]
mov dword [ebp - 0x410], edx
mov dword [ebp - 0x40c], eax
mov cl, byte [ebp - 0x410]
mov byte [ebp - 0x17], cl
mov edx, dword [ebp - 0x50]
add edx, 0xf49f
mov word [0x1005f10c], dx
mov ecx, 8
shl ecx, 5
movzx eax, word [0x1005f128]
cdq
sub eax, dword [ecx + 0x101247a8]
mov word [0x1005f128], ax
movsx edx, word [ebp - 0x1c]
add edx, 0xc2
mov word [0x1005f128], dx
movzx eax, word [ebp - 0x2c]
movsx ecx, word [ebp - 0x1c]
add eax, ecx
movzx edx, word [ebp - 0x2c]
sub edx, eax
mov word [ebp - 0x2c], dx
mov ax, word [0x1005f110]
sub ax, 1
mov word [0x1005f110], ax
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x10036d4f
mov dword [ebp - 0x2a4], 1
jmp 0x10036d59
mov dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
add ecx, dword [0x1005f130]
movzx eax, byte [0x1005f09f]
sub eax, dword [ebp - 0x68]
cdq
add ecx, eax
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x2a4]
not eax
cdq
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x7b0], esi
or edx, eax
add ecx, edx
mov word [0x1005f114], cx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x7b4], edx
add eax, ecx
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x2a8]
imul eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2ac]
imul ecx, dword [ebp - 0x2ac]
sub eax, ecx
cmp eax, 0xdf
je 0x10037a0d
mov edx, dword [str.Location]
mov dword [ebp - 0x77c], edx
mov eax, dword [0x1004d644]
mov dword [ebp - 0x778], eax
mov ecx, dword [0x1004d648]
mov dword [ebp - 0x774], ecx
mov edx, dword [0x1004d64c]
mov dword [ebp - 0x770], edx
mov ax, word [0x1004d650]
mov word [ebp - 0x76c], ax
lea ecx, [ebp - 0x77c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1005f0b4], eax
movzx edx, word [0x1005f128]
not edx
movzx eax, byte [ebp - 0x14]
cmp edx, eax
jge 0x10036e45
xor ecx, ecx
mov dword [ebp - 0x418], 1
mov dword [ebp - 0x414], ecx
jmp 0x10036e50
xorps xmm0, xmm0
movlpd qword [ebp - 0x418], xmm0
movzx eax, word [0x1005f128]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov edx, dword [ebp - 0x414]
cmp edx, dword [ebp - 0x6cc]
jl 0x10036fc5
jg 0x10036e99
mov eax, dword [ebp - 0x418]
cmp eax, dword [ebp - 0x6d0]
jb 0x10036fc5
mov dword [ebp - 4], 0xa
movzx ecx, byte [ebp - 0x12]
sub ecx, dword [0x1005f0e4]
mov byte [ebp - 0x12], cl
movsx edx, word [ebp - 0x1c]
movsx eax, byte [0x1005f076]
sub edx, eax
mov word [ebp - 0x1c], dx
mov cl, byte [0x1005f0a5]
add cl, 1
mov byte [0x1005f0a5], cl
movsx edx, word [0x1005f114]
mov eax, 4
imul ecx, eax, 0x15
mov dword [ecx + 0x100932f8], edx
jmp 0x10036fb3
mov dword [ebp - 4], 0xffffffff
jmp 0x10036fc3
jmp 0x1003701d
mov eax, dword [ebp - 0x38]
sub eax, 0x33685566
mov word [0x1005f148], ax
movzx ecx, byte [ebp - 0x14]
imul edx, ecx, 0xcb8
mov dword [0x1005f0d0], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
push 0
push 0x41
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1003a730
mov byte [str._CpuC3StatesChanges], al
mov cx, word [0x1005f0e0]
add cx, 1
mov word [0x1005f0e0], cx
call fcn.10010fb0
test eax, eax
jne 0x10037a0d
movzx eax, word [0x1005f10c]
cdq
push 0x92867
push 0xc590b75
push edx
push eax
call fcn.1003a730
mov word [0x1005f110], ax
mov edx, dword [ebp - 0x74]
sub edx, 0x69
mov byte [0x1005f013], dl
movzx eax, byte [ebp - 0x14]
imul eax, eax, 0x22d92562
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
xor ecx, ecx
mov dword [0x1005f0f8], 4
mov dword [0x1005f0fc], ecx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
add eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
sub edx, dword [0x1005f140]
sbb eax, dword [0x1005f144]
mov dword [0x1005f160], edx
mov dword [0x1005f164], eax
movsx ecx, byte [0x1005f0a5]
imul edx, ecx, 0x2a25ae3
mov byte [0x1005f04f], dl
mov eax, dword [0x1005f0f8]
mov ecx, dword [0x1005f0fc]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], ecx
cmp dword [ebp - 0x100], 0
jl 0x10037463
jg 0x10037101
cmp dword [ebp - 0x104], 0
jb 0x10037463
cmp dword [ebp - 0x100], 0
jg 0x10037463
jl 0x1003711d
cmp dword [ebp - 0x104], 4
ja 0x10037463
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x870]
jmp dword [eax*4 + 0x100388bc]
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 4], 0xc
movsx eax, word [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
jge 0x1003748b
mov dword [ebp - 0x2bc], 1
jmp 0x10037495
mov dword [ebp - 0x2bc], 0
movsx ecx, word [ebp - 0x24]
cmp ecx, 0x1a
jge 0x100374aa
mov dword [ebp - 0x2c0], 1
jmp 0x100374b4
mov dword [ebp - 0x2c0], 0
mov edx, dword [ebp - 0x2bc]
cmp edx, dword [ebp - 0x2c0]
jle 0x100376cf
movsx eax, byte [ebp - 0x13]
test eax, eax
je 0x10037502
mov cl, byte [0x1005f130]
mov byte [str._CpuC3StatesChanges], cl
mov eax, dword [0x1005f0a0]
cdq
add eax, dword [0x1005f150]
mov word [0x1005f138], ax
movsx edx, byte [0x1005f076]
add edx, 0x27e4289d
mov word [ebp - 0x28], dx
jmp 0x100376ca
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x6e8]
or edx, dword [ebp - 0x6e4]
je 0x1003753e
movsx eax, byte [ebp - 0x11]
test eax, eax
je 0x1003753e
xor ecx, ecx
mov dword [ebp - 0x438], 1
mov dword [ebp - 0x434], ecx
jmp 0x10037549
xorps xmm0, xmm0
movlpd qword [ebp - 0x438], xmm0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add edx, 0xc658
adc eax, 0
not edx
not eax
add edx, dword [ebp - 0x438]
adc eax, dword [ebp - 0x434]
mov dword [ebp - 0x6f0], edx
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6f0]
or ecx, dword [ebp - 0x6ec]
je 0x100375b3
mov edx, 0x86
mov word [ebp - 0x28], dx
imul eax, dword [0x1005f0d0], 0xfc6b97c3
xor ecx, ecx
mov dword [0x1005f160], eax
mov dword [0x1005f164], ecx
mov dx, word [ebp - 0x28]
sub dx, 1
mov word [ebp - 0x28], dx
jmp 0x100376ca
movzx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x6f4], edx
mov eax, dword [0x1005f0dc]
cmp eax, dword [ebp - 0x6f4]
jb 0x100375ed
ja 0x100375e1
mov ecx, dword [0x1005f0d8]
cmp ecx, dword [ebp - 0x6f8]
jb 0x100375ed
mov dword [ebp - 0x2c4], 1
jmp 0x100375f7
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x700], edx
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x700]
or ecx, dword [ebp - 0x6fc]
jne 0x10037629
cmp dword [ebp - 0x50], 0
je 0x10037629
mov dword [ebp - 0x2c8], 0
jmp 0x10037633
mov dword [ebp - 0x2c8], 1
mov edx, dword [ebp - 0x2c4]
cmp edx, dword [ebp - 0x2c8]
je 0x100376ca
movsx eax, word [0x1005f0c0]
sub eax, dword [ebp - 0x74]
movsx ecx, word [0x1005f0c0]
sub ecx, eax
mov word [0x1005f0c0], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x1005f134]
push ecx
mov ecx, dword [0x1005f130]
push ecx
push eax
push edx
call fcn.1003a730
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, dword [0x1005fc3c]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movzx eax, word [ebp - 0x2c]
cdq
add eax, dword [0x1005f130]
mov word [ebp - 0x2c], ax
mov dword [0x1005f0e8], 8
movzx eax, word [0x1005f10c]
cdq
add eax, 0x464e810
adc edx, 0x46cbb
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10037775
movsx eax, word [0x1005f114]
cdq
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x704], edx
cmp dword [ebp - 0x704], 0x129c8
jl 0x10037775
jg 0x10037701
cmp dword [ebp - 0x708], 0xdefe50b0
jb 0x10037775
mov cx, word [0x1005f0ec]
mov word [0x1005f114], cx
push 0
push 0x50c68422
mov edx, dword [0x1005f0ac]
push edx
mov eax, dword [0x1005f0a8]
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
movsx eax, byte [ebp - 0x15]
mov ecx, dword [0x1005f0a0]
imul ecx, eax
mov dword [0x1005f0a0], ecx
movzx edx, word [ebp - 0x2c]
imul eax, edx, 0x26654d80
mov byte [ebp - 0x12], al
mov ecx, dword [0x1005f0b8]
add ecx, 1
mov edx, dword [0x1005f0bc]
adc edx, 0
mov dword [0x1005f0b8], ecx
mov dword [0x1005f0bc], edx
jmp 0x100377f6
mov dword [ebp - 4], 0xffffffff
jmp 0x10037806
mov edx, dword [ebp - 0xc8]
add edx, 0x681
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp - 0xc8]
add eax, 0x5fa
mov dword [ebp - 0x2cc], eax
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x12]
cdq
or eax, ecx
mov byte [ebp - 0x12], al
movsx eax, byte [0x1005f0a5]
cdq
push 0x72e8b
push 0xa72f3547
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x11], al
mov dword [ebp - 0x74], 8
movsx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x11]
add edx, eax
movsx ecx, byte [ebp - 0x13]
and ecx, edx
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0xc8]
add edx, 0x501
mov dword [ebp - 0x7bc], edx
mov eax, dword [0x1005f0e4]
add eax, 0x252371ea
mov word [ebp - 0x20], ax
xor ecx, ecx
mov dword [0x1005f130], 0x32
mov dword [0x1005f134], ecx
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xc952
mov dword [0x1005f0d0], eax
mov ecx, dword [ebp - 0x2cc]
add ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
xor edx, ecx
cmp edx, dword [ebp - 0x2d0]
je 0x10037a0d
movsx eax, word [0x1005f0e0]
imul eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
movsx ecx, word [0x1005f0c0]
add ecx, dword [0x1005f0d0]
movsx edx, word [0x1005f0c0]
add edx, ecx
mov word [0x1005f0c0], dx
mov ecx, dword [0x1005f0b8]
add ecx, 0x89
mov esi, dword [0x1005f0bc]
adc esi, 0
movsx eax, byte [ebp - 0x15]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x15], al
imul eax, dword [ebp - 0x38], 0x95a6
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 4], 0xe
mov edx, dword [0x1005f0a0]
sub edx, 0x30050fb1
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x17]
add eax, 0x14f276b7
mov dword [0x1005f0b0], eax
mov eax, dword [0x1005f130]
mov edx, dword [0x1005f134]
mov cl, 3
call fcn.1003a770
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx ecx, word [ebp - 0x28]
not ecx
mov eax, dword [0x1005f0a0]
imul eax, ecx
cdq
mov edx, dword [0x1005f120]
mov ecx, dword [0x1005f124]
mov dword [ebp - 0x7c0], ecx
sub eax, edx
mov byte [ebp - 0x12], al
jmp 0x100379f3
mov dword [ebp - 4], 0xffffffff
jmp 0x10037a03
mov eax, 1
jmp 0x1003886c
jmp 0x100387d0
xor ecx, ecx
mov word [ebp - 0x1c], cx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
xor ecx, eax
xor esi, edx
push 0x524ee
push 0xc5e5b70f
push esi
push ecx
call fcn.1003a730
mov word [0x1005f114], ax
mov dl, byte [0x1005f0a5]
mov byte [ebp - 0x14], dl
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x478], eax
cmp dword [ebp - 0x478], 0
je 0x10037a5f
jmp 0x10037b65
movsx eax, byte [0x1005f09e]
shl eax, 8
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movzx eax, word [0x1005f0ec]
cdq
mov ebx, eax
movzx eax, word [0x1005f10c]
cdq
mov ecx, dword [0x1005f0ac]
push ecx
mov ecx, dword [0x1005f0a8]
push ecx
push edx
push eax
call fcn.1003a730
sub ebx, eax
not ebx
mov byte [ebp - 0x17], bl
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push eax
push edx
mov ecx, dword [0x1005f154]
push ecx
mov edx, dword [0x1005f150]
push edx
call fcn.1003a730
and eax, dword [0x1005f150]
and edx, dword [0x1005f154]
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov eax, dword [0x1005f140]
or eax, 0xd9ede04e
mov ecx, dword [0x1005f144]
mov dword [ebp - 0x710], eax
mov dword [ebp - 0x70c], ecx
mov edx, dword [ebp - 0x710]
or edx, dword [ebp - 0x70c]
jne 0x10037b0b
mov dword [ebp - 0x2d4], 1
jmp 0x10037b15
mov dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x5c], eax
movsx ecx, byte [0x1005f03b]
test ecx, ecx
jne 0x10037b35
mov dword [ebp - 0x2d8], 1
jmp 0x10037b3f
mov dword [ebp - 0x2d8], 0
movsx edx, byte [0x1005f09e]
mov eax, dword [ebp - 0x2d8]
sub eax, edx
cdq
mov ecx, eax
movzx eax, byte [ebp - 0x14]
cdq
xor eax, dword [0x1005f150]
sub ecx, eax
mov word [0x1005f114], cx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x4c]
sbb eax, dword [ebp - 0x48]
mov dword [ebp - 0x718], edx
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x718]
or ecx, dword [ebp - 0x714]
jne 0x10037b97
mov dword [ebp - 0x2dc], 1
jmp 0x10037ba1
mov dword [ebp - 0x2dc], 0
cmp dword [ebp - 0x2dc], 0xeba800
jge 0x10037cb9
mov dword [ebp - 0xcc], 0x76b
movzx edx, byte [0x1005f09f]
imul eax, edx, 0x385c
mov dword [0x1005f0b0], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], esi
mov ecx, 4
imul edx, ecx, 0xaa
mov eax, dword [0x1005f0d0]
mov dword [edx + 0x102b27c0], eax
cmp dword [ebp - 0xcc], 0x5e6
jle 0x10037cb7
mov dword [ebp - 4], 0x10
jmp 0x10037c93
mov dword [ebp - 4], 0xffffffff
jmp 0x10037ca3
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x10037bff
jmp 0x10037d35
movsx edx, word [0x1005f108]
test edx, edx
je 0x10037d35
mov eax, dword [0x1005f0c8]
or eax, dword [0x1005f0cc]
je 0x10037ce0
movzx ecx, byte [0x1005f0a4]
mov dword [ebp - 0x2e4], ecx
jmp 0x10037ced
movsx edx, byte [0x1005f04f]
mov dword [ebp - 0x2e4], edx
mov ax, word [ebp - 0x2e4]
mov word [ebp - 0x24], ax
movsx ecx, word [ebp - 0x20]
movzx edx, word [0x1005f158]
sub ecx, edx
movsx eax, word [ebp - 0x20]
sub eax, ecx
mov word [ebp - 0x20], ax
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x7c4], edx
add ecx, 0x77179ab
mov word [0x1005f128], cx
mov dword [ebp - 0x50], 0x8f
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0xd0], eax
mov ecx, 4
imul edx, ecx, 0x7a92
mov al, byte [edx + 0x101db6d8]
mov byte [ebp - 0x11], al
movsx eax, byte [0x1005f09e]
sub eax, 0x36
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
mov byte [str.a_StartIdle_], 0x4e
mov ecx, dword [ebp - 0xd0]
add ecx, 0x8af
mov dword [ebp - 0x480], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x10037d97
mov dword [ebp - 0x2e8], 1
jmp 0x10037da1
mov dword [ebp - 0x2e8], 0
movzx eax, word [0x1005f158]
sub eax, dword [ebp - 0x2e8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x1005f0ec]
cdq
add eax, dword [0x1005f150]
adc edx, dword [0x1005f154]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov byte [0x1005f09e], al
mov eax, dword [0x1005f0e4]
cdq
add eax, 0xeb810642
adc edx, 0x787a3
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov edx, 8
imul eax, edx, 0xd99f
mov cx, word [eax + 0x10335cf8]
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0x44]
mov eax, 4
imul ecx, eax, 0x2b91
mov dword [ecx + 0x101b8bd8], edx
mov dl, byte [ebp - 0x17]
mov eax, 1
imul ecx, eax, 0x3d9f
mov byte [ecx + 0x1008e078], dl
mov edx, dword [ebp - 0xd0]
add edx, 0x668
mov dword [ebp - 0x47c], edx
movsx eax, byte [0x1005f077]
movzx ecx, byte [0x1005f09f]
imul eax, ecx
mov byte [0x1005f077], al
movzx eax, byte [0x1005f0a4]
movsx edx, byte [ebp - 0x16]
movsx ecx, word [0x1005f0c0]
add edx, ecx
sub eax, edx
cdq
mov edx, dword [0x1005f0b8]
sub edx, eax
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x13]
imul eax, dword [0x1005f0d0]
test eax, eax
jne 0x10037e9d
xor ecx, ecx
mov dword [ebp - 0x450], 1
mov dword [ebp - 0x44c], ecx
jmp 0x10037ea8
xorps xmm0, xmm0
movlpd qword [ebp - 0x450], xmm0
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x10037ec4
xor eax, eax
mov dword [ebp - 0x448], 1
mov dword [ebp - 0x444], eax
jmp 0x10037ecf
xorps xmm0, xmm0
movlpd qword [ebp - 0x448], xmm0
mov eax, dword [0x1005f0e8]
cdq
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x7c8], ecx
add ebx, eax
mov eax, dword [ebp - 0x38]
not eax
cdq
add ebx, eax
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
sub edx, dword [ebp - 0x448]
sbb eax, dword [ebp - 0x444]
push eax
push edx
mov ecx, dword [ebp - 0x44c]
push ecx
mov edx, dword [ebp - 0x450]
push edx
call fcn.1003a730
sub ebx, eax
mov byte [ebp - 0x15], bl
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], ecx
mov edx, dword [ebp - 0x720]
or edx, dword [ebp - 0x71c]
je 0x10037f55
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], ecx
jmp 0x10037f67
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x38], ecx
movsx eax, byte [0x1005f013]
movsx edx, word [ebp - 0x28]
sub eax, edx
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov eax, dword [ebp - 0xd0]
add eax, 0x80f
mov dword [ebp - 0x7cc], eax
mov dword [ebp - 4], 0x12
movsx ecx, word [0x1005f108]
test ecx, ecx
je 0x10038006
movzx edx, byte [ebp - 0x14]
sub edx, 0x6dcb05c
mov word [ebp - 0x2c], dx
mov eax, dword [0x1005f0d8]
or eax, dword [0x1005f0dc]
je 0x10037fd2
mov cl, byte [0x1005f077]
mov byte [ebp - 0x79], cl
jmp 0x10037fd8
mov dl, byte [ebp - 0x17]
mov byte [ebp - 0x79], dl
movsx eax, byte [ebp - 0x79]
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
movsx eax, byte [0x1005f03b]
cdq
push 0x5174c
push 0xe1bd0ac5
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x38], eax
jmp 0x1003807d
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], edx
cmp dword [ebp - 0x728], 0x1e57a348
jne 0x1003802f
cmp dword [ebp - 0x724], 0xfff1e37b
je 0x1003807d
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x1c]
add eax, ecx
mov word [ebp - 0x20], ax
movzx edx, word [0x1005f128]
imul eax, edx, 0x6331
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [ebp - 0x2c]
not eax
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [0x1005f013]
movsx ecx, byte [str._CpuC3StatesChanges]
add eax, ecx
movsx edx, byte [0x1005f013]
add edx, eax
mov byte [0x1005f013], dl
jmp 0x10038118
mov dword [ebp - 4], 0xffffffff
jmp 0x10038128
mov ecx, dword [ebp - 0x47c]
sub ecx, 0x12
mov edx, dword [ebp - 0x480]
or edx, 0x2f0
add edx, 0x1ce
cmp ecx, edx
je 0x100387d0
mov dword [ebp - 0xd4], 0
jmp 0x10038166
mov eax, dword [ebp - 0xd4]
add eax, 2
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x1ce
jge 0x1003824d
movzx ecx, byte [str.a_StartIdle_]
test ecx, ecx
je 0x10038239
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x100381a1
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], ecx
jmp 0x100381b3
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x45c], eax
mov cl, byte [ebp - 0x460]
mov byte [0x1005f076], cl
movsx eax, byte [0x1005f013]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
call fcn.1003a770
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x44]
sub edx, 0xb185670f
mov dword [ebp - 0x38], edx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x20], ax
movsx eax, word [0x1005f114]
cdq
mov ecx, eax
sub ecx, 0xe308d219
movsx eax, byte [ebp - 0x17]
cdq
sub eax, ecx
mov byte [ebp - 0x17], al
mov dl, byte [str._CpuC3StatesChanges]
add dl, 1
mov byte [str._CpuC3StatesChanges], dl
jmp 0x10038157
call fcn.10010fb0
test eax, eax
jne 0x100387d0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [0x1005f150]
jne 0x10038270
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [0x1005f154]
je 0x100382ae
xor edx, edx
mov dword [ebp - 0x64], 0x4e
mov dword [ebp - 0x60], edx
movsx eax, byte [ebp - 0x11]
movsx ecx, byte [ebp - 0x13]
add eax, ecx
mov byte [ebp - 0x11], al
movsx edx, byte [ebp - 0x13]
sub edx, 0xa2
jne 0x100382a0
mov eax, 1
mov word [ebp - 0x7e], ax
jmp 0x100382a6
xor ecx, ecx
mov word [ebp - 0x7e], cx
mov dx, word [ebp - 0x7e]
mov word [ebp - 0x1c], dx
mov dword [ebp - 0xd8], 0
jmp 0x100382c9
mov eax, dword [ebp - 0xd8]
add eax, 2
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x17e
jge 0x100385d6
mov dword [ebp - 0xe0], 0x47
movsx eax, byte [0x1005f013]
cdq
mov ecx, eax
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0x7d0], eax
sub ecx, edx
movsx eax, byte [0x1005f013]
cdq
add eax, ecx
mov byte [0x1005f013], al
mov ecx, dword [0x1005f100]
not ecx
xor edx, edx
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
push esi
push eax
push edx
push ecx
call fcn.1003a730
mov ecx, eax
mov esi, edx
movsx eax, word [0x1005f15c]
cdq
mov edi, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
adc edx, edi
push edx
push eax
push esi
push ecx
call fcn.1003a730
not eax
not edx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x5c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x7d4], eax
sub ecx, edx
mov eax, dword [ebp - 0x5c]
cdq
add eax, ecx
mov dword [ebp - 0x5c], eax
movsx ecx, byte [ebp - 0x13]
imul edx, ecx, 0xff1c2151
mov word [0x1005f110], dx
mov dword [ebp - 0xdc], 0
jmp 0x10038398
mov eax, dword [ebp - 0xdc]
add eax, 2
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x34a
jge 0x100385a3
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x72c]
cmp eax, dword [0x1005f144]
ja 0x100383e4
jb 0x100383d8
mov ecx, dword [ebp - 0x730]
cmp ecx, dword [0x1005f140]
ja 0x100383e4
mov dword [ebp - 0x2f0], 1
jmp 0x100383ee
mov dword [ebp - 0x2f0], 0
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x738], eax
mov dword [ebp - 0x734], edx
mov dword [ebp - 0x740], ecx
mov dword [ebp - 0x73c], esi
mov edx, dword [ebp - 0x734]
cmp edx, dword [ebp - 0x73c]
jl 0x1003843b
jg 0x1003842f
mov eax, dword [ebp - 0x738]
cmp eax, dword [ebp - 0x740]
jb 0x1003843b
mov dword [ebp - 0x2f4], 1
jmp 0x10038445
mov dword [ebp - 0x2f4], 0
mov ecx, dword [ebp - 0x2f0]
cmp ecx, dword [ebp - 0x2f4]
jle 0x1003845f
mov dword [ebp - 0x2f8], 1
jmp 0x10038469
mov dword [ebp - 0x2f8], 0
mov edx, dword [ebp - 0x2f8]
not edx
test edx, edx
je 0x100384b1
movsx eax, byte [ebp - 0x15]
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
movsx eax, byte [ebp - 0x13]
sub eax, dword [ebp - 0x68]
movsx ecx, byte [ebp - 0x13]
imul ecx, eax
mov byte [ebp - 0x13], cl
mov edx, dword [0x1005f0d0]
add edx, 0x59a65887
movzx eax, word [ebp - 0x2c]
sub eax, edx
mov word [ebp - 0x2c], ax
jmp 0x1003858c
movsx ecx, word [0x1005f0c0]
test ecx, ecx
jne 0x100384ce
mov edx, dword [0x1005f150]
or edx, dword [0x1005f154]
je 0x1003858c
movsx eax, word [ebp - 0x24]
sub eax, 0x1e
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov dword [ebp - 0x74], ecx
movzx edx, byte [0x1005f09f]
test edx, edx
jne 0x100384f4
mov dword [ebp - 0x2fc], 1
jmp 0x100384fe
mov dword [ebp - 0x2fc], 0
movzx eax, word [ebp - 0x2c]
xor eax, dword [ebp - 0x2fc]
cdq
mov ebx, eax
mov eax, dword [0x1005f100]
xor ecx, ecx
push 0xc6f4
push 0xf36f81a2
push ecx
push eax
call fcn.1003a730
add ebx, eax
movzx eax, byte [0x1005f09f]
cdq
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x7d8], ecx
sub eax, edx
xor eax, 0xfffff497
not eax
sub ebx, eax
mov byte [ebp - 0x12], bl
mov edx, dword [0x1005f0b0]
add edx, 0x3d4e9f92
mov dword [0x1005f0e8], edx
movzx eax, word [ebp - 0x2c]
sar eax, 4
mov byte [0x1005f03b], al
movsx ecx, word [0x1005f108]
movsx edx, byte [ebp - 0x16]
sub ecx, edx
movsx eax, word [0x1005f108]
sub eax, ecx
mov word [0x1005f108], ax
mov cx, word [0x1005fc3c]
mov word [ebp - 0x1c], cx
mov dx, word [0x1005f128]
add dx, 1
mov word [0x1005f128], dx
jmp 0x10038389
mov eax, dword [ebp - 0xe0]
add eax, 1
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x21a6
jl 0x1003837d
mov cl, byte [0x1005f077]
add cl, 1
mov byte [0x1005f077], cl
jmp 0x100382ba
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xe4], edx
movsx eax, byte [0x1005f013]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
movsx edx, byte [ebp - 0x11]
add edx, 0x966f
movsx eax, word [0x1005f108]
sub eax, edx
mov word [0x1005f108], ax
movsx ecx, byte [ebp - 0x15]
xor ecx, 0xf6
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0xe4]
add edx, 0x54d
mov dword [ebp - 0x464], edx
mov ecx, 9
mov esi, str.NO_EC__setspeaker
lea edi, [ebp - 0x8a0]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x8a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x617
mov dword [ebp - 0x300], ecx
mov edx, dword [ebp - 0xe4]
add edx, 0x82e
mov dword [ebp - 0x7dc], edx
movzx eax, byte [0x1005f09f]
imul ecx, eax, 0x83c6c36f
mov byte [0x1005f04f], cl
movsx edx, byte [0x1005f077]
movsx eax, word [0x1005f114]
add edx, eax
movsx ecx, byte [0x1005f077]
sub ecx, edx
mov byte [0x1005f077], cl
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov cl, 3
call fcn.1003a770
mov byte [0x1005f013], al
imul edx, dword [ebp - 0x464], 0x318
mov eax, dword [ebp - 0x300]
imul eax, dword [ebp - 0x300]
imul edx, eax
cmp edx, 0x460
je 0x100387d0
cmp dword [0x1005f0b0], 0
je 0x10038706
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x304], ecx
jmp 0x10038712
mov edx, dword [0x1005f0e4]
mov dword [ebp - 0x304], edx
mov ax, word [ebp - 0x304]
mov word [0x1005f0e0], ax
mov ecx, dword [ebp - 0x44]
add ecx, dword [0x1005f140]
movzx eax, word [0x1005f10c]
cdq
add eax, 0xb53b20a
sub ecx, eax
mov byte [ebp - 0x14], cl
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
push eax
push edx
mov ecx, dword [0x1005f144]
push ecx
mov edx, dword [0x1005f140]
push edx
call fcn.1003a730
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1005f0a8]
sub ecx, eax
mov eax, dword [0x1005f0ac]
sbb eax, edx
and ecx, dword [0x1005f0a8]
and eax, dword [0x1005f0ac]
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], eax
movsx ecx, word [ebp - 0x1c]
add ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
mov ecx, 9
mov esi, 0x1004d678
lea edi, [ebp - 0x8c8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x8c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1005f128], ax
mov eax, 1
jmp 0x1003886c
movzx ecx, byte [str.a_StartIdle_]
imul edx, ecx, 0xb278ecd1
mov word [ebp - 0x2c], dx
movsx eax, byte [ebp - 0x17]
mov ecx, dword [0x1005f0b0]
imul ecx, eax
movzx edx, word [ebp - 0x2c]
movsx eax, byte [0x1005f076]
sub edx, eax
movzx eax, byte [str.a_StartIdle_]
add eax, 0xf8
and edx, eax
not edx
add ecx, edx
xor edx, edx
mov dword [0x1005f130], ecx
mov dword [0x1005f134], edx
mov eax, dword [ebp - 0x5c]
shl eax, 2
mov dword [ebp - 0x44], eax
movsx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
push 0x731ab
push 0x618fc646
mov ecx, dword [0x1005f0dc]
push ecx
mov edx, dword [0x1005f0d8]
push edx
call fcn.1003a730
mov ecx, eax
mov eax, dword [ebp - 0x74]
cdq
add eax, ecx
mov dword [ebp - 0x74], eax
movsx edx, byte [ebp - 0x17]
movsx eax, byte [ebp - 0x11]
add edx, eax
mov byte [ebp - 0x17], dl
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret