Function at 0x10020ae0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004bd80
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x4b7c
call fcn.1003a860
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x145], 0xbb
xor eax, eax
mov dword [ebp - 0x74], 0xeb00
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x64], 0x203a4ad5
mov ecx, 0xffffd242
mov word [ebp - 0x2c], cx
mov edx, 0xddb11
mov dword [ebp - 0x7c], 0xf8972599
mov dword [ebp - 0x78], edx
mov eax, dword [0x1005f0f0]
mov dword [ebp - 0x60], eax
mov ecx, dword [0x1005f0f0]
mov edx, dword [0x1005f0f4]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [0x1005f0b0]
mov byte [ebp - 0x13], al
movzx eax, byte [0x1005f0a4]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x5c], 0xf18d60c
mov byte [ebp - 0x11], 0x6e
movsx cx, byte [str._CpuC3StatesChanges]
mov word [ebp - 0x1c], cx
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
mov dword [ebp - 0x88c], eax
mov byte [ebp - 0x17], dl
mov cl, byte [0x1005f114]
mov byte [ebp - 0x15], cl
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0x890], eax
mov word [ebp - 0x28], dx
mov cl, byte [0x1005f140]
mov byte [ebp - 0x16], cl
mov dx, word [0x1005f0b4]
mov word [ebp - 0x24], dx
xor eax, eax
mov dword [ebp - 0x58], 0xa162
mov dword [ebp - 0x54], eax
mov ecx, 0xdf
mov word [ebp - 0x20], cx
mov dl, byte [str.a_StartIdle_]
mov byte [ebp - 0x12], dl
mov eax, dword [0x1005f0b0]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movsx eax, word [0x1005f110]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x14], 0x58
mov dword [ebp - 0x38], 0xdc995d05
xor edx, edx
mov dword [ebp - 0x50], 0x8afa7431
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x144], 0x41
mov dword [ebp - 0x894], 0xbf
xor eax, eax
mov dword [ebp - 0x8d0], 0xc261
mov dword [ebp - 0x8cc], eax
xor ecx, ecx
mov dword [ebp - 0x8d8], 0x34
mov dword [ebp - 0x8d4], ecx
movsx dx, byte [0x1005f076]
mov word [ebp - 0x4e8], dx
mov byte [ebp - 0x143], 0x2c
mov eax, 3
mov word [ebp - 0x24], ax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10020c80
mov dword [ebp - 0x31c], 1
jmp 0x10020c8a
mov dword [ebp - 0x31c], 0
movzx edx, byte [ebp - 0x13]
xor edx, dword [0x1005f100]
add edx, dword [ebp - 0x31c]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
imul ecx, dword [ebp - 0x64], 0xaf5c
mov dword [0x1005f0b4], ecx
movzx eax, byte [ebp - 0x14]
sub eax, dword [ebp - 0x38]
movsx edx, byte [ebp - 0x15]
not edx
movsx ecx, word [ebp - 0x2c]
sub edx, ecx
sub eax, edx
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx edx, word [0x1005f110]
test edx, edx
je 0x10020cef
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], ecx
jmp 0x10020d00
movzx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], edx
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x358]
mov dword [0x1005f160], edx
mov dword [0x1005f164], eax
imul ecx, dword [0x1005f100], 0xc094
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
imul eax, dword [0x1005f0b4], 0x4bad
mov byte [0x1005f09e], al
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x320], ecx
cmp dword [ebp - 0x320], 3
ja case.default.0x10020d55
mov edx, dword [ebp - 0x320]
jmp dword [edx*4 + 0x100279b0]
movzx eax, word [0x1005f128]
imul ecx, eax, 0x92
mov byte [ebp - 0x16], cl
movsx edx, byte [0x1005f077]
movsx eax, byte [0x1005f04f]
sub edx, eax
movsx ecx, byte [0x1005f077]
add ecx, edx
mov byte [0x1005f077], cl
movsx eax, word [0x1005f0e0]
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov eax, dword [0x1005f0e8]
not eax
cdq
mov edx, dword [0x1005f0f0]
sub edx, eax
movzx eax, word [ebp - 0x24]
imul eax, dword [0x1005f0b4]
add edx, eax
mov dword [0x1005f0d0], edx
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [0x1005f130], ecx
mov dword [0x1005f134], edx
jmp case.default.0x10020d55
movsx eax, word [0x1005f0c0]
cdq
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0x70]
sbb eax, edx
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x58c]
or ecx, dword [ebp - 0x588]
jne 0x10020e1a
xor edx, edx
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x428], edx
jmp 0x10020e25
xorps xmm0, xmm0
movlpd qword [ebp - 0x42c], xmm0
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x1005f0c8]
not ecx
mov esi, dword [0x1005f0cc]
not esi
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x42c]
adc esi, dword [ebp - 0x428]
movzx edx, word [0x1005f10c]
not edx
mov eax, dword [ebp - 0x60]
sub eax, edx
cdq
mov edi, eax
mov ebx, edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, dword [0x1005f130]
sbb edx, dword [0x1005f134]
xor edi, eax
xor ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], edx
mov eax, dword [ebp - 0x594]
or eax, dword [ebp - 0x590]
jne 0x10020ea4
mov byte [ebp - 0x7d], 1
jmp 0x10020ea8
mov byte [ebp - 0x7d], 0
mov cl, byte [ebp - 0x7d]
mov byte [ebp - 0x12], cl
movsx eax, word [0x1005f114]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], esi
mov edx, dword [ebp - 0x74]
add edx, 0x692c5cfa
mov eax, dword [ebp - 0x70]
adc eax, 0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
movsx eax, word [0x1005f15c]
cdq
sub eax, 0x9d086b3b
sbb edx, 0x116b8
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
and ecx, eax
and esi, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
movsx eax, word [0x1005f114]
cdq
xor eax, dword [0x1005f0d8]
xor edx, dword [0x1005f0dc]
add eax, dword [0x1005f0d8]
adc edx, dword [0x1005f0dc]
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movzx edx, byte [ebp - 0x14]
sub edx, 0x7dbaa913
mov dword [0x1005f0e8], edx
jmp case.default.0x10020d55
xor eax, eax
mov dword [0x1005f118], 0x31ee
mov dword [0x1005f11c], eax
movsx ecx, word [0x1005f110]
sub ecx, 0xa6
mov word [0x1005f158], cx
movsx edx, byte [0x1005f03b]
test edx, edx
jne 0x10020f74
mov byte [ebp - 0x7e], 1
jmp 0x10020f78
mov byte [ebp - 0x7e], 0
mov al, byte [ebp - 0x7e]
mov byte [ebp - 0x16], al
movsx ecx, byte [0x1005f03b]
test ecx, ecx
jne 0x10020f95
mov dword [ebp - 0x324], 1
jmp 0x10020f9f
mov dword [ebp - 0x324], 0
movsx edx, word [ebp - 0x2c]
add edx, dword [ebp - 0x324]
jne 0x10020fbf
xor eax, eax
mov dword [ebp - 0x434], 1
mov dword [ebp - 0x430], eax
jmp 0x10020fca
xorps xmm0, xmm0
movlpd qword [ebp - 0x434], xmm0
cmp dword [ebp - 0x60], 0
jne 0x10020fdc
mov dword [ebp - 0x328], 1
jmp 0x10020fe6
mov dword [ebp - 0x328], 0
mov ecx, dword [ebp - 0x6c]
not ecx
mov esi, dword [ebp - 0x68]
not esi
movzx eax, word [ebp - 0x24]
not eax
cdq
sub ecx, eax
sbb esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x430]
push edx
mov eax, dword [ebp - 0x434]
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
movzx eax, word [0x1005f128]
xor eax, dword [ebp - 0x328]
xor eax, dword [ebp - 0x38]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x598], esi
mov edx, dword [ebp - 0x59c]
or edx, dword [ebp - 0x598]
jne 0x1002104f
mov dword [ebp - 0x32c], 1
jmp 0x10021059
mov dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x32c]
mov dword [0x1005f0b0], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x898], edx
sub ecx, 0x3f3e478d
mov dword [ebp - 0x60], ecx
jmp case.default.0x10020d55
movsx eax, word [0x1005f110]
sar eax, 5
mov byte [ebp - 0x16], al
movzx ecx, byte [ebp - 0x11]
sar ecx, 4
mov dword [0x1005f0d0], ecx
movzx edx, byte [str.a_StartIdle_]
xor edx, 0x80
mov word [0x1005f108], dx
movsx eax, word [0x1005f114]
add eax, dword [0x1005f0e8]
mov dword [0x1005f0e8], eax
mov ecx, dword [0x1005fc3c]
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x160], 0x27ff
mov ecx, dword [0x1005f0b8]
and ecx, 0x97375b80
mov eax, dword [ebp - 0x38]
cdq
xor eax, ecx
mov dword [ebp - 0x38], eax
movzx edx, byte [ebp - 0x13]
sar edx, 6
mov word [0x1005f110], dx
mov eax, dword [0x1005f150]
add eax, 0x96085c25
mov ecx, dword [0x1005f154]
adc ecx, 0
mov edx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
add edx, eax
adc esi, ecx
mov dword [0x1005f118], edx
mov dword [0x1005f11c], esi
cmp dword [ebp - 0x160], 0x261a
jle 0x100211d7
movsx eax, word [0x1005f110]
movsx ecx, word [ebp - 0x2c]
cmp eax, ecx
jne 0x1002114e
mov dword [ebp - 0x330], 1
jmp 0x10021158
mov dword [ebp - 0x330], 0
movsx edx, word [0x1005f110]
cmp edx, 0x38
jne 0x10021170
mov dword [ebp - 0x334], 1
jmp 0x1002117a
mov dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x330]
cmp eax, dword [ebp - 0x334]
jl 0x1002118a
jmp 0x100211c3
xor ecx, ecx
mov dword [0x1005f130], 0x8e00
mov dword [0x1005f134], ecx
movzx dx, byte [ebp - 0x11]
mov word [ebp - 0x28], dx
movsx eax, byte [0x1005f0a5]
add eax, 0x18
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [0x1005f130]
sub eax, 0xb602e2fb
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x160]
sub ecx, 1
mov dword [ebp - 0x160], ecx
jmp 0x10021123
mov edx, dword [ebp - 0x164]
add edx, 0x788
mov dword [ebp - 0x55c], edx
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], edx
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x74]
jne case.default.0x1002127c
mov ecx, dword [ebp - 0x5a0]
cmp ecx, dword [ebp - 0x70]
jne case.default.0x1002127c
mov byte [ebp - 0x13], 3
mov eax, dword [0x1005f0a0]
cdq
push edx
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1003a730
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx ecx, word [0x1005f0ec]
add ecx, 0x30
mov word [0x1005f114], cx
movsx edx, byte [ebp - 0x12]
sub edx, 0x40
movsx eax, word [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x28], ax
movzx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x338], ecx
cmp dword [ebp - 0x338], 3
ja case.default.0x1002127c
mov edx, dword [ebp - 0x338]
jmp dword [edx*4 + 0x100279c0]
movsx eax, word [0x1005f110]
shl eax, 1
cdq
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
xor eax, eax
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x68], eax
movzx ecx, byte [0x1005f09f]
movsx edx, word [ebp - 0x28]
imul ecx, edx
test ecx, ecx
jne 0x100212ca
xor eax, eax
mov dword [ebp - 0x5ac], 1
mov dword [ebp - 0x5a8], eax
jmp 0x100212d5
xorps xmm0, xmm0
movlpd qword [ebp - 0x5ac], xmm0
movsx ecx, word [0x1005f0c0]
mov edx, dword [0x1005f0e4]
xor edx, ecx
jne 0x100212f2
mov dword [ebp - 0x33c], 1
jmp 0x100212fc
mov dword [ebp - 0x33c], 0
mov eax, dword [0x1005f0e8]
cdq
mov ecx, eax
add ecx, 0x2c682494
xor ecx, dword [ebp - 0x5ac]
movsx edx, word [ebp - 0x1c]
mov eax, dword [ebp - 0x33c]
lea eax, [eax + edx + 0x8af7]
cdq
sub ecx, eax
mov dword [ebp - 0x5c], ecx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
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 edx, word [ebp - 0x1c]
imul eax, edx, 0x9cfecf1b
xor ecx, ecx
add eax, dword [0x1005f140]
adc ecx, dword [0x1005f144]
mov dword [0x1005f140], eax
mov dword [0x1005f144], ecx
movsx edx, word [0x1005f108]
add edx, 0x36fe9148
movsx eax, byte [ebp - 0x12]
sub eax, edx
mov byte [ebp - 0x12], al
jmp case.default.0x1002127c
movsx ecx, word [ebp - 0x20]
imul edx, ecx, 0x3444db10
mov byte [ebp - 0x14], dl
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push esi
push edx
push ecx
push eax
call fcn.1003a730
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, eax
adc esi, edx
mov dword [0x1005f160], ecx
mov dword [0x1005f164], esi
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
not edx
not eax
mov ecx, dword [0x1005f0b0]
not ecx
xor esi, esi
add edx, ecx
adc eax, esi
mov dword [ebp - 0x5b4], edx
mov dword [ebp - 0x5b0], eax
mov edx, dword [ebp - 0x5b4]
or edx, dword [ebp - 0x5b0]
jne 0x10021417
xor eax, eax
mov dword [ebp - 0x43c], 1
mov dword [ebp - 0x438], eax
jmp 0x10021422
xorps xmm0, xmm0
movlpd qword [ebp - 0x43c], xmm0
movzx eax, byte [ebp - 0x11]
cdq
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
sub eax, dword [ebp - 0x43c]
sbb edx, dword [ebp - 0x438]
not eax
not edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
jmp case.default.0x1002127c
movsx eax, word [ebp - 0x28]
cdq
sub eax, 0xb1bba328
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x64]
cdq
add eax, 0xe248d5b3
mov word [0x1005f114], ax
jmp case.default.0x1002127c
movsx ecx, byte [0x1005f04f]
imul edx, ecx, 0xaa
mov word [0x1005f110], dx
movzx eax, word [0x1005f128]
add eax, dword [0x1005f0d0]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x64]
sub ecx, 0xe2
mov dword [0x1005f0a0], ecx
mov dx, word [0x1005fc3c]
mov word [0x1005f10c], dx
mov eax, dword [ebp - 0x164]
add eax, 0x6c5
mov dword [ebp - 0x1cc], eax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10021501
mov edx, 2
imul eax, edx, 0x167c
mov cx, word [eax + 0x10156048]
mov word [0x1005f158], cx
mov edx, dword [0x1005f104]
add edx, 0x5006ceaa
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x34]
or eax, dword [ebp - 0x30]
jne 0x100214f5
mov byte [ebp - 0x7f], 1
jmp 0x100214f9
mov byte [ebp - 0x7f], 0
mov cl, byte [ebp - 0x7f]
mov byte [ebp - 0x11], cl
jmp 0x10021535
mov dx, word [0x1005fc3c]
mov word [0x1005f0c0], dx
mov eax, dword [0x1005f0b0]
mov byte [0x1005f076], al
push 0
push 0x5c
mov ecx, dword [0x1005f0ac]
push ecx
mov edx, dword [0x1005f0a8]
push edx
call fcn.1003a730
mov dword [0x1005f0b0], eax
mov eax, dword [ebp - 0x164]
add eax, 0x883
mov dword [ebp - 0x1d0], eax
movsx ecx, byte [0x1005f09e]
mov edx, dword [ebp - 0x60]
add edx, ecx
mov eax, dword [ebp - 0x60]
sub eax, edx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x64]
cdq
mov ecx, eax
sub ecx, 0xada7fb00
movzx eax, word [0x1005f138]
cdq
sub eax, ecx
mov word [0x1005f138], ax
mov dword [ebp - 0x64], 0x98
xor edx, edx
mov dword [ebp - 0x6c], 0x8b
mov dword [ebp - 0x68], edx
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x16c], eax
mov ecx, dword [str._GET_CHECKSUM_]
mov dword [ebp - 0x7f4], ecx
mov edx, dword [0x1004d36c]
mov dword [ebp - 0x7f0], edx
mov eax, dword [0x1004d370]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [0x1004d374]
mov dword [ebp - 0x7e8], ecx
mov dx, word [0x1004d378]
mov word [ebp - 0x7e4], dx
mov al, byte [0x1004d37a]
mov byte [ebp - 0x7e2], al
lea ecx, [ebp - 0x7f4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 0x14], al
mov edx, dword [ebp - 0x16c]
add edx, 0x814
mov dword [ebp - 0x440], edx
mov eax, dword [0x1005f0f8]
or eax, dword [0x1005f0fc]
je 0x1002161f
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x348], edx
jmp 0x10021633
movsx eax, word [0x1005f110]
cdq
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x348]
mov dword [0x1005f160], eax
mov dword [0x1005f164], ecx
movzx edx, byte [ebp - 0x16]
movzx eax, word [0x1005f0ec]
sub edx, eax
mov ecx, dword [0x1005f0a0]
xor ecx, dword [0x1005f104]
imul edx, ecx
not edx
imul edx, dword [ebp - 0x64]
not edx
mov byte [ebp - 0x14], dl
cmp dword [0x1005f0d0], 0
jne 0x10021686
mov dword [ebp - 0x340], 1
jmp 0x10021690
mov dword [ebp - 0x340], 0
movsx edx, word [0x1005f110]
mov eax, edx
imul eax, dword [ebp - 0x340]
movsx ecx, byte [0x1005f0a5]
movsx edx, byte [0x1005f013]
xor ecx, edx
add eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 0x13]
imul eax, dword [0x1005f100]
add eax, dword [0x1005f100]
mov dword [0x1005f100], eax
mov ecx, 4
imul edx, ecx, 0x16
movzx eax, word [0x1005f0ec]
and eax, dword [edx + 0x100dd368]
mov word [0x1005f0ec], ax
mov ecx, dword [ebp - 0x16c]
add ecx, 0x7f5
mov dword [ebp - 0x7d0], ecx
mov dword [ebp - 4], 0
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5c4], ecx
mov dword [ebp - 0x5c0], esi
mov edx, dword [ebp - 0x5b8]
cmp edx, dword [ebp - 0x5c0]
jb 0x10021797
ja 0x10021744
mov eax, dword [ebp - 0x5bc]
cmp eax, dword [ebp - 0x5c4]
jb 0x10021797
mov dword [ebp - 0x168], 0x2f
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [0x1005f0f8], ecx
mov dword [0x1005f0fc], edx
mov eax, 2
mov word [ebp - 0x2c], ax
mov ecx, dword [0x1005f0b0]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x168]
add eax, 1
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0x90e
jl 0x10021777
jmp 0x100218d0
cmp dword [0x1005f100], 0
je 0x1002186f
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movzx eax, word [0x1005f0ec]
test eax, eax
jne 0x100217cd
mov dword [ebp - 0x350], 1
jmp 0x100217d7
mov dword [ebp - 0x350], 0
movzx ecx, word [0x1005f10c]
test ecx, ecx
jne 0x100217ee
mov dword [ebp - 0x354], 1
jmp 0x100217f8
mov dword [ebp - 0x354], 0
mov eax, dword [ebp - 0x350]
sub eax, dword [ebp - 0x354]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, 0xc4854561
adc esi, 0x98be2
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5c8], edx
mov edx, dword [ebp - 0x5cc]
or edx, dword [ebp - 0x5c8]
jne 0x1002184f
xor eax, eax
mov dword [ebp - 0x5d4], 1
mov dword [ebp - 0x5d0], eax
jmp 0x1002185a
xorps xmm0, xmm0
movlpd qword [ebp - 0x5d4], xmm0
mov ecx, dword [0x1005f0f8]
sub ecx, dword [ebp - 0x5d4]
mov word [0x1005f108], cx
jmp 0x100218d0
movzx edx, word [0x1005f148]
test edx, edx
je 0x100218d0
movzx eax, byte [ebp - 0x14]
test eax, eax
je 0x100218d0
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0x26c0
mov word [ebp - 0x28], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
sub eax, 0x7b8112fe
sbb ecx, 0
mov dword [0x1005f160], eax
mov dword [0x1005f164], ecx
movsx edx, byte [ebp - 0x12]
imul eax, edx, 0x65fa2aa0
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, eax
adc esi, edx
mov dword [0x1005f160], ecx
mov dword [0x1005f164], esi
jmp 0x100219c6
mov dword [ebp - 4], 0xffffffff
jmp 0x100219d6
mov eax, dword [ebp - 0x16c]
add eax, 0x85d
mov dword [ebp - 0x8a0], eax
movsx ecx, byte [ebp - 0x17]
add ecx, 0xd2
mov word [ebp - 0x1c], cx
movsx eax, word [ebp - 0x20]
not eax
cdq
add eax, dword [0x1005f0a8]
not eax
mov word [ebp - 0x1c], ax
movsx edx, byte [0x1005f076]
movsx eax, word [ebp - 0x1c]
imul edx, eax
movsx ecx, byte [0x1005f076]
add ecx, edx
mov byte [0x1005f076], cl
movzx eax, byte [ebp - 0x16]
cdq
mov ecx, eax
movzx eax, word [0x1005f10c]
not eax
cdq
xor eax, 0xfb6f1485
add ecx, eax
mov byte [ebp - 0x16], cl
mov dl, byte [0x1005fc3c]
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x13]
sub eax, dword [0x1005f104]
add eax, 0x36
mov ecx, dword [ebp - 0x60]
not ecx
movzx edx, byte [ebp - 0x11]
sub ecx, edx
movzx edx, byte [ebp - 0x11]
movzx esi, word [0x1005f10c]
sub edx, esi
add ecx, edx
xor eax, ecx
not eax
mov word [0x1005f0e0], ax
mov byte [0x1005f03b], 0x51
mov eax, dword [ebp - 0x6c]
sub eax, 0xfdae8cff
mov ecx, dword [ebp - 0x68]
sbb ecx, 0
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
movsx eax, byte [str._CpuC3StatesChanges]
sub eax, 0xec
cdq
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
mov eax, dword [0x1005f0d0]
cdq
xor eax, dword [0x1005f150]
xor edx, dword [0x1005f154]
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov edx, dword [ebp - 0x5e4]
or edx, dword [ebp - 0x5e0]
jne 0x10021ae7
mov byte [ebp - 0x85], 1
jmp 0x10021aee
mov byte [ebp - 0x85], 0
mov al, byte [ebp - 0x85]
mov byte [ebp - 0x16], al
movsx eax, word [ebp - 0x28]
sar eax, 2
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movsx ecx, word [0x1005f110]
mov edx, 4
imul eax, edx, 0x18
mov dword [eax + 0x101492d8], ecx
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x5ec]
or eax, dword [ebp - 0x5e8]
je 0x10021b54
movsx ecx, word [0x1005f108]
mov dword [ebp - 0x1c8], ecx
jmp 0x10021b60
mov edx, dword [0x1005f0e4]
mov dword [ebp - 0x1c8], edx
mov ax, word [ebp - 0x1c8]
mov word [ebp - 0x24], ax
mov ecx, dword [0x1005f11c]
mov edx, dword [0x1005f0c8]
sub edx, dword [0x1005f118]
mov eax, dword [0x1005f0cc]
sbb eax, ecx
add edx, dword [0x1005f0c8]
adc eax, dword [0x1005f0cc]
mov dword [0x1005f0c8], edx
mov dword [0x1005f0cc], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x8a4], edx
not ecx
xor ecx, dword [ebp - 0x74]
mov word [ebp - 0x24], cx
mov dword [0x1005f0b0], 0x641d
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
push 0x51fe7
push 0x32e80a49
push ecx
push eax
call fcn.1003a730
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
movsx eax, byte [ebp - 0x12]
sub eax, 0x80
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [0x1005f0a0], 0xc9a4137e
movzx edx, word [0x1005f128]
sar edx, 2
mov dword [ebp - 0x5c], edx
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10021c66
mov eax, dword [ebp - 0x5c]
cdq
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x5c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x5c], eax
mov edx, 0xffff8164
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
push 0
push 0x70
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x64], eax
movsx eax, word [0x1005f110]
cdq
add eax, dword [ebp - 0x34]
mov word [0x1005f110], ax
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
xor ecx, dword [0x1005f140]
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
movzx eax, byte [ebp - 0x13]
add eax, 1
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x48]
sbb eax, ecx
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
or ecx, edx
or esi, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movzx edx, byte [str.a_StartIdle_]
sub edx, 0xe9
mov dword [0x1005f104], edx
xor eax, eax
mov byte [ebp - 0x86], al
lea ecx, [ebp - 0x9de]
push ecx
lea ecx, [ebp - 0x86]
call fcn.10002b20
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xcc], 0
jmp 0x10021cf7
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0xe
jae 0x10021d59
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4ec]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x1b8], cx
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dx, word [ebp - 0x1b8]
mov word [ecx], dx
jmp 0x10021ce8
mov eax, 0xe
shl eax, 1
mov ecx, dword [ebp - 0xc8]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x4f4], edx
xor eax, eax
mov ecx, dword [ebp - 0x4f4]
mov word [ecx], ax
mov edx, dword [ebp - 0xc8]
add edx, 2
mov dword [ebp - 0x4f8], edx
push 0x410
lea eax, [ebp - 0xf50]
push eax
mov ecx, dword [ebp - 0x4f8]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov byte [ebp - 0x87], dl
lea eax, [ebp - 0xac4]
push eax
lea ecx, [ebp - 0x87]
call fcn.100030c0
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xc4], 0
jmp 0x10021de3
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0x17
jae 0x10021e45
mov edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x4fc], ecx
mov edx, dword [ebp - 0x4fc]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x1b6], ax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x500]
mov cx, word [ebp - 0x1b6]
mov word [eax], cx
jmp 0x10021dd4
mov edx, 0x17
shl edx, 1
mov eax, dword [ebp - 0xc0]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x504], ecx
xor edx, edx
mov eax, dword [ebp - 0x504]
mov word [eax], dx
mov ecx, dword [ebp - 0xc0]
add ecx, 2
mov dword [ebp - 0x508], ecx
push 0x410
lea edx, [ebp - 0x1360]
push edx
mov eax, dword [ebp - 0x508]
push eax
push 0
push 0
call fcn.10001320
call eax
xor ecx, ecx
mov byte [ebp - 0x88], cl
lea edx, [ebp - 0xa92]
push edx
lea ecx, [ebp - 0x88]
call fcn.100037c0
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xbc], 0
jmp 0x10021ecf
mov eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x16
jae 0x10021f31
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0xb8]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x18a], dx
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
mov ax, word [ebp - 0x18a]
mov word [edx], ax
jmp 0x10021ec0
mov ecx, 0x16
shl ecx, 1
mov edx, dword [ebp - 0xb8]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x514], eax
xor ecx, ecx
mov edx, dword [ebp - 0x514]
mov word [edx], cx
mov eax, dword [ebp - 0xb8]
add eax, 2
mov dword [ebp - 0x518], eax
push 0x410
lea ecx, [ebp - 0x1770]
push ecx
mov edx, dword [ebp - 0x518]
push edx
push 0
push 0
call fcn.10001320
call eax
xor eax, eax
mov byte [ebp - 0x89], al
lea ecx, [ebp - 0xa0a]
push ecx
lea ecx, [ebp - 0x89]
call fcn.10003b40
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xb4], 0
jmp 0x10021fbb
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x14
jae 0x1002201d
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xb0]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x1ae], cx
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb0]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dx, word [ebp - 0x1ae]
mov word [ecx], dx
jmp 0x10021fac
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0xb0]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x524], edx
xor eax, eax
mov ecx, dword [ebp - 0x524]
mov word [ecx], ax
mov edx, dword [ebp - 0xb0]
add edx, 2
mov dword [ebp - 0x528], edx
push 0x410
lea eax, [ebp - 0x1b80]
push eax
mov ecx, dword [ebp - 0x528]
push ecx
push 0
push 0
call fcn.10001320
call eax
xor edx, edx
mov byte [ebp - 0x8a], dl
lea eax, [ebp - 0x984]
push eax
lea ecx, [ebp - 0x8a]
call fcn.10003ee0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], 0
jmp 0x100220a7
mov ecx, dword [ebp - 0xac]
add ecx, 1
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], 0xa
jae 0x10022109
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa8]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x52c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xa8]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x1ac], ax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x530]
mov cx, word [ebp - 0x1ac]
mov word [eax], cx
jmp 0x10022098
mov edx, 0xa
shl edx, 1
mov eax, dword [ebp - 0xa8]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x534], ecx
xor edx, edx
mov eax, dword [ebp - 0x534]
mov word [eax], dx
mov ecx, dword [ebp - 0xa8]
add ecx, 2
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x538]
push edx
lea eax, [ebp - 0xf50]
push eax
push 0
push 0
call fcn.100012f0
call eax
lea ecx, [ebp - 0x1360]
push ecx
lea edx, [ebp - 0xf50]
push edx
push 0
push 0
call fcn.100012f0
call eax
xor eax, eax
mov byte [ebp - 0x8b], al
lea ecx, [ebp - 0x91c]
push ecx
lea ecx, [ebp - 0x8b]
call fcn.10003f90
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa4], 0
jmp 0x100221a7
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 6
jae 0x10022209
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x53c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xa0]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x1aa], cx
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa0]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x540], eax
mov ecx, dword [ebp - 0x540]
mov dx, word [ebp - 0x1aa]
mov word [ecx], dx
jmp 0x10022198
mov eax, 6
shl eax, 1
mov ecx, dword [ebp - 0xa0]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x544], edx
xor eax, eax
mov ecx, dword [ebp - 0x544]
mov word [ecx], ax
mov edx, dword [ebp - 0xa0]
add edx, 2
mov dword [ebp - 0x548], edx
mov eax, dword [ebp - 0x548]
push eax
lea ecx, [ebp - 0x2b84]
push ecx
push 0
push 0
call fcn.10001410
call eax
lea edx, [ebp - 0x1770]
push edx
lea eax, [ebp - 0x2b84]
push eax
push 0
push 0
call fcn.100012f0
call eax
xor ecx, ecx
mov byte [ebp - 0x8c], cl
lea edx, [ebp - 0x9a0]
push edx
lea ecx, [ebp - 0x8c]
call fcn.100041e0
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x9c], 0
jmp 0x100222a7
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0xc
jae 0x10022309
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x98]
movsx ecx, byte [eax]
xor edx, ecx
mov word [ebp - 0x1a8], dx
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x98]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x550], ecx
mov edx, dword [ebp - 0x550]
mov ax, word [ebp - 0x1a8]
mov word [edx], ax
jmp 0x10022298
mov ecx, 0xc
shl ecx, 1
mov edx, dword [ebp - 0x98]
lea eax, [edx + ecx + 2]
mov dword [ebp - 0x554], eax
xor ecx, ecx
mov edx, dword [ebp - 0x554]
mov word [edx], cx
mov eax, dword [ebp - 0x98]
add eax, 2
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x558]
push ecx
lea edx, [ebp - 0x2b84]
push edx
push 0
push 0
call fcn.100012f0
call eax
lea eax, [ebp - 0x1b80]
push eax
lea ecx, [ebp - 0x2b84]
push ecx
push 0
push 0
call fcn.100012f0
call eax
mov dl, byte [0x1005f10c]
mov byte [0x1005f0a5], dl
mov al, byte [0x1005fc3c]
mov byte [0x1005f0a4], al
movsx ecx, byte [ebp - 0x17]
add ecx, 0x7cd4
mov dword [0x1005f0e8], ecx
movzx eax, word [0x1005f158]
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov edx, dword [ebp - 0x1d0]
sub edx, dword [ebp - 0x1cc]
add edx, 0x1d7
mov eax, dword [ebp - 0x55c]
imul eax, dword [ebp - 0x1cc]
imul eax, dword [ebp - 0x1d0]
cmp edx, eax
je 0x100278bb
movsx ecx, word [0x1005f108]
movsx edx, word [ebp - 0x28]
cmp ecx, edx
je 0x100224a8
mov dword [ebp - 4], 2
mov byte [ebp - 0x15], 0xb3
mov eax, dword [ebp - 0x34]
not eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x8a8], edx
sub ecx, eax
movsx eax, word [ebp - 0x20]
cdq
xor ecx, eax
mov eax, dword [0x1005f130]
not eax
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x8ac], esi
sub eax, edx
mov edx, dword [0x1005f0f0]
sub edx, 0xfb1fcf87
not edx
sub eax, edx
sub ecx, eax
mov dword [0x1005f104], ecx
movzx eax, word [0x1005f0ec]
shl eax, 5
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov al, byte [ebp - 0x28]
mov byte [ebp - 0x12], al
jmp 0x10022498
mov dword [ebp - 4], 0xffffffff
jmp 0x100224a8
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x28]
imul eax, ecx
mov byte [str._CpuC3StatesChanges], al
mov edx, dword [0x1005f100]
xor eax, eax
or edx, dword [0x1005f0f8]
or eax, dword [0x1005f0fc]
mov dword [ebp - 0x5f4], edx
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x5f4]
or ecx, dword [ebp - 0x5f0]
jne 0x100224fa
xor edx, edx
mov dword [ebp - 0x5fc], 1
mov dword [ebp - 0x5f8], edx
jmp 0x10022505
xorps xmm0, xmm0
movlpd qword [ebp - 0x5fc], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x8b0], ecx
sub eax, dword [ebp - 0x5fc]
mov edx, dword [0x1005f130]
xor edx, 0xec
add eax, edx
mov word [0x1005f158], ax
mov eax, dword [ebp - 0x60]
sub eax, 0xf0
mov word [0x1005f0e0], ax
movzx eax, word [0x1005f128]
movsx ecx, word [ebp - 0x28]
not ecx
or eax, ecx
movsx edx, byte [str._CpuC3StatesChanges]
mov ecx, dword [ebp - 0x38]
xor ecx, edx
xor eax, ecx
add eax, 0xc2e1
cdq
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
push 0
lea edx, [ebp - 0xf50]
push edx
push 0
push 0
call fcn.10001560
call eax
test eax, eax
je 0x10026db7
movzx eax, word [0x1005f158]
cdq
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x8b4], edx
add eax, ecx
mov word [0x1005f158], ax
movsx eax, byte [ebp - 0x17]
cdq
add eax, 0x1c2543f4
adc edx, 0x6de94
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [0x1005f0c0]
not eax
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, 0xee
mov word [ebp - 0x2c], ax
mov ecx, dword [0x1005fc3c]
mov dword [ebp - 0x174], ecx
imul edx, dword [0x1005f0a0], 0xa9c3cb54
xor eax, eax
mov dword [0x1005f0f0], edx
mov dword [0x1005f0f4], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [0x1005f11c]
sub edx, dword [0x1005f118]
sbb eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movsx eax, byte [0x1005f04f]
cdq
mov edx, dword [ebp - 0x74]
not edx
xor eax, edx
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x8b8], edx
sub eax, ecx
mov byte [0x1005f04f], al
mov al, byte [0x1005f09e]
mov byte [0x1005f0a5], al
mov ecx, dword [ebp - 0x174]
add ecx, 0x50b
mov dword [ebp - 0x8bc], ecx
mov dword [ebp - 0x170], 0
jmp 0x10022670
mov edx, dword [ebp - 0x170]
add edx, 1
mov dword [ebp - 0x170], edx
cmp dword [ebp - 0x170], 0x284
jge 0x10022750
movsx eax, byte [0x1005f076]
test eax, eax
jne 0x10022697
mov dword [ebp - 0x1d4], 1
jmp 0x100226a1
mov dword [ebp - 0x1d4], 0
movzx eax, word [0x1005f158]
imul eax, dword [ebp - 0x1d4]
cdq
xor eax, dword [ebp - 0x34]
xor edx, dword [ebp - 0x30]
mov dword [ebp - 0x604], eax
mov dword [ebp - 0x600], edx
mov ecx, dword [ebp - 0x604]
or ecx, dword [ebp - 0x600]
jne 0x100226e4
xor edx, edx
mov dword [ebp - 0x36c], 1
mov dword [ebp - 0x368], edx
jmp 0x100226ef
xorps xmm0, xmm0
movlpd qword [ebp - 0x36c], xmm0
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebp - 0x368]
mov dword [0x1005f120], eax
mov dword [0x1005f124], ecx
push 0
push 0xa3781ec2
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
movzx eax, word [0x1005f138]
cdq
push 0xf12ba
push 0x6687ef
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov cl, byte [str.a_StartIdle_]
add cl, 1
mov byte [str.a_StartIdle_], cl
jmp 0x10022661
mov edx, dword [ebp - 0x174]
add edx, 0x6ec
mov dword [ebp - 0x8c0], edx
movsx eax, byte [0x1005f077]
cmp dword [ebp - 0x38], eax
jl 0x1002277a
mov dword [ebp - 0x1d8], 1
jmp 0x10022784
mov dword [ebp - 0x1d8], 0
cmp dword [ebp - 0x38], 4
jl 0x10022796
mov dword [ebp - 0x1dc], 1
jmp 0x100227a0
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x1dc]
jle 0x10022938
mov dword [ebp - 4], 4
movzx edx, byte [str.a_StartIdle_]
mov eax, dword [ebp - 0x64]
xor eax, edx
mov dword [ebp - 0x64], eax
mov ecx, dword [0x1005f0d8]
sub ecx, 0xf2
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x38]
sub edx, 0x7b412632
mov byte [ebp - 0x15], dl
movsx eax, byte [0x1005f04f]
cdq
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x8c4], edx
add eax, ecx
mov byte [0x1005f04f], al
mov dword [ebp - 0x38], 0x4bc8763a
jmp 0x10022926
mov dword [ebp - 4], 0xffffffff
jmp 0x10022936
jmp 0x100229a0
movzx ecx, byte [0x1005f09f]
movzx edx, word [0x1005f128]
cmp ecx, edx
jge 0x100229a0
mov eax, 1
mov word [0x1005f15c], ax
mov ecx, dword [0x1005f0b8]
or ecx, dword [0x1005f0bc]
je 0x1002296f
movsx edx, word [ebp - 0x1c]
mov dword [ebp - 0x1e4], edx
jmp 0x1002297c
movzx eax, word [0x1005f10c]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
cdq
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
xor ecx, ecx
mov dword [0x1005f120], 0xd1522efc
mov dword [0x1005f124], ecx
mov edx, dword [ebp - 0x174]
add edx, 0x6d3
mov dword [ebp - 0x48c], edx
xor eax, eax
mov byte [ebp - 0x8d], al
lea ecx, [ebp - 0x90c]
push ecx
lea ecx, [ebp - 0x8d]
call fcn.100043a0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], 0
jmp 0x100229ed
mov edx, dword [ebp - 0xd0]
add edx, 1
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 6
jae 0x10022a4f
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x560]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xd4]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x1a6], cx
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd4]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x564]
mov dx, word [ebp - 0x1a6]
mov word [ecx], dx
jmp 0x100229de
mov eax, 6
shl eax, 1
mov ecx, dword [ebp - 0xd4]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x568], edx
xor eax, eax
mov ecx, dword [ebp - 0x568]
mov word [ecx], ax
mov edx, dword [ebp - 0xd4]
add edx, 2
mov dword [ebp - 0x56c], edx
mov eax, dword [ebp - 0x56c]
push eax
lea ecx, [ebp - 0xf50]
push ecx
push 0
push 0
call fcn.100012f0
call eax
xor edx, edx
mov byte [ebp - 0x8e], dl
lea eax, [ebp - 0x9be]
push eax
lea ecx, [ebp - 0x8e]
call fcn.10004730
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], 0
jmp 0x10022ad4
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0xd
jae 0x10022b36
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x570]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xdc]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x15a], ax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x574]
mov cx, word [ebp - 0x15a]
mov word [eax], cx
jmp 0x10022ac5
mov edx, 0xd
shl edx, 1
mov eax, dword [ebp - 0xdc]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x578], ecx
xor edx, edx
mov eax, dword [ebp - 0x578]
mov word [eax], dx
mov ecx, dword [ebp - 0xdc]
add ecx, 2
mov dword [ebp - 0x57c], ecx
mov edx, dword [ebp - 0x57c]
push edx
lea eax, [ebp - 0xf50]
push eax
push 0
push 0
call fcn.100012f0
call eax
xor ecx, ecx
mov byte [ebp - 0x142], cl
mov byte [ebp - 0x1a4], 0xe
xor edx, edx
mov byte [ebp - 0x1a3], dl
mov eax, 0x20
mov word [ebp - 0x1a2], ax
mov ecx, 0x63
mov word [ebp - 0x1a0], cx
mov edx, 0x7d
mov word [ebp - 0x19e], dx
mov eax, 0x7e
mov word [ebp - 0x19c], ax
xor ecx, ecx
mov word [ebp - 0x19a], cx
mov dword [ebp - 0x114], 0
jmp 0x10022beb
mov edx, dword [ebp - 0x114]
add edx, 1
mov dword [ebp - 0x114], edx
cmp dword [ebp - 0x114], 4
jae 0x10022c45
mov eax, dword [ebp - 0x114]
lea ecx, [ebp + eax*2 - 0x1a2]
mov dword [ebp - 0x580], ecx
mov edx, dword [ebp - 0x580]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x1a4]
xor eax, ecx
mov word [ebp - 0x158], ax
mov edx, dword [ebp - 0x114]
lea eax, [ebp + edx*2 - 0x1a2]
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x584]
mov dx, word [ebp - 0x158]
mov word [ecx], dx
jmp 0x10022bdc
mov eax, 4
shl eax, 1
lea ecx, [ebp + eax - 0x1a2]
mov dword [ebp - 0x7c8], ecx
xor edx, edx
mov eax, dword [ebp - 0x7c8]
mov word [eax], dx
lea ecx, [ebp - 0x1a2]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x7cc]
push edx
lea eax, [ebp - 0xf50]
push eax
push 0
push 0
call fcn.100012f0
call eax
mov dword [ebp - 4], 6
movzx ecx, word [0x1005f128]
test ecx, ecx
jne 0x10022ca7
mov dword [ebp - 0x1e8], 1
jmp 0x10022cb1
mov dword [ebp - 0x1e8], 0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x8c8], eax
mov ebx, 0xcd12
sub ebx, edx
mov eax, dword [ebp - 0x60]
cdq
add ebx, eax
movsx eax, byte [ebp - 0x17]
not eax
sub eax, dword [ebp - 0x1e8]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
add ecx, dword [0x1005f0b8]
adc esi, dword [0x1005f0bc]
push esi
push ecx
push edx
push eax
call fcn.1003a730
xor ebx, eax
mov byte [0x1005f09f], bl
movsx eax, word [0x1005f0e0]
cdq
add eax, dword [ebp - 0x74]
mov word [0x1005f0e0], ax
mov edx, dword [ebp - 0x34]
mov eax, 4
imul ecx, eax, 0x4c
mov dword [ecx + 0x102b27c0], edx
movzx eax, word [ebp - 0x24]
cdq
add eax, dword [0x1005f130]
adc edx, dword [0x1005f134]
push edx
push eax
mov edx, dword [0x1005f134]
push edx
mov eax, dword [0x1005f130]
push eax
call fcn.1003a730
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
jmp 0x10022e6e
mov dword [ebp - 4], 0xffffffff
jmp 0x10022e7e
mov edx, dword [ebp - 0x7d0]
sub edx, dword [ebp - 0x440]
cmp edx, 0x219
je 0x10026db2
mov eax, 0xb6
mov word [0x1005f158], ax
movsx ecx, word [0x1005f114]
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x1005f0f0]
or edx, dword [0x1005f0f4]
jne 0x10022ec8
mov dword [ebp - 0x1f8], 1
jmp 0x10022ed2
mov dword [ebp - 0x1f8], 0
mov eax, dword [0x1005f0b8]
or eax, dword [0x1005f0bc]
jne 0x10022eeb
mov dword [ebp - 0x1f0], 1
jmp 0x10022ef5
mov dword [ebp - 0x1f0], 0
movzx ecx, word [0x1005f128]
test ecx, ecx
jne 0x10022f0c
mov dword [ebp - 0x1f4], 1
jmp 0x10022f16
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f0]
sub edx, dword [ebp - 0x1f4]
jne 0x10022f30
mov dword [ebp - 0x1fc], 1
jmp 0x10022f3a
mov dword [ebp - 0x1fc], 0
movzx eax, word [0x1005f128]
xor eax, dword [ebp - 0x1f8]
movzx ecx, word [0x1005f10c]
movsx edx, byte [ebp - 0x12]
sub ecx, edx
xor eax, ecx
mov ecx, 0xb7
sub ecx, dword [ebp - 0x38]
and ecx, dword [ebp - 0x1fc]
add eax, ecx
not eax
mov byte [0x1005f076], al
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x10022f81
mov dword [ebp - 0x200], 1
jmp 0x10022f8b
mov dword [ebp - 0x200], 0
movsx eax, word [0x1005f114]
mov ecx, dword [0x1005f0d0]
lea edx, [eax + ecx - 0x3d0a168e]
imul edx, dword [ebp - 0x200]
mov dword [0x1005f0b4], edx
mov al, byte [0x1005fc3c]
mov byte [0x1005f076], al
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10023045
movsx edx, word [ebp - 0x28]
imul eax, edx, 0x7f
mov byte [ebp - 0x14], al
imul ecx, dword [ebp - 0x60], 0x9d1d5e63
xor edx, edx
mov eax, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add eax, ecx
adc esi, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], esi
movsx ecx, byte [0x1005f013]
movsx edx, byte [ebp - 0x15]
add ecx, edx
mov byte [0x1005f013], cl
mov byte [ebp - 0x15], 0xb
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1005f0a8]
sub ecx, eax
mov eax, dword [0x1005f0ac]
sbb eax, edx
push eax
push ecx
mov ecx, dword [0x1005f0ac]
push ecx
mov edx, dword [0x1005f0a8]
push edx
call fcn.1003a730
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
mov eax, dword [0x1005f0b8]
mov ecx, dword [0x1005f0bc]
mov dword [0x1005f120], eax
mov dword [0x1005f124], ecx
lea edx, [ebp - 0xf50]
push edx
mov eax, dword [0x103c5bfc]
push eax
call fcn.1002b650
test eax, eax
je 0x10023a30
mov byte [0x1005f04f], 4
movsx ecx, word [ebp - 0x28]
sub ecx, 0x40
mov byte [0x1005f013], cl
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [0x1005f0a8]
sub ecx, eax
mov eax, dword [0x1005f0ac]
sbb eax, edx
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], eax
mov ecx, dword [0x1005fc3c]
mov dword [ebp - 0x178], ecx
mov byte [0x1005f076], 1
mov edx, dword [0x1005f124]
mov eax, dword [ebp - 0x34]
sub eax, dword [0x1005f120]
mov ecx, dword [ebp - 0x30]
sbb ecx, edx
add eax, dword [ebp - 0x34]
adc ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp - 0x13]
sub edx, eax
mov byte [ebp - 0x11], dl
movsx eax, byte [ebp - 0x12]
cdq
push 0xe4537
push 0x606984e5
push edx
push eax
call fcn.1003a730
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov cl, byte [0x1005f076]
mov byte [ebp - 0x204], cl
cmp byte [ebp - 0x204], 0
je 0x10023119
cmp byte [ebp - 0x204], 1
je 0x1002317d
jmp 0x100231bc
movsx edx, byte [0x1005f077]
not edx
movzx eax, word [0x1005f10c]
add edx, eax
not edx
mov dword [0x1005f0b4], edx
movsx eax, byte [0x1005f077]
sub eax, 0xe520c4d
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [0x1005f0d0]
cdq
mov esi, eax
movzx eax, word [0x1005f148]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.1003a730
sub esi, eax
mov word [0x1005f0c0], si
movsx eax, word [ebp - 0x1c]
add eax, 0x5991d686
mov word [ebp - 0x28], ax
jmp 0x100231bc
movzx ecx, byte [ebp - 0x16]
imul edx, ecx, 0xa8e4
mov dword [0x1005f0e4], edx
movsx eax, byte [0x1005f04f]
mov ecx, dword [ebp - 0x60]
imul ecx, eax
mov edx, dword [ebp - 0x60]
or edx, ecx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x8e4], ecx
mov edx, 4
imul ecx, edx, 0x65
mov dword [ecx + 0x1005fc40], eax
mov edx, dword [ebp - 0x178]
add edx, 0x5ea
mov dword [ebp - 0x8e8], edx
mov dword [ebp - 4], 8
movzx eax, word [0x1005f138]
sub eax, 0x6671c3c5
xor ecx, ecx
mov dword [0x1005f118], eax
mov dword [0x1005f11c], ecx
mov ecx, dword [0x1005f150]
sub ecx, 0x514eee27
mov esi, dword [0x1005f154]
sbb esi, 0
movzx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x13], al
movzx edx, word [0x1005f158]
not edx
movsx eax, byte [ebp - 0x15]
add edx, eax
jne 0x10023231
mov dword [ebp - 0x208], 1
jmp 0x1002323b
mov dword [ebp - 0x208], 0
movzx ecx, byte [ebp - 0x11]
xor ecx, dword [0x1005f0a0]
imul ecx, dword [ebp - 0x208]
mov byte [ebp - 0x16], cl
mov edx, 1
imul eax, edx, 0xbbba
movzx cx, byte [eax + 0x10149450]
mov word [0x1005f108], cx
movzx edx, byte [ebp - 0x11]
add edx, dword [ebp - 0x64]
mov byte [ebp - 0x11], dl
jmp 0x100232ae
mov dword [ebp - 4], 0xffffffff
jmp 0x100232be
mov ecx, dword [ebp - 0x178]
add ecx, 0x802
mov dword [ebp - 0x448], ecx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0x8ec], eax
mov ecx, 1
imul eax, ecx, 0x654
mov byte [eax + 0x1008e078], dl
mov ecx, dword [ebp - 0x38]
sub ecx, 0x7139c0cc
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
movsx eax, byte [ebp - 0x17]
movsx ecx, byte [0x1005f076]
imul eax, ecx
movsx edx, byte [ebp - 0x15]
movsx ecx, word [ebp - 0x1c]
add edx, ecx
imul eax, edx
mov byte [ebp - 0x14], al
mov edx, dword [ebp - 0x178]
add edx, 0x4ed
mov dword [ebp - 0x444], edx
movsx eax, word [ebp - 0x28]
cmp eax, dword [ebp - 0x5c]
je 0x1002345b
mov dword [ebp - 4], 0xa
mov byte [str.a_StartIdle_], 0x10
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x6c]
movsx eax, byte [ebp - 0x12]
cdq
and eax, ecx
mov byte [ebp - 0x12], al
mov dl, byte [0x1005f0a5]
add dl, 1
mov byte [0x1005f0a5], dl
movsx eax, byte [0x1005f013]
movsx ecx, word [0x1005f15c]
sub eax, ecx
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0xa63d3
push 0xa1848a1a
push eax
push edx
call fcn.1003a730
mov ecx, eax
movsx eax, word [0x1005f114]
cdq
add eax, ecx
mov word [0x1005f114], ax
movsx edx, word [0x1005f110]
movzx eax, word [ebp - 0x24]
imul edx, eax
movsx ecx, word [0x1005f110]
and ecx, edx
mov word [0x1005f110], cx
jmp 0x10023449
mov dword [ebp - 4], 0xffffffff
jmp 0x10023459
jmp 0x100234bc
movzx eax, word [0x1005f0ec]
test eax, eax
je 0x100234bc
movsx ecx, byte [ebp - 0x17]
imul edx, ecx, 0xf380c2f5
not edx
movsx eax, byte [0x1005f03b]
add edx, eax
mov ecx, dword [0x1005f0d0]
sub ecx, edx
mov word [0x1005f110], cx
movsx eax, word [ebp - 0x1c]
sub eax, 0x3b
cdq
mov ecx, dword [0x1005f0f0]
sub ecx, eax
mov eax, dword [0x1005f0f4]
sbb eax, edx
mov dword [0x1005f0f0], ecx
mov dword [0x1005f0f4], eax
movsx ecx, word [0x1005f0e0]
sub ecx, 0x1b7320b3
mov byte [ebp - 0x16], cl
mov edx, dword [ebp - 0x444]
mov eax, dword [ebp - 0x448]
lea ecx, [edx + eax + 0x37e]
cmp ecx, 0xd7
je 0x10023a2b
mov edx, dword [str.DC_CALC_PARAMS]
mov dword [ebp - 0x7e0], edx
mov eax, dword [0x1004d380]
mov dword [ebp - 0x7dc], eax
mov ecx, dword [0x1004d384]
mov dword [ebp - 0x7d8], ecx
mov dx, word [0x1004d388]
mov word [ebp - 0x7d4], dx
mov al, byte [0x1004d38a]
mov byte [ebp - 0x7d2], al
lea ecx, [ebp - 0x7e0]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1005f158], ax
xor edx, edx
mov byte [ebp - 0x141], dl
mov byte [ebp - 0x140], 0x7d
xor eax, eax
mov byte [ebp - 0x13f], al
mov ecx, 0x50
mov word [ebp - 0x13e], cx
mov edx, 7
mov word [ebp - 0x13c], dx
mov eax, 0x5d
mov word [ebp - 0x13a], ax
xor ecx, ecx
mov word [ebp - 0x138], cx
mov dword [ebp - 0x118], 0
jmp 0x10023589
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
cmp dword [ebp - 0x118], 3
jae 0x100235e3
mov eax, dword [ebp - 0x118]
lea ecx, [ebp + eax*2 - 0x13e]
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x44c]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x140]
xor eax, ecx
mov word [ebp - 0x156], ax
mov edx, dword [ebp - 0x118]
lea eax, [ebp + edx*2 - 0x13e]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
mov dx, word [ebp - 0x156]
mov word [ecx], dx
jmp 0x1002357a
mov eax, 3
shl eax, 1
lea ecx, [ebp + eax - 0x13e]
mov dword [ebp - 0x454], ecx
xor edx, edx
mov eax, dword [ebp - 0x454]
mov word [eax], dx
lea ecx, [ebp - 0x13e]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x458]
push edx
lea eax, [ebp - 0x3b88]
push eax
push 0
push 0
call fcn.10001410
call eax
xor ecx, ecx
mov byte [ebp - 0x1bb], cl
mov byte [ebp - 0x108], 0x35
xor edx, edx
mov byte [ebp - 0x107], dl
mov eax, 0x17
mov word [ebp - 0x106], ax
xor ecx, ecx
mov word [ebp - 0x104], cx
mov dword [ebp - 0x11c], 0
jmp 0x1002366e
mov edx, dword [ebp - 0x11c]
add edx, 1
mov dword [ebp - 0x11c], edx
cmp dword [ebp - 0x11c], 1
jae 0x100236c8
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp + eax*2 - 0x106]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x108]
xor eax, ecx
mov word [ebp - 0x154], ax
mov edx, dword [ebp - 0x11c]
lea eax, [ebp + edx*2 - 0x106]
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
mov dx, word [ebp - 0x154]
mov word [ecx], dx
jmp 0x1002365f
mov eax, 1
shl eax, 1
lea ecx, [ebp + eax - 0x106]
mov dword [ebp - 0x464], ecx
xor edx, edx
mov eax, dword [ebp - 0x464]
mov word [eax], dx
lea ecx, [ebp - 0x106]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x468]
push edx
lea eax, [ebp - 0x3b88]
push eax
push 0
push 0
call fcn.100012f0
call eax
lea ecx, [ebp - 0xf50]
push ecx
lea edx, [ebp - 0x3b88]
push edx
push 0
push 0
call fcn.100012f0
call eax
push 0x1004d38c
lea eax, [ebp - 0x3b88]
push eax
push 0
push 0
call fcn.100012f0
call eax
mov dword [ebp - 4], 0xc
mov cl, byte [0x1005fc3c]
mov byte [ebp - 0x12], cl
xor edx, edx
mov dword [ebp - 0x74], 2
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x5c]
imul eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
movsx ecx, byte [ebp - 0x12]
movsx edx, word [0x1005f114]
add ecx, edx
movsx eax, byte [ebp - 0x12]
add eax, ecx
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x8f0], edx
xor ecx, 0xaaab6c6e
mov byte [ebp - 0x14], cl
jmp 0x1002382a
mov dword [ebp - 4], 0xffffffff
jmp 0x1002383a
lea ecx, [ebp - 0x2b84]
mov dword [ebp - 0x80c], ecx
xor edx, edx
mov byte [ebp - 0x8f], dl
lea eax, [ebp - 0xb02]
push eax
lea ecx, [ebp - 0x8f]
call fcn.10001bf0
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x120], 0
jmp 0x10023881
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 0x1d
jae 0x100238e3
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x46c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xe0]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x152], ax
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xe0]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x470]
mov cx, word [ebp - 0x152]
mov word [eax], cx
jmp 0x10023872
mov edx, 0x1d
shl edx, 1
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x474], ecx
xor edx, edx
mov eax, dword [ebp - 0x474]
mov word [eax], dx
mov ecx, dword [ebp - 0xe0]
add ecx, 2
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x478]
mov dword [ebp - 0x808], edx
xor eax, eax
mov byte [ebp - 0x92], al
lea ecx, [ebp - 0xa36]
push ecx
lea ecx, [ebp - 0x92]
call fcn.10001e70
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], 0
jmp 0x1002395b
mov edx, dword [ebp - 0xe4]
add edx, 1
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xe4], 0x14
jae 0x100239bd
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x47c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0xe8]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x150], cx
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xe8]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
mov dx, word [ebp - 0x150]
mov word [ecx], dx
jmp 0x1002394c
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0xe8]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x484], edx
xor eax, eax
mov ecx, dword [ebp - 0x484]
mov word [ecx], ax
mov edx, dword [ebp - 0xe8]
add edx, 2
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x804], eax
lea ecx, [ebp - 0x3b88]
mov dword [ebp - 0x800], ecx
mov dword [ebp - 0x7fc], 3
mov dword [ebp - 0x7f8], 0
lea edx, [ebp - 0x80c]
push edx
call fcn.1001f350
jmp 0x1002799f
jmp 0x10026db2
movzx eax, word [0x1005f10c]
test eax, eax
je 0x10023ffa
movsx ecx, byte [0x1005f04f]
test ecx, ecx
je 0x10023a5e
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x10023a5e
mov dword [ebp - 0x20c], 1
jmp 0x10023a68
mov dword [ebp - 0x20c], 0
movsx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x11]
imul eax, ecx
cmp eax, dword [ebp - 0x20c]
jge 0x10023a87
mov dword [ebp - 0x214], 1
jmp 0x10023a91
mov dword [ebp - 0x214], 0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x624], edx
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x628], esi
mov edx, dword [ebp - 0x624]
cmp edx, dword [ebp - 0x62c]
jne 0x10023ad1
mov eax, dword [ebp - 0x620]
cmp eax, dword [ebp - 0x628]
je 0x10023add
mov dword [ebp - 0x210], 1
jmp 0x10023ae7
mov dword [ebp - 0x210], 0
movsx ecx, byte [ebp - 0x12]
mov edx, dword [ebp - 0x210]
sub edx, ecx
cmp dword [ebp - 0x214], edx
je 0x10023e48
mov dword [ebp - 0x17c], 0
jmp 0x10023b1a
mov eax, dword [ebp - 0x17c]
add eax, 1
mov dword [ebp - 0x17c], eax
cmp dword [ebp - 0x17c], 0x114
jge 0x10023e43
mov dword [ebp - 4], 0xe
movsx ecx, word [ebp - 0x20]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jle 0x10023b49
mov dword [ebp - 0x218], 1
jmp 0x10023b53
mov dword [ebp - 0x218], 0
movsx eax, word [ebp - 0x20]
cmp eax, 0x3a
jle 0x10023b68
mov dword [ebp - 0x21c], 1
jmp 0x10023b72
mov dword [ebp - 0x21c], 0
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [ebp - 0x21c]
jle 0x10023c82
mov byte [str._CpuC3StatesChanges], 0x7e
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, dword [0x1005f150]
adc eax, dword [0x1005f154]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push eax
push edx
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx edx, word [0x1005f158]
not edx
movsx eax, byte [0x1005f03b]
xor edx, eax
jne 0x10023bd2
mov dword [ebp - 0x220], 1
jmp 0x10023bdc
mov dword [ebp - 0x220], 0
mov ecx, dword [ebp - 0x78]
mov edx, 0xffff8d29
sub edx, dword [ebp - 0x7c]
mov eax, 0xffffffff
sbb eax, ecx
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x634]
or ecx, dword [ebp - 0x630]
jne 0x10023c14
mov dword [ebp - 0x224], 1
jmp 0x10023c1e
mov dword [ebp - 0x224], 0
movsx edx, word [ebp - 0x28]
imul edx, dword [ebp - 0x220]
imul edx, dword [ebp - 0x224]
mov byte [ebp - 0x14], dl
movsx eax, byte [0x1005f077]
add eax, 0x1fba
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
movzx eax, byte [ebp - 0x11]
movzx ecx, word [ebp - 0x24]
add eax, ecx
movzx edx, byte [ebp - 0x11]
add edx, eax
mov byte [ebp - 0x11], dl
movsx eax, byte [0x1005f077]
movzx ecx, byte [str.a_StartIdle_]
add eax, ecx
movsx edx, byte [0x1005f077]
sub edx, eax
mov byte [0x1005f077], dl
jmp 0x10023d85
movsx eax, byte [0x1005f09e]
cdq
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x638]
cmp eax, dword [ebp - 0x70]
jg 0x10023ce9
jl 0x10023cae
mov ecx, dword [ebp - 0x63c]
cmp ecx, dword [ebp - 0x74]
jae 0x10023ce9
mov eax, dword [0x1005f0e8]
cdq
sub eax, dword [0x1005f0f8]
mov dword [0x1005f0e8], eax
mov edx, 0xffffa84c
mov word [ebp - 0x1c], dx
mov eax, dword [0x1005f0f8]
add eax, 1
mov ecx, dword [0x1005f0fc]
adc ecx, 0
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], ecx
jmp 0x10023d85
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x10023d85
mov eax, dword [0x1005fc3c]
mov dword [0x1005f0b0], eax
movsx ecx, byte [str._CpuC3StatesChanges]
mov eax, dword [ebp - 0x60]
sub eax, ecx
sub eax, dword [0x1005f0a0]
cdq
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
movsx edx, byte [0x1005f077]
sub edx, dword [0x1005f0b4]
movsx eax, byte [0x1005f077]
add eax, edx
mov byte [0x1005f077], al
movsx ecx, byte [ebp - 0x15]
movsx edx, word [ebp - 0x2c]
sub ecx, edx
mov dword [0x1005f0e8], ecx
movsx eax, word [ebp - 0x20]
imul eax, eax, 0x6720
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x30]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.1003a730
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x10023e1c
mov dword [ebp - 4], 0xffffffff
jmp 0x10023e2c
mov dx, word [0x1005f138]
add dx, 1
mov word [0x1005f138], dx
jmp 0x10023b0b
jmp 0x10023ff8
movzx eax, byte [0x1005f09f]
test eax, eax
jne 0x10023e67
xor ecx, ecx
mov dword [ebp - 0x394], 1
mov dword [ebp - 0x390], ecx
jmp 0x10023e72
xorps xmm0, xmm0
movlpd qword [ebp - 0x394], xmm0
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x640]
cmp ecx, dword [ebp - 0x390]
jb 0x10023eb6
ja 0x10023ea2
mov edx, dword [ebp - 0x644]
cmp edx, dword [ebp - 0x394]
jb 0x10023eb6
xor eax, eax
mov dword [ebp - 0x39c], 1
mov dword [ebp - 0x398], eax
jmp 0x10023ec1
xorps xmm0, xmm0
movlpd qword [ebp - 0x39c], xmm0
movsx eax, byte [0x1005f076]
not eax
cdq
mov ecx, dword [ebp - 0x78]
add eax, dword [ebp - 0x7c]
adc edx, ecx
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], edx
mov edx, dword [ebp - 0x398]
cmp edx, dword [ebp - 0x648]
jg 0x10023ff8
jl 0x10023f05
mov eax, dword [ebp - 0x39c]
cmp eax, dword [ebp - 0x64c]
ja 0x10023ff8
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x8f8], edx
sub ecx, 0x7e
mov dword [0x1005f0a0], ecx
mov byte [0x1005f03b], 0
movsx eax, word [0x1005f108]
test eax, eax
jne 0x10023f38
mov dword [ebp - 0x228], 1
jmp 0x10023f42
mov dword [ebp - 0x228], 0
movzx ecx, word [0x1005f128]
imul ecx, dword [0x1005f0b0]
mov edx, dword [ebp - 0x228]
sub edx, ecx
jne 0x10023f66
mov dword [ebp - 0x230], 1
jmp 0x10023f70
mov dword [ebp - 0x230], 0
movzx eax, word [0x1005f158]
test eax, eax
jne 0x10023f87
mov dword [ebp - 0x22c], 1
jmp 0x10023f91
mov dword [ebp - 0x22c], 0
movzx ecx, word [ebp - 0x24]
sub ecx, dword [ebp - 0x22c]
add ecx, dword [ebp - 0x230]
jne 0x10023fa9
mov byte [ebp - 0x80], 1
jmp 0x10023fad
mov byte [ebp - 0x80], 0
mov dl, byte [ebp - 0x80]
mov byte [ebp - 0x12], dl
movzx eax, word [0x1005f148]
cdq
push 0xc7d74
push 0x99b2ec95
push edx
push eax
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x16]
cdq
add eax, ecx
mov byte [ebp - 0x16], al
movsx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x5c]
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x30]
sbb edx, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
jmp 0x10024050
movsx eax, byte [ebp - 0x17]
test eax, eax
je 0x10024050
mov ecx, 0x6103
mov word [0x1005f158], cx
movsx edx, word [0x1005f114]
movsx eax, word [ebp - 0x2c]
xor edx, eax
movsx ecx, word [0x1005f114]
movzx eax, word [ebp - 0x24]
imul ecx, eax
xor edx, ecx
mov word [ebp - 0x1c], dx
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
xor ecx, 0x96ad
xor edx, 0
mov dword [0x1005f130], ecx
mov dword [0x1005f134], edx
mov eax, dword [0x1005f0b0]
sub eax, 0xd5
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
mov eax, dword [0x1005f0e8]
cdq
add eax, 0x82d0ba88
mov byte [0x1005f076], al
mov eax, dword [ebp - 0x64]
add eax, 0xea
jne 0x1002409a
xor ecx, ecx
mov dword [ebp - 0x654], 1
mov dword [ebp - 0x650], ecx
jmp 0x100240a5
xorps xmm0, xmm0
movlpd qword [ebp - 0x654], xmm0
movzx edx, word [0x1005f158]
test edx, edx
jne 0x100240c4
xor eax, eax
mov dword [ebp - 0x3a4], 1
mov dword [ebp - 0x3a0], eax
jmp 0x100240cf
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a4], xmm0
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
push edx
push ecx
mov eax, dword [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x3a4]
push ecx
call fcn.1003a730
mov ecx, eax
add ecx, dword [ebp - 0x654]
movsx eax, byte [0x1005f0a5]
cdq
mov esi, dword [0x1005f0d8]
sub esi, eax
movsx eax, byte [0x1005f076]
cdq
sub eax, dword [0x1005f140]
not eax
add esi, eax
add ecx, esi
mov dword [ebp - 0x38], ecx
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x10024135
mov eax, 1
mov word [ebp - 0x102], ax
jmp 0x1002413e
xor ecx, ecx
mov word [ebp - 0x102], cx
mov dx, word [ebp - 0x102]
mov word [0x1005f108], dx
push 0x7a55f
push 0x8caab853
mov eax, dword [0x1005f0bc]
push eax
mov ecx, dword [0x1005f0b8]
push ecx
call fcn.1003a730
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x8fc], ecx
add eax, 0x81637eed
mov byte [ebp - 0x11], al
movzx edx, byte [0x1005f0a4]
movzx eax, word [ebp - 0x24]
not eax
imul edx, eax
mov byte [ebp - 0x15], dl
mov ecx, 0x9a27
mov word [0x1005f158], cx
movsx eax, word [ebp - 0x20]
cdq
push 0xd1d8f
push 0x1bbc7ee7
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx edx, word [0x1005f114]
movzx eax, word [0x1005f138]
sub edx, eax
movsx ecx, word [0x1005f114]
add ecx, edx
mov word [0x1005f114], cx
mov edx, dword [ebp - 0x180]
add edx, 0x5cb
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x180]
add eax, 0x689
mov dword [ebp - 0x828], eax
movsx ecx, word [0x1005f114]
test ecx, ecx
jne 0x10024228
mov dword [ebp - 0x234], 1
jmp 0x10024232
mov dword [ebp - 0x234], 0
movzx eax, byte [ebp - 0x13]
xor eax, dword [ebp - 0x234]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
xor ecx, eax
xor esi, edx
mov dword [0x1005f140], ecx
mov dword [0x1005f144], esi
movsx eax, byte [0x1005f013]
cdq
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x82c], ecx
add edx, eax
mov word [0x1005f110], dx
movzx edx, word [0x1005f128]
movzx eax, word [0x1005f0ec]
add edx, eax
mov word [0x1005f128], dx
movsx ecx, byte [ebp - 0x17]
imul edx, ecx, 0xf9159614
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, 8
imul edx, ecx, 0x56
mov eax, dword [edx + 0x102b2af8]
mov ecx, dword [edx + 0x102b2afc]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movzx edx, byte [ebp - 0x11]
movzx eax, word [0x1005f148]
add edx, eax
mov byte [ebp - 0x11], dl
mov ecx, dword [ebp - 0x180]
add ecx, 0x5fe
mov dword [ebp - 0xec], ecx
mov dword [ebp - 4], 0x10
mov eax, dword [0x1005f0d0]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x830], eax
add ecx, edx
mov eax, dword [0x1005f0d0]
cdq
add eax, ecx
mov dword [0x1005f0d0], eax
mov eax, dword [0x1005f0e4]
cdq
mov ecx, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov eax, dword [0x1005f0e4]
cdq
sub eax, ecx
mov dword [0x1005f0e4], eax
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
xor edx, dword [ebp - 0x6c]
xor eax, dword [ebp - 0x68]
push eax
push edx
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.1003a730
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx eax, byte [ebp - 0x17]
cdq
xor eax, dword [ebp - 0x74]
xor edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x5c]
cdq
add eax, dword [ebp - 0x74]
adc edx, dword [ebp - 0x70]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x65c]
or eax, dword [ebp - 0x658]
jne 0x1002438a
mov dword [ebp - 0x238], 1
jmp 0x10024394
mov dword [ebp - 0x238], 0
mov ecx, 0x8671
sub ecx, dword [ebp - 0x238]
mov word [ebp - 0x2c], cx
jmp 0x10024459
mov dword [ebp - 4], 0xffffffff
jmp 0x10024469
imul ecx, dword [ebp - 0x48c], 0x2ca
cmp ecx, 0x32b
je 0x10026db2
mov edx, dword [ebp - 0x6c]
sub edx, 0x7b5d75f2
mov eax, dword [ebp - 0x68]
sbb eax, 0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], esi
mov edx, dword [ebp - 0x66c]
or edx, dword [ebp - 0x668]
jne 0x100244bb
mov byte [ebp - 0x81], 1
jmp 0x100244c2
mov byte [ebp - 0x81], 0
mov al, byte [ebp - 0x81]
mov byte [ebp - 0x14], al
movsx ecx, byte [0x1005f04f]
test ecx, ecx
jne 0x100244ea
xor edx, edx
mov dword [ebp - 0x674], 1
mov dword [ebp - 0x670], edx
jmp 0x100244f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x674], xmm0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x674]
sub edx, eax
not edx
mov word [0x1005f148], dx
movzx eax, word [0x1005f128]
movsx ecx, byte [0x1005f076]
xor eax, ecx
mov word [0x1005f128], ax
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
jne 0x1002453c
mov dword [ebp - 0x240], 1
jmp 0x10024546
mov dword [ebp - 0x240], 0
movzx eax, byte [ebp - 0x16]
test eax, eax
jne 0x1002455a
mov dword [ebp - 0x244], 1
jmp 0x10024564
mov dword [ebp - 0x244], 0
cmp dword [0x1005f0d0], 0
jne 0x10024581
xor ecx, ecx
mov dword [ebp - 0x3ac], 1
mov dword [ebp - 0x3a8], ecx
jmp 0x1002458c
xorps xmm0, xmm0
movlpd qword [ebp - 0x3ac], xmm0
mov edx, dword [0x1005f0b8]
not edx
mov eax, dword [0x1005f0bc]
not eax
mov ecx, dword [ebp - 0x3ac]
sub ecx, edx
mov edx, dword [ebp - 0x3a8]
sbb edx, eax
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
or eax, dword [ebp - 0x678]
jne 0x100245d9
xor ecx, ecx
mov dword [ebp - 0x3b4], 1
mov dword [ebp - 0x3b0], ecx
jmp 0x100245e4
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b4], xmm0
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov ecx, eax
mov esi, edx
not ecx
not esi
mov eax, dword [ebp - 0x240]
imul eax, dword [ebp - 0x244]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x3b0]
push edx
mov eax, dword [ebp - 0x3b4]
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x5c], eax
movsx eax, word [ebp - 0x28]
add eax, 0x1b783fe
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, 0xac396
mov dword [ebp - 0x40], 0x3de9aaec
mov dword [ebp - 0x3c], ecx
movzx edx, word [0x1005f10c]
test edx, edx
je 0x100246bb
mov dword [0x1005f0a0], 0x65
mov eax, dword [ebp - 0x38]
imul eax, dword [0x1005f104]
movsx ecx, word [0x1005f114]
imul edx, ecx, 0
sub eax, edx
mov dword [ebp - 0x60], eax
movsx eax, byte [0x1005f013]
add eax, dword [ebp - 0x64]
movsx ecx, byte [0x1005f013]
add ecx, eax
mov byte [0x1005f013], cl
imul edx, dword [0x1005f0d0], 0xa1
mov byte [ebp - 0x11], dl
movsx eax, byte [0x1005f03b]
movsx ecx, byte [ebp - 0x17]
add eax, ecx
mov byte [0x1005f03b], al
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x184], edx
mov byte [0x1005f03b], 4
mov eax, dword [0x1005f0f0]
add eax, 0x4182df0a
mov word [0x1005f158], ax
mov ecx, dword [ebp - 0x64]
not ecx
imul ecx, dword [0x1005f0b4]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
cmp dword [0x1005f104], 0
jne 0x1002472b
mov dword [ebp - 0x248], 1
jmp 0x10024735
mov dword [ebp - 0x248], 0
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x10024749
mov dword [ebp - 0x254], 1
jmp 0x10024753
mov dword [ebp - 0x254], 0
movsx edx, word [0x1005f15c]
test edx, edx
jne 0x1002476a
mov dword [ebp - 0x24c], 1
jmp 0x10024774
mov dword [ebp - 0x24c], 0
cmp dword [ebp - 0x5c], 0
jne 0x10024786
mov dword [ebp - 0x250], 1
jmp 0x10024790
mov dword [ebp - 0x250], 0
movsx eax, byte [0x1005f04f]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x6c]
adc esi, dword [ebp - 0x68]
movsx edx, byte [0x1005f076]
not edx
mov eax, edx
imul eax, dword [ebp - 0x248]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
mov edx, dword [ebp - 0x24c]
sub edx, dword [ebp - 0x250]
mov eax, dword [ebp - 0x254]
sub eax, edx
cdq
add ecx, eax
mov word [0x1005f110], cx
mov byte [ebp - 0x13], 0x23
movsx eax, byte [0x1005f03b]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 4
ja case.default.0x10024802
mov ecx, dword [ebp - 0x258]
jmp dword [ecx*4 + 0x100279d0]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
push 0
push 0xce
push eax
push edx
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [0x1005f0f8]
not edx
mov eax, dword [0x1005f0fc]
not eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
sub edx, ecx
sbb eax, esi
mov dword [0x1005f160], edx
mov dword [0x1005f164], eax
jmp case.default.0x10024802
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x100248c1
mov edx, dword [0x1005f0a8]
mov eax, dword [0x1005f0ac]
mov dword [ebp - 0x3bc], edx
mov dword [ebp - 0x3b8], eax
jmp 0x100248d1
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3b8], edx
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push 0
push 0x75
push eax
push edx
call fcn.1003a730
mov word [0x1005f10c], ax
movzx eax, word [0x1005f158]
shl eax, 4
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov esi, dword [0x1005f0f0]
not esi
mov eax, dword [0x1005f0e8]
cdq
sub esi, eax
mov eax, dword [ebp - 0x38]
cdq
mov ecx, eax
mov edi, edx
mov eax, dword [ebp - 0x64]
cdq
mov ebx, dword [ebp - 0x34]
not ebx
mov dword [ebp - 0x490], esi
mov esi, dword [ebp - 0x30]
not esi
sub eax, ebx
sbb edx, esi
push edx
push eax
push edi
push ecx
call fcn.1003a730
mov esi, dword [ebp - 0x490]
add esi, eax
mov word [ebp - 0x28], si
jmp case.default.0x10024802
movsx edx, byte [0x1005f0a5]
add edx, dword [ebp - 0x64]
mov byte [0x1005f0a5], dl
mov eax, dword [0x1005f0f0]
and eax, 0x66407d54
mov word [ebp - 0x1c], ax
mov cl, byte [0x1005f114]
mov byte [str.a_StartIdle_], cl
mov edx, 4
imul eax, edx, 0x12
mov eax, dword [eax + 0x100dd368]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
jmp case.default.0x10024802
imul ecx, dword [ebp - 0x38], 0x69
mov dword [0x1005f0e4], ecx
mov edx, dword [ebp - 0x34]
add edx, 0x6c
mov word [ebp - 0x20], dx
mov eax, 0x614c
mov word [0x1005f114], ax
movsx ecx, byte [ebp - 0x17]
imul edx, ecx, 0x9aaf81db
add edx, dword [0x1005f0b4]
mov dword [0x1005f0b4], edx
jmp case.default.0x10024802
xor eax, eax
mov dword [0x1005f118], 8
mov dword [0x1005f11c], eax
movzx ecx, word [ebp - 0x24]
imul eax, ecx, 0xb2
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
push 0x41c04
push 0x684b8681
mov edx, dword [0x1005f134]
push edx
mov eax, dword [0x1005f130]
push eax
call fcn.1003a730
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
mov ecx, dword [ebp - 0x184]
add ecx, 0x5df
mov dword [ebp - 0x268], ecx
mov edx, 1
mov word [0x1005f148], dx
movsx eax, word [0x1005f0e0]
cdq
push 0x7d3be
push 0xef1eaf74
push edx
push eax
call fcn.1003a730
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov eax, dword [0x1005f0a0]
add eax, 0xa24b9de
mov byte [ebp - 0x11], al
mov cx, word [0x1005f104]
mov word [ebp - 0x1c], cx
mov dx, word [ebp - 0x74]
mov word [0x1005f114], dx
movzx eax, word [0x1005f148]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0
je 0x10024a9b
cmp dword [ebp - 0x25c], 1
je 0x10024ab8
jmp 0x10024af6
mov ecx, dword [ebp - 0x6c]
add ecx, 0x2107
mov byte [0x1005f077], cl
mov dl, byte [0x1005f013]
mov byte [str.a_StartIdle_], dl
jmp 0x10024af6
movsx eax, word [0x1005f0e0]
sub eax, 0xdabe
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov eax, 0x534d
mov word [0x1005f10c], ax
imul ecx, dword [ebp - 0x38], 0xc447a1d4
mov dword [0x1005f0e8], ecx
mov dx, word [0x1005fc3c]
mov word [0x1005f15c], dx
mov eax, dword [ebp - 0x184]
add eax, 0x514
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x184]
add ecx, 0x511
mov dword [ebp - 0x83c], ecx
mov edx, dword [0x1005f104]
xor eax, eax
mov dword [ebp - 0x684], edx
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0x684]
cmp ecx, dword [ebp - 0x74]
jne 0x10024b4f
mov edx, dword [ebp - 0x680]
cmp edx, dword [ebp - 0x70]
jne 0x10024b4f
mov dword [ebp - 0x260], 1
jmp 0x10024b59
mov dword [ebp - 0x260], 0
cmp dword [0x1005f104], 0x17
jne 0x10024b6e
mov dword [ebp - 0x264], 1
jmp 0x10024b78
mov dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x264]
jle 0x10024c0d
mov ecx, dword [0x1005f0b4]
and ecx, 0xc855fa7f
mov word [0x1005f0c0], cx
mov eax, dword [0x1005f0d8]
mov edx, dword [0x1005f0dc]
mov cl, 6
call fcn.1003a840
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov dl, byte [0x1005f0b8]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x16]
imul ecx, eax, 0xe8
mov byte [0x1005f04f], cl
movzx eax, byte [ebp - 0x11]
movsx edx, byte [0x1005f09e]
sub eax, edx
cdq
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
not eax
not edx
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
movzx eax, byte [ebp - 0x13]
sub eax, 0x52
mov byte [str._CpuC3StatesChanges], al
jmp 0x10024d13
movsx ecx, byte [0x1005f09e]
test ecx, ecx
je 0x10024c40
movsx eax, word [0x1005f114]
xor eax, 0x910e
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx edx, byte [0x1005f09e]
sub edx, 0x44
mov byte [0x1005f077], dl
jmp 0x10024d13
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x688], ecx
mov edx, dword [ebp - 0x68c]
or edx, dword [ebp - 0x688]
je 0x10024d13
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [0x1005f120], eax
mov dword [0x1005f124], ecx
mov edx, 4
imul eax, edx, 0x11e
mov ecx, dword [eax + 0x10101570]
xor edx, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
mov eax, 1
mov word [0x1005f108], ax
movsx ecx, byte [0x1005f09e]
imul eax, ecx, 0xa2
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movsx edx, byte [0x1005f076]
imul eax, edx, 0xaa
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
mov eax, dword [0x1005f104]
add eax, dword [0x1005f0e8]
mov ecx, eax
movsx eax, word [0x1005f108]
cdq
mov edx, dword [0x1005f160]
mov esi, dword [0x1005f164]
mov dword [ebp - 0x840], esi
add edx, eax
not edx
sub ecx, edx
mov eax, dword [ebp - 0x60]
cdq
mov edx, dword [0x1005f150]
sub edx, eax
add edx, 0x48a3516f
add ecx, edx
mov byte [0x1005f0a5], cl
mov eax, dword [0x1005f0a0]
sub eax, 1
mov dword [0x1005f0a0], eax
mov ecx, dword [ebp - 0x64]
add ecx, 0x50522911
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x11], al
imul ecx, dword [ebp - 0x268], 0xb3
mov edx, dword [ebp - 0x268]
xor edx, 0x65
xor ecx, edx
mov eax, dword [ebp - 0xec]
add eax, 0x162
mov edx, dword [ebp - 0xec]
xor edx, dword [ebp - 0xec]
imul eax, edx
mov edx, dword [ebp - 0xec]
sub edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0x26c]
xor esi, dword [ebp - 0x26c]
sub edx, esi
imul eax, edx
lea eax, [ecx + eax - 0x41e13]
mov dword [ebp - 0x4dc], eax
movzx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], edx
mov ecx, dword [ebp - 0x690]
cmp ecx, dword [0x1005f0f4]
jg 0x10024dc4
jl 0x10024dbf
mov edx, dword [ebp - 0x694]
cmp edx, dword [0x1005f0f0]
ja 0x10024dc4
jmp 0x10024ed3
movsx eax, byte [0x1005f077]
cdq
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], edx
mov eax, dword [0x1005f0f0]
cmp eax, dword [ebp - 0x69c]
jne 0x10024dff
mov ecx, dword [0x1005f0f4]
cmp ecx, dword [ebp - 0x698]
jne 0x10024dff
mov dword [ebp - 0x270], 1
jmp 0x10024e09
mov dword [ebp - 0x270], 0
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
jne 0x10024e1d
mov dword [ebp - 0x274], 1
jmp 0x10024e27
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x274]
jg 0x10024ed3
movzx ecx, byte [str.a_StartIdle_]
imul eax, ecx, 0x8fd4
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x60]
sub eax, 0x2b
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov edx, 0x48a0
mov word [ebp - 0x2c], dx
movsx eax, byte [ebp - 0x12]
movzx ecx, word [0x1005f158]
sub eax, ecx
movsx edx, byte [ebp - 0x12]
sub edx, eax
mov byte [ebp - 0x12], dl
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f11c]
add ecx, dword [0x1005f118]
adc esi, edx
mov edi, dword [ebp - 0x74]
not edi
mov ebx, dword [ebp - 0x70]
not ebx
movzx eax, byte [ebp - 0x11]
not eax
cdq
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1003a730
not eax
not edx
movsx ecx, word [0x1005f110]
imul ecx, dword [0x1005f0b4]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.1003a730
not eax
mov word [0x1005f10c], ax
lea edx, [ebp - 0xf50]
push edx
mov eax, dword [0x103c5c00]
push eax
call fcn.1002b650
test eax, eax
je 0x10025a14
mov ecx, dword [ebp - 0x64]
not ecx
mov edx, dword [0x1005f0d0]
sub edx, ecx
je 0x100250a5
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a0], ecx
mov edx, dword [ebp - 0x6a4]
or edx, dword [ebp - 0x6a0]
jne 0x10024f34
xor eax, eax
mov dword [ebp - 0x3c4], 1
mov dword [ebp - 0x3c0], eax
jmp 0x10024f3f
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c4], xmm0
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x3c4]
sub edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c0]
sbb eax, ecx
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6ac]
or ecx, dword [ebp - 0x6a8]
je 0x10025030
mov edx, dword [0x1005f140]
or edx, dword [0x1005f144]
jne 0x10024f8b
mov dword [ebp - 0x278], 1
jmp 0x10024f95
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x64]
xor eax, dword [ebp - 0x278]
cdq
mov esi, eax
mov edi, edx
movsx ecx, word [0x1005f110]
or ecx, 0x9ec31387
xor ebx, ebx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x352db5b1
sbb edx, 0x83351
push edx
push eax
push ebx
push ecx
call fcn.1003a730
push edx
push eax
push edi
push esi
call fcn.1003a730
mov dword [0x1005f0b0], eax
movzx eax, word [0x1005f128]
cdq
sub eax, 0xb6a6ef8a
mov dword [0x1005f0d0], eax
movsx ecx, byte [ebp - 0x12]
sub ecx, dword [0x1005f0d0]
mov dl, byte [ebp - 0x12]
shl dl, cl
mov byte [ebp - 0x12], dl
movsx eax, word [0x1005f108]
test eax, eax
je 0x10025015
mov cx, word [ebp - 0x20]
mov word [ebp - 0x122], cx
jmp 0x10025020
mov dx, word [ebp - 0x1c]
mov word [ebp - 0x122], dx
movsx eax, word [ebp - 0x122]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp 0x100250a0
movsx eax, byte [0x1005f04f]
test eax, eax
je 0x100250a0
mov ecx, dword [0x1005f0f0]
add ecx, 0x4c85
movsx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
mov word [ebp - 0x2c], ax
movsx dx, byte [ebp - 0x12]
mov word [0x1005f108], dx
movsx eax, byte [0x1005f076]
add eax, 0xde29
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movzx eax, byte [0x1005f09f]
shl eax, 2
mov word [0x1005f158], ax
movzx eax, word [0x1005f148]
cdq
mov ecx, eax
add ecx, 0x3c45f214
movzx eax, byte [ebp - 0x13]
cdq
sub eax, ecx
mov byte [ebp - 0x13], al
jmp 0x100251d7
cmp dword [ebp - 0x5c], 0
je 0x10025111
movsx edx, word [0x1005f0c0]
add edx, 0xf4
mov byte [ebp - 0x11], dl
mov eax, dword [0x1005f0b0]
sub eax, 0xa3
xor ecx, ecx
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
push 0
push 0x40
push ecx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x13]
shl eax, 6
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
jmp 0x100251d7
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x6b4], edx
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6bc], ecx
mov dword [ebp - 0x6b8], esi
mov edx, dword [ebp - 0x6b0]
cmp edx, dword [ebp - 0x6b8]
jb 0x10025189
ja 0x10025153
mov eax, dword [ebp - 0x6b4]
cmp eax, dword [ebp - 0x6bc]
jbe 0x10025189
push 0xa22a5
push 0x8820cdc8
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x28]
cdq
xor eax, ecx
mov word [ebp - 0x28], ax
movzx edx, word [0x1005f148]
add edx, 0xb9ae
mov byte [ebp - 0x14], dl
jmp 0x100251d7
movsx eax, word [0x1005f0e0]
test eax, eax
je 0x100251d7
movsx cx, byte [str._CpuC3StatesChanges]
mov word [0x1005f128], cx
movzx eax, byte [ebp - 0x13]
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov eax, dword [0x1005f0d0]
shl eax, 4
cdq
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
movzx edx, byte [ebp - 0x14]
add edx, 0x51d0e259
mov byte [str._CpuC3StatesChanges], dl
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x188], eax
mov ecx, 9
mov esi, 0x1004d390
lea edi, [ebp - 0x944]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x944]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
mov edx, dword [ebp - 0x188]
add edx, 0x642
mov dword [ebp - 0x844], edx
cmp dword [ebp - 0x5c], 0
jne 0x10025233
mov dword [ebp - 0x27c], 1
jmp 0x1002523d
mov dword [ebp - 0x27c], 0
movzx eax, word [ebp - 0x24]
mov ecx, dword [0x1005f100]
lea edx, [eax + ecx + 0xf1fc]
mov ecx, edx
xor esi, esi
mov eax, dword [0x1005f0e8]
or eax, dword [ebp - 0x27c]
cdq
sub eax, dword [0x1005f0d8]
sbb edx, dword [0x1005f0dc]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], esi
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x10025288
mov dword [ebp - 0x280], 1
jmp 0x10025292
mov dword [ebp - 0x280], 0
movsx eax, byte [0x1005f0a5]
mov ecx, dword [0x1005f0b4]
sub ecx, dword [ebp - 0x280]
add eax, ecx
mov word [0x1005f0c0], ax
movzx eax, word [0x1005f158]
shl eax, 8
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
mov edx, dword [ebp - 0x188]
add edx, 0x7f0
mov dword [ebp - 0x494], edx
movsx eax, word [0x1005f0c0]
movzx ecx, byte [ebp - 0x13]
xor eax, ecx
mov word [0x1005f0c0], ax
movsx edx, word [ebp - 0x20]
sub edx, 0xa460
mov word [ebp - 0x24], dx
mov eax, 2
imul ecx, eax, 0x23
mov dx, word [0x1005f138]
mov word [ecx + 0x10103d78], dx
movsx eax, byte [0x1005f03b]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x74]
movsx eax, byte [0x1005f03b]
cdq
add eax, ecx
mov byte [0x1005f03b], al
movzx eax, byte [ebp - 0x14]
cdq
push edx
push eax
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.1003a730
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x188]
add ecx, 0x8ba
mov dword [ebp - 0x284], ecx
movsx edx, byte [0x1005f09e]
test edx, edx
je 0x10025373
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c8], ecx
jmp 0x10025384
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c8], edx
mov dl, byte [ebp - 0x3cc]
mov byte [0x1005f0a5], dl
movsx eax, word [ebp - 0x28]
cdq
push edx
push eax
mov eax, dword [0x1005f0bc]
push eax
mov ecx, dword [0x1005f0b8]
push ecx
call fcn.1003a730
or eax, dword [0x1005f0b8]
or edx, dword [0x1005f0bc]
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
movsx edx, byte [ebp - 0x12]
add edx, 0x7ad6
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x5c]
cdq
add eax, 0x32f12418
mov word [0x1005f0c0], ax
mov eax, dword [ebp - 0x5c]
cdq
sub eax, 0xf8a2e902
mov dword [0x1005f0b0], eax
mov eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x284]
imul ecx, dword [ebp - 0x494], 0x36d
sub ecx, 0x146
cmp eax, ecx
je 0x10025a0f
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x10025481
movsx eax, byte [str._CpuC3StatesChanges]
cdq
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x848], edx
xor eax, ecx
mov byte [str._CpuC3StatesChanges], al
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x84c], ecx
mov word [0x1005f148], ax
mov byte [0x1005f076], 1
mov dx, word [0x1005fc3c]
mov word [ebp - 0x24], dx
mov eax, dword [0x1005f0b0]
add eax, dword [ebp - 0x60]
mov dword [0x1005f0b0], eax
mov ecx, 8
imul edx, ecx, 0x3c
mov eax, dword [0x1005f0f0]
mov ecx, dword [0x1005f0f4]
mov dword [edx + 0x100e2a00], eax
mov dword [edx + 0x100e2a04], ecx
xor edx, edx
mov byte [ebp - 0x1ba], dl
mov byte [ebp - 0x136], 0x54
xor eax, eax
mov byte [ebp - 0x135], al
mov ecx, 0x79
mov word [ebp - 0x134], cx
mov edx, 0x2e
mov word [ebp - 0x132], dx
mov eax, 0x74
mov word [ebp - 0x130], ax
xor ecx, ecx
mov word [ebp - 0x12e], cx
mov dword [ebp - 0xf0], 0
jmp 0x100254e0
mov edx, dword [ebp - 0xf0]
add edx, 1
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 3
jae 0x1002553a
mov eax, dword [ebp - 0xf0]
lea ecx, [ebp + eax*2 - 0x134]
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x498]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x136]
xor eax, ecx
mov word [ebp - 0x14e], ax
mov edx, dword [ebp - 0xf0]
lea eax, [ebp + edx*2 - 0x134]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dx, word [ebp - 0x14e]
mov word [ecx], dx
jmp 0x100254d1
mov eax, 3
shl eax, 1
lea ecx, [ebp + eax - 0x134]
mov dword [ebp - 0x4a0], ecx
xor edx, edx
mov eax, dword [ebp - 0x4a0]
mov word [eax], dx
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x4a4], ecx
mov edx, dword [ebp - 0x4a4]
push edx
lea eax, [ebp - 0x4b8c]
push eax
push 0
push 0
call fcn.10001410
call eax
xor ecx, ecx
mov byte [ebp - 0x1b9], cl
mov byte [ebp - 0x10e], 0x4b
xor edx, edx
mov byte [ebp - 0x10d], dl
mov eax, 0x69
mov word [ebp - 0x10c], ax
xor ecx, ecx
mov word [ebp - 0x10a], cx
mov dword [ebp - 0xf4], 0
jmp 0x100255c5
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 1
jae 0x1002561f
mov eax, dword [ebp - 0xf4]
lea ecx, [ebp + eax*2 - 0x10c]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4a8]
movzx eax, word [edx]
movsx ecx, byte [ebp - 0x10e]
xor eax, ecx
mov word [ebp - 0x14c], ax
mov edx, dword [ebp - 0xf4]
lea eax, [ebp + edx*2 - 0x10c]
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4ac]
mov dx, word [ebp - 0x14c]
mov word [ecx], dx
jmp 0x100255b6
mov eax, 1
shl eax, 1
lea ecx, [ebp + eax - 0x10c]
mov dword [ebp - 0x4b0], ecx
xor edx, edx
mov eax, dword [ebp - 0x4b0]
mov word [eax], dx
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x4b4]
push edx
lea eax, [ebp - 0x4b8c]
push eax
push 0
push 0
call fcn.100012f0
call eax
lea ecx, [ebp - 0xf50]
push ecx
lea edx, [ebp - 0x4b8c]
push edx
push 0
push 0
call fcn.100012f0
call eax
push 0x1004d3b8
lea eax, [ebp - 0x4b8c]
push eax
push 0
push 0
call fcn.100012f0
call eax
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 5
call fcn.1003a790
mov byte [ebp - 0x17], al
mov eax, dword [0x1005f0d0]
not eax
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov edx, 0x9199540c
sub edx, ecx
mov eax, 0
sbb eax, esi
mov dword [ebp - 0x6c4], edx
mov dword [ebp - 0x6c0], eax
mov ecx, dword [ebp - 0x6c4]
or ecx, dword [ebp - 0x6c0]
jne 0x100256f8
xor edx, edx
mov dword [ebp - 0x3d4], 1
mov dword [ebp - 0x3d0], edx
jmp 0x10025703
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d4], xmm0
mov eax, dword [0x1005f0e8]
cdq
push edx
push eax
mov eax, dword [0x1005f134]
push eax
mov ecx, dword [0x1005f130]
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x3d0]
push ecx
mov ecx, dword [ebp - 0x3d4]
push ecx
push edx
push eax
call fcn.1003a730
not eax
not edx
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
mov edx, 0x19abd
mov dword [ebp - 0x6c], 0x82571ed7
mov dword [ebp - 0x68], edx
imul eax, dword [0x1005f0e4], 0x94
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
sub ecx, eax
sbb esi, edx
mov dword [0x1005f160], ecx
mov dword [0x1005f164], esi
mov byte [ebp - 0x15], 8
movsx edx, word [0x1005f108]
imul eax, edx, 0x255f
test eax, eax
jne 0x100257a0
xor ecx, ecx
mov dword [ebp - 0x3dc], 1
mov dword [ebp - 0x3d8], ecx
jmp 0x100257ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x3dc], xmm0
movzx eax, byte [str.a_StartIdle_]
cdq
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
push edx
push eax
push esi
push ecx
call fcn.1003a730
xor eax, dword [ebp - 0x3dc]
xor edx, dword [ebp - 0x3d8]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp 0x1002580e
mov dword [ebp - 4], 0xffffffff
jmp 0x1002581e
lea ecx, [ebp - 0x2b84]
mov dword [ebp - 0x824], ecx
xor edx, edx
mov byte [ebp - 0x91], dl
lea eax, [ebp - 0xb40]
push eax
lea ecx, [ebp - 0x91]
call fcn.10002230
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], 0
jmp 0x10025865
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0x1d
jae 0x100258c7
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4b8]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xfc]
movsx edx, byte [ecx]
xor eax, edx
mov word [ebp - 0x14a], ax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xfc]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov cx, word [ebp - 0x14a]
mov word [eax], cx
jmp 0x10025856
mov edx, 0x1d
shl edx, 1
mov eax, dword [ebp - 0xfc]
lea ecx, [eax + edx + 2]
mov dword [ebp - 0x4c0], ecx
xor edx, edx
mov eax, dword [ebp - 0x4c0]
mov word [eax], dx
mov ecx, dword [ebp - 0xfc]
add ecx, 2
mov dword [ebp - 0x4c4], ecx
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x820], edx
xor eax, eax
mov byte [ebp - 0x90], al
lea ecx, [ebp - 0xa62]
push ecx
lea ecx, [ebp - 0x90]
call fcn.100024a0
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x100], 0
jmp 0x1002593f
mov edx, dword [ebp - 0x100]
add edx, 1
mov dword [ebp - 0x100], edx
cmp dword [ebp - 0x100], 0x14
jae 0x100259a1
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x12c]
lea edx, [ecx + eax*2 + 2]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4c8]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x12c]
movsx eax, byte [edx]
xor ecx, eax
mov word [ebp - 0x148], cx
mov ecx, dword [ebp - 0x100]
mov edx, dword [ebp - 0x12c]
lea eax, [edx + ecx*2 + 2]
mov dword [ebp - 0x4cc], eax
mov ecx, dword [ebp - 0x4cc]
mov dx, word [ebp - 0x148]
mov word [ecx], dx
jmp 0x10025930
mov eax, 0x14
shl eax, 1
mov ecx, dword [ebp - 0x12c]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x4d0], edx
xor eax, eax
mov ecx, dword [ebp - 0x4d0]
mov word [ecx], ax
mov edx, dword [ebp - 0x12c]
add edx, 2
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x81c], eax
lea ecx, [ebp - 0x4b8c]
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], 3
mov dword [ebp - 0x810], 0
lea edx, [ebp - 0x824]
push edx
call fcn.1001f350
jmp 0x1002799f
jmp 0x10026db2
mov dword [ebp - 0x1c0], 0
jmp 0x10025a2f
mov eax, dword [ebp - 0x1c0]
add eax, 1
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x4b
jge 0x10025cfa
mov ecx, 2
mov word [ebp - 0x24], cx
mov edx, 4
mov word [0x1005f108], dx
movsx eax, byte [ebp - 0x12]
cdq
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x17]
shl eax, 6
mov word [0x1005f148], ax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
add ecx, 0xf78a
adc edx, 0
mov dword [0x1005f150], ecx
mov dword [0x1005f154], edx
movzx eax, word [0x1005f148]
sar eax, 8
mov dword [0x1005f0e8], eax
movsx eax, word [0x1005f0c0]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.1003a730
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x190], eax
cmp dword [ebp - 0x190], 0
je 0x10025ae8
cmp dword [ebp - 0x190], 1
je 0x10025b92
cmp dword [ebp - 0x190], 2
je 0x10025ca8
jmp 0x10025ce3
movzx eax, byte [0x1005f0a4]
cdq
push 0xcc609
push 0x9ea251a5
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [0x1005f144]
push eax
mov ecx, dword [0x1005f140]
push ecx
call fcn.1003a730
mov dword [ebp - 0x6cc], eax
mov dword [ebp - 0x6c8], edx
mov edx, dword [ebp - 0x6cc]
or edx, dword [ebp - 0x6c8]
jne 0x10025b46
mov eax, 1
mov word [ebp - 0x124], ax
jmp 0x10025b4f
xor ecx, ecx
mov word [ebp - 0x124], cx
mov dx, word [ebp - 0x124]
mov word [ebp - 0x20], dx
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov edx, 2
imul eax, edx, 0xcf46
mov cl, byte [eax + 0x103aa368]
mov byte [0x1005f0a4], cl
mov edx, dword [0x1005f0b0]
shl edx, 5
mov dword [0x1005f0b0], edx
jmp 0x10025ce3
movzx eax, byte [0x1005f09f]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], esi
mov byte [0x1005f077], 0xde
movzx edx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x38]
sub eax, edx
jne 0x10025bc8
mov dword [ebp - 0x288], 1
jmp 0x10025bd2
mov dword [ebp - 0x288], 0
cmp dword [ebp - 0x38], 0
jne 0x10025be4
mov dword [ebp - 0x28c], 1
jmp 0x10025bee
mov dword [ebp - 0x28c], 0
movsx eax, word [ebp - 0x2c]
xor eax, 0x6f
add eax, dword [ebp - 0x288]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x15]
add eax, dword [ebp - 0x28c]
cdq
xor edi, edi
mov ebx, dword [ebp - 0x74]
sub ebx, dword [0x1005f0b0]
mov dword [ebp - 0x4d8], esi
mov esi, dword [ebp - 0x70]
sbb esi, edi
sub eax, ebx
sbb edx, esi
add ecx, eax
mov esi, dword [ebp - 0x4d8]
adc esi, edx
mov dword [ebp - 0x6d4], ecx
mov dword [ebp - 0x6d0], esi
mov edx, dword [ebp - 0x6d4]
or edx, dword [ebp - 0x6d0]
jne 0x10025c52
mov byte [ebp - 0x82], 1
jmp 0x10025c59
mov byte [ebp - 0x82], 0
mov al, byte [ebp - 0x82]
mov byte [0x1005f077], al
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x850], edx
sub eax, ecx
mov dword [ebp - 0x60], eax
mov eax, 8
imul ecx, eax, 0xa375
movsx eax, byte [ebp - 0x17]
cdq
add eax, dword [ecx + 0x101fad10]
mov byte [ebp - 0x17], al
movsx edx, byte [0x1005f03b]
sub edx, 0xed
mov word [0x1005f10c], dx
jmp 0x10025ce3
mov ax, word [ebp - 0x24]
add ax, 1
mov word [ebp - 0x24], ax
movzx ecx, word [0x1005f138]
add ecx, 0xa38d
mov word [ebp - 0x24], cx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x34]
add edx, 1
mov eax, dword [ebp - 0x30]
adc eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
jmp 0x10025a20
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov edx, dword [ebp - 0x30]
adc edx, 0
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x34]
add eax, 0x13b58964
mov dword [ebp - 0x5c], eax
mov ecx, 8
imul ecx, ecx, 0xf
movzx eax, word [0x1005f128]
cdq
add eax, dword [ecx + 0x100e7930]
mov word [0x1005f128], ax
mov eax, dword [ebp - 0x38]
sub eax, 0xb8
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x194], edx
xor eax, eax
mov dword [0x1005f0a8], 3
mov dword [0x1005f0ac], eax
movsx ecx, word [ebp - 0x2c]
add ecx, 0x165a
mov byte [ebp - 0x14], cl
movsx eax, word [0x1005f0e0]
cdq
sub eax, dword [0x1005f0f8]
sbb edx, dword [0x1005f0fc]
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x6d8], edx
mov edx, dword [ebp - 0x6dc]
or edx, dword [ebp - 0x6d8]
jne 0x10025da6
mov dword [ebp - 0x290], 1
jmp 0x10025db0
mov dword [ebp - 0x290], 0
movzx eax, word [ebp - 0x24]
imul eax, dword [ebp - 0x60]
movsx ecx, byte [ebp - 0x15]
imul edx, ecx, 0x96
not edx
mov ecx, dword [ebp - 0x290]
sub ecx, edx
add eax, ecx
mov dword [0x1005f0b0], eax
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x854], eax
mov ebx, 0x5693f488
sub ebx, edx
mov ecx, dword [0x1005f0c8]
not ecx
mov edx, dword [0x1005f0cc]
not edx
push 0xffff0c4f
push 0x14c3e97a
push edx
push ecx
call fcn.1003a730
sub ebx, eax
mov byte [ebp - 0x17], bl
mov eax, dword [0x1005f0a8]
mov ecx, dword [0x1005f0ac]
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0
ja 0x100260f7
jb 0x10025e3f
cmp dword [ebp - 0x3e4], 3
ja 0x100260f7
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x8e0]
jmp dword [eax*4 + 0x100279e4]
mov eax, dword [ebp - 0x194]
add eax, 0x55e
mov dword [ebp - 0x4e0], eax
mov ecx, 9
mov esi, 0x1004d3bc
lea edi, [ebp - 0x96c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x96c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x1005f0e8], eax
mov edx, dword [ebp - 0x194]
add edx, 0x537
mov dword [ebp - 0x4e4], edx
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x10026265
movsx ecx, word [0x1005f110]
test ecx, ecx
je 0x10026260
mov dword [ebp - 4], 0x14
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
je 0x10026175
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x84], al
jmp 0x1002617e
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x84], cl
movzx edx, byte [ebp - 0x84]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1003a730
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx ecx, word [0x1005f108]
movzx edx, word [0x1005f128]
sub ecx, edx
jne 0x100261cf
xor eax, eax
mov dword [ebp - 0x3ec], 1
mov dword [ebp - 0x3e8], eax
jmp 0x100261da
xorps xmm0, xmm0
movlpd qword [ebp - 0x3ec], xmm0
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
add ecx, eax
adc esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
mov eax, dword [ebp - 0x3ec]
push eax
call fcn.1003a730
mov dword [0x1005f104], eax
jmp 0x10026250
mov dword [ebp - 4], 0xffffffff
jmp 0x10026260
jmp 0x100264d0
movzx eax, byte [0x1005f09f]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x6fc], eax
mov dword [ebp - 0x6f8], edx
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x700], esi
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebp - 0x700]
jb 0x100262b5
ja 0x100262a9
mov eax, dword [ebp - 0x6fc]
cmp eax, dword [ebp - 0x704]
jb 0x100262b5
mov dword [ebp - 0x29c], 1
jmp 0x100262bf
mov dword [ebp - 0x29c], 0
mov ecx, dword [ebp - 0x29c]
not ecx
test ecx, ecx
je 0x10026374
mov edx, dword [0x1005fc3c]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1005f0b8]
or ecx, dword [0x1005f0bc]
jne 0x100262ff
xor edx, edx
mov dword [ebp - 0x3f4], 1
mov dword [ebp - 0x3f0], edx
jmp 0x1002630a
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f4], xmm0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
sub eax, dword [ebp - 0x3f4]
sbb ecx, dword [ebp - 0x3f0]
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], ecx
movzx edx, byte [ebp - 0x11]
movzx eax, byte [0x1005f0a4]
sub edx, eax
movzx ecx, byte [ebp - 0x11]
add ecx, edx
mov byte [ebp - 0x11], cl
xor edx, edx
mov dword [0x1005f120], 0xc0885fa6
mov dword [0x1005f124], edx
movzx eax, word [0x1005f158]
sub eax, 0xd8b4
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx eax, byte [str._CpuC3StatesChanges]
sub eax, 0xa
mov byte [ebp - 0x17], al
jmp 0x100264d0
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 0x708], edx
mov eax, dword [0x1005f0cc]
cmp eax, dword [ebp - 0x708]
jl 0x100263b7
jg 0x100263a3
mov ecx, dword [0x1005f0c8]
cmp ecx, dword [ebp - 0x70c]
jbe 0x100263b7
xor edx, edx
mov dword [ebp - 0x3fc], 1
mov dword [ebp - 0x3f8], edx
jmp 0x100263c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x3fc], xmm0
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x714]
cmp edx, dword [ebp - 0x3fc]
jne 0x1002644d
mov eax, dword [ebp - 0x710]
cmp eax, dword [ebp - 0x3f8]
jne 0x1002644d
movzx ecx, byte [ebp - 0x16]
sub ecx, 0x81
mov dword [0x1005f104], ecx
movzx edx, word [0x1005f128]
test edx, edx
je 0x1002641c
movzx eax, byte [ebp - 0x14]
mov dword [ebp - 0x2a0], eax
jmp 0x10026429
movsx ecx, word [0x1005f15c]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a0]
mov dword [0x1005f0e8], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x864], ecx
not eax
mov dword [0x1005f0a0], eax
jmp 0x100264d0
mov edx, dword [0x1005f0d8]
or edx, dword [0x1005f0dc]
jne 0x1002647b
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x71c]
or edx, dword [ebp - 0x718]
je 0x100264d0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x868], ecx
mov edx, 0x2e14e8e4
sub edx, eax
not edx
mov dword [0x1005f0a0], edx
movzx eax, word [0x1005f138]
movsx ecx, word [0x1005f114]
sub eax, ecx
mov word [0x1005f138], ax
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, 0x6d
adc eax, 0
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
movzx ecx, byte [ebp - 0x11]
imul edx, ecx, 0x6632
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x194]
add eax, 0x7f4
mov dword [ebp - 0x2d4], eax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x10026b45
movzx edx, word [0x1005f138]
cmp dword [0x1005f0e4], edx
jg 0x10026508
mov dword [ebp - 0x2a4], 1
jmp 0x10026512
mov dword [ebp - 0x2a4], 0
cmp dword [0x1005f0e4], 0x1e
jg 0x10026527
mov dword [ebp - 0x2a8], 1
jmp 0x10026531
mov dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2a4]
cmp eax, dword [ebp - 0x2a8]
jl 0x10026a92
mov dword [ebp - 0x198], 0x2792
mov ecx, dword [0x1005f0a8]
xor ecx, dword [0x1005f0f8]
mov edx, dword [0x1005f0ac]
xor edx, dword [0x1005f0fc]
add ecx, dword [0x1005f0a8]
adc edx, dword [0x1005f0ac]
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], edx
movsx eax, byte [0x1005f077]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f077], al
cmp dword [0x1005f100], 0
jne 0x100265bc
xor edx, edx
mov dword [ebp - 0x724], 1
mov dword [ebp - 0x720], edx
jmp 0x100265c7
xorps xmm0, xmm0
movlpd qword [ebp - 0x724], xmm0
mov eax, dword [ebp - 0x724]
sub eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x86c], ecx
add esi, eax
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1005f0bc]
push ecx
mov ecx, dword [0x1005f0b8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
not ecx
movsx eax, word [0x1005f0e0]
cdq
sub ecx, eax
xor esi, ecx
mov dword [0x1005f0e4], esi
movzx edx, word [0x1005f138]
imul edx, dword [ebp - 0x64]
mov word [0x1005f138], dx
mov eax, 0xe0157
mov dword [ebp - 0x74], 0x73c0b731
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x198], 0x25c0
jle 0x10026a8d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x72c], ecx
mov dword [ebp - 0x728], edx
mov eax, dword [0x1005f0bc]
cmp eax, dword [ebp - 0x728]
jb 0x10026679
ja 0x1002666d
mov ecx, dword [0x1005f0b8]
cmp ecx, dword [ebp - 0x72c]
jb 0x10026679
mov dword [ebp - 0x2ac], 1
jmp 0x10026683
mov dword [ebp - 0x2ac], 0
cmp dword [0x1005f0bc], 0
ja 0x10026695
cmp dword [0x1005f0b8], 0x3a
jb 0x100266a1
mov dword [ebp - 0x2b0], 1
jmp 0x100266ab
mov dword [ebp - 0x2b0], 0
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [ebp - 0x2b0]
jg 0x10026724
mov byte [ebp - 0x11], 0x83
movzx eax, byte [ebp - 0x13]
imul ecx, eax, 0x8cc4
mov byte [str._CpuC3StatesChanges], cl
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x1005f0c8]
adc esi, dword [0x1005f0cc]
movzx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x13], al
movzx edx, word [0x1005f128]
movsx eax, byte [0x1005f013]
sub edx, eax
mov word [0x1005f128], dx
movzx ecx, word [ebp - 0x24]
movzx edx, byte [0x1005f0a4]
or ecx, edx
not ecx
mov byte [str._CpuC3StatesChanges], cl
jmp 0x10026a79
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
movsx eax, word [0x1005f0e0]
cdq
mov dword [ebp - 0x734], ecx
mov dword [ebp - 0x730], esi
mov dword [ebp - 0x73c], eax
mov dword [ebp - 0x738], edx
mov edx, dword [ebp - 0x730]
cmp edx, dword [ebp - 0x738]
jb 0x1002677c
ja 0x10026768
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0x73c]
jb 0x1002677c
xor ecx, ecx
mov dword [ebp - 0x404], 1
mov dword [ebp - 0x400], ecx
jmp 0x10026787
xorps xmm0, xmm0
movlpd qword [ebp - 0x404], xmm0
mov eax, dword [ebp - 0x60]
cdq
or eax, dword [0x1005f0c8]
or edx, dword [0x1005f0cc]
mov dword [ebp - 0x744], eax
mov dword [ebp - 0x740], edx
mov edx, dword [ebp - 0x744]
cmp edx, dword [ebp - 0x404]
jne 0x100267c3
mov eax, dword [ebp - 0x740]
cmp eax, dword [ebp - 0x400]
je 0x100268bd
movsx ecx, byte [0x1005f013]
test ecx, ecx
je 0x100267dd
movsx edx, byte [0x1005f03b]
mov dword [ebp - 0x2b4], edx
jmp 0x100267ea
movsx eax, word [0x1005f15c]
mov dword [ebp - 0x2b4], eax
mov cx, word [ebp - 0x2b4]
mov word [ebp - 0x1c], cx
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x10026811
xor eax, eax
mov dword [ebp - 0x754], 1
mov dword [ebp - 0x750], eax
jmp 0x1002681c
xorps xmm0, xmm0
movlpd qword [ebp - 0x754], xmm0
movzx eax, byte [0x1005f0a4]
cdq
add eax, dword [0x1005f130]
adc edx, dword [0x1005f134]
mov dword [ebp - 0x74c], eax
mov dword [ebp - 0x748], edx
mov ecx, dword [ebp - 0x74c]
or ecx, dword [ebp - 0x748]
jne 0x10026856
mov dword [ebp - 0x2b8], 1
jmp 0x10026860
mov dword [ebp - 0x2b8], 0
mov ecx, dword [0x1005f0f0]
not ecx
add ecx, dword [ebp - 0x754]
movzx eax, word [0x1005f158]
cdq
mov edx, dword [0x1005f160]
mov esi, dword [0x1005f164]
mov dword [ebp - 0x870], esi
sub eax, edx
add ecx, eax
not ecx
mov eax, dword [0x1005f0e4]
add eax, dword [ebp - 0x2b8]
not eax
cdq
sub ecx, eax
mov word [0x1005f110], cx
movzx eax, byte [0x1005f09f]
sub eax, dword [0x1005f0a0]
mov word [0x1005f110], ax
jmp 0x10026a79
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x75c]
or eax, dword [ebp - 0x758]
je 0x100268f5
cmp dword [ebp - 0x38], 0
jne 0x100268e9
cmp dword [ebp - 0x64], 0
je 0x100268f5
mov dword [ebp - 0x2bc], 1
jmp 0x100268ff
mov dword [ebp - 0x2bc], 0
mov ecx, dword [ebp - 0x2bc]
not ecx
test ecx, ecx
je 0x1002698a
mov eax, dword [0x1005f0b8]
mov edx, dword [0x1005f0bc]
mov cl, 1
call fcn.1003a770
mov byte [0x1005f09e], al
movzx edx, word [0x1005f128]
imul edx, dword [0x1005f100]
mov dword [0x1005f100], edx
movsx eax, byte [ebp - 0x15]
movsx ecx, byte [0x1005f076]
add eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
push 0
push 0x78e5f161
push eax
push edx
call fcn.1003a730
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x8aa2
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0x42694686
mov byte [0x1005f04f], dl
jmp 0x10026a79
mov eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x70]
jne 0x1002699e
mov dword [ebp - 0x2c0], 1
jmp 0x100269a8
mov dword [ebp - 0x2c0], 0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
movsx eax, byte [ebp - 0x17]
cdq
mov dword [ebp - 0x764], ecx
mov dword [ebp - 0x760], esi
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], edx
mov edx, dword [ebp - 0x764]
cmp edx, dword [ebp - 0x76c]
jne 0x100269e7
mov eax, dword [ebp - 0x760]
cmp eax, dword [ebp - 0x768]
je 0x100269f3
mov dword [ebp - 0x344], 1
jmp 0x100269fd
mov dword [ebp - 0x344], 0
mov ecx, dword [ebp - 0x2c0]
cmp ecx, dword [ebp - 0x344]
jge 0x10026a79
movzx edx, word [0x1005f148]
movzx eax, byte [ebp - 0x16]
imul edx, eax
mov word [0x1005f148], dx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push 0
push 0xf23e9ca0
push edx
push ecx
call fcn.1003a730
mov byte [str._CpuC3StatesChanges], al
imul eax, dword [0x1005f0d0], 0xb741f978
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movsx eax, word [0x1005f15c]
cdq
mov ecx, dword [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x74]
push ecx
push edx
push eax
call fcn.1003a730
mov word [0x1005f15c], ax
movsx edx, byte [ebp - 0x15]
movsx eax, byte [str._CpuC3StatesChanges]
imul edx, eax
mov byte [ebp - 0x15], dl
mov ecx, dword [ebp - 0x198]
sub ecx, 1
mov dword [ebp - 0x198], ecx
jmp 0x1002662e
jmp 0x10026b45
cmp dword [ebp - 0x70], 0
jl 0x10026aaf
jg 0x10026aa3
cmp dword [ebp - 0x74], 0x5a9f5493
jb 0x10026aaf
mov dword [ebp - 0x2cc], 1
jmp 0x10026ab9
mov dword [ebp - 0x2cc], 0
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x10026acd
mov dword [ebp - 0x2c8], 1
jmp 0x10026ad7
mov dword [ebp - 0x2c8], 0
movzx eax, byte [ebp - 0x14]
cmp dword [ebp - 0x2c8], eax
jne 0x10026aef
mov dword [ebp - 0x2d0], 1
jmp 0x10026af9
mov dword [ebp - 0x2d0], 0
mov ecx, dword [ebp - 0x2cc]
cmp ecx, dword [ebp - 0x2d0]
jle 0x10026b45
movzx edx, word [0x1005f0ec]
add edx, dword [ebp - 0x60]
mov dword [0x1005f0b4], edx
movsx eax, word [ebp - 0x20]
movzx ecx, byte [ebp - 0x16]
add eax, ecx
mov word [ebp - 0x20], ax
movzx edx, byte [str.a_StartIdle_]
add edx, 0x4e
mov dword [ebp - 0x64], edx
mov eax, dword [0x1005f130]
mov dword [ebp - 0x38], eax
mov cx, word [0x1005f15c]
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x4dc]
sub edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x4e0]
add eax, dword [ebp - 0x2d4]
add edx, eax
cmp dword [ebp - 0x4e4], edx
je 0x10026db2
movzx ecx, word [0x1005f128]
test ecx, ecx
je 0x10026b82
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x2d8], edx
jmp 0x10026b8c
movsx eax, byte [ebp - 0x17]
mov dword [ebp - 0x2d8], eax
mov cl, byte [ebp - 0x2d8]
mov byte [0x1005f013], cl
movsx eax, word [0x1005f108]
cdq
mov edx, dword [0x1005f120]
mov ecx, dword [0x1005f124]
mov dword [ebp - 0x874], ecx
add eax, edx
mov word [0x1005f108], ax
mov edx, 1
imul eax, edx, 0x184b
mov cl, byte [str._CpuC3StatesChanges]
mov byte [eax + 0x1008e078], cl
movzx eax, word [0x1005f10c]
cdq
add eax, dword [0x1005f0d8]
adc edx, dword [0x1005f0dc]
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
mov dword [ebp - 0x1b4], 0x106
jmp 0x10026c0b
mov edx, dword [ebp - 0x1b4]
sub edx, 1
mov dword [ebp - 0x1b4], edx
cmp dword [ebp - 0x1b4], 0
jle 0x10026dab
cmp dword [ebp - 0x5c], 0
je 0x10026d45
movzx eax, byte [ebp - 0x13]
movzx ecx, word [0x1005f0ec]
cmp eax, ecx
jge 0x10026c3d
mov dword [ebp - 0x2e0], 1
jmp 0x10026c47
mov dword [ebp - 0x2e0], 0
cmp dword [0x1005f0b4], 0
je 0x10026c91
mov edx, dword [0x1005f0c8]
or edx, dword [0x1005f0cc]
jne 0x10026c6a
mov dword [ebp - 0x2dc], 1
jmp 0x10026c74
mov dword [ebp - 0x2dc], 0
movsx eax, word [0x1005f114]
mov ecx, dword [ebp - 0x2dc]
sub ecx, eax
je 0x10026c91
mov dword [ebp - 0x2e4], 1
jmp 0x10026c9b
mov dword [ebp - 0x2e4], 0
mov edx, dword [ebp - 0x2e0]
cmp edx, dword [ebp - 0x2e4]
jle 0x10026cae
jmp 0x10026d43
movsx eax, byte [ebp - 0x12]
imul eax, eax, 0xcfd1
cdq
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movzx edx, byte [ebp - 0x11]
movsx eax, byte [ebp - 0x15]
add edx, eax
mov byte [ebp - 0x11], dl
movsx ecx, word [0x1005f108]
test ecx, ecx
je 0x10026cf9
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x408], edx
jmp 0x10026d0b
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x408], eax
mov cx, word [ebp - 0x40c]
mov word [0x1005f10c], cx
movsx edx, byte [ebp - 0x15]
imul eax, edx, 0xeb
movsx ecx, byte [ebp - 0x17]
xor ecx, eax
mov byte [ebp - 0x17], cl
movsx edx, byte [0x1005f03b]
movzx eax, byte [str.a_StartIdle_]
imul edx, eax
mov byte [0x1005f03b], dl
jmp 0x10026d88
mov cx, word [0x1005f148]
sub cx, 1
mov word [0x1005f148], cx
mov eax, dword [0x1005f130]
mov edx, dword [0x1005f134]
mov cl, 8
call fcn.1003a770
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, 0xd510a
mov dword [ebp - 0x6c], 0x23676f52
mov dword [ebp - 0x68], edx
movzx eax, byte [ebp - 0x14]
and eax, dword [ebp - 0x38]
mov byte [ebp - 0x14], al
mov ecx, dword [0x1005f0a8]
add ecx, 1
mov edx, dword [0x1005f0ac]
adc edx, 0
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], edx
jmp 0x10026bfc
xor eax, eax
jmp 0x1002799f
jmp 0x100278bb
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x70]
je 0x10026edb
mov byte [ebp - 4], 0x17
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x2c], ax
mov byte [0x1005f076], 0xce
push 0
push 0x85
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1003a730
mov dword [0x1005f100], eax
mov cl, byte [0x1005f0d8]
mov edx, 1
imul eax, edx, 0x19e6
mov byte [eax + 0x100e2ce0], cl
movsx ecx, byte [0x1005f076]
movzx edx, word [0x1005f0ec]
sub ecx, edx
mov eax, dword [ebp - 0x64]
not eax
add ecx, eax
mov byte [str.a_StartIdle_], cl
jmp 0x10026ec6
mov dword [ebp - 4], 0x16
jmp 0x10026ed6
jmp 0x10026fa2
movsx ecx, byte [0x1005f04f]
test ecx, ecx
je 0x10026f65
movzx edx, word [0x1005f128]
test edx, edx
je 0x10026f65
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0xdb
push ecx
push eax
call fcn.1003a730
mov byte [ebp - 0x11], al
movsx eax, byte [0x1005f04f]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f164]
sub ecx, dword [0x1005f160]
sbb esi, edx
movsx eax, byte [0x1005f04f]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f04f], al
movsx eax, word [0x1005f114]
sub eax, dword [0x1005f0d0]
movsx ecx, word [0x1005f114]
add ecx, eax
mov word [0x1005f114], cx
movsx edx, word [ebp - 0x20]
movzx eax, byte [ebp - 0x16]
add edx, eax
mov word [ebp - 0x20], dx
jmp 0x10026fa2
xor ecx, ecx
je 0x10026fa2
movsx eax, word [0x1005f15c]
cdq
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x878], ecx
sub eax, edx
mov word [0x1005f15c], ax
movzx edx, word [0x1005f128]
imul edx, dword [0x1005f0e4]
movzx eax, word [0x1005f128]
xor eax, edx
mov word [0x1005f128], ax
jmp 0x10026fd8
mov dword [ebp - 4], 0xffffffff
jmp 0x10026fe8
mov dword [ebp - 4], 0x1a
movzx edx, word [0x1005f148]
test edx, edx
jne 0x1002700e
xor eax, eax
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x410], eax
jmp 0x10027019
xorps xmm0, xmm0
movlpd qword [ebp - 0x414], xmm0
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [0x1005f164]
add eax, dword [0x1005f160]
adc edx, ecx
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x770], edx
mov edx, dword [ebp - 0x410]
cmp edx, dword [ebp - 0x770]
ja 0x10027061
jb 0x10027055
mov eax, dword [ebp - 0x414]
cmp eax, dword [ebp - 0x774]
jae 0x10027061
mov dword [ebp - 0x2e8], 1
jmp 0x1002706b
mov dword [ebp - 0x2e8], 0
mov ecx, dword [ebp - 0x2e8]
not ecx
test ecx, ecx
je 0x1002764a
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], edx
mov edx, dword [0x1005f0fc]
cmp edx, dword [ebp - 0x778]
jg 0x100270b5
jl 0x100270a9
mov eax, dword [0x1005f0f8]
cmp eax, dword [ebp - 0x77c]
jae 0x100270b5
mov dword [ebp - 0x2ec], 1
jmp 0x100270bf
mov dword [ebp - 0x2ec], 0
cmp dword [0x1005f0fc], 0
jg 0x100270df
jl 0x100270d3
cmp dword [0x1005f0f8], 0x13
jae 0x100270df
mov dword [ebp - 0x2f0], 1
jmp 0x100270e9
mov dword [ebp - 0x2f0], 0
mov ecx, dword [ebp - 0x2ec]
cmp ecx, dword [ebp - 0x2f0]
jge 0x100275dd
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x100272bf
mov byte [ebp - 0x15], 1
movsx eax, byte [ebp - 0x17]
sub eax, 0x6253875b
mov word [0x1005f0c0], ax
movsx ecx, byte [0x1005f077]
movsx edx, word [0x1005f110]
sub ecx, edx
mov byte [0x1005f077], cl
mov byte [ebp - 0x12], 0x1e
movzx eax, byte [ebp - 0x16]
movzx ecx, word [0x1005f158]
not ecx
xor eax, ecx
jne 0x10027151
mov dword [ebp - 0x2f4], 1
jmp 0x1002715b
mov dword [ebp - 0x2f4], 0
movsx edx, word [ebp - 0x28]
mov eax, dword [ebp - 0x2f4]
sub eax, edx
not eax
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x2f8], al
cmp byte [ebp - 0x2f8], 0
je 0x10027195
cmp byte [ebp - 0x2f8], 1
je 0x100271c7
jmp 0x100272ba
mov cl, byte [0x1005fc3c]
mov byte [ebp - 0x11], cl
mov edx, 0x3045e
mov dword [ebp - 0x6c], 0x83c7820
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x5c]
cdq
sub eax, 0x86b12c74
sbb edx, 0x15d82
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
jmp 0x100272ba
push 0xa3178
push 0x7a0546bf
mov eax, dword [0x1005f0ac]
push eax
mov ecx, dword [0x1005f0a8]
push ecx
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x11]
cdq
xor eax, ecx
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x5c], 0
je 0x10027209
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x418], eax
jmp 0x10027221
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], edx
mov ax, word [ebp - 0x41c]
mov word [0x1005f108], ax
mov eax, dword [ebp - 0x38]
not eax
imul eax, dword [0x1005f0d0]
cdq
xor eax, dword [0x1005f140]
xor edx, dword [0x1005f144]
mov dword [ebp - 0x784], eax
mov dword [ebp - 0x780], edx
mov ecx, dword [ebp - 0x784]
or ecx, dword [ebp - 0x780]
jne 0x1002726f
mov edx, 1
mov word [ebp - 0x126], dx
jmp 0x10027278
xor eax, eax
mov word [ebp - 0x126], ax
mov cx, word [ebp - 0x126]
mov word [0x1005f128], cx
movzx edx, word [ebp - 0x24]
movzx eax, word [0x1005f138]
add edx, eax
mov word [ebp - 0x24], dx
movzx ecx, word [0x1005f158]
add ecx, 0xfb1e
mov word [0x1005f0e0], cx
mov eax, dword [ebp - 0x60]
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
jmp 0x100275db
movsx edx, byte [0x1005f03b]
test edx, edx
jne 0x100272d7
cmp dword [0x1005f0e4], 0
je 0x10027408
cmp dword [0x1005f104], 0
jne 0x100272ec
mov dword [ebp - 0x2fc], 1
jmp 0x100272f6
mov dword [ebp - 0x2fc], 0
movzx eax, word [0x1005f128]
test eax, eax
jne 0x1002730d
mov dword [ebp - 0x300], 1
jmp 0x10027317
mov dword [ebp - 0x300], 0
movsx eax, byte [0x1005f03b]
add eax, dword [ebp - 0x2fc]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f130]
or edx, 0x6ab83e2b
mov eax, dword [0x1005f134]
or eax, 0x31b89
add ecx, edx
adc esi, eax
not ecx
not esi
movsx edx, word [ebp - 0x20]
not edx
movzx eax, byte [ebp - 0x13]
not eax
add eax, edx
imul eax, dword [ebp - 0x300]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x78c], ecx
mov dword [ebp - 0x788], esi
mov ecx, dword [ebp - 0x78c]
or ecx, dword [ebp - 0x788]
jne 0x10027387
mov dword [ebp - 0x304], 1
jmp 0x10027391
mov dword [ebp - 0x304], 0
mov edx, dword [ebp - 0x304]
mov dword [0x1005f0b4], edx
mov eax, dword [ebp - 0x64]
add eax, 0x769660f1
xor ecx, ecx
mov dword [0x1005f150], eax
mov dword [0x1005f154], ecx
movsx edx, word [ebp - 0x28]
imul eax, edx, 0x50
mov dword [0x1005f0a0], eax
mov dword [ebp - 0x60], 0xb6
movsx eax, word [ebp - 0x28]
add eax, 0xbcef
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [0x1005f10c]
cdq
xor eax, dword [0x1005f0d8]
xor edx, dword [0x1005f0dc]
mov ecx, dword [0x1005f0d8]
sub ecx, eax
mov eax, dword [0x1005f0dc]
sbb eax, edx
mov dword [0x1005f0d8], ecx
mov dword [0x1005f0dc], eax
jmp 0x100275db
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x10027520
movsx edx, word [0x1005f0e0]
test edx, edx
je 0x10027520
movsx eax, byte [ebp - 0x17]
imul eax, eax, 0x7e85
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov eax, dword [ebp - 0x64]
cdq
sub eax, dword [0x1005f0c8]
sbb edx, dword [0x1005f0cc]
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
mov eax, dword [ebp - 0x38]
add eax, 0xc8
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
mov ecx, dword [0x1005f100]
xor edx, edx
add ecx, dword [0x1005f0a8]
adc edx, dword [0x1005f0ac]
mov dword [ebp - 0x794], ecx
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x794]
or eax, dword [ebp - 0x790]
jne 0x100274a2
mov dword [ebp - 0x308], 1
jmp 0x100274ac
mov dword [ebp - 0x308], 0
movzx eax, word [0x1005f138]
sub eax, dword [ebp - 0x308]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x87c], edx
add ecx, eax
not ecx
mov dword [0x1005f0b4], ecx
movsx eax, byte [0x1005f0a5]
cdq
mov esi, eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x880], ecx
xor esi, eax
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push edx
push eax
call fcn.1003a730
add esi, eax
mov word [0x1005f0e0], si
movzx edx, byte [ebp - 0x13]
sub edx, 0x7027
mov byte [ebp - 0x13], dl
jmp 0x100275db
movzx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov eax, dword [0x1005f0fc]
push eax
mov ecx, dword [0x1005f0f8]
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x79c], eax
mov dword [ebp - 0x798], edx
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x7a0], esi
mov edx, dword [ebp - 0x798]
cmp edx, dword [ebp - 0x7a0]
ja 0x100275db
jb 0x10027575
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0x7a4]
ja 0x100275db
movsx ecx, word [ebp - 0x20]
add ecx, dword [ebp - 0x5c]
mov word [ebp - 0x20], cx
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov esi, dword [ebp - 0x30]
sbb esi, edx
mov eax, 0x3547
sub eax, dword [ebp - 0x64]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
mov dword [ebp - 0x884], eax
mov ecx, 1
imul eax, ecx, 0x3283
mov byte [eax + 0x102772c8], dl
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
sub ecx, dword [0x1005f0b8]
movzx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
jmp 0x10027645
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x10027645
movsx eax, byte [ebp - 0x12]
add eax, dword [ebp - 0x64]
movsx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
mov eax, dword [ebp - 0x60]
add eax, 0x61a1
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [0x1005f130]
add edx, 0xc1489312
mov dword [ebp - 0x60], edx
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movsx edx, byte [0x1005f03b]
add edx, 0xad
mov byte [ebp - 0x12], dl
movsx eax, word [0x1005f0c0]
movsx ecx, byte [ebp - 0x12]
lea edx, [ecx + eax + 0xf7bc]
mov byte [ebp - 0x12], dl
jmp 0x10027785
mov eax, dword [0x1005f130]
or eax, dword [0x1005f134]
jne 0x10027663
mov dword [ebp - 0x30c], 1
jmp 0x1002766d
mov dword [ebp - 0x30c], 0
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x7ac], eax
mov dword [ebp - 0x7a8], edx
mov ecx, dword [0x1005f0d8]
cmp ecx, dword [ebp - 0x7ac]
jne 0x1002769a
mov edx, dword [0x1005f0dc]
cmp edx, dword [ebp - 0x7a8]
je 0x100276a6
mov dword [ebp - 0x310], 1
jmp 0x100276b0
mov dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x310]
jge 0x10027785
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dx, word [ebp - 0x1c]
mov ecx, eax
sar dx, cl
mov word [ebp - 0x1c], dx
mov eax, dword [0x1005f0e8]
cdq
add eax, 0xf50c68bd
mov word [0x1005f158], ax
movsx eax, byte [0x1005f077]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
add edx, ecx
adc eax, esi
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
movzx ecx, word [0x1005f10c]
test ecx, ecx
je 0x1002773d
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x314], edx
jmp 0x10027747
movsx eax, byte [ebp - 0x12]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx ecx, word [0x1005f0e0]
add ecx, 0x661ec
xor edx, edx
mov dword [0x1005f120], ecx
mov dword [0x1005f124], edx
movzx eax, word [0x1005f128]
sub eax, 0x8f
mov byte [0x1005f09e], al
jmp 0x100278a4
mov dword [ebp - 4], 0xffffffff
jmp 0x100278b4
xor eax, eax
jmp 0x1002799f
mov edx, dword [0x1005f0f8]
or edx, dword [0x1005f0fc]
je 0x1002799a
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0x7631eebb
mov byte [0x1005f09e], cl
movsx eax, word [0x1005f108]
movsx edx, byte [0x1005f03b]
imul eax, edx
movzx ecx, byte [str.a_StartIdle_]
movzx edx, byte [ebp - 0x13]
add ecx, edx
add eax, ecx
cdq
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0x888], edx
add ecx, 0x36216355
add eax, ecx
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov cl, 2
call fcn.1003a790
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx eax, word [0x1005f10c]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
mov edx, dword [0x1005f0b8]
add edx, 0xb8e72729
mov byte [0x1005f0a5], dl
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x7c4]
or edx, dword [ebp - 0x7c0]
je 0x10027987
movzx eax, word [0x1005f0ec]
mov dword [ebp - 0x2c4], eax
jmp 0x10027991
movsx ecx, byte [ebp - 0x15]
mov dword [ebp - 0x2c4], ecx
mov dl, byte [ebp - 0x2c4]
mov byte [ebp - 0x15], dl
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret