Function at 0x10007210
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004bd50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xb34
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x113], 0xbb
xor eax, eax
mov dword [ebp - 0x4c], 0xeb00
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x50], 0x203a4ad5
mov ecx, 0xffffd242
mov word [ebp - 0x1c], cx
mov edx, 0xddb11
mov dword [ebp - 0x34], 0xf8972599
mov dword [ebp - 0x30], edx
mov eax, dword [0x1005f0f0]
mov dword [ebp - 0x74], eax
mov ecx, dword [0x1005f0f0]
mov edx, dword [0x1005f0f4]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [0x1005f0b0]
mov byte [ebp - 0x17], al
movzx eax, byte [0x1005f0a4]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x78], 0xf18d60c
mov byte [ebp - 0x15], 0x6e
movsx cx, byte [str._CpuC3StatesChanges]
mov word [ebp - 0x20], cx
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
mov dword [ebp - 0xa5c], eax
mov byte [ebp - 0x14], dl
mov cl, byte [0x1005f114]
mov byte [ebp - 0x16], cl
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov dword [ebp - 0xa60], eax
mov word [ebp - 0x2c], dx
mov cl, byte [0x1005f140]
mov byte [ebp - 0x11], cl
mov dx, word [0x1005f0b4]
mov word [ebp - 0x24], dx
xor eax, eax
mov dword [ebp - 0x44], 0xa162
mov dword [ebp - 0x40], eax
mov ecx, 0xdf
mov word [ebp - 0x28], cx
mov dl, byte [str.a_StartIdle_]
mov byte [ebp - 0x13], dl
mov eax, dword [0x1005f0b0]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
movsx eax, word [0x1005f110]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x12], 0x58
mov dword [ebp - 0x7c], 0xdc995d05
xor edx, edx
mov dword [ebp - 0x70], 0x8afa7431
mov dword [ebp - 0x6c], edx
mov byte [ebp - 0x112], 0x41
mov dword [ebp - 0xa7c], 0xbf
xor eax, eax
mov dword [ebp - 0xa68], 0xc261
mov dword [ebp - 0xa64], eax
xor ecx, ecx
mov dword [ebp - 0xa70], 0x34
mov dword [ebp - 0xa6c], ecx
movsx dx, byte [0x1005f076]
mov word [ebp - 0x574], dx
mov byte [ebp - 0x111], 0x2c
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x1005f04f]
sub eax, ecx
mov word [ebp - 0x28], ax
mov edx, 4
imul eax, edx, 0x1f6b
mov cx, word [eax + 0x1005fc40]
mov word [0x1005f15c], cx
movsx edx, byte [0x1005f04f]
test edx, edx
je 0x100073d3
movzx eax, word [0x1005f10c]
mov dword [ebp - 0x3e8], eax
jmp 0x100073e0
movsx ecx, word [0x1005f15c]
mov dword [ebp - 0x3e8], ecx
mov eax, dword [ebp - 0x3e8]
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
push 0
push 0xacfd
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1003a730
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [0x1005fc3c]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x7c]
cdq
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx edx, word [0x1005f108]
test edx, edx
je 0x10007459
movzx eax, word [0x1005f138]
mov dword [ebp - 0x3ec], eax
jmp 0x10007462
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x3ec], ecx
mov eax, dword [ebp - 0x3ec]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, byte [ebp - 0x17]
movsx eax, byte [ebp - 0x16]
imul edx, eax
mov byte [ebp - 0x17], dl
movzx ecx, word [0x1005f148]
movsx edx, byte [ebp - 0x16]
imul ecx, edx
mov word [0x1005f148], cx
movsx eax, word [0x1005f110]
test eax, eax
jne 0x100074b1
xor ecx, ecx
mov dword [ebp - 0x5e0], 1
mov dword [ebp - 0x5dc], ecx
jmp 0x100074bc
xorps xmm0, xmm0
movlpd qword [ebp - 0x5e0], xmm0
mov eax, dword [0x1005f0a0]
cdq
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x930], ecx
add edx, eax
mov ecx, dword [ebp - 0x5e0]
sub ecx, edx
movsx eax, byte [ebp - 0x16]
movsx edx, word [0x1005f114]
not edx
imul eax, edx
movzx edx, byte [ebp - 0x15]
add eax, edx
cdq
add ecx, eax
mov byte [ebp - 0x14], cl
mov eax, dword [ebp - 0x120]
add eax, 0x842
mov dword [ebp - 0x934], eax
movzx eax, word [0x1005f148]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
sub ecx, eax
sbb esi, edx
mov dword [0x1005f120], ecx
mov dword [0x1005f124], esi
mov edx, dword [0x1005f104]
add edx, 0x74dc604b
mov word [ebp - 0x24], dx
movzx eax, byte [0x1005f0a4]
sub eax, dword [ebp - 0x50]
not eax
mov dword [0x1005f104], eax
mov ecx, dword [ebp - 0x120]
add ecx, 0x5fd
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x78]
cdq
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov edx, dword [0x1005f0f4]
cmp edx, dword [ebp - 0x5e4]
jl 0x10007595
jg 0x10007589
mov eax, dword [0x1005f0f0]
cmp eax, dword [ebp - 0x5e8]
jb 0x10007595
mov dword [ebp - 0x3f0], 1
jmp 0x1000759f
mov dword [ebp - 0x3f0], 0
cmp dword [0x1005f0f4], 0
jl 0x100075bf
jg 0x100075b3
cmp dword [0x1005f0f0], 0x4e
jb 0x100075bf
mov dword [ebp - 0x3f4], 1
jmp 0x100075c9
mov dword [ebp - 0x3f4], 0
mov ecx, dword [ebp - 0x3f0]
cmp ecx, dword [ebp - 0x3f4]
jle 0x10007638
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
and ecx, eax
and esi, edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
or edx, ecx
or eax, esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
add ecx, dword [0x1005f0b8]
adc edx, dword [0x1005f0bc]
add ecx, dword [0x1005f0b8]
adc edx, dword [0x1005f0bc]
mov dword [0x1005f0b8], ecx
mov dword [0x1005f0bc], edx
movzx eax, byte [ebp - 0x11]
imul ecx, eax, 0xad48
mov dword [ebp - 0x78], ecx
jmp 0x100076cf
movsx edx, word [0x1005f110]
test edx, edx
je 0x100076cf
movzx eax, word [ebp - 0x24]
movsx ecx, byte [str._CpuC3StatesChanges]
add eax, ecx
movzx edx, word [0x1005f138]
add edx, dword [0x1005f0e8]
sub eax, edx
jne 0x10007679
xor eax, eax
mov dword [ebp - 0x5f0], 1
mov dword [ebp - 0x5ec], eax
jmp 0x10007684
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f0], xmm0
movsx eax, byte [0x1005f09e]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
movzx eax, word [0x1005f10c]
cdq
add ecx, eax
or ecx, dword [ebp - 0x5f0]
mov dword [0x1005f0e4], ecx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x938], eax
mov byte [str._CpuC3StatesChanges], dl
mov dword [0x1005f100], 0xda830caa
mov ecx, dword [ebp - 0x120]
add ecx, 0x843
mov dword [ebp - 0x188], ecx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x124], edx
movsx eax, word [0x1005f0c0]
cdq
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], edx
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x5f4]
jl 0x10007725
jg 0x10007719
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x5f8]
jb 0x10007725
mov dword [ebp - 0x3f8], 1
jmp 0x1000772f
mov dword [ebp - 0x3f8], 0
cmp dword [ebp - 0x48], 0
jl 0x10007749
jg 0x1000773d
cmp dword [ebp - 0x4c], 0x50
jb 0x10007749
mov dword [ebp - 0x3fc], 1
jmp 0x10007753
mov dword [ebp - 0x3fc], 0
mov edx, dword [ebp - 0x3f8]
cmp edx, dword [ebp - 0x3fc]
jl 0x1000793f
mov dword [ebp - 4], 0
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [0x1005f140], eax
mov dword [0x1005f144], ecx
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x44]
adc esi, edx
movsx eax, word [0x1005f114]
movsx edx, byte [0x1005f013]
add eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], esi
mov eax, dword [ebp - 0x600]
or eax, dword [ebp - 0x5fc]
jne 0x100077cf
xor ecx, ecx
mov dword [ebp - 0x440], 1
mov dword [ebp - 0x43c], ecx
jmp 0x100077da
xorps xmm0, xmm0
movlpd qword [ebp - 0x440], xmm0
movsx eax, word [0x1005f110]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x1005f130]
xor esi, dword [0x1005f134]
movsx eax, byte [ebp - 0x13]
cdq
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x440]
push eax
push esi
push ecx
call fcn.1003a730
not eax
not edx
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x1005f140]
sub ecx, eax
mov eax, dword [0x1005f144]
sbb eax, edx
mov dword [0x1005f140], ecx
mov dword [0x1005f144], eax
imul ecx, dword [0x1005f104], 0x385ea989
mov byte [0x1005f0a5], cl
movsx eax, byte [ebp - 0x14]
cdq
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x93c], ecx
sub eax, edx
mov byte [ebp - 0x14], al
jmp 0x1000792a
mov dword [ebp - 4], 0xffffffff
jmp 0x1000793a
jmp 0x10007bb1
cmp dword [0x1005f0a0], 0
je 0x1000799e
movzx eax, byte [ebp - 0x17]
movsx ecx, word [0x1005f108]
sub eax, ecx
mov byte [ebp - 0x17], al
movsx edx, byte [str._CpuC3StatesChanges]
imul edx, dword [0x1005f0e4]
mov byte [0x1005f077], dl
movsx eax, byte [0x1005f03b]
movsx ecx, word [0x1005f15c]
imul eax, ecx
movsx edx, byte [0x1005f03b]
add edx, eax
mov byte [0x1005f03b], dl
movsx eax, byte [ebp - 0x14]
imul ecx, eax, 0x9512
mov dword [ebp - 0x50], ecx
jmp 0x10007bb1
mov edx, dword [ebp - 0x4c]
not edx
mov eax, dword [ebp - 0x48]
not eax
mov dword [ebp - 0x608], edx
mov dword [ebp - 0x604], eax
mov ecx, dword [0x1005f0f4]
cmp ecx, dword [ebp - 0x604]
jl 0x100079de
jg 0x100079d2
mov edx, dword [0x1005f0f0]
cmp edx, dword [ebp - 0x608]
jbe 0x100079de
mov dword [ebp - 0x404], 1
jmp 0x100079e8
mov dword [ebp - 0x404], 0
mov eax, dword [ebp - 0x404]
not eax
test eax, eax
je 0x10007a71
movsx ecx, word [ebp - 0x20]
mov edx, dword [0x1005f0b4]
sub edx, ecx
mov byte [ebp - 0x13], dl
push 0xdb21d
push 0xb126837f
mov eax, dword [0x1005f134]
push eax
mov ecx, dword [0x1005f130]
push ecx
call fcn.1003a730
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x78], 0
je 0x10007a3d
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], eax
jmp 0x10007a4e
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
mov cl, byte [ebp - 0x448]
mov byte [0x1005f03b], cl
mov edx, dword [ebp - 0x60]
add edx, 1
mov eax, dword [ebp - 0x5c]
adc eax, 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
jmp 0x10007bb1
movsx ecx, word [0x1005f110]
test ecx, ecx
jne 0x10007a84
xor edx, edx
je 0x10007bb1
mov eax, dword [0x1005f0d8]
or eax, dword [0x1005f0dc]
je 0x10007bb1
cmp dword [ebp - 0x7c], 0
je 0x10007aaf
mov eax, dword [0x1005f0d0]
cdq
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], edx
jmp 0x10007ac1
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], edx
mov ax, word [ebp - 0x450]
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x1005f013]
imul edx, ecx, 0xf37d7f5d
xor eax, eax
mov dword [0x1005f160], edx
mov dword [0x1005f164], eax
movsx eax, word [0x1005f110]
cdq
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], edx
mov ecx, dword [ebp - 0x610]
or ecx, dword [ebp - 0x60c]
jne 0x10007b1a
mov dword [ebp - 0x408], 1
jmp 0x10007b24
mov dword [ebp - 0x408], 0
movzx eax, byte [ebp - 0x17]
not eax
cdq
add eax, 0xafc16f90
adc edx, 0x8f3eb
mov dword [ebp - 0x618], eax
mov dword [ebp - 0x614], edx
mov edx, dword [ebp - 0x618]
or edx, dword [ebp - 0x614]
jne 0x10007b5c
mov dword [ebp - 0x13c], 1
jmp 0x10007b66
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x1005f0f8]
sub ecx, dword [ebp - 0x34]
mov esi, dword [0x1005f0fc]
sbb esi, eax
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x13c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [0x1005f104], eax
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
adc eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
sub ecx, edx
mov edx, dword [ebp - 0x5c]
sbb edx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x124]
add eax, 0x61d
mov dword [ebp - 0x220], eax
xor ecx, ecx
je 0x10007bcb
jmp 0x10007d2c
mov edx, dword [0x1005f104]
not edx
test edx, edx
je 0x10007c18
movsx eax, word [0x1005f114]
imul ecx, eax, 0xf3df
mov dword [ebp - 0x7c], ecx
mov byte [0x1005f0a5], 0xb9
mov byte [ebp - 0x14], 0xd4
mov edx, dword [0x1005f0a8]
add edx, 0x12
mov byte [str.a_StartIdle_], dl
movzx eax, byte [0x1005f0a4]
sub eax, dword [0x1005f0e8]
mov byte [0x1005f0a4], al
jmp 0x10007d2c
movzx ecx, word [0x1005f0ec]
xor ecx, dword [0x1005f0a0]
je 0x10007cd0
movzx edx, word [0x1005f148]
movzx eax, byte [ebp - 0x11]
imul edx, eax
movzx ecx, word [0x1005f148]
add ecx, edx
mov word [0x1005f148], cx
imul edx, dword [0x1005f0e8], 0xa9b0
mov byte [0x1005f03b], dl
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [0x1005f09f]
not ecx
movzx edx, byte [ebp - 0x15]
not edx
xor ecx, edx
xor eax, ecx
cdq
mov esi, eax
mov edi, edx
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
sub ecx, dword [0x1005f0b4]
sbb ebx, eax
movzx eax, word [0x1005f0ec]
movzx edx, word [0x1005f10c]
xor eax, edx
cdq
push edx
push eax
push ebx
push ecx
call fcn.1003a730
push edx
push eax
push edi
push esi
call fcn.1003a730
mov dword [0x1005f0e4], eax
movzx eax, byte [ebp - 0x11]
imul ecx, eax, 0xb8
mov word [ebp - 0x1c], cx
movzx edx, byte [ebp - 0x12]
mov eax, dword [0x1005f0e8]
lea ecx, [edx + eax + 0x288cf4e0]
mov byte [ebp - 0x12], cl
jmp 0x10007d2c
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x10007d2c
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x620]
or edx, dword [ebp - 0x61c]
je 0x10007d2c
push 0x59f45
push 0x9df90a05
mov eax, dword [0x1005f154]
push eax
mov ecx, dword [0x1005f150]
push ecx
call fcn.1003a730
mov byte [str.a_StartIdle_], al
movsx eax, word [0x1005f110]
add eax, 0x7ff4
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x124]
add edx, 0x5d4
mov dword [ebp - 0x940], edx
movsx eax, byte [0x1005f0a5]
movsx ecx, word [0x1005f114]
cmp eax, ecx
je 0x10007f90
xor edx, edx
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x38], edx
mov ax, word [0x1005fc3c]
mov word [ebp - 0x28], ax
movsx eax, word [0x1005f15c]
cdq
add eax, 0xf379c986
mov word [ebp - 0x28], ax
movsx ecx, word [0x1005f0c0]
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0x15]
add eax, 0xf4
sub edx, eax
xor ecx, edx
jne 0x10007da9
xor ecx, ecx
mov dword [ebp - 0x458], 1
mov dword [ebp - 0x454], ecx
jmp 0x10007db4
xorps xmm0, xmm0
movlpd qword [ebp - 0x458], xmm0
mov edx, dword [ebp - 0x458]
mov eax, dword [ebp - 0x454]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x130]
or eax, dword [ebp - 0x12c]
je 0x10007e13
cmp dword [ebp - 0x130], 1
jne 0x10007df8
cmp dword [ebp - 0x12c], 0
je 0x10007e47
cmp dword [ebp - 0x130], 2
jne 0x10007e0e
cmp dword [ebp - 0x12c], 0
je 0x10007f2d
jmp 0x10007f8e
movsx ecx, word [ebp - 0x2c]
movzx edx, word [0x1005f10c]
imul ecx, edx
movsx eax, word [ebp - 0x2c]
sub eax, ecx
mov word [ebp - 0x2c], ax
imul ecx, dword [ebp - 0x50], 0x555e
mov byte [0x1005f03b], cl
movzx edx, word [0x1005f10c]
mov dword [ebp - 0x78], edx
jmp 0x10007f8e
mov dword [0x1005f0e8], 0xc8
mov byte [ebp - 0x16], 8
mov eax, dword [0x1005f0e4]
add eax, 9
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, byte [0x1005f0a4]
cdq
mov esi, eax
mov edi, edx
movsx eax, byte [ebp - 0x13]
cdq
push 0xf738e
push 0xb9e601ab
push edx
push eax
call fcn.1003a730
and esi, eax
and edi, edx
mov dword [ebp - 0x628], esi
mov dword [ebp - 0x624], edi
mov eax, dword [ebp - 0x628]
or eax, dword [ebp - 0x624]
jne 0x10007eb0
mov dword [ebp - 0x140], 1
jmp 0x10007eba
mov dword [ebp - 0x140], 0
movzx ecx, byte [ebp - 0x15]
add ecx, dword [ebp - 0x74]
not ecx
mov edx, dword [0x1005f0d0]
not edx
xor eax, eax
sub eax, edx
xor ecx, eax
mov edx, dword [ebp - 0x140]
sub edx, ecx
jne 0x10007eef
xor eax, eax
mov dword [ebp - 0x460], 1
mov dword [ebp - 0x45c], eax
jmp 0x10007efa
xorps xmm0, xmm0
movlpd qword [ebp - 0x460], xmm0
mov ecx, dword [ebp - 0x460]
mov edx, dword [ebp - 0x45c]
mov dword [0x1005f0f8], ecx
mov dword [0x1005f0fc], edx
movsx eax, word [0x1005f0e0]
add eax, dword [0x1005f104]
imul eax, dword [0x1005f104]
mov dword [0x1005f104], eax
jmp 0x10007f8e
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
add ecx, dword [0x1005f150]
adc edx, dword [0x1005f154]
mov eax, dword [0x1005f120]
mov esi, dword [0x1005f124]
add eax, ecx
adc esi, edx
mov dword [0x1005f120], eax
mov dword [0x1005f124], esi
mov cl, byte [ebp - 0x13]
sub cl, 1
mov byte [ebp - 0x13], cl
movsx eax, byte [0x1005f09e]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx edx, word [0x1005f114]
movsx eax, byte [0x1005f09e]
imul edx, eax
mov word [0x1005f108], dx
jmp 0x10007ffc
mov ecx, 1
test ecx, ecx
je 0x10007ffc
movzx eax, word [0x1005f0ec]
cdq
sub eax, 0x409f911d
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
push 0
push 0x4b83
push eax
push edx
call fcn.1003a730
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
mov edx, 1
shl edx, 3
movzx eax, byte [edx + 0x100e2cd0]
movsx ecx, byte [0x1005f076]
add ecx, eax
mov byte [0x1005f076], cl
mov edx, dword [ebp - 0x124]
add edx, 0x559
mov dword [ebp - 0x588], edx
mov eax, dword [0x1005f120]
mov ecx, dword [0x1005f124]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
mov edx, dword [ebp - 0x630]
or edx, dword [ebp - 0x62c]
je 0x10008150
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x634], esi
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov edx, dword [ebp - 0x638]
cmp edx, dword [ebp - 0x640]
jne 0x100080a3
mov eax, dword [ebp - 0x634]
cmp eax, dword [ebp - 0x63c]
jne 0x100080a3
mov ecx, 9
mov esi, str.wdpV8bisSendTone::
lea edi, [ebp - 0xaa4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0xaa4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x1000814b
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x100080c0
mov eax, 0xa69d7e14
test eax, eax
jne 0x100080c0
mov dword [ebp - 0x148], 0
jmp 0x100080ca
mov dword [ebp - 0x148], 1
cmp dword [0x1005f0a0], 0
jne 0x100080df
mov dword [ebp - 0x144], 1
jmp 0x100080e9
mov dword [ebp - 0x144], 0
movzx ecx, word [0x1005f158]
cmp dword [ebp - 0x144], ecx
jle 0x10008104
mov dword [ebp - 0x14c], 1
jmp 0x1000810e
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x14c]
jle 0x1000814b
movzx eax, word [0x1005f138]
sub eax, 0x6f
mov byte [ebp - 0x14], al
mov cx, word [0x1005fc3c]
mov word [0x1005f110], cx
mov dl, byte [0x1005fc3c]
mov byte [ebp - 0x15], dl
mov eax, 0xcfb3
mov word [0x1005f138], ax
jmp 0x100081d5
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x648], ecx
mov dword [ebp - 0x644], edx
mov eax, dword [ebp - 0x648]
or eax, dword [ebp - 0x644]
je 0x100081d5
cmp dword [ebp - 0x50], 0
jne 0x10008182
mov dword [ebp - 0x150], 1
jmp 0x1000818c
mov dword [ebp - 0x150], 0
mov ecx, dword [0x1005f0a0]
not ecx
movzx edx, word [0x1005f128]
sub edx, dword [ebp - 0x150]
add ecx, edx
mov byte [0x1005f09e], cl
movsx eax, word [0x1005f0e0]
cdq
sub eax, 0x327756e8
sbb edx, 0x8f49
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, dword [0x1005f0d8]
mov byte [ebp - 0x16], al
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x11c], eax
movzx eax, word [0x1005f0ec]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x658], ecx
mov dword [ebp - 0x654], esi
mov edx, dword [ebp - 0x650]
cmp edx, dword [ebp - 0x658]
jne 0x100082f5
mov eax, dword [ebp - 0x64c]
cmp eax, dword [ebp - 0x654]
jne 0x100082f5
mov ecx, dword [ebp - 0x78]
sub ecx, 0xe388
mov word [0x1005f108], cx
movzx edx, word [0x1005f138]
movsx eax, word [ebp - 0x28]
sub edx, eax
movzx ecx, word [0x1005f138]
add ecx, edx
mov word [0x1005f138], cx
movzx edx, word [0x1005f158]
test edx, edx
je 0x1000826e
movsx eax, word [ebp - 0x28]
mov dword [ebp - 0x154], eax
jmp 0x1000827b
movsx ecx, byte [0x1005f013]
mov dword [ebp - 0x154], ecx
mov dx, word [ebp - 0x154]
mov word [0x1005f108], dx
movsx eax, word [0x1005f114]
add eax, 0xd188
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], ecx
mov edx, dword [ebp - 0x660]
or edx, dword [ebp - 0x65c]
je 0x100082d0
mov eax, dword [0x1005f0e4]
cdq
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], edx
jmp 0x100082e2
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], ecx
mov dx, word [ebp - 0x468]
mov word [0x1005f148], dx
jmp 0x10008386
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], edx
mov eax, dword [0x1005f0fc]
cmp eax, dword [ebp - 0x664]
jl 0x10008386
jg 0x10008325
mov ecx, dword [0x1005f0f8]
cmp ecx, dword [ebp - 0x668]
jb 0x10008386
mov byte [ebp - 0x13], 0xae
mov dword [ebp - 0x50], 0xeabe4d44
push 0
push 0xcb
mov edx, dword [0x1005f0cc]
push edx
mov eax, dword [0x1005f0c8]
push eax
call fcn.1003a730
mov byte [ebp - 0x13], al
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
sub ecx, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
mov eax, dword [0x1005f120]
mov esi, dword [0x1005f124]
or eax, ecx
or esi, edx
mov dword [0x1005f120], eax
mov dword [0x1005f124], esi
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x11c]
add eax, 0x6a1
mov dword [ebp - 0x590], eax
mov byte [0x1005f09e], 2
imul eax, dword [ebp - 0x74], 0xb0
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 0x12]
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
mov ecx, 4
mov word [0x1005f110], cx
movsx eax, word [ebp - 0x1c]
cdq
push 0x88ca7
push 0xe2f08089
push edx
push eax
call fcn.1003a730
mov word [0x1005f15c], ax
movsx edx, word [ebp - 0x1c]
add edx, dword [0x1005f104]
mov eax, dword [0x1005f0b4]
sub eax, dword [ebp - 0x50]
add edx, eax
xor ecx, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
mov dl, byte [0x1005f09e]
mov byte [ebp - 0x128], dl
cmp byte [ebp - 0x128], 0
je 0x10008430
cmp byte [ebp - 0x128], 1
je 0x1000845e
cmp byte [ebp - 0x128], 2
je 0x1000853b
jmp 0x100085b4
movzx eax, word [0x1005f128]
mov ecx, dword [0x1005f0a0]
imul ecx, eax
mov edx, dword [0x1005f0a0]
add edx, ecx
mov dword [0x1005f0a0], edx
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x100085b4
mov eax, dword [0x1005fc3c]
mov dword [0x1005f0d0], eax
movzx ecx, word [0x1005f10c]
test ecx, ecx
jne 0x10008487
xor edx, edx
mov dword [ebp - 0x470], 1
mov dword [ebp - 0x46c], edx
jmp 0x10008492
xorps xmm0, xmm0
movlpd qword [ebp - 0x470], xmm0
movzx eax, word [0x1005f138]
movsx ecx, byte [ebp - 0x13]
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
push eax
push edx
mov ecx, dword [0x1005f134]
push ecx
mov edx, dword [0x1005f130]
push edx
call fcn.1003a730
push edx
push eax
push edi
push esi
call fcn.1003a730
mov ecx, eax
mov esi, edx
movzx eax, word [0x1005f138]
cdq
mov edi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x6c]
or edi, dword [ebp - 0x470]
or ebx, dword [ebp - 0x46c]
xor eax, edi
xor edx, ebx
xor ecx, eax
xor esi, edx
mov dword [0x1005f0b8], ecx
mov dword [0x1005f0bc], esi
mov eax, dword [ebp - 0x78]
add eax, 0x41fb
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x50], edx
movsx eax, word [0x1005f114]
and eax, dword [ebp - 0x7c]
movsx ecx, word [0x1005f114]
imul ecx, eax
mov word [0x1005f114], cx
movzx edx, byte [ebp - 0x11]
add edx, 0x7c
mov byte [str.a_StartIdle_], dl
jmp 0x100085b4
mov eax, dword [0x1005f0a8]
add eax, 0x9591
mov dword [ebp - 0x78], eax
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
xor ecx, 0xfa2449a0
xor edx, 0x5b71d
mov eax, dword [0x1005f0a8]
sub eax, ecx
mov ecx, dword [0x1005f0ac]
sbb ecx, edx
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], ecx
mov edx, dword [0x1005f0b8]
add edx, 8
mov word [ebp - 0x20], dx
mov eax, 2
imul ecx, eax, 0x1c29
mov dx, word [ecx + 0x100e8048]
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
sub eax, 0x3b
sbb ecx, 0
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], ecx
mov edx, dword [ebp - 0x11c]
add edx, 0x790
mov dword [ebp - 0x594], edx
xor eax, eax
mov dword [ebp - 0x34], 3
mov dword [ebp - 0x30], eax
movsx eax, word [0x1005f110]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
add ecx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov ecx, dword [0x1005f0b0]
add ecx, dword [ebp - 0x4c]
mov dword [0x1005f0b0], ecx
mov edx, dword [0x1005f0f0]
add edx, 0xbe
mov dword [ebp - 0x7c], edx
movsx eax, word [ebp - 0x1c]
sar eax, 6
mov byte [str._CpuC3StatesChanges], al
mov ecx, 4
mov word [0x1005f110], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x138], edx
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jl 0x10008832
jg 0x10008654
cmp dword [ebp - 0x138], 0
jb 0x10008832
cmp dword [ebp - 0x134], 0
jg 0x10008832
jl 0x10008670
cmp dword [ebp - 0x138], 3
ja 0x10008832
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0xa78], ecx
mov edx, dword [ebp - 0xa78]
jmp dword [edx*4 + 0x10010cec]
mov edx, dword [ebp - 0x11c]
add edx, 0x55b
mov dword [ebp - 0x254], edx
mov dword [ebp - 4], 2
mov eax, dword [0x1005f100]
xor ecx, ecx
push 0xfebb9
push 0x1a4eace8
push ecx
push eax
call fcn.1003a730
mov word [0x1005f0ec], ax
movsx eax, word [0x1005f110]
movzx edx, byte [ebp - 0x12]
imul eax, edx
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx eax, word [ebp - 0x20]
sub eax, 0x9401
mov word [ebp - 0x24], ax
jmp 0x10008952
mov dword [ebp - 4], 0xffffffff
jmp 0x10008962
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0xb0], eax
movsx ecx, word [ebp - 0x28]
cmp dword [ebp - 0x78], ecx
jl 0x10008982
mov dword [ebp - 0x15c], 1
jmp 0x1000898c
mov dword [ebp - 0x15c], 0
cmp dword [ebp - 0x78], 0x47
jl 0x1000899e
mov dword [ebp - 0x160], 1
jmp 0x100089a8
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x160]
je 0x100089e0
mov byte [0x1005f09f], 0x13
mov eax, 0xb4d2a
mov dword [0x1005f0c8], 0x6e35135f
mov dword [0x1005f0cc], eax
mov ecx, dword [0x1005f100]
add ecx, 1
mov dword [0x1005f100], ecx
mov edx, dword [ebp - 0xb0]
add edx, 0x560
mov dword [ebp - 0x5ac], edx
mov eax, dword [0x1005f0a0]
cdq
sub eax, dword [0x1005f0a8]
mov dword [0x1005f0a0], eax
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
xor ecx, eax
xor esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0xfe354b99
mov eax, dword [ebp - 0x7c]
cdq
sub eax, ecx
mov dword [ebp - 0x7c], eax
mov edx, dword [0x1005f0f8]
mov eax, 4
imul ecx, eax, 0x59
mov dword [ecx + 0x102c3858], edx
mov edx, dword [ebp - 0xb0]
add edx, 0x873
mov dword [ebp - 0x944], edx
movzx eax, byte [str.a_StartIdle_]
movzx ecx, byte [ebp - 0x15]
not ecx
imul eax, ecx
mov edx, dword [0x1005f0d0]
not edx
add edx, dword [0x1005f0e8]
or eax, edx
not eax
cdq
mov dword [0x1005f0a8], eax
mov dword [0x1005f0ac], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0
push 0x5e
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
push 0
push 0x88db3ccf
mov edx, dword [0x1005f0dc]
push edx
mov eax, dword [0x1005f0d8]
push eax
call fcn.1003a730
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [0x1005f0b0]
add ecx, 0x12d5e0a
mov word [0x1005f108], cx
push 0
push 0xb0
mov edx, dword [0x1005f154]
push edx
mov eax, dword [0x1005f150]
push eax
call fcn.1003a730
mov dword [0x1005f104], eax
cmp dword [0x1005f100], 0
je 0x10008b07
movsx ecx, word [0x1005f108]
mov dword [ebp - 0x164], ecx
jmp 0x10008b11
movsx edx, byte [ebp - 0x16]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 0x164]
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov eax, dword [ebp - 0xb0]
add eax, 0x545
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 4], 4
movsx ecx, byte [str._CpuC3StatesChanges]
movzx edx, byte [ebp - 0x11]
cmp ecx, edx
jne 0x10008b9a
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x6cf3d5a3
mov byte [ebp - 0x11], al
movsx eax, byte [str._CpuC3StatesChanges]
movsx ecx, word [0x1005f114]
imul eax, ecx
not eax
mov word [0x1005f10c], ax
mov edx, 8
imul eax, edx, 0x888f
mov edx, dword [ebp - 0x50]
mov cl, byte [eax + 0x101fad10]
shl edx, cl
mov dword [ebp - 0x50], edx
xor eax, eax
mov dword [ebp - 0x3c], 0xf
mov dword [ebp - 0x38], eax
jmp 0x10008cbc
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x680], ecx
mov dword [ebp - 0x67c], edx
cmp dword [ebp - 0x680], 1
jne 0x10008bf0
cmp dword [ebp - 0x67c], 0
jne 0x10008bf0
movzx eax, word [0x1005f128]
cdq
xor eax, 0x87feb788
mov byte [0x1005f04f], al
movzx eax, word [0x1005f128]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x948], edx
sub eax, ecx
mov byte [0x1005f0a4], al
jmp 0x10008cbc
movzx eax, byte [ebp - 0x15]
cmp eax, 0x1e15
jle 0x10008cbc
xor ecx, ecx
mov dword [ebp - 0x3c], 8
mov dword [ebp - 0x38], ecx
movsx eax, byte [0x1005f077]
not eax
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x28]
sub eax, 0xd47a
cdq
xor ecx, eax
movsx eax, byte [ebp - 0x14]
movsx edx, byte [0x1005f076]
mov esi, dword [ebp - 0x50]
sub esi, edx
not esi
imul eax, esi
cdq
sub ecx, eax
not ecx
mov byte [0x1005f09f], cl
mov eax, 4
imul ecx, eax, 0x93
mov dl, byte [ecx + 0x102c3858]
mov byte [ebp - 0x14], dl
movsx eax, word [0x1005f0c0]
test eax, eax
je 0x10008c80
movzx ecx, byte [str.a_StartIdle_]
mov dword [ebp - 0x168], ecx
jmp 0x10008c8d
movsx edx, word [0x1005f108]
mov dword [ebp - 0x168], edx
mov al, byte [ebp - 0x168]
mov byte [0x1005f0a4], al
mov ecx, 0xffffcc23
mov word [0x1005f0e0], cx
mov eax, dword [0x1005f0b8]
mov edx, dword [0x1005f0bc]
mov cl, 1
call fcn.1003a770
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
jmp 0x10008dbb
mov dword [ebp - 4], 0xffffffff
jmp 0x10008dcb
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0xb4], eax
mov eax, dword [0x1005f0a8]
mov edx, dword [0x1005f0ac]
mov cl, 6
call fcn.1003a770
mov byte [ebp - 0x17], al
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
sub ecx, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
mov eax, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push edx
push ecx
push esi
push eax
call fcn.1003a730
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
cmp dword [0x1005f0a0], 0
jne 0x10008e31
mov dword [ebp - 0x16c], 1
jmp 0x10008e3b
mov dword [ebp - 0x16c], 0
imul ecx, dword [ebp - 0x16c], 0
mov byte [ebp - 0x11], cl
movzx edx, byte [0x1005f0a4]
xor edx, dword [0x1005f100]
jne 0x10008e60
mov dword [ebp - 0x170], 1
jmp 0x10008e6a
mov dword [ebp - 0x170], 0
movzx eax, word [0x1005f128]
add eax, dword [ebp - 0x170]
add eax, dword [ebp - 0x50]
cdq
mov esi, eax
mov edi, edx
mov ebx, 0x1c1
sub ebx, dword [0x1005f0d8]
mov eax, 0
sbb eax, dword [0x1005f0dc]
movzx ecx, word [0x1005f158]
mov dword [ebp - 0x578], eax
mov eax, ecx
cdq
mov ecx, dword [0x1005f0bc]
push ecx
mov ecx, dword [0x1005f0b8]
push ecx
push edx
push eax
call fcn.1003a730
add ebx, eax
mov eax, dword [ebp - 0x578]
adc eax, edx
push eax
push ebx
push edi
push esi
call fcn.1003a730
mov byte [0x1005f076], al
mov edx, dword [ebp - 0xb4]
add edx, 0x5ae
mov dword [ebp - 0x94c], edx
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, word [0x1005f10c]
imul eax, eax, 0xc2da
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movzx eax, byte [0x1005f09f]
cdq
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f09f], al
mov edx, 1
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0xb4]
add eax, 0x8a5
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x54]
jne 0x10008f60
xor edx, edx
mov dword [ebp - 0x490], 1
mov dword [ebp - 0x48c], edx
jmp 0x10008f6b
xorps xmm0, xmm0
movlpd qword [ebp - 0x490], xmm0
movsx eax, byte [ebp - 0x14]
not eax
sub eax, 0x22f7
imul eax, dword [ebp - 0x7c]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x6c]
sub edi, dword [ebp - 0x490]
sbb ebx, dword [ebp - 0x48c]
movzx eax, byte [ebp - 0x17]
cdq
xor edi, eax
xor ebx, edx
xor ecx, edi
xor esi, ebx
mov dword [0x1005f160], ecx
mov dword [0x1005f164], esi
mov dl, byte [0x1005f140]
mov eax, 1
imul ecx, eax, 0x672
mov byte [ecx + 0x102772c8], dl
movsx eax, byte [0x1005f04f]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x1005f130]
adc esi, dword [0x1005f134]
movsx eax, byte [0x1005f04f]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f04f], al
movsx edx, byte [ebp - 0x13]
movsx eax, word [0x1005f15c]
add edx, eax
mov byte [ebp - 0x13], dl
mov ecx, dword [ebp - 0xb4]
add ecx, 0x83e
mov dword [ebp - 0x5c8], ecx
mov dl, byte [0x1005fc3c]
mov byte [ebp - 0x12], dl
movsx eax, byte [0x1005f03b]
add eax, dword [0x1005f0a0]
mov byte [0x1005f03b], al
movsx ecx, byte [str._CpuC3StatesChanges]
imul edx, ecx, 0x5b63fab7
mov byte [str._CpuC3StatesChanges], dl
movsx eax, byte [0x1005f09e]
movzx ecx, byte [ebp - 0x12]
add eax, ecx
mov byte [0x1005f09e], al
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xb8], edx
mov ax, word [0x1005fc3c]
mov word [ebp - 0x1c], ax
movzx ecx, byte [ebp - 0x12]
sub ecx, dword [ebp - 0x50]
movzx edx, byte [ebp - 0x12]
or edx, ecx
mov byte [ebp - 0x12], dl
movsx eax, byte [0x1005f076]
imul ecx, eax, 0xa2dab465
mov word [0x1005f114], cx
xor edx, edx
mov dword [0x1005f0b8], 0x42
mov dword [0x1005f0bc], edx
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x68c], ecx
mov edx, dword [ebp - 0x690]
or edx, dword [ebp - 0x68c]
je 0x100090cf
mov ax, word [ebp - 0x2c]
mov word [ebp - 0xa6], ax
jmp 0x100090da
mov cx, word [ebp - 0x1c]
mov word [ebp - 0xa6], cx
mov dl, byte [ebp - 0xa6]
mov byte [str.a_StartIdle_], dl
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
add eax, 0x4e46
adc ecx, 0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0xb8]
add edx, 0x559
mov dword [ebp - 0x364], edx
mov eax, 2
mov word [0x1005f128], ax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
push 0
push 0x3318
push edx
push ecx
call fcn.1003a730
mov word [0x1005f148], ax
movzx eax, word [ebp - 0x24]
add eax, 0x41451ac2
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
mov eax, 8
mov word [0x1005f110], ax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x55b
mov dword [ebp - 0x5d8], ecx
mov dword [ebp - 4], 6
mov byte [ebp - 0x14], 3
movsx eax, word [ebp - 0x2c]
sub eax, 0x4911
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov dx, word [0x1005fc3c]
mov word [ebp - 0x28], dx
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
movzx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x28]
imul edx, eax
movzx ecx, byte [ebp - 0x11]
add ecx, edx
mov byte [ebp - 0x11], cl
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 3
ja case.default.0x100091d1
mov eax, dword [ebp - 0x174]
jmp dword [eax*4 + 0x10010cfc]
mov ecx, dword [0x1005f0b8]
or ecx, dword [0x1005f0bc]
jne 0x100091f2
mov dword [ebp - 0x178], 1
jmp 0x100091fc
mov dword [ebp - 0x178], 0
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x10009210
mov dword [ebp - 0x17c], 1
jmp 0x1000921a
mov dword [ebp - 0x17c], 0
movsx eax, word [0x1005f0c0]
movzx ecx, word [ebp - 0x24]
sub eax, ecx
mov edx, dword [ebp - 0x178]
lea eax, [eax + edx + 0xea03]
mov ecx, dword [ebp - 0x17c]
and ecx, 0
not ecx
movzx edx, byte [ebp - 0x17]
movzx esi, byte [ebp - 0x15]
imul edx, esi
xor ecx, edx
add eax, ecx
mov dword [0x1005f0e4], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov cl, 1
call fcn.1003a770
mov byte [str._CpuC3StatesChanges], al
movsx eax, word [0x1005f0e0]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
add edx, ecx
adc eax, esi
mov dword [0x1005f160], edx
mov dword [0x1005f164], eax
movsx ecx, byte [0x1005f09e]
sub ecx, 0xf5bd763
movsx edx, byte [ebp - 0x13]
imul edx, ecx
mov byte [ebp - 0x13], dl
jmp case.default.0x100091d1
mov eax, dword [ebp - 0x58]
add eax, 0x11bfd081
mov word [0x1005f110], ax
movzx eax, word [0x1005f148]
cdq
sub eax, dword [0x1005f140]
not eax
mov byte [ebp - 0x17], al
movsx ecx, byte [str._CpuC3StatesChanges]
movsx edx, word [ebp - 0x28]
lea eax, [edx + ecx - 0xa182]
mov word [ebp - 0x28], ax
movsx ecx, byte [0x1005f04f]
movzx edx, byte [ebp - 0x17]
not edx
sub ecx, edx
movzx eax, word [0x1005f138]
and eax, 0xf035
xor ecx, eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [0x1005f150]
add ecx, 1
mov edx, dword [0x1005f154]
adc edx, 0
mov dword [0x1005f150], ecx
mov dword [0x1005f154], edx
jmp case.default.0x100091d1
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
xor eax, dword [ebp - 0x60]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movsx edx, byte [ebp - 0x16]
test edx, edx
je 0x10009360
mov eax, dword [0x1005f130]
mov ecx, dword [0x1005f134]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], ecx
jmp 0x10009371
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov dx, word [ebp - 0x498]
mov word [0x1005f158], dx
movzx eax, byte [ebp - 0x12]
movsx ecx, byte [0x1005f0a5]
imul eax, ecx
movzx edx, byte [ebp - 0x12]
imul edx, eax
mov byte [ebp - 0x12], dl
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
add eax, 0xc55b
adc ecx, 0
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
or edx, eax
or esi, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], esi
mov eax, dword [0x1005f130]
sub eax, 1
mov ecx, dword [0x1005f134]
sbb ecx, 0
mov dword [0x1005f130], eax
mov dword [0x1005f134], ecx
movsx eax, word [ebp - 0x2c]
add eax, 0x2b65
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
jmp case.default.0x100091d1
mov edx, dword [ebp - 0x7c]
xor edx, 0x4948
mov word [ebp - 0x20], dx
mov al, byte [ebp - 0x12]
add al, 1
mov byte [ebp - 0x12], al
mov ecx, dword [0x1005f0d0]
sub ecx, 0x28a1339c
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0x7c]
cdq
sub eax, 0xa1fdf9e2
sbb edx, 0x727d0
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movsx edx, byte [str._CpuC3StatesChanges]
sar edx, 8
mov word [0x1005f128], dx
jmp 0x100094a2
mov dword [ebp - 4], 0xffffffff
jmp 0x100094b2
mov edx, dword [ebp - 0xb8]
add edx, 0x6bf
mov dword [ebp - 0x10c], edx
movsx eax, byte [ebp - 0x16]
cdq
add eax, 0xc40ace9c
adc edx, 0x54163
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movzx edx, byte [ebp - 0x11]
sub edx, 0xaeaa1f9
movsx eax, word [0x1005f15c]
and eax, edx
mov word [0x1005f15c], ax
mov ecx, dword [ebp - 0x58]
sub ecx, 0xd4052cd1
mov dword [ebp - 0x50], ecx
xor edx, edx
mov byte [ebp - 0x82], dl
lea ecx, [ebp - 0x82]
call fcn.100026b0
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
call fcn.1002b450
mov eax, dword [ebp - 0x180]
push eax
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x57c], eax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x100095f1
mov edx, dword [0x1005f130]
or edx, dword [0x1005f134]
je 0x1000956e
movzx eax, word [0x1005f158]
mov dword [ebp - 0x184], eax
jmp 0x10009577
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x184]
mov dword [0x1005f0e8], edx
movsx eax, byte [0x1005f0a5]
sar eax, 5
mov dword [0x1005f0e4], eax
movzx ecx, word [ebp - 0x24]
xor ecx, 0x89
movsx edx, byte [ebp - 0x16]
sub edx, ecx
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x50]
cdq
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
and eax, dword [0x1005f0f8]
and edx, dword [0x1005f0fc]
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx eax, word [ebp - 0x2c]
imul ecx, eax, 0xb1a
mov word [0x1005f0ec], cx
mov eax, dword [ebp - 0x78]
cdq
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sbb eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
mov ecx, 0x2be
sub ecx, dword [ebp - 0x18c]
sub ecx, dword [ebp - 0x188]
imul edx, dword [ebp - 0x188], 0x25
mov eax, dword [ebp - 0x18c]
lea edx, [edx + eax + 0x26e]
cmp ecx, edx
je 0x10009b5d
mov dword [ebp - 4], 8
movsx eax, word [0x1005f0e0]
add eax, 0x69f77713
movzx ecx, word [0x1005f128]
movsx edx, word [ebp - 0x28]
imul ecx, edx
imul eax, ecx
not eax
movsx ecx, word [ebp - 0x20]
sub ecx, 0x3871
movsx edx, byte [ebp - 0x16]
sub ecx, edx
add eax, ecx
mov word [0x1005f158], ax
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x10009678
xor ecx, ecx
mov dword [ebp - 0x698], 1
mov dword [ebp - 0x694], ecx
jmp 0x10009683
xorps xmm0, xmm0
movlpd qword [ebp - 0x698], xmm0
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x950], edx
not ecx
mov eax, dword [0x1005f0e8]
cdq
add ecx, eax
movsx eax, word [ebp - 0x2c]
mov edx, dword [0x1005f0e4]
not edx
imul eax, edx
not eax
cdq
add ecx, eax
movsx eax, byte [ebp - 0x13]
cdq
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x954], esi
add eax, edx
mov edx, dword [ebp - 0x58]
xor edx, dword [ebp - 0x698]
not edx
add eax, edx
xor ecx, eax
mov byte [0x1005f013], cl
mov eax, dword [0x1005f0a0]
cdq
sub eax, dword [ebp - 0x58]
mov dword [0x1005f0a0], eax
jmp 0x100097d3
mov dword [ebp - 4], 0xffffffff
jmp 0x100097e3
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x6a8], ecx
mov dword [ebp - 0x6a4], edx
mov eax, dword [ebp - 0x6a4]
cmp eax, dword [0x1005f0f4]
jb 0x10009818
ja 0x10009813
mov ecx, dword [ebp - 0x6a8]
cmp ecx, dword [0x1005f0f0]
jb 0x10009818
jmp 0x10009ada
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x100098f1
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x958], ecx
add eax, 0x35407581
mov word [ebp - 0x20], ax
mov edx, 4
imul eax, edx, 0x21
movzx ecx, byte [ebp - 0x11]
sub ecx, dword [eax + 0x10103b20]
mov byte [ebp - 0x11], cl
mov dl, byte [0x1005fc3c]
mov byte [ebp - 0x17], dl
movzx eax, word [0x1005f128]
test eax, eax
jne 0x1000986e
mov dword [ebp - 0x198], 1
jmp 0x10009878
mov dword [ebp - 0x198], 0
movzx ecx, word [0x1005f128]
test ecx, ecx
jne 0x1000988f
mov dword [ebp - 0x19c], 1
jmp 0x10009899
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x198]
sub eax, dword [ebp - 0x19c]
not eax
cdq
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
mov edx, dword [0x1005f160]
mov esi, dword [0x1005f164]
mov dword [ebp - 0x95c], esi
sub edx, eax
sub ecx, edx
movsx eax, byte [0x1005f0a5]
not eax
movzx edx, byte [ebp - 0x17]
add eax, edx
mov edx, dword [0x1005f0a0]
imul edx, dword [ebp - 0x78]
not edx
imul eax, edx
cdq
add ecx, eax
mov byte [str._CpuC3StatesChanges], cl
jmp 0x10009ada
mov eax, dword [ebp - 0x78]
cdq
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x6ac]
cmp eax, dword [0x1005f0ac]
ja 0x10009993
jb 0x10009923
mov ecx, dword [ebp - 0x6b0]
cmp ecx, dword [0x1005f0a8]
ja 0x10009993
movzx eax, byte [0x1005f0a4]
cdq
mov ecx, dword [0x1005f0a8]
sub ecx, eax
mov eax, dword [0x1005f0ac]
sbb eax, edx
add ecx, dword [0x1005f0a8]
adc eax, dword [0x1005f0ac]
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], eax
mov ecx, 4
imul edx, ecx, 0x6ffe
mov eax, dword [edx + 0x101b8bd8]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
movsx eax, word [ebp - 0x28]
add eax, 0x65ce058c
cdq
mov ecx, dword [0x1005f0a8]
sub ecx, eax
mov eax, dword [0x1005f0ac]
sbb eax, edx
mov dword [0x1005f0a8], ecx
mov dword [0x1005f0ac], eax
jmp 0x10009ada
movzx ecx, byte [ebp - 0x15]
movsx edx, word [ebp - 0x20]
cmp ecx, edx
jle 0x100099ab
mov dword [ebp - 0x1a0], 1
jmp 0x100099b5
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x1a0]
not eax
test eax, eax
je 0x10009ada
movzx ecx, word [0x1005f138]
mov eax, 0xb3ca
sub eax, ecx
cdq
mov ecx, dword [0x1005f104]
xor esi, esi
add ecx, dword [0x1005f0a8]
adc esi, dword [0x1005f0ac]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6b4], edx
mov edx, dword [ebp - 0x6b8]
or edx, dword [ebp - 0x6b4]
jne 0x10009a1f
xor eax, eax
mov dword [ebp - 0x4a0], 1
mov dword [ebp - 0x49c], eax
jmp 0x10009a2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x4a0], xmm0
movzx ecx, word [ebp - 0x24]
add ecx, 0x67ba0ce8
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
not eax
not esi
xor ecx, eax
xor edx, esi
not ecx
not edx
sub ecx, dword [ebp - 0x4a0]
sbb edx, dword [ebp - 0x49c]
mov dword [ebp - 0x6c0], ecx
mov dword [ebp - 0x6bc], edx
mov ecx, dword [ebp - 0x6c0]
or ecx, dword [ebp - 0x6bc]
jne 0x10009a7a
mov dword [ebp - 0x1a4], 1
jmp 0x10009a84
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1a4]
mov dword [0x1005f0a0], edx
movzx eax, word [ebp - 0x24]
add eax, 0x13f8
movzx ecx, byte [0x1005f0a4]
sub ecx, eax
mov byte [0x1005f0a4], cl
mov edx, dword [0x1005f0d8]
sub edx, 0xe1
mov word [0x1005f15c], dx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
push 0
push 0x5d26831c
push ecx
push eax
call fcn.1003a730
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
cmp dword [ebp - 0x57c], 0
jne 0x10009b5d
movsx edx, byte [str._CpuC3StatesChanges]
test edx, edx
je 0x10009b27
mov eax, 0xfff8249d
mov dword [ebp - 0x70], 0xabfa61d4
mov dword [ebp - 0x6c], eax
movsx ecx, word [0x1005f110]
imul edx, ecx, 0x7ad5864c
mov byte [ebp - 0x12], dl
mov byte [0x1005f076], 0x69
movzx eax, word [0x1005f10c]
add eax, dword [0x1005f0d0]
mov word [0x1005f10c], ax
xor ecx, ecx
mov byte [ebp - 0x83], cl
lea ecx, [ebp - 0x83]
call fcn.100034e0
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x1a8]
call fcn.1002b410
mov edx, dword [ebp - 0x1a8]
push edx
push 0
push 0
call fcn.10001380
call eax
movzx eax, word [0x1005f148]
cmp eax, dword [0x1005f0b4]
jne 0x10009b78
mov dword [ebp - 0x1ac], 1
jmp 0x10009b82
mov dword [ebp - 0x1ac], 0
movzx ecx, word [0x1005f148]
cmp ecx, 0x31
jne 0x10009b9a
mov dword [ebp - 0x1b0], 1
jmp 0x10009ba4
mov dword [ebp - 0x1b0], 0
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x1b0]
jge 0x10009bdb
mov ecx, 9
mov esi, str.Resumming_is_done
lea edi, [ebp - 0xacc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0xacc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1005f114], ax
jmp 0x10009c52
mov ecx, dword [0x1005f150]
add ecx, 0x9a
mov word [0x1005f0ec], cx
movzx edx, byte [str.a_StartIdle_]
movzx eax, byte [ebp - 0x12]
imul edx, eax
movzx ecx, byte [str.a_StartIdle_]
add ecx, edx
mov byte [str.a_StartIdle_], cl
movzx edx, word [ebp - 0x24]
shl edx, 3
mov word [0x1005f15c], dx
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x10009c35
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], edx
jmp 0x10009c47
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], ecx
mov dx, word [ebp - 0x4a8]
mov word [ebp - 0x28], dx
xor eax, eax
mov byte [ebp - 0x84], al
lea ecx, [ebp - 0x84]
call fcn.100035d0
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
call fcn.1002b490
mov ecx, dword [ebp - 0x1b4]
push ecx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x580], eax
mov dword [0x1005f0b0], 3
movzx eax, byte [0x1005f09f]
cdq
add eax, dword [0x1005f0c8]
mov byte [0x1005f09f], al
movzx eax, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x11]
sub eax, edx
not eax
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x74]
xor eax, 0x49
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
movsx eax, byte [str._CpuC3StatesChanges]
cdq
push 0xf8c50
push 0x317b5247
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [0x1005f0b0]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x1005f0ac]
push edx
mov eax, dword [0x1005f0a8]
push eax
call fcn.1003a730
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x13]
cdq
sub ecx, eax
sbb esi, edx
mov eax, dword [ebp - 0x74]
cdq
mov edi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
xor edi, eax
xor ebx, edx
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
add edx, 0xc5ef2a69
adc eax, 0
add edi, edx
adc ebx, eax
or ecx, edi
or esi, ebx
mov dword [ebp - 0x6c8], ecx
mov dword [ebp - 0x6c4], esi
mov ecx, dword [ebp - 0x6c8]
or ecx, dword [ebp - 0x6c4]
jne 0x10009d6f
xor edx, edx
mov dword [ebp - 0x4b0], 1
mov dword [ebp - 0x4ac], edx
jmp 0x10009d7a
xorps xmm0, xmm0
movlpd qword [ebp - 0x4b0], xmm0
mov eax, dword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x4ac]
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], ecx
mov edx, dword [0x1005f0b0]
mov dword [ebp - 0x1b8], edx
cmp dword [ebp - 0x1b8], 3
ja case.default.0x10009db0
mov eax, dword [ebp - 0x1b8]
jmp dword [eax*4 + 0x10010d0c]
movzx eax, word [0x1005f158]
sub eax, 0x26780e2a
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0
push 0xcb72d5ea
push edx
push ecx
call fcn.1003a730
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 0x11]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, 0x5820a070
sub eax, dword [0x1005f100]
xor ecx, ecx
mov edx, dword [ebp - 0x60]
not edx
mov esi, dword [ebp - 0x5c]
not esi
push esi
push edx
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x6d0]
or eax, dword [ebp - 0x6cc]
jne 0x10009e49
xor ecx, ecx
mov dword [ebp - 0x4b8], 1
mov dword [ebp - 0x4b4], ecx
jmp 0x10009e54
xorps xmm0, xmm0
movlpd qword [ebp - 0x4b8], xmm0
movzx eax, word [0x1005f158]
movsx edx, word [0x1005f0e0]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x1005f0c8]
not edi
mov ebx, dword [0x1005f0cc]
not ebx
movzx eax, word [ebp - 0x24]
cdq
add edi, eax
adc ebx, edx
not edi
not ebx
sub ecx, edi
sbb esi, ebx
mov edx, dword [ebp - 0x4b8]
sub edx, ecx
mov eax, dword [ebp - 0x4b4]
sbb eax, esi
mov dword [ebp - 0x6d8], edx
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp - 0x6d8]
or ecx, dword [ebp - 0x6d4]
jne 0x10009ec8
xor edx, edx
mov dword [ebp - 0x4c0], 1
mov dword [ebp - 0x4bc], edx
jmp 0x10009ed3
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c0], xmm0
mov eax, dword [ebp - 0x4c0]
mov ecx, dword [ebp - 0x4bc]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movzx edx, byte [ebp - 0x17]
movsx eax, byte [0x1005f0a5]
xor edx, eax
mov byte [ebp - 0x17], dl
jmp case.default.0x10009db0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub ecx, 0xa444
sbb edx, 0
mov dword [0x1005f140], ecx
mov dword [0x1005f144], edx
movsx eax, byte [0x1005f04f]
mov ecx, dword [0x1005f0d0]
sub ecx, eax
mov edx, dword [0x1005f0d0]
sub edx, ecx
mov dword [0x1005f0d0], edx
movsx eax, byte [ebp - 0x14]
add eax, dword [0x1005f0d0]
mov ecx, dword [0x1005f104]
sub ecx, eax
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
movzx eax, word [0x1005f148]
test eax, eax
jne 0x10009f63
mov dword [ebp - 0x1bc], 1
jmp 0x10009f6d
mov dword [ebp - 0x1bc], 0
movzx eax, word [0x1005f138]
or eax, dword [ebp - 0x1bc]
cdq
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x960], edx
and ecx, eax
mov byte [ebp - 0x11], cl
movzx eax, byte [0x1005f09f]
cdq
mov ecx, eax
sub ecx, 0x81d080e7
movsx eax, word [0x1005f0e0]
cdq
or eax, ecx
mov word [0x1005f0e0], ax
jmp case.default.0x10009db0
mov dword [0x1005f0a0], 1
movsx eax, word [ebp - 0x1c]
cdq
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x964], ecx
xor edx, eax
movsx eax, byte [0x1005f076]
not eax
mov ecx, dword [0x1005f0b0]
sub ecx, eax
movsx eax, word [ebp - 0x28]
sub ecx, eax
add edx, ecx
mov word [ebp - 0x24], dx
movsx ecx, byte [ebp - 0x16]
test ecx, ecx
jne 0x10009fff
mov dword [ebp - 0x1c0], 1
jmp 0x1000a009
mov dword [ebp - 0x1c0], 0
movzx edx, word [0x1005f10c]
imul edx, dword [ebp - 0x1c0]
movzx eax, byte [ebp - 0x12]
sub eax, dword [0x1005f104]
mov ecx, dword [0x1005f100]
xor ecx, dword [0x1005f0e8]
add eax, ecx
xor edx, eax
mov word [0x1005f0c0], dx
movsx edx, byte [0x1005f03b]
movsx eax, word [ebp - 0x28]
sub edx, eax
movsx ecx, byte [0x1005f03b]
add ecx, edx
mov byte [0x1005f03b], cl
mov byte [ebp - 0x13], 4
jmp case.default.0x10009db0
mov byte [0x1005f077], 0x7b
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x968], eax
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x13]
cdq
sub eax, 0x24644d3b
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x2c]
sub eax, 0x4188
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x96c], edx
not ecx
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x970], esi
add ecx, edx
and eax, ecx
mov byte [ebp - 0x15], al
movsx eax, byte [0x1005f04f]
not eax
cdq
push 0x1d36
push 0x719e3557
push edx
push eax
call fcn.1003a730
sub eax, dword [0x1005f104]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x580], 0
jne 0x1000a75e
movzx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], edx
mov eax, dword [ebp - 0x6e0]
cmp eax, dword [0x1005f0d8]
jne 0x1000a114
mov ecx, dword [ebp - 0x6dc]
cmp ecx, dword [0x1005f0dc]
jne 0x1000a114
mov dword [ebp - 0x1c4], 1
jmp 0x1000a11e
mov dword [ebp - 0x1c4], 0
movzx edx, byte [ebp - 0x15]
cmp edx, 0x3b
jne 0x1000a133
mov dword [ebp - 0x1c8], 1
jmp 0x1000a13d
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1c8]
je 0x1000a1ad
mov ecx, 0x57
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
push 0
push 0x8da67507
push eax
push edx
call fcn.1003a730
mov ecx, eax
mov eax, dword [ebp - 0x50]
cdq
add eax, ecx
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
push 0xe74c6
push 0x2c41b5b3
push eax
push edx
call fcn.1003a730
mov ecx, eax
movzx eax, byte [0x1005f0a4]
cdq
add eax, ecx
mov byte [0x1005f0a4], al
movzx edx, byte [ebp - 0x15]
add edx, 0x9f64
mov byte [ebp - 0x16], dl
jmp 0x1000a28f
movzx eax, byte [ebp - 0x12]
movsx ecx, word [ebp - 0x20]
cmp eax, ecx
je 0x1000a1c5
mov dword [ebp - 0x1cc], 1
jmp 0x1000a1cf
mov dword [ebp - 0x1cc], 0
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0x11]
cmp edx, eax
jge 0x1000a1e7
mov dword [ebp - 0x1d0], 1
jmp 0x1000a1f1
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 0x1d0]
jle 0x1000a20b
mov dword [ebp - 0x1d4], 1
jmp 0x1000a215
mov dword [ebp - 0x1d4], 0
mov edx, dword [ebp - 0x1d4]
not edx
test edx, edx
je 0x1000a28f
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x1000a238
movzx ecx, word [0x1005f148]
mov dword [ebp - 0x1d8], ecx
jmp 0x1000a242
movsx edx, word [ebp - 0x1c]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1d8]
mov dword [0x1005f0b0], eax
mov ecx, 0xc6cf2
mov dword [0x1005f0b8], 0xd9b58ed0
mov dword [0x1005f0bc], ecx
movsx edx, byte [ebp - 0x14]
test edx, edx
je 0x1000a276
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x1dc], eax
jmp 0x1000a283
movsx ecx, word [0x1005f15c]
mov dword [ebp - 0x1dc], ecx
mov dl, byte [ebp - 0x1dc]
mov byte [str.a_StartIdle_], dl
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x6e8]
or edx, dword [ebp - 0x6e4]
je 0x1000a2c8
mov eax, dword [0x1005f0a8]
mov ecx, dword [0x1005f0ac]
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], ecx
jmp 0x1000a2d9
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], edx
mov dl, byte [ebp - 0x4c8]
mov byte [0x1005f076], dl
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, 8
imul ecx, ecx, 0x32
mov dword [ecx + 0x10103900], eax
mov dword [ecx + 0x10103904], edx
movzx eax, word [0x1005f128]
sub eax, 0x83b8
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
movzx edx, byte [ebp - 0x17]
movsx eax, byte [0x1005f04f]
add edx, eax
movzx ecx, byte [ebp - 0x17]
sub ecx, edx
mov byte [ebp - 0x17], cl
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xbc], edx
mov ecx, 9
mov esi, 0x1004d6f8
lea edi, [ebp - 0xaf4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0xaf4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [ebp - 0x16], al
mov ecx, dword [ebp - 0xbc]
add ecx, 0x72f
mov dword [ebp - 0x1e8], ecx
mov edx, dword [ebp - 0x58]
or edx, dword [ebp - 0x54]
je 0x1000a3cf
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x974], ecx
add eax, 0x1d2d
mov byte [0x1005f03b], al
movzx eax, byte [ebp - 0x17]
cdq
add eax, dword [ebp - 0x60]
mov byte [ebp - 0x17], al
movsx edx, byte [ebp - 0x14]
movsx eax, byte [0x1005f0a5]
imul edx, eax
movsx ecx, byte [ebp - 0x14]
sub ecx, edx
mov byte [ebp - 0x14], cl
mov ecx, dword [0x1005f0b8]
sub ecx, 0xdce26a71
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x1000a52f
mov edx, dword [0x1005f0a8]
or edx, dword [0x1005f0ac]
je 0x1000a3f2
cmp dword [0x1005f0b0], 0
je 0x1000a3f2
mov dword [ebp - 0x1e0], 1
jmp 0x1000a3fc
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6f0]
or edx, dword [ebp - 0x6ec]
jne 0x1000a42e
cmp dword [ebp - 0x74], 0
jne 0x1000a42e
mov dword [ebp - 0x1e4], 0
jmp 0x1000a438
mov dword [ebp - 0x1e4], 1
mov eax, dword [ebp - 0x1e0]
imul eax, dword [ebp - 0x1e4]
test eax, eax
je 0x1000a4df
movsx eax, byte [ebp - 0x13]
sub eax, 0x65
cdq
add eax, dword [0x1005f130]
adc edx, dword [0x1005f134]
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movsx ecx, word [0x1005f15c]
add ecx, dword [0x1005f0e4]
movsx edx, word [0x1005f15c]
sub edx, ecx
mov word [0x1005f15c], dx
mov dword [ebp - 0x78], 0x2b851414
movsx eax, word [0x1005f110]
cdq
mov ecx, eax
add ecx, dword [0x1005f0c8]
not ecx
movzx eax, word [0x1005f148]
movzx edx, word [ebp - 0x24]
add eax, edx
cdq
sub ecx, eax
mov byte [ebp - 0x12], cl
mov eax, 2
imul ecx, eax, 0x71c8
mov dx, word [ebp - 0x78]
mov word [ecx + 0x10075ce0], dx
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], ecx
jmp 0x1000a52f
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x1000a52f
mov dword [ebp - 0x74], 0xff14ad60
movsx eax, word [ebp - 0x2c]
cdq
push 0x206ba
push 0xa3a0c6ed
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 0x13]
add eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x7c]
sub edx, 0x52dfc2b3
mov dword [0x1005f0a0], edx
mov eax, dword [ebp - 0x78]
not eax
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x56d
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x60]
not edx
mov byte [0x1005f04f], dl
movsx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x60]
adc esi, dword [ebp - 0x5c]
movsx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x20], ax
movsx eax, byte [0x1005f0a5]
cdq
push edx
push eax
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, byte [0x1005f0a5]
cdq
mov edx, dword [0x1005f160]
mov esi, dword [0x1005f164]
mov dword [ebp - 0x978], esi
not edx
sub eax, edx
sub ecx, eax
not ecx
xor ecx, dword [0x1005f0f0]
mov word [ebp - 0x20], cx
movzx eax, word [0x1005f138]
cdq
mov esi, eax
mov eax, dword [0x1005f0b4]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x1005f0bc]
push edx
mov eax, dword [0x1005f0b8]
push eax
call fcn.1003a730
add esi, eax
not esi
mov dword [ebp - 0x7c], esi
mov ecx, dword [ebp - 0xbc]
add ecx, 0x7c2
mov dword [ebp - 0x97c], ecx
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x1005f0f8]
sub ecx, eax
mov eax, dword [0x1005f0fc]
sbb eax, edx
or ecx, dword [0x1005f0f8]
or eax, dword [0x1005f0fc]
mov dword [0x1005f0f8], ecx
mov dword [0x1005f0fc], eax
movzx eax, word [ebp - 0x24]
not eax
cdq
sub eax, dword [0x1005f150]
sbb edx, dword [0x1005f154]
not eax
not edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [0x1005fc3c]
mov dword [0x1005f0a0], ecx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x62ff655a
sbb esi, 0x120a2
movzx eax, byte [0x1005f0a4]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [0x1005f0a4], al
mov dx, word [0x1005fc3c]
mov word [0x1005f114], dx
mov eax, 0x155
sub eax, dword [ebp - 0x584]
mov ecx, dword [ebp - 0x1e8]
add ecx, eax
mov edx, dword [ebp - 0x1e8]
or edx, 0x70440
cmp ecx, edx
je 0x1000a75e
movsx eax, word [0x1005f0e0]
imul eax, eax, 0x3eb5
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
push 0
push 0x8a27
push edx
push ecx
call fcn.1003a730
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, byte [0x1005f0a5]
cdq
push 0x96c55
push 0x226416ab
push edx
push eax
call fcn.1003a730
mov byte [str._CpuC3StatesChanges], al
mov eax, 0x1fca
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x1005f0a5]
movsx edx, word [ebp - 0x1c]
add ecx, edx
mov byte [str._CpuC3StatesChanges], cl
movzx eax, word [0x1005f128]
cdq
add eax, 0x8f64339b
mov word [ebp - 0x2c], ax
xor eax, eax
mov byte [ebp - 0x94], al
lea ecx, [ebp - 0x94]
call fcn.10003d10
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
call fcn.1002b3d0
mov ecx, dword [ebp - 0x1ec]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov edx, dword [ebp - 0x60]
sub edx, 0x39
mov eax, dword [ebp - 0x5c]
sbb eax, 0
mov dword [ebp - 0x6f8], edx
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f8]
or ecx, dword [ebp - 0x6f4]
je 0x1000a92e
movsx edx, byte [ebp - 0x14]
movsx eax, word [0x1005f15c]
cmp edx, eax
jle 0x1000a7a3
mov dword [ebp - 0x1f0], 1
jmp 0x1000a7ad
mov dword [ebp - 0x1f0], 0
movsx ecx, byte [ebp - 0x14]
cmp ecx, 0x1a
jle 0x1000a7c2
mov dword [ebp - 0x1f4], 1
jmp 0x1000a7cc
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f0]
cmp edx, dword [ebp - 0x1f4]
jg 0x1000a92e
movsx eax, word [0x1005f110]
test eax, eax
je 0x1000a92e
mov dword [ebp - 4], 0xa
jmp 0x1000a91e
mov dword [ebp - 4], 0xffffffff
jmp 0x1000a92e
xor ecx, ecx
mov byte [ebp - 0x93], cl
lea ecx, [ebp - 0x93]
call fcn.10003e00
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
call fcn.1002b2d0
mov edx, dword [ebp - 0x208]
push edx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x984], eax
mov ecx, dword [0x1005f0f8]
not ecx
movzx eax, byte [ebp - 0x12]
movsx edx, word [ebp - 0x20]
not edx
imul eax, edx
cdq
add ecx, eax
mov dword [ebp - 0x74], ecx
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x1000a9a7
mov ecx, dword [0x1005f140]
mov edx, dword [0x1005f144]
mov dword [ebp - 0x4d0], ecx
mov dword [ebp - 0x4cc], edx
jmp 0x1000a9b9
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x4cc], ecx
mov dx, word [ebp - 0x4d0]
mov word [0x1005f108], dx
mov eax, dword [0x1005f0d0]
cdq
mov ecx, 8
imul ecx, ecx, 0x431
mov dword [ecx + 0x10260478], eax
mov dword [ecx + 0x1026047c], edx
mov edx, dword [0x1005f0b4]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.1003a730
mov byte [0x1005f013], al
movzx eax, word [0x1005f158]
add eax, 0x20
mov byte [ebp - 0x17], al
xor ecx, ecx
mov byte [ebp - 0x92], cl
lea ecx, [ebp - 0x92]
call fcn.10004010
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x20c]
call fcn.1002b290
mov edx, dword [ebp - 0x20c]
push edx
push 0
push 0
call fcn.10001380
call eax
mov eax, 1
imul ecx, eax, 0x66b4
movsx edx, byte [ecx + 0x101b0b60]
movsx eax, byte [0x1005f013]
sub eax, edx
mov byte [0x1005f013], al
mov cx, word [0x1005f0d0]
mov word [0x1005f0e0], cx
movzx eax, byte [ebp - 0x15]
cdq
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x988], ecx
sub eax, edx
mov byte [ebp - 0x15], al
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x1000aa9e
movsx eax, word [0x1005f114]
mov dword [ebp - 0x210], eax
jmp 0x1000aaaa
mov ecx, dword [0x1005f0b0]
mov dword [ebp - 0x210], ecx
mov dl, byte [ebp - 0x210]
mov byte [str._CpuC3StatesChanges], dl
xor eax, eax
mov byte [ebp - 0x8e], al
lea ecx, [ebp - 0x8e]
call fcn.100040f0
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
call fcn.1002b5d0
mov ecx, dword [ebp - 0x214]
push ecx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0xc0], 0
jmp 0x1000ab0d
mov edx, dword [ebp - 0xc0]
add edx, 1
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0x224
jge 0x1000ac20
movsx eax, word [ebp - 0x28]
cmp eax, dword [ebp - 0x74]
jge 0x1000ab32
mov dword [ebp - 0x218], 1
jmp 0x1000ab3c
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x700]
or eax, dword [ebp - 0x6fc]
je 0x1000ab76
mov ecx, dword [0x1005f140]
or ecx, dword [0x1005f144]
je 0x1000ab76
mov dword [ebp - 0x21c], 1
jmp 0x1000ab80
mov dword [ebp - 0x21c], 0
mov edx, dword [ebp - 0x218]
imul edx, dword [ebp - 0x21c]
test edx, edx
je 0x1000ac09
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x4c]
movsx eax, byte [ebp - 0x14]
cdq
or eax, ecx
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov cl, 4
call fcn.1003a840
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x98c], eax
not edx
mov word [ebp - 0x2c], dx
mov ecx, dword [0x1005f0d8]
xor ecx, 0xc6557f1c
mov edx, dword [0x1005f0dc]
xor edx, 0
mov dword [0x1005f0f8], ecx
mov dword [0x1005f0fc], edx
mov eax, 8
imul ecx, eax, 0x6904
movzx eax, byte [0x1005f0a4]
cdq
sub eax, dword [ecx + 0x102c3af8]
mov byte [0x1005f0a4], al
mov edx, dword [ebp - 0x58]
add edx, 1
mov eax, dword [ebp - 0x54]
adc eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp 0x1000aafe
mov ecx, dword [ebp - 0x588]
sub ecx, dword [ebp - 0x220]
imul edx, dword [ebp - 0x220], 0x10c
cmp ecx, edx
je 0x1000b3cb
mov dword [ebp - 0xc4], 0
jmp 0x1000ac59
mov eax, dword [ebp - 0xc4]
add eax, 2
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x392
jge 0x1000acf3
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
push 0
push 0x11c4b0fe
push edx
push ecx
call fcn.1003a730
mov dword [ebp - 0x708], eax
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x708]
or eax, dword [ebp - 0x704]
jne 0x1000aca0
mov byte [ebp - 0x81], 1
jmp 0x1000aca7
mov byte [ebp - 0x81], 0
mov cl, byte [ebp - 0x81]
mov byte [str.a_StartIdle_], cl
movzx eax, word [0x1005f128]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov dl, byte [0x1005fc3c]
mov byte [0x1005f09f], dl
mov al, byte [ebp - 0x13]
add al, 1
mov byte [ebp - 0x13], al
jmp 0x1000ac4a
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1000ae34
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x710], edx
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x710]
or ecx, dword [ebp - 0x70c]
jne 0x1000ad2b
mov dword [ebp - 0x224], 1
jmp 0x1000ad35
mov dword [ebp - 0x224], 0
mov edx, 0xaa8
sub edx, dword [ebp - 0x224]
jne 0x1000ad4e
mov dword [ebp - 0x228], 1
jmp 0x1000ad58
mov dword [ebp - 0x228], 0
movsx eax, word [ebp - 0x2c]
test eax, eax
jne 0x1000ad6c
mov dword [ebp - 0x22c], 1
jmp 0x1000ad76
mov dword [ebp - 0x22c], 0
movsx ecx, word [0x1005f108]
test ecx, ecx
jne 0x1000ad8d
mov dword [ebp - 0x230], 1
jmp 0x1000ad97
mov dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x228]
sub eax, dword [ebp - 0x22c]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x1005f104]
xor ebx, ebx
add edi, dword [ebp - 0x4c]
adc ebx, dword [ebp - 0x48]
movsx edx, byte [0x1005f076]
mov eax, edx
imul eax, dword [ebp - 0x230]
cdq
xor edi, eax
xor ebx, edx
or ecx, edi
or esi, ebx
not ecx
not esi
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
mov eax, dword [0x1005f130]
sub eax, 0x71a8
mov ecx, dword [0x1005f134]
sbb ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, dword [0x1005f0f0]
sub edx, 0x313cd324
mov byte [ebp - 0x13], dl
mov eax, dword [0x1005f150]
add eax, 0xdc0b1c5
mov ecx, dword [0x1005f154]
adc ecx, 0x6340c
mov dword [0x1005f160], eax
mov dword [0x1005f164], ecx
movsx edx, byte [0x1005f013]
add edx, 0xfa2c
mov dword [ebp - 0x50], edx
jmp 0x1000ae4e
mov al, byte [ebp - 0x12]
mov byte [0x1005f076], al
mov byte [0x1005f09f], 0x4c
movsx eax, byte [ebp - 0x14]
cdq
add eax, dword [ebp - 0x60]
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x58c], 0
jne 0x1000b3cb
mov ecx, dword [0x1005f140]
or ecx, dword [0x1005f144]
je 0x1000aec1
movsx eax, word [0x1005f110]
cdq
push edx
push eax
mov edx, dword [0x1005f0fc]
push edx
mov eax, dword [0x1005f0f8]
push eax
call fcn.1003a730
push edx
push eax
mov ecx, dword [0x1005f0fc]
push ecx
mov edx, dword [0x1005f0f8]
push edx
call fcn.1003a730
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
imul eax, dword [ebp - 0x50], 0x2bde
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x2c]
not ecx
add ecx, 0xf4
mov dword [ebp - 0x7c], ecx
jmp 0x1000aee6
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x1000aee6
mov byte [ebp - 0x13], 0x3f
mov eax, 0x13bc
mov word [ebp - 0x2c], ax
movzx eax, byte [ebp - 0x17]
add eax, 0x61fb803c
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov cx, word [0x1005f130]
mov edx, 2
imul eax, edx, 0x16e9
mov word [eax + 0x10156048], cx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x990], edx
sub ecx, 0x9a1a2b82
mov byte [ebp - 0x16], cl
movsx eax, word [0x1005f114]
movzx ecx, word [0x1005f158]
sub eax, ecx
mov word [0x1005f114], ax
movsx edx, word [ebp - 0x1c]
movsx eax, byte [ebp - 0x16]
add edx, eax
movsx ecx, word [ebp - 0x1c]
and ecx, edx
mov word [ebp - 0x1c], cx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x78]
cdq
push 0x1bc3b
push 0xfa994d76
push edx
push eax
call fcn.1003a730
mov word [0x1005f114], ax
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
add eax, dword [0x1005f0f8]
adc edx, dword [0x1005f0fc]
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movzx eax, word [0x1005f138]
test eax, eax
jne 0x1000afa4
mov dword [ebp - 0x234], 1
jmp 0x1000afae
mov dword [ebp - 0x234], 0
movsx ecx, byte [ebp - 0x14]
sub ecx, dword [0x1005f0b0]
imul ecx, dword [ebp - 0x234]
sub ecx, dword [0x1005f0f0]
mov byte [ebp - 0x17], cl
mov edx, dword [ebp - 0xc8]
add edx, 0x866
mov dword [ebp - 0xac], edx
mov ecx, 9
mov esi, str.PwrSubscribePowerC
lea edi, [ebp - 0xb1c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0xb1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1005f03b], al
mov ecx, dword [ebp - 0xc8]
add ecx, 0x61e
mov dword [ebp - 0x244], ecx
mov dword [ebp - 4], 0xc
movsx edx, byte [0x1005f09e]
test edx, edx
je 0x1000b039
cmp dword [0x1005f0d0], 0
je 0x1000b039
mov dword [ebp - 0x238], 0
jmp 0x1000b043
mov dword [ebp - 0x238], 1
movsx eax, byte [0x1005f076]
cdq
mov ecx, dword [0x1005f140]
not ecx
mov esi, dword [0x1005f144]
not esi
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], edx
mov dword [ebp - 0x720], ecx
mov dword [ebp - 0x71c], esi
mov edx, dword [ebp - 0x718]
cmp edx, dword [ebp - 0x720]
jne 0x1000b08f
mov eax, dword [ebp - 0x714]
cmp eax, dword [ebp - 0x71c]
je 0x1000b09b
mov dword [ebp - 0x23c], 1
jmp 0x1000b0a5
mov dword [ebp - 0x23c], 0
mov ecx, dword [ebp - 0x238]
cmp ecx, dword [ebp - 0x23c]
jle 0x1000b149
movzx eax, word [ebp - 0x24]
movsx edx, byte [0x1005f0a5]
imul eax, edx
not eax
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x1005f110]
cdq
or eax, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [0x1005f0e4], eax
mov edx, dword [ebp - 0x50]
add edx, 0xd0
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x728]
or edx, dword [ebp - 0x724]
jne 0x1000b124
mov dword [ebp - 0x240], 1
jmp 0x1000b12e
mov dword [ebp - 0x240], 0
movzx eax, word [0x1005f128]
not eax
sub eax, dword [ebp - 0x240]
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
jmp 0x1000b1c7
mov dword [ebp - 4], 0xffffffff
jmp 0x1000b1d7
mov ecx, dword [ebp - 0xc8]
add ecx, 0x665
mov dword [ebp - 0x994], ecx
mov dword [ebp - 0xcc], 2
xor edx, edx
mov dword [0x1005f0a8], 4
mov dword [0x1005f0ac], edx
movsx eax, word [ebp - 0x1c]
xor eax, 0x950e2be2
mov dword [0x1005f0e4], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub ecx, dword [0x1005f0b8]
sbb edx, dword [0x1005f0bc]
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x730]
or eax, dword [ebp - 0x72c]
jne 0x1000b24d
mov ecx, 1
mov word [ebp - 0x98], cx
jmp 0x1000b256
xor edx, edx
mov word [ebp - 0x98], dx
mov ax, word [ebp - 0x98]
mov word [0x1005f114], ax
xor ecx, ecx
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0xcc]
add edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0x17e5
jl 0x1000b26f
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
add ecx, dword [ebp - 0x244]
add eax, ecx
mov edx, dword [ebp - 0x244]
mov ecx, dword [ebp - 0xac]
and ecx, 0x3e
lea edx, [edx + ecx + 0x1c2]
cmp eax, edx
je 0x1000b3cb
cmp dword [ebp - 0x78], 0
jne 0x1000b2dc
xor eax, eax
mov dword [ebp - 0x4d8], 1
mov dword [ebp - 0x4d4], eax
jmp 0x1000b2e7
xorps xmm0, xmm0
movlpd qword [ebp - 0x4d8], xmm0
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x1005f076]
xor eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x4d8]
add edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x4d4]
adc eax, dword [ebp - 0x48]
and ecx, edx
and esi, eax
movsx eax, byte [ebp - 0x16]
movsx edx, word [0x1005f0e0]
add eax, edx
movsx edx, word [ebp - 0x20]
not edx
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov byte [ebp - 0x11], al
mov byte [ebp - 0x12], 0x1f
movzx eax, byte [ebp - 0x15]
add eax, 0x38
mov byte [ebp - 0x17], al
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f11c]
sub ecx, dword [0x1005f118]
sbb esi, edx
not ecx
not esi
mov eax, dword [0x1005f140]
add eax, 0xe4411140
mov edx, dword [0x1005f144]
adc edx, 0xffffffff
add ecx, eax
adc esi, edx
mov eax, dword [0x1005f0a0]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov byte [0x1005f04f], al
movsx eax, word [ebp - 0x1c]
imul eax, dword [0x1005f104]
mov dword [0x1005f104], eax
xor ecx, ecx
mov byte [ebp - 0x8c], cl
lea ecx, [ebp - 0x8c]
call fcn.10004410
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
call fcn.1002b610
mov edx, dword [ebp - 0x248]
push edx
push 0
push 0
call fcn.10001380
call eax
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1000b3de
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x24c], ecx
jmp 0x1000b3e8
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x50], eax
movzx ecx, word [0x1005f128]
imul eax, ecx, 0xcc5a
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1005f0d8]
sub ecx, eax
mov eax, dword [0x1005f0dc]
sbb eax, edx
push eax
push ecx
mov ecx, dword [0x1005f0dc]
push ecx
mov edx, dword [0x1005f0d8]
push edx
call fcn.1003a730
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
movzx eax, byte [str.a_StartIdle_]
movsx ecx, word [ebp - 0x2c]
sub eax, ecx
mov byte [str.a_StartIdle_], al
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
mov edx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x70]
sbb esi, edx
mov eax, dword [0x1005f0e4]
not eax
cdq
and ecx, eax
and esi, edx
mov edi, dword [0x1005f130]
add edi, dword [ebp - 0x58]
mov ebx, dword [0x1005f134]
adc ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x7c]
sub eax, dword [0x1005f0e4]
not eax
cdq
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x738], ecx
mov dword [ebp - 0x734], esi
mov eax, dword [ebp - 0x738]
or eax, dword [ebp - 0x734]
jne 0x1000b4c4
xor ecx, ecx
mov dword [ebp - 0x4e0], 1
mov dword [ebp - 0x4dc], ecx
jmp 0x1000b4cf
xorps xmm0, xmm0
movlpd qword [ebp - 0x4e0], xmm0
mov edx, dword [ebp - 0x4e0]
mov eax, dword [ebp - 0x4dc]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov byte [ebp - 0x8b], cl
lea ecx, [ebp - 0x8b]
call fcn.10004650
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
call fcn.1002b310
mov edx, dword [ebp - 0x250]
push edx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x598], eax
mov dword [ebp - 0xd0], 0x60
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x17]
cdq
sub eax, 0xeecb8d95
sbb edx, 0xfffdfd34
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], edx
mov edx, dword [ebp - 0x740]
or edx, dword [ebp - 0x73c]
jne 0x1000b577
xor eax, eax
mov dword [ebp - 0x4e8], 1
mov dword [ebp - 0x4e4], eax
jmp 0x1000b582
xorps xmm0, xmm0
movlpd qword [ebp - 0x4e8], xmm0
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movsx eax, word [0x1005f0c0]
cdq
mov ecx, eax
sub ecx, dword [0x1005f0c8]
movsx eax, word [0x1005f0c0]
cdq
add eax, ecx
mov word [0x1005f0c0], ax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x998], eax
and edx, 0xa
mov byte [0x1005f09e], dl
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1000b5ea
mov edx, dword [0x1005f150]
mov eax, dword [0x1005f154]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], eax
jmp 0x1000b5fa
mov eax, dword [ebp - 0x78]
cdq
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], edx
mov ecx, dword [ebp - 0x4f0]
mov dword [0x1005f100], ecx
movsx eax, byte [ebp - 0x14]
cdq
mov esi, eax
movzx eax, word [0x1005f148]
cdq
mov edi, eax
xor edi, dword [0x1005f0c8]
movzx eax, word [0x1005f10c]
cdq
push edx
push eax
mov edx, dword [0x1005f0f4]
push edx
mov eax, dword [0x1005f0f0]
push eax
call fcn.1003a730
sub edi, eax
add esi, edi
mov word [0x1005f138], si
mov eax, dword [0x1005f0f8]
mov edx, dword [0x1005f0fc]
mov cl, 1
call fcn.1003a790
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
movzx ecx, word [0x1005f138]
imul edx, ecx, 0x2fd9
mov eax, dword [0x1005f0b0]
imul eax, edx
mov dword [0x1005f0b0], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 1
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0xc10
jl 0x1000b644
mov edx, dword [ebp - 0x590]
imul edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x594]
xor eax, dword [ebp - 0x254]
cmp edx, eax
je 0x1000c82d
mov ecx, 8
imul edx, ecx, 0xbcf
mov eax, dword [ebp - 0x4c]
sub eax, dword [edx + 0x10260478]
mov ecx, dword [ebp - 0x48]
sbb ecx, dword [edx + 0x1026047c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx dx, byte [str._CpuC3StatesChanges]
mov word [0x1005f108], dx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x8fac8794
sbb edx, 0xb9543
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, byte [ebp - 0x17]
movsx ecx, byte [ebp - 0x13]
cmp eax, ecx
jge 0x1000b8a3
movzx edx, word [0x1005f148]
test edx, edx
je 0x1000b7a2
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp - 0x15]
cmp eax, ecx
je 0x1000b79d
imul eax, dword [0x1005f0a0], 0x6e44ae03
cdq
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sbb eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1005f104]
add ecx, 0x1f
mov byte [ebp - 0x13], cl
movsx eax, word [0x1005f0c0]
cdq
sub eax, dword [0x1005f130]
mov word [0x1005f0c0], ax
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
add edx, dword [ebp - 0x60]
adc eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
sub ecx, edx
mov edx, dword [ebp - 0x5c]
sbb edx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
movzx eax, word [0x1005f158]
not eax
movsx ecx, word [ebp - 0x28]
imul eax, ecx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp 0x1000b8a1
movsx edx, byte [ebp - 0x16]
test edx, edx
jne 0x1000b7b6
mov dword [ebp - 0x258], 1
jmp 0x1000b7c0
mov dword [ebp - 0x258], 0
movsx eax, byte [0x1005f077]
cmp dword [ebp - 0x258], eax
jne 0x1000b7db
mov dword [ebp - 0x260], 1
jmp 0x1000b7e5
mov dword [ebp - 0x260], 0
cmp dword [0x1005f0b4], 0
jne 0x1000b7fa
mov dword [ebp - 0x25c], 1
jmp 0x1000b804
mov dword [ebp - 0x25c], 0
movsx ecx, byte [str._CpuC3StatesChanges]
sub ecx, dword [ebp - 0x25c]
cmp dword [ebp - 0x260], ecx
je 0x1000b8a1
movsx eax, byte [0x1005f076]
cdq
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x99c], ecx
sub edx, eax
mov word [0x1005f0c0], dx
xor edx, edx
mov dword [ebp - 0x70], 8
mov dword [ebp - 0x6c], edx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
and ecx, eax
and esi, edx
mov dword [0x1005f120], ecx
mov dword [0x1005f124], esi
mov dl, byte [ebp - 0x15]
mov byte [str._CpuC3StatesChanges], dl
movsx eax, byte [ebp - 0x13]
cdq
sub eax, dword [0x1005f0b8]
sbb edx, dword [0x1005f0bc]
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
jmp 0x1000b8e6
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x748]
or edx, dword [ebp - 0x744]
jne 0x1000b8e6
movzx eax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x7c]
sub ecx, eax
mov edx, dword [ebp - 0x7c]
and edx, ecx
mov dword [ebp - 0x7c], edx
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x74], eax
mov dword [0x1005f100], 4
cmp dword [ebp - 0x598], 0
jne 0x1000c82d
mov ecx, dword [0x1004d748]
mov dword [ebp - 0x92c], ecx
mov edx, dword [0x1004d74c]
mov dword [ebp - 0x928], edx
mov eax, dword [0x1004d750]
mov dword [ebp - 0x924], eax
mov ecx, dword [0x1004d754]
mov dword [ebp - 0x920], ecx
mov dx, word [0x1004d758]
mov word [ebp - 0x91c], dx
mov al, byte [0x1004d75a]
mov byte [ebp - 0x91a], al
lea ecx, [ebp - 0x92c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0xd4], 0
jmp 0x1000b96a
mov edx, dword [ebp - 0xd4]
add edx, 2
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 0x315
jge 0x1000bd23
mov eax, dword [0x1005f0f8]
or eax, dword [0x1005f0fc]
je 0x1000bbd7
mov dword [ebp - 4], 0xe
movsx ecx, byte [0x1005f03b]
test ecx, ecx
jne 0x1000b9a9
mov dword [ebp - 0x264], 1
jmp 0x1000b9b3
mov dword [ebp - 0x264], 0
movsx edx, word [0x1005f110]
not edx
cmp edx, dword [ebp - 0x264]
jge 0x1000b9d0
mov dword [ebp - 0x268], 1
jmp 0x1000b9da
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x268], 0x51b6
jle 0x1000b9f2
mov dword [ebp - 0x274], 1
jmp 0x1000b9fc
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x78]
not eax
cdq
mov dword [ebp - 0x750], eax
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x74c]
cmp eax, dword [0x1005f0fc]
jl 0x1000ba38
jg 0x1000ba2c
mov ecx, dword [ebp - 0x750]
cmp ecx, dword [0x1005f0f8]
jb 0x1000ba38
mov dword [ebp - 0x26c], 1
jmp 0x1000ba42
mov dword [ebp - 0x26c], 0
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x758], edx
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x758]
or ecx, dword [ebp - 0x754]
jne 0x1000ba77
mov edx, 0xbc
test edx, edx
jne 0x1000ba77
mov dword [ebp - 0x270], 0
jmp 0x1000ba81
mov dword [ebp - 0x270], 1
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x270]
jne 0x1000ba9b
mov dword [ebp - 0x278], 1
jmp 0x1000baa5
mov dword [ebp - 0x278], 0
mov ecx, dword [ebp - 0x274]
cmp ecx, dword [ebp - 0x278]
jle 0x1000bae0
movsx edx, byte [0x1005f0a5]
sub edx, dword [0x1005f0e4]
movsx eax, byte [0x1005f0a5]
sub eax, edx
mov byte [0x1005f0a5], al
mov ecx, dword [0x1005f104]
shl ecx, 6
mov word [0x1005f0c0], cx
jmp 0x1000bb4c
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
mov eax, dword [0x1005f130]
add eax, 1
mov ecx, dword [0x1005f134]
adc ecx, 0
mov dword [0x1005f130], eax
mov dword [0x1005f134], ecx
mov edx, 8
imul eax, edx, 0xb663
mov cl, byte [eax + 0x102c3af8]
mov byte [0x1005f09e], cl
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp - 0x17]
mov ecx, dword [0x1005f104]
sub ecx, eax
xor edx, ecx
mov byte [0x1005f09f], dl
movzx edx, word [ebp - 0x24]
mov eax, dword [0x1005f0b0]
and eax, edx
xor ecx, ecx
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], ecx
jmp 0x1000bbc2
mov dword [ebp - 4], 0xffffffff
jmp 0x1000bbd2
jmp 0x1000bd0f
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x1000bd0f
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x9a0], edx
sub ecx, dword [0x1005f0b8]
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9a4], edx
not eax
sub ecx, eax
movzx eax, byte [0x1005f09f]
movzx edx, byte [ebp - 0x17]
movsx esi, byte [0x1005f04f]
add edx, esi
add eax, edx
cdq
add ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, word [0x1005f158]
test eax, eax
jne 0x1000bc38
mov dword [ebp - 0x27c], 1
jmp 0x1000bc42
mov dword [ebp - 0x27c], 0
movsx ecx, word [ebp - 0x28]
add ecx, dword [ebp - 0x27c]
add ecx, dword [ebp - 0x78]
jne 0x1000bc5d
mov dword [ebp - 0x284], 1
jmp 0x1000bc67
mov dword [ebp - 0x284], 0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x760], edx
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x760]
or ecx, dword [ebp - 0x75c]
jne 0x1000bc93
mov dword [ebp - 0x280], 1
jmp 0x1000bc9d
mov dword [ebp - 0x280], 0
mov edx, dword [0x1005f0b0]
add edx, dword [ebp - 0x280]
xor edx, dword [ebp - 0x284]
jne 0x1000bcc5
xor eax, eax
mov dword [ebp - 0x4f8], 1
mov dword [ebp - 0x4f4], eax
jmp 0x1000bcd0
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f8], xmm0
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ebp - 0x4f4]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
xor eax, eax
mov dword [ebp - 0x44], 0xf348
mov dword [ebp - 0x40], eax
mov eax, dword [0x1005f0e8]
not eax
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, word [0x1005f15c]
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov ecx, dword [0x1005f0a0]
add ecx, 1
mov dword [0x1005f0a0], ecx
jmp 0x1000b95b
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xd8], edx
movsx eax, byte [0x1005f013]
test eax, eax
je 0x1000bf3f
mov ecx, dword [0x1005f0f0]
or ecx, dword [0x1005f0f4]
je 0x1000bee5
xor edx, edx
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x9a8], edx
add ecx, 0xaf
movzx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
movsx eax, byte [ebp - 0x14]
movsx ecx, word [0x1005f110]
imul eax, ecx
movsx edx, byte [ebp - 0x14]
or edx, eax
mov byte [ebp - 0x14], dl
movsx eax, word [0x1005f110]
add eax, 0x9af6
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x410]
or eax, dword [ebp - 0x40c]
je 0x1000bdd5
cmp dword [ebp - 0x410], 1
jne 0x1000bdd0
cmp dword [ebp - 0x40c], 0
je 0x1000bdfe
jmp 0x1000bee3
mov ecx, dword [ebp - 0x60]
sub ecx, 1
mov edx, dword [ebp - 0x5c]
sbb edx, 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, 0x7e94
mov word [ebp - 0x28], ax
mov cl, byte [0x1005fc3c]
mov byte [ebp - 0x16], cl
jmp 0x1000bee3
mov edx, 2
mov word [0x1005f138], dx
movsx eax, word [0x1005f108]
cdq
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x9ac], edx
sub ecx, eax
movzx eax, word [0x1005f138]
mov edx, dword [0x1005f0e4]
add eax, edx
cdq
or ecx, eax
mov byte [0x1005f013], cl
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x768], eax
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x768]
or edx, dword [ebp - 0x764]
jne 0x1000be72
xor eax, eax
mov dword [ebp - 0x500], 1
mov dword [ebp - 0x4fc], eax
jmp 0x1000be7d
xorps xmm0, xmm0
movlpd qword [ebp - 0x500], xmm0
movzx eax, word [0x1005f148]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x1005f0f8]
xor esi, dword [0x1005f0fc]
movzx eax, byte [ebp - 0x11]
cdq
sub ecx, eax
sbb esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x4fc]
push edx
mov eax, dword [ebp - 0x500]
push eax
call fcn.1003a730
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, byte [0x1005f0a5]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x9b0], edx
add ecx, 1
mov word [0x1005f128], cx
jmp 0x1000bf3a
mov eax, 0xc9076aa7
or eax, 0xcb08c
je 0x1000bf3a
mov dword [0x1005f0e8], 0xd44428d1
movzx ecx, byte [ebp - 0x11]
shl ecx, 3
mov byte [ebp - 0x13], cl
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov dx, word [0x1005f15c]
mov word [0x1005f110], dx
jmp 0x1000c203
movzx eax, byte [0x1005f09f]
cmp dword [ebp - 0x78], eax
jge 0x1000bf82
mov ecx, 1
imul edx, ecx, 0xc
movzx eax, byte [edx + 0x100e2cd0]
movzx ecx, byte [0x1005f0a4]
sub ecx, eax
mov byte [0x1005f0a4], cl
movzx dx, byte [ebp - 0x15]
mov eax, 2
imul ecx, eax, 0x46
mov word [ecx + 0x10103d78], dx
jmp 0x1000c203
movsx edx, byte [ebp - 0x16]
test edx, edx
je 0x1000bfb3
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x770]
or edx, dword [ebp - 0x76c]
jne 0x1000c113
movzx eax, byte [ebp - 0x17]
sub eax, 0xed
mov dword [0x1005f0e4], eax
movsx eax, byte [0x1005f03b]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x778], ecx
mov dword [ebp - 0x774], esi
mov edx, dword [ebp - 0x778]
or edx, dword [ebp - 0x774]
jne 0x1000c001
xor eax, eax
mov dword [ebp - 0x508], 1
mov dword [ebp - 0x504], eax
jmp 0x1000c00c
xorps xmm0, xmm0
movlpd qword [ebp - 0x508], xmm0
movsx ecx, word [0x1005f0c0]
movsx edx, byte [ebp - 0x13]
xor ecx, edx
jne 0x1000c027
mov dword [ebp - 0x288], 1
jmp 0x1000c031
mov dword [ebp - 0x288], 0
mov eax, dword [0x1005f140]
not eax
mov ecx, dword [0x1005f144]
not ecx
mov esi, 0x4b
sub esi, eax
mov edi, 0
sbb edi, ecx
add esi, dword [ebp - 0x508]
adc edi, dword [ebp - 0x504]
movzx edx, byte [ebp - 0x17]
mov eax, dword [ebp - 0x288]
sub eax, edx
cdq
push edx
push eax
push edi
push esi
call fcn.1003a730
not eax
not edx
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
movzx eax, byte [ebp - 0x12]
not eax
movzx ecx, byte [0x1005f0a4]
movzx edx, byte [ebp - 0x15]
add ecx, edx
imul eax, ecx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x1000c0b8
xor ecx, ecx
mov dword [ebp - 0x510], 1
mov dword [ebp - 0x50c], ecx
jmp 0x1000c0c3
xorps xmm0, xmm0
movlpd qword [ebp - 0x510], xmm0
mov ecx, dword [ebp - 0x510]
add ecx, dword [0x1005f130]
mov esi, dword [ebp - 0x50c]
adc esi, dword [0x1005f134]
movsx eax, word [0x1005f114]
cdq
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
and ecx, eax
and esi, edx
movzx eax, word [0x1005f10c]
movsx edx, byte [0x1005f0a5]
xor edx, 0x12
imul eax, edx
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
jmp 0x1000c203
movsx eax, byte [0x1005f077]
test eax, eax
jne 0x1000c12a
mov dword [ebp - 0x28c], 1
jmp 0x1000c134
mov dword [ebp - 0x28c], 0
movzx ecx, word [0x1005f158]
sub ecx, dword [ebp - 0x28c]
je 0x1000c203
movsx edx, word [ebp - 0x1c]
movzx eax, byte [ebp - 0x17]
add edx, eax
movsx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
movzx edx, byte [ebp - 0x17]
mov eax, 4
imul ecx, eax, 0x5d
mov dword [ecx + 0x101492d8], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x9b4], eax
and edx, 0xd6f
mov word [0x1005f0c0], dx
movsx ecx, byte [ebp - 0x14]
movsx edx, byte [0x1005f013]
sub ecx, edx
mov byte [ebp - 0x14], cl
movsx eax, byte [0x1005f013]
test eax, eax
jne 0x1000c1ad
mov dword [ebp - 0x290], 1
jmp 0x1000c1b7
mov dword [ebp - 0x290], 0
movsx eax, word [0x1005f108]
cdq
push edx
push eax
mov ecx, dword [0x1005f0dc]
push ecx
mov edx, dword [0x1005f0d8]
push edx
call fcn.1003a730
not eax
mov ecx, dword [ebp - 0x290]
sub ecx, dword [0x1005f104]
add eax, ecx
mov word [0x1005f15c], ax
movsx eax, byte [0x1005f04f]
cdq
add eax, 0x39835797
adc edx, 0xbfa92
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0xd8]
add edx, 0x73b
mov dword [ebp - 0x29c], edx
mov dword [ebp - 4], 0x10
mov eax, dword [0x1005f0e8]
add eax, 1
mov dword [0x1005f0e8], eax
movsx ecx, word [ebp - 0x20]
movsx edx, byte [ebp - 0x16]
xor ecx, edx
movsx eax, word [ebp - 0x20]
or eax, ecx
mov word [ebp - 0x20], ax
movzx ecx, word [0x1005f138]
sub ecx, 0x1d2f37b8
mov word [0x1005f148], cx
jmp 0x1000c2ac
mov dword [ebp - 4], 0xffffffff
jmp 0x1000c2bc
mov eax, dword [ebp - 0xd8]
add eax, 0x5fa
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x9b8], edx
sub ecx, 0xbc30f2bd
mov byte [ebp - 0x14], cl
movzx eax, word [0x1005f128]
xor eax, 0x11
mov byte [0x1005f013], al
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 5
call fcn.1003a770
mov word [0x1005f138], ax
movsx eax, word [0x1005f114]
cdq
push edx
push eax
mov ecx, dword [0x1005f0ac]
push ecx
mov edx, dword [0x1005f0a8]
push edx
call fcn.1003a730
mov ecx, eax
mov esi, edx
mov eax, dword [0x1005f0d0]
cdq
xor ecx, eax
xor esi, edx
sub ecx, 0xde
sbb esi, 0
not ecx
not esi
mov dword [0x1005f140], ecx
mov dword [0x1005f144], esi
mov edx, dword [0x1005f0f8]
mov eax, 4
imul ecx, eax, 0x69
mov dword [ecx + 0x102c3858], edx
mov edx, dword [ebp - 0xd8]
add edx, 0x4fd
mov dword [ebp - 0xdc], edx
mov dword [ebp - 4], 0x12
movsx eax, byte [ebp - 0x14]
movzx ecx, byte [str.a_StartIdle_]
cmp eax, ecx
jne 0x1000c414
movzx edx, byte [0x1005f0a4]
add edx, 0x1aa53240
mov word [0x1005f148], dx
movsx eax, byte [0x1005f013]
test eax, eax
je 0x1000c3ba
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], edx
jmp 0x1000c3cc
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x1005f130]
sub edx, 0x299743a5
mov eax, dword [0x1005f134]
sbb eax, 0x73b9
mov dword [0x1005f0d8], edx
mov dword [0x1005f0dc], eax
movsx eax, word [ebp - 0x20]
sub eax, 0x7b47
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x1000c5e9
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x780]
or eax, dword [ebp - 0x77c]
je 0x1000c4ca
mov cx, word [0x1005fc3c]
mov word [ebp - 0x28], cx
movsx eax, byte [0x1005f09e]
cdq
mov ecx, 8
imul ecx, ecx, 0xdd
mov dword [ecx + 0x101247a8], eax
mov dword [ecx + 0x101247ac], edx
movsx eax, byte [ebp - 0x13]
cdq
add eax, dword [0x1005f140]
mov dword [ebp - 0x74], eax
mov edx, dword [0x1005f100]
sub edx, 0x98ca
mov byte [0x1005f0a4], dl
cmp dword [ebp - 0x78], 0
je 0x1000c49c
mov eax, dword [0x1005f0a0]
cdq
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
jmp 0x1000c4b3
mov eax, dword [0x1005f0f8]
mov ecx, dword [0x1005f0fc]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], ecx
mov edx, dword [ebp - 0x420]
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp 0x1000c5e9
movzx ecx, byte [ebp - 0x17]
test ecx, ecx
jne 0x1000c50a
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1000c50a
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
jne 0x1000c4ee
mov dword [ebp - 0x294], 1
jmp 0x1000c4f8
mov dword [ebp - 0x294], 0
movsx ecx, word [ebp - 0x20]
not ecx
cmp dword [ebp - 0x294], ecx
jne 0x1000c5e9
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x1000c51e
movzx eax, byte [ebp - 0x15]
mov dword [ebp - 0x298], eax
jmp 0x1000c528
movsx ecx, byte [ebp - 0x14]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x298]
mov dword [0x1005f100], edx
mov eax, dword [ebp - 0x4c]
sub eax, 0xde83ac24
mov dword [ebp - 0x78], eax
movzx ecx, byte [ebp - 0x11]
movsx edx, word [ebp - 0x2c]
imul ecx, edx
test ecx, ecx
jne 0x1000c562
xor eax, eax
mov dword [ebp - 0x788], 1
mov dword [ebp - 0x784], eax
jmp 0x1000c56d
xorps xmm0, xmm0
movlpd qword [ebp - 0x788], xmm0
mov eax, dword [0x1005f0a0]
cdq
mov ebx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x9bc], ecx
add ebx, eax
add ebx, dword [ebp - 0x788]
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
mov edx, dword [0x1005f11c]
sub ecx, dword [0x1005f118]
sbb esi, edx
movsx eax, word [0x1005f0c0]
imul eax, dword [ebp - 0x74]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
sub ebx, eax
not ebx
mov byte [0x1005f09f], bl
mov eax, dword [ebp - 0x74]
sar eax, 5
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov eax, dword [0x1005f0b0]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1003a730
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x1000c61b
mov dword [ebp - 4], 0xffffffff
jmp 0x1000c62b
mov edx, dword [ebp - 0xdc]
or edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x59c]
imul eax, edx
mov ecx, dword [ebp - 0xdc]
imul ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x29c]
sub edx, ecx
cmp eax, edx
je 0x1000c82d
mov dword [ebp - 4], 0x14
mov byte [ebp - 4], 0x15
mov eax, 0x59
mov word [0x1005f0c0], ax
movsx eax, word [0x1005f108]
cdq
push 0xdc843
push 0xc3c3a46f
push edx
push eax
call fcn.1003a730
mov word [0x1005f15c], ax
movzx ecx, byte [ebp - 0x12]
add ecx, 0x73dfbeaf
mov byte [0x1005f076], cl
mov eax, dword [ebp - 0x78]
add eax, 0x77ca
cdq
mov ecx, dword [ebp - 0x60]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
sbb eax, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
jmp 0x1000c760
mov dword [ebp - 4], 0x14
jmp 0x1000c770
jmp 0x1000c7e7
mov dword [ebp - 4], 0xffffffff
jmp 0x1000c7f7
xor ecx, ecx
mov byte [ebp - 0x8a], cl
lea ecx, [ebp - 0x8a]
call fcn.10001840
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
call fcn.1002b250
mov edx, dword [ebp - 0x2a4]
push edx
push 0
push 0
call fcn.10001380
call eax
mov dword [ebp - 4], 0x18
mov eax, dword [0x1005f140]
or eax, dword [0x1005f144]
jne 0x1000c84d
mov dword [ebp - 0x2a8], 1
jmp 0x1000c857
mov dword [ebp - 0x2a8], 0
movsx eax, word [0x1005f114]
and eax, dword [ebp - 0x2a8]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x13]
cdq
mov edi, eax
mov ebx, edx
add edi, dword [0x1005f0f0]
adc ebx, dword [0x1005f0f4]
not edi
not ebx
mov eax, dword [ebp - 0x4c]
not eax
mov edx, dword [ebp - 0x48]
not edx
mov dword [ebp - 0x5a8], ecx
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x5a0], eax
mov eax, ecx
mov dword [ebp - 0x5a4], edx
cdq
mov ecx, dword [ebp - 0x5a0]
sub ecx, eax
mov eax, dword [ebp - 0x5a4]
sbb eax, edx
not ecx
not eax
add edi, ecx
adc ebx, eax
push ebx
push edi
push esi
mov ecx, dword [ebp - 0x5a8]
push ecx
call fcn.1003a730
mov dword [0x1005f104], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub edx, 0x86ff1f23
sbb eax, 0
mov dword [0x1005f150], edx
mov dword [0x1005f154], eax
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
push 0
push 0xddaa69c0
push edx
push ecx
call fcn.1003a730
mov byte [0x1005f0a5], al
mov eax, dword [ebp - 0x74]
and eax, dword [0x1005f0e8]
mov dword [0x1005f0e8], eax
movsx eax, byte [0x1005f076]
add eax, 0xf9
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x74]
sub ecx, 0x33bc97c
mov byte [0x1005f09e], cl
jmp 0x1000c9a9
mov dword [ebp - 4], 0xffffffff
jmp 0x1000c9b9
xor ecx, ecx
mov byte [ebp - 0x89], cl
lea ecx, [ebp - 0x89]
call fcn.10001920
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2ac]
call fcn.1002b550
mov edx, dword [ebp - 0x2ac]
push edx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x78c], edx
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x78c]
jl 0x1000ca22
jg 0x1000ca1d
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x790]
jb 0x1000ca22
jmp 0x1000caa6
mov byte [0x1005f09f], 1
mov edx, dword [0x1005f160]
mov eax, dword [0x1005f164]
add edx, 0x7263be55
adc eax, 0xa7a54
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
movzx ecx, byte [ebp - 0x15]
shl ecx, 1
mov word [0x1005f15c], cx
movsx edx, byte [0x1005f013]
movsx eax, byte [0x1005f09e]
add edx, eax
mov byte [0x1005f013], dl
movzx ecx, byte [0x1005f09f]
test ecx, ecx
je 0x1000ca82
movsx edx, word [0x1005f114]
mov dword [ebp - 0x2b0], edx
jmp 0x1000ca8f
movzx eax, word [0x1005f128]
mov dword [ebp - 0x2b0], eax
mov cx, word [ebp - 0x2b0]
mov word [ebp - 0x2c], cx
mov edx, 0x18
mov word [0x1005f10c], dx
mov eax, dword [ebp - 0x2b4]
imul eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x5ac]
je 0x1000d95f
mov dword [ebp - 4], 0x1a
movsx ecx, word [0x1005f0c0]
test ecx, ecx
je 0x1000cc3f
mov dword [ebp - 0xe4], 0x2e
movzx eax, byte [0x1005f09f]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
push edx
push eax
push esi
push ecx
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
movzx edx, byte [0x1005f09f]
mov eax, dword [ebp - 0x50]
add eax, edx
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x50], ecx
movsx edx, byte [0x1005f09e]
mov dword [0x1005f0a0], edx
movsx eax, byte [ebp - 0x13]
imul eax, dword [0x1005f104]
mov dword [0x1005f104], eax
mov dword [ebp - 0xe0], 0
jmp 0x1000cb64
mov ecx, dword [ebp - 0xe0]
add ecx, 2
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xe0], 0x94
jge 0x1000cc20
movsx eax, word [0x1005f0e0]
cdq
push edx
push eax
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.1003a730
mov byte [0x1005f03b], al
movzx eax, word [0x1005f128]
cdq
mov esi, eax
xor esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x70]
mov edi, dword [ebp - 0x6c]
push edx
push eax
push edi
push ecx
call fcn.1003a730
xor esi, eax
movsx eax, word [ebp - 0x1c]
movsx edx, byte [0x1005f076]
or eax, edx
cdq
xor esi, eax
mov dword [0x1005f0e8], esi
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
sub ecx, eax
sbb esi, edx
mov dword [0x1005f120], ecx
mov dword [0x1005f124], esi
mov eax, dword [0x1005f0e8]
sub eax, 0xbd
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dx, word [ebp - 0x28]
add dx, 1
mov word [ebp - 0x28], dx
jmp 0x1000cb55
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x11ae
jl 0x1000cb49
jmp 0x1000ccb4
mov dword [ebp - 4], 0xffffffff
jmp 0x1000ccc4
movsx eax, byte [0x1005f03b]
shl eax, 7
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
mov dword [ebp - 0x50], 0x772
movsx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x78]
lea edx, [eax + ecx + 0x94]
mov word [ebp - 0x2c], dx
cmp dword [ebp - 0x5b0], 0
jne 0x1000d95f
mov dword [ebp - 4], 0x1c
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x78], 4
movsx eax, byte [0x1005f077]
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
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0x9cc], edx
add eax, ecx
mov byte [ebp - 0x17], al
movsx eax, byte [0x1005f09e]
imul ecx, eax, 0x9b7d
movsx edx, word [ebp - 0x20]
add edx, ecx
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x9d0], ecx
xor eax, 0x2aa99e89
mov word [0x1005f108], ax
movzx eax, byte [0x1005f09f]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, eax
sub ecx, dword [0x1005f0a8]
movzx eax, byte [ebp - 0x15]
cdq
add eax, ecx
mov byte [ebp - 0x15], al
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 4
ja case.default.0x1000cdd9
mov eax, dword [ebp - 0x2b8]
jmp dword [eax*4 + 0x10010d1c]
movsx eax, word [ebp - 0x28]
add eax, 0xce
cdq
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
movzx ecx, byte [ebp - 0x17]
shl ecx, 5
mov word [0x1005f15c], cx
xor edx, edx
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x40], edx
jmp case.default.0x1000cdd9
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0x1ebb
mov byte [0x1005f04f], cl
mov edx, dword [ebp - 0x60]
add edx, 0x6849576b
mov byte [0x1005f04f], dl
mov al, byte [0x1005f104]
mov byte [0x1005f09f], al
mov byte [0x1005f09f], 0xdc
jmp case.default.0x1000cdd9
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x9d4], edx
sub ecx, 0x29d73fa4
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x50]
add eax, dword [0x1005f100]
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [ebp - 0x50], ecx
mov eax, dword [0x1005f0c8]
mov edx, dword [0x1005f0cc]
mov cl, 5
call fcn.1003a770
mov word [0x1005f0c0], ax
movzx eax, word [0x1005f128]
sub eax, 0xf9
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp case.default.0x1000cdd9
imul edx, dword [0x1005f100], 0x56
mov word [0x1005f158], dx
movzx eax, byte [ebp - 0x11]
add eax, 0xbc0e
mov byte [0x1005f09f], al
mov ecx, dword [0x1005f140]
or ecx, dword [0x1005f144]
je 0x1000cee3
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
mov dword [ebp - 0x520], edx
mov dword [ebp - 0x51c], eax
jmp 0x1000cef7
movsx eax, byte [0x1005f076]
cdq
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
mov cx, word [ebp - 0x520]
mov word [ebp - 0x24], cx
movsx edx, byte [0x1005f013]
imul eax, edx, 0x72f1
mov word [0x1005f0c0], ax
mov cx, word [0x1005f0e0]
mov word [ebp - 0x1c], cx
jmp case.default.0x1000cdd9
movsx eax, word [0x1005f0c0]
cdq
push 0x8ead7
push 0x36dc1d62
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0e4], eax
mov dx, word [0x1005f108]
add dx, 1
mov word [0x1005f108], dx
movsx eax, byte [ebp - 0x16]
cdq
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x9d8], ecx
sub ebx, eax
movzx eax, word [0x1005f10c]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push edx
push eax
push esi
push ecx
call fcn.1003a730
xor ebx, eax
mov byte [ebp - 0x12], bl
jmp 0x1000d067
mov dword [ebp - 4], 0x1c
jmp 0x1000d077
jmp 0x1000d10f
mov dword [ebp - 4], 0xffffffff
jmp 0x1000d11f
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xe8], edx
movsx eax, byte [ebp - 0x16]
movzx ecx, word [ebp - 0x24]
lea edx, [ecx + eax - 0x2a2c4162]
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 0x11]
movsx edx, word [ebp - 0x1c]
sub eax, edx
movzx ecx, word [0x1005f148]
movsx edx, word [ebp - 0x28]
mov esi, dword [ebp - 0x50]
imul esi, edx
add ecx, esi
not ecx
or eax, ecx
not eax
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
mov eax, dword [ebp - 0x58]
not eax
add eax, dword [ebp - 0x4c]
mov word [0x1005f0e0], ax
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov ecx, dword [0x1005f0d8]
xor ecx, 0xac073110
movsx eax, word [ebp - 0x1c]
cdq
and eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0xe8]
add edx, 0x6f7
mov dword [ebp - 0x5bc], edx
mov al, byte [0x1005f0b4]
mov byte [ebp - 0x15], al
movzx ecx, byte [ebp - 0x12]
movsx edx, byte [0x1005f013]
sub ecx, edx
mov byte [ebp - 0x12], cl
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x34]
sbb esi, edx
movsx eax, word [ebp - 0x1c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x1c], ax
mov eax, 0x1f12
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0xe8]
add ecx, 0x598
mov dword [ebp - 0x5b8], ecx
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], edx
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7a4], esi
mov edx, dword [ebp - 0x79c]
cmp edx, dword [ebp - 0x7a4]
jl 0x1000d282
jg 0x1000d276
mov eax, dword [ebp - 0x7a0]
cmp eax, dword [ebp - 0x7a8]
jbe 0x1000d282
mov dword [ebp - 0x2c0], 1
jmp 0x1000d28c
mov dword [ebp - 0x2c0], 0
movsx ecx, byte [ebp - 0x14]
cmp ecx, 4
jle 0x1000d2a1
mov dword [ebp - 0x2c4], 1
jmp 0x1000d2ab
mov dword [ebp - 0x2c4], 0
mov edx, dword [ebp - 0x2c0]
cmp edx, dword [ebp - 0x2c4]
jg 0x1000d4e8
movsx eax, word [ebp - 0x1c]
not eax
movsx ecx, word [0x1005f0e0]
cmp eax, ecx
jge 0x1000d476
mov edx, dword [0x1005f100]
xor eax, eax
mov dword [ebp - 0x7b0], edx
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7ac]
cmp ecx, dword [0x1005f0bc]
ja 0x1000d3cd
jb 0x1000d30c
mov edx, dword [ebp - 0x7b0]
cmp edx, dword [0x1005f0b8]
jae 0x1000d3cd
xor eax, eax
mov word [ebp - 0x20], ax
mov eax, dword [0x1005f0d0]
sub eax, dword [0x1005f0e4]
cdq
mov dword [0x1005f118], eax
mov dword [0x1005f11c], edx
mov eax, dword [ebp - 0x74]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x74]
cdq
add eax, ecx
mov dword [ebp - 0x74], eax
movsx edx, word [ebp - 0x28]
imul eax, edx, 0x134e
not eax
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ax, word [0x1005f110]
mov word [0x1005f148], ax
movsx ecx, word [ebp - 0x20]
mov dword [ebp - 0x5b4], ecx
cmp dword [ebp - 0x5b4], 0
je 0x1000d36f
jmp 0x1000d3c8
mov eax, dword [ebp - 0x78]
cdq
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x9f0], ecx
sub eax, edx
mov dword [ebp - 0x78], eax
movzx eax, word [0x1005f10c]
xor eax, 0x44
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx edx, byte [ebp - 0x16]
add edx, 0x96
mov word [0x1005f158], dx
movzx eax, word [0x1005f138]
sub eax, 0x7fe474c8
movzx ecx, word [0x1005f0ec]
sub ecx, eax
mov word [0x1005f0ec], cx
jmp 0x1000d474
movzx edx, word [0x1005f128]
test edx, edx
je 0x1000d474
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [0x1005f076]
add eax, ecx
cdq
mov ebx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0x9f4], edx
add ebx, eax
not ebx
movzx eax, word [0x1005f138]
cdq
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x9f8], ecx
sub esi, eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
not edx
not eax
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x58]
push ecx
push eax
push edx
call fcn.1003a730
add esi, eax
add ebx, esi
not ebx
mov byte [ebp - 0x13], bl
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x1005f0f8]
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x9fc], eax
add edx, 0xdb
mov word [0x1005f148], dx
movzx ecx, word [0x1005f148]
movzx edx, byte [ebp - 0x12]
add ecx, edx
mov word [0x1005f148], cx
jmp 0x1000d4e3
cmp dword [ebp - 0x74], 0
jne 0x1000d4e3
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
je 0x1000d4e3
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x68]
sbb esi, edx
movsx eax, byte [ebp - 0x16]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x16], al
movsx eax, word [0x1005f110]
mov ecx, dword [0x1005f0b0]
xor ecx, eax
mov edx, dword [0x1005f0b0]
imul edx, ecx
mov dword [0x1005f0b0], edx
movsx eax, word [0x1005f108]
sub eax, 0x237998fa
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ax, word [ebp - 0x1c]
add ax, 1
mov word [ebp - 0x1c], ax
jmp 0x1000d5d1
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x7b8], ecx
mov dword [ebp - 0x7b4], edx
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x7bc], esi
mov ecx, dword [ebp - 0x7b4]
cmp ecx, dword [ebp - 0x7bc]
ja 0x1000d5d1
jb 0x1000d532
mov edx, dword [ebp - 0x7b8]
cmp edx, dword [ebp - 0x7c0]
ja 0x1000d5d1
mov eax, dword [ebp - 0x4c]
add eax, 0xd8321f0b
mov word [0x1005f108], ax
push 0x7f1c9
push 0x879056a2
mov ecx, dword [0x1005f0fc]
push ecx
mov edx, dword [0x1005f0f8]
push edx
call fcn.1003a730
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], edx
movsx eax, byte [0x1005f013]
cdq
mov ecx, eax
add ecx, 0x76ba013f
mov eax, dword [0x1005f0e8]
cdq
and eax, ecx
mov dword [0x1005f0e8], eax
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
mov ecx, dword [0x1005f0bc]
push ecx
mov ecx, dword [0x1005f0b8]
push ecx
push eax
push edx
call fcn.1003a730
mov ecx, eax
mov eax, dword [ebp - 0x78]
cdq
add ecx, eax
mov dword [ebp - 0x7c], ecx
mov edx, dword [0x1005fc3c]
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movzx ecx, byte [0x1005f0a4]
sub ecx, 0xfb8d
mov byte [str._CpuC3StatesChanges], cl
mov edx, dword [ebp - 0xe8]
add edx, 0x5de
mov dword [ebp - 0x2c8], edx
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x1000d699
mov ecx, dword [0x1005f140]
or ecx, dword [0x1005f144]
jne 0x1000d611
xor edx, edx
mov dword [ebp - 0x7c8], 1
mov dword [ebp - 0x7c4], edx
jmp 0x1000d61c
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c8], xmm0
movsx eax, byte [0x1005f0a5]
movzx ecx, byte [0x1005f09f]
add eax, ecx
cdq
mov edx, dword [ebp - 0x7c8]
and edx, dword [0x1005f130]
sub eax, edx
mov dword [0x1005f0b0], eax
movzx eax, byte [0x1005f0a4]
cdq
add eax, dword [0x1005f0f8]
mov byte [0x1005f0a4], al
mov ax, word [0x1005f0ec]
sub ax, 1
mov word [0x1005f0ec], ax
mov ecx, dword [0x1005fc3c]
mov dword [0x1005f0e4], ecx
movzx eax, byte [0x1005f0a4]
cdq
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xa00], ecx
sub edx, eax
mov word [0x1005f128], dx
movzx eax, byte [ebp - 0x11]
cdq
xor eax, 0x4e921f85
mov byte [ebp - 0x17], al
mov edx, dword [ebp - 0x5b8]
sub edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x5bc]
sub eax, dword [ebp - 0x2c8]
cmp edx, eax
je 0x1000d95f
cmp dword [ebp - 0x78], 0
je 0x1000d859
mov dword [ebp - 4], 0x20
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0
push 0x493e
push edx
push ecx
call fcn.1003a730
mov word [ebp - 0x2c], ax
mov eax, dword [0x1005f140]
mov dword [0x1005f0b0], eax
cmp dword [0x1005f100], 0
jne 0x1000d701
mov dword [ebp - 0x2cc], 1
jmp 0x1000d70b
mov dword [ebp - 0x2cc], 0
movzx ecx, byte [0x1005f0a4]
mov esi, dword [0x1005f0b0]
sub esi, ecx
add esi, dword [ebp - 0x2cc]
xor edi, edi
movzx eax, word [0x1005f148]
cdq
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x7c]
cdq
mov dword [ebp - 0x5c0], esi
mov esi, dword [0x1005f0f0]
sub esi, eax
mov eax, dword [0x1005f0f4]
sbb eax, edx
push eax
push esi
push ebx
push ecx
call fcn.1003a730
push edx
push eax
push edi
mov esi, dword [ebp - 0x5c0]
push esi
call fcn.1003a730
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x17]
mov edx, dword [ebp - 0x74]
xor edx, ecx
mov eax, dword [ebp - 0x74]
add eax, edx
mov dword [ebp - 0x74], eax
jne 0x1000d781
mov dword [ebp - 0x2d0], 1
jmp 0x1000d78b
mov dword [ebp - 0x2d0], 0
mov ecx, dword [ebp - 0x4c]
not ecx
mov esi, dword [ebp - 0x48]
not esi
movzx eax, byte [ebp - 0x17]
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x12]
cdq
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0xa04], esi
add edx, eax
add ecx, edx
movzx eax, byte [ebp - 0x17]
movzx edx, byte [ebp - 0x15]
mov esi, dword [ebp - 0x2d0]
sub esi, edx
not esi
lea eax, [eax + esi + 0x15]
cdq
add ecx, eax
mov word [0x1005f128], cx
movzx eax, byte [ebp - 0x17]
test eax, eax
je 0x1000d7f2
mov cx, word [0x1005f158]
mov word [ebp - 0x9c], cx
jmp 0x1000d800
mov dx, word [0x1005f128]
mov word [ebp - 0x9c], dx
movzx eax, word [ebp - 0x9c]
mov dword [0x1005f100], eax
jmp 0x1000d844
mov dword [ebp - 4], 0xffffffff
jmp 0x1000d854
jmp 0x1000d929
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], edx
cmp dword [ebp - 0x7cc], 0xd94ee
jg 0x1000d929
jl 0x1000d88c
cmp dword [ebp - 0x7d0], 0xf4275b7f
ja 0x1000d929
movzx edx, byte [ebp - 0x11]
and edx, dword [0x1005f104]
mov byte [ebp - 0x11], dl
movsx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x7c]
imul ecx, eax
mov edx, dword [ebp - 0x7c]
add edx, ecx
mov dword [ebp - 0x7c], edx
mov ax, word [0x1005fc3c]
mov word [0x1005f110], ax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x3c]
sbb esi, edx
movsx eax, byte [ebp - 0x13]
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movsx eax, byte [ebp - 0x16]
test eax, eax
jne 0x1000d8ed
mov dword [ebp - 0x2d4], 1
jmp 0x1000d8f7
mov dword [ebp - 0x2d4], 0
movsx ecx, word [ebp - 0x20]
xor ecx, dword [ebp - 0x2d4]
mov byte [0x1005f013], cl
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xa08], edx
add ecx, 0x30defa90
movsx eax, word [0x1005f15c]
cdq
sub eax, ecx
mov word [0x1005f15c], ax
xor eax, eax
mov byte [ebp - 0x88], al
lea ecx, [ebp - 0x88]
call fcn.10001a10
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x2d8]
call fcn.1002b590
mov ecx, dword [ebp - 0x2d8]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x7d8], edx
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d8]
or ecx, dword [ebp - 0x7d4]
je 0x1000da29
mov dword [ebp - 4], 0x22
jmp 0x1000da17
mov dword [ebp - 4], 0xffffffff
jmp 0x1000da27
jmp 0x1000da81
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1000da81
mov ecx, dword [0x1005f100]
not ecx
movzx edx, byte [ebp - 0x15]
sub ecx, edx
mov word [0x1005f0c0], cx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x1005fc3c]
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
movsx eax, byte [0x1005f03b]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov byte [0x1005f0a5], 1
xor eax, eax
mov byte [ebp - 0x8f], al
lea ecx, [ebp - 0x8f]
call fcn.10001b00
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
call fcn.1002b510
mov ecx, dword [ebp - 0x2dc]
push ecx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x5cc], eax
movsx edx, byte [0x1005f03b]
movsx eax, word [ebp - 0x1c]
add edx, eax
movsx ecx, byte [0x1005f03b]
add ecx, edx
mov byte [0x1005f03b], cl
mov eax, dword [0x1005f0e8]
cdq
sub eax, 0x56e1b0f6
sbb edx, 0xfeebb
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
movsx edx, byte [ebp - 0x16]
movsx eax, byte [0x1005f076]
add edx, eax
movsx ecx, byte [ebp - 0x16]
imul ecx, edx
mov byte [ebp - 0x16], cl
movsx edx, byte [ebp - 0x14]
sub edx, 0x74
mov dword [ebp - 0x74], edx
movsx eax, word [0x1005f114]
not eax
mov word [ebp - 0x20], ax
imul ecx, dword [ebp - 0x5c4], 0x27f
cmp ecx, dword [ebp - 0x5c8]
je 0x1000e512
mov dx, word [ebp - 0x28]
mov word [ebp - 0x28], dx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov edx, dword [0x1005f11c]
sub eax, dword [0x1005f118]
sbb ecx, edx
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], esi
mov eax, dword [ebp - 0x58]
sub eax, 0x71ec19a
mov ecx, dword [ebp - 0x54]
sbb ecx, 0
mov dword [0x1005f0f0], eax
mov dword [0x1005f0f4], ecx
mov byte [str.a_StartIdle_], 0xe3
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0xec], edx
movzx eax, byte [ebp - 0x12]
mov ecx, 0xffff5148
sub ecx, eax
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
push 0xffffffffffffffff
push 0xffffff08
mov edx, dword [0x1005f134]
push edx
mov eax, dword [0x1005f130]
push eax
call fcn.1003a730
add eax, 0xcc7df3
adc edx, 0
add esi, eax
adc edi, edx
mov dword [ebp - 0x7e0], esi
mov dword [ebp - 0x7dc], edi
mov ecx, dword [ebp - 0x7e0]
or ecx, dword [ebp - 0x7dc]
jne 0x1000dbe8
mov byte [ebp - 0x7d], 1
jmp 0x1000dbec
mov byte [ebp - 0x7d], 0
mov dl, byte [ebp - 0x7d]
mov byte [0x1005f04f], dl
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x74]
add edx, 0xcefb
mov byte [0x1005f09e], dl
mov eax, dword [ebp - 0xec]
add eax, 0x88fc
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xa10], edx
add ecx, 0x54
mov word [0x1005f0e0], cx
movsx eax, byte [0x1005f013]
cdq
mov ecx, eax
add ecx, dword [0x1005f130]
movsx eax, byte [0x1005f013]
cdq
sub eax, ecx
mov byte [0x1005f013], al
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp - 0x15]
lea ecx, [eax + edx + 0x4623]
mov byte [ebp - 0x15], cl
movzx eax, word [0x1005f158]
cdq
xor eax, 0x80493014
mov byte [ebp - 0x16], al
mov edx, dword [ebp - 0xec]
add edx, 0x553
mov dword [ebp - 0xa14], edx
xor eax, eax
mov dword [0x1005f0c8], 0x76
mov dword [0x1005f0cc], eax
movzx eax, byte [ebp - 0x12]
add eax, 0x3d324f7f
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, 0xffffdfca
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0xec]
add edx, 0x8aae
mov dword [ebp - 0xa18], edx
movsx eax, word [0x1005f0c0]
movsx ecx, word [ebp - 0x20]
cmp eax, ecx
jne 0x1000dcef
mov dword [ebp - 0x2e0], 1
jmp 0x1000dcf9
mov dword [ebp - 0x2e0], 0
movsx edx, word [0x1005f0c0]
cmp edx, 0x1f
jne 0x1000dd11
mov dword [ebp - 0x2e4], 1
jmp 0x1000dd1b
mov dword [ebp - 0x2e4], 0
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x2e4]
jne 0x1000dd95
xor ecx, ecx
mov dword [ebp - 0x70], 0xbd
mov dword [ebp - 0x6c], ecx
movsx eax, byte [0x1005f09e]
xor eax, 0xe008
cdq
mov dword [0x1005f150], eax
mov dword [0x1005f154], edx
movsx edx, byte [0x1005f09e]
sub edx, 0xc001
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [0x1005f140], eax
mov dword [0x1005f144], ecx
movsx eax, word [0x1005f108]
cdq
push 0xeba2c
push 0xb12b4349
push edx
push eax
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
jmp 0x1000ddf7
movzx edx, byte [str.a_StartIdle_]
test edx, edx
jne 0x1000ddf7
mov ecx, dword [0x1005f130]
sub ecx, 0xd94f815f
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
movsx edx, byte [ebp - 0x13]
mov eax, dword [0x1005f0d0]
add eax, dword [0x1005f0e8]
sub edx, eax
movsx ecx, word [ebp - 0x1c]
add ecx, 0x428cf5c7
imul edx, ecx
mov dword [0x1005f100], edx
mov edx, dword [0x1005f0c8]
sub edx, 1
mov eax, dword [0x1005f0cc]
sbb eax, 0
mov dword [0x1005f0c8], edx
mov dword [0x1005f0cc], eax
mov dword [ebp - 0xf4], 0x2f
mov eax, dword [0x1005f0a0]
cdq
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
mov eax, dword [0x1005f0a0]
cdq
sub eax, ecx
mov dword [0x1005f0a0], eax
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
mov dword [ebp - 0x7e8], edx
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7e8]
or ecx, dword [ebp - 0x7e4]
je 0x1000de60
mov dx, word [0x1005f0ec]
mov word [ebp - 0x9e], dx
jmp 0x1000de6d
mov ax, word [0x1005f158]
mov word [ebp - 0x9e], ax
movzx eax, word [ebp - 0x9e]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0xa1f49d29
mov dl, byte [ebp - 0x11]
mov ecx, eax
shl dl, cl
mov byte [ebp - 0x11], dl
push 0
push 0xf417
mov eax, dword [0x1005f0ac]
push eax
mov ecx, dword [0x1005f0a8]
push ecx
call fcn.1003a730
mov byte [0x1005f03b], al
movsx edx, byte [0x1005f076]
imul edx, dword [ebp - 0x74]
mov byte [0x1005f076], dl
mov dword [ebp - 0xf0], 0x21a
jmp 0x1000ded9
mov eax, dword [ebp - 0xf0]
sub eax, 1
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
jle 0x1000def3
mov ecx, dword [0x1005f100]
add ecx, 1
mov dword [0x1005f100], ecx
jmp 0x1000deca
mov edx, dword [ebp - 0xf4]
add edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0x257b
jl 0x1000debe
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e8]
add eax, 0x363
mov dword [ebp - 0x5d0], eax
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x12]
cmp ecx, edx
jg 0x1000dfd2
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0xa1c], edx
add ecx, 0xc1ac
movsx eax, word [0x1005f0c0]
cdq
sub ecx, eax
mov word [0x1005f0e0], cx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
push 0
push 0x3d
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx edx, byte [ebp - 0x15]
movsx eax, word [ebp - 0x28]
lea ecx, [eax + edx - 0xe8]
mov word [ebp - 0x28], cx
xor edx, edx
mov dword [ebp - 0x4c], 0xab1d
mov dword [ebp - 0x48], edx
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
mov edx, dword [0x1005f0dc]
push edx
mov edx, dword [0x1005f0d8]
push edx
push ecx
push eax
call fcn.1003a730
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
sub ecx, eax
sbb esi, edx
mov dword [0x1005f118], ecx
mov dword [0x1005f11c], esi
jmp 0x1000e042
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x78], edx
mov eax, 1
imul ecx, eax, 3
mov dl, byte [0x1005f138]
mov byte [ecx + 0x100e2cd0], dl
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
sub ecx, dword [0x1005f150]
movzx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
movsx edx, word [0x1005f0e0]
movzx eax, word [ebp - 0x24]
sub edx, eax
movsx ecx, word [0x1005f0e0]
imul ecx, edx
mov word [0x1005f0e0], cx
mov edx, 8
imul eax, edx, 0x49
mov cl, byte [eax + 0x10075828]
mov byte [0x1005f0a5], cl
mov edx, 0x4ba
mov word [ebp - 0x1c], dx
cmp dword [ebp - 0x5cc], 0
jne 0x1000e512
mov dword [ebp - 0xf8], 0x20
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
sub ecx, dword [0x1005f130]
movzx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
movsx eax, byte [ebp - 0x13]
cdq
add eax, 0x4dfb01ce
adc edx, 0xb3d23
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sbb eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [0x1005f0a8]
mov edx, dword [ebp - 0x48]
sbb edx, dword [0x1005f0ac]
mov eax, dword [ebp - 0x4c]
sub eax, ecx
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx eax, word [0x1005f10c]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [0x1005f140]
sub ecx, eax
mov eax, dword [0x1005f144]
sbb eax, edx
mov dword [0x1005f140], ecx
mov dword [0x1005f144], eax
movsx eax, byte [ebp - 0x16]
add eax, 0x36
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
add ecx, eax
adc esi, edx
mov dword [0x1005f120], ecx
mov dword [0x1005f124], esi
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0xbbef
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0xf8]
add ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0x424
jl 0x1000e0f3
movsx edx, byte [ebp - 0x16]
movsx eax, byte [ebp - 0x16]
cmp edx, eax
je 0x1000e277
mov dword [ebp - 0xfc], 0
jmp 0x1000e16a
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0x69
jge 0x1000e277
movsx eax, byte [ebp - 0x13]
cdq
push 0x1dcfe
push 0x1d8b918d
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x1c], ax
mov byte [0x1005f0a4], 0x59
movzx edx, word [0x1005f158]
mov eax, 0xdae78654
sub eax, edx
jne 0x1000e1bc
xor ecx, ecx
mov dword [ebp - 0x528], 1
mov dword [ebp - 0x524], ecx
jmp 0x1000e1c7
xorps xmm0, xmm0
movlpd qword [ebp - 0x528], xmm0
movzx eax, word [0x1005f138]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
sub ecx, eax
sbb esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x528]
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, byte [ebp - 0x13]
cdq
sub ecx, eax
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
push 0
push 0x9128a57
push eax
push edx
call fcn.1003a730
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx eax, byte [str.a_StartIdle_]
sub eax, 0xac
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub edx, dword [0x1005f0b8]
sbb eax, dword [0x1005f0bc]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
add ecx, 1
adc edx, 0
mov dword [0x1005f118], ecx
mov dword [0x1005f11c], edx
jmp 0x1000e15b
mov eax, dword [0x1005fc3c]
mov dword [ebp - 0x100], eax
movsx ecx, byte [0x1005f0a5]
movsx edx, word [ebp - 0x2c]
movzx eax, word [ebp - 0x24]
imul edx, eax
xor ecx, edx
mov dword [0x1005f100], ecx
mov eax, dword [0x1005f0a0]
cdq
sub eax, dword [0x1005f0d8]
mov dword [0x1005f0a0], eax
mov ecx, dword [0x1005f100]
xor edx, edx
push 0xeabe
push 0xe2582107
push edx
push ecx
call fcn.1003a730
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x100]
add eax, 0x5e3
mov dword [ebp - 0xa20], eax
movsx eax, byte [ebp - 0x14]
cdq
add eax, 0xc31f64c3
mov word [0x1005f0ec], ax
movsx eax, byte [0x1005f0a5]
add eax, 0x6a3541b4
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, 4
imul edx, ecx, 0x731
mov ax, word [edx + 0x10101570]
mov word [0x1005f0e0], ax
mov ecx, dword [0x1005f0b0]
sub ecx, dword [0x1005f104]
jne 0x1000e332
mov dword [ebp - 0x2f0], 1
jmp 0x1000e33c
mov dword [ebp - 0x2f0], 0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x7f0], edx
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x7f0]
or ecx, dword [ebp - 0x7ec]
jne 0x1000e368
mov dword [ebp - 0x2ec], 1
jmp 0x1000e372
mov dword [ebp - 0x2ec], 0
mov edx, dword [ebp - 0x2ec]
sub edx, dword [0x1005f0e8]
mov eax, dword [ebp - 0x2f0]
sub eax, edx
jne 0x1000e394
mov dword [ebp - 0x2f4], 1
jmp 0x1000e39e
mov dword [ebp - 0x2f4], 0
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x7c], ecx
xor edx, edx
mov dword [0x1005f118], 0x973fa388
mov dword [0x1005f11c], edx
mov eax, dword [ebp - 0x100]
add eax, 0x606
mov dword [ebp - 0x2f8], eax
mov ecx, dword [0x1005f150]
sub ecx, 0x86ba
mov byte [ebp - 0x14], cl
movzx edx, byte [0x1005f0a4]
sub edx, 0x94
mov byte [ebp - 0x11], dl
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x100]
add edx, 0x626
mov dword [ebp - 0x2fc], edx
mov ecx, 9
mov esi, 0x1004d75c
lea edi, [ebp - 0xb44]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0xb44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x1005f110], ax
mov ecx, dword [ebp - 0x5d0]
imul ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ebp - 0x2fc]
imul eax, dword [ebp - 0x2fc], 0x378
sub edx, eax
cmp ecx, edx
je 0x1000e512
movsx ecx, word [ebp - 0x2c]
movzx edx, word [0x1005f0ec]
imul ecx, edx
mov word [ebp - 0x2c], cx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0xa24], edx
add ecx, 0x4ca9
movsx eax, word [0x1005f15c]
cdq
sub eax, ecx
mov word [0x1005f15c], ax
cmp dword [0x1005f0d0], 0
je 0x1000e4b2
mov eax, dword [0x1005f0c8]
mov ecx, dword [0x1005f0cc]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], ecx
jmp 0x1000e4c4
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x428]
mov edx, dword [ebp - 0x424]
mov dword [0x1005f150], ecx
mov dword [0x1005f154], edx
xor eax, eax
mov byte [ebp - 0x91], al
lea ecx, [ebp - 0x91]
call fcn.10001d80
mov dword [ebp - 0x300], eax
mov ecx, dword [ebp - 0x300]
call fcn.1002b390
mov ecx, dword [ebp - 0x300]
push ecx
push 0
push 0
call fcn.10001380
call eax
mov dword [ebp - 0x104], 0
jmp 0x1000e52d
mov edx, dword [ebp - 0x104]
add edx, 1
mov dword [ebp - 0x104], edx
cmp dword [ebp - 0x104], 0x378
jge 0x1000e6e8
mov eax, dword [0x1005f0a8]
or eax, dword [0x1005f0ac]
je 0x1000e653
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x7f8], eax
mov dword [ebp - 0x7f4], edx
mov ecx, dword [0x1005f154]
cmp ecx, dword [ebp - 0x7f4]
ja 0x1000e651
jb 0x1000e585
mov edx, dword [0x1005f150]
cmp edx, dword [ebp - 0x7f8]
ja 0x1000e651
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x800]
or edx, dword [ebp - 0x7fc]
jne 0x1000e5b6
mov dword [ebp - 0x304], 1
jmp 0x1000e5c0
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x808], ecx
mov dword [ebp - 0x804], esi
mov edx, dword [ebp - 0x808]
or edx, dword [ebp - 0x804]
jne 0x1000e5f4
mov dword [ebp - 0x308], 1
jmp 0x1000e5fe
mov dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x304]
imul eax, dword [ebp - 0x308]
movsx ecx, word [ebp - 0x20]
movzx edx, byte [ebp - 0x12]
imul edx, dword [ebp - 0x50]
not edx
sub ecx, edx
sub eax, ecx
mov byte [ebp - 0x11], al
mov al, byte [0x1005fc3c]
mov byte [ebp - 0x12], al
movzx eax, word [0x1005f138]
cdq
xor eax, 0x29651e8f
xor edx, 0x52a01
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
movzx ecx, byte [ebp - 0x17]
sar ecx, 2
mov word [ebp - 0x28], cx
jmp 0x1000e6c7
mov edx, 1
imul eax, edx, 0x223d
movzx eax, byte [eax + 0x10331f28]
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx ecx, word [ebp - 0x1c]
movsx edx, byte [0x1005f0a5]
and ecx, edx
mov word [ebp - 0x1c], cx
movzx eax, byte [ebp - 0x11]
movsx ecx, byte [0x1005f076]
xor eax, ecx
mov edx, 0xa9663b60
sub edx, eax
movzx eax, byte [ebp - 0x15]
sub eax, 0xc335
not eax
add eax, dword [ebp - 0x74]
not eax
xor edx, eax
jne 0x1000e6b0
mov byte [ebp - 0x7e], 1
jmp 0x1000e6b4
mov byte [ebp - 0x7e], 0
mov cl, byte [ebp - 0x7e]
mov byte [ebp - 0x17], cl
mov edx, dword [0x1005f0e4]
shl edx, 8
mov word [ebp - 0x20], dx
mov eax, dword [0x1005f118]
mov ecx, dword [0x1005f11c]
add eax, 1
adc ecx, 0
mov dword [0x1005f118], eax
mov dword [0x1005f11c], ecx
jmp 0x1000e51e
xor edx, edx
mov byte [ebp - 0x90], dl
lea ecx, [ebp - 0x90]
call fcn.10001f90
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x30c]
call fcn.1002b110
mov eax, dword [ebp - 0x30c]
push eax
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x5d4], eax
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x1000e85b
movsx edx, byte [0x1005f013]
test edx, edx
je 0x1000e85b
movsx eax, word [ebp - 0x1c]
cmp dword [0x1005f104], eax
jbe 0x1000e85b
movzx eax, word [0x1005f10c]
cdq
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], edx
mov ecx, dword [0x1005f0bc]
cmp ecx, dword [ebp - 0x80c]
ja 0x1000e78d
jb 0x1000e781
mov edx, dword [0x1005f0b8]
cmp edx, dword [ebp - 0x810]
ja 0x1000e78d
mov dword [ebp - 0x310], 1
jmp 0x1000e797
mov dword [ebp - 0x310], 0
cmp dword [0x1005f0dc], 0x8bf33
jb 0x1000e7bd
ja 0x1000e7b1
cmp dword [0x1005f0d8], 0xfb9e462
jb 0x1000e7bd
mov dword [ebp - 0x314], 1
jmp 0x1000e7c7
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x310]
not eax
cmp eax, dword [ebp - 0x314]
jge 0x1000e85b
movsx ecx, word [0x1005f0c0]
mov edx, dword [0x1005f0a0]
add edx, ecx
mov dword [0x1005f0a0], edx
mov eax, dword [0x1005fc3c]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movsx edx, byte [ebp - 0x16]
movzx eax, byte [ebp - 0x11]
add edx, eax
not edx
mov word [0x1005f114], dx
movsx ecx, byte [0x1005f03b]
sar ecx, 3
mov word [ebp - 0x20], cx
cmp dword [0x1005f104], 0
jne 0x1000e833
mov dword [ebp - 0x318], 1
jmp 0x1000e83d
mov dword [ebp - 0x318], 0
imul eax, dword [ebp - 0x318], 3
movzx edx, word [ebp - 0x24]
not edx
imul eax, edx
cdq
mov dword [0x1005f120], eax
mov dword [0x1005f124], edx
jmp 0x1000e8a2
mov ax, word [0x1005f15c]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xa28], edx
mov eax, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0xa2c], edx
sub ecx, eax
mov word [0x1005f148], cx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
add eax, 0x25985548
adc ecx, 0xae4b2
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x5d4], 0
jne 0x1000eaed
mov dword [ebp - 0x108], 0
jmp 0x1000e8ca
mov edx, dword [ebp - 0x108]
add edx, 1
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0x3e3
jge 0x1000eab7
movsx eax, word [0x1005f114]
test eax, eax
jne 0x1000e8f1
mov dword [ebp - 0x31c], 1
jmp 0x1000e8fb
mov dword [ebp - 0x31c], 0
movsx ecx, word [ebp - 0x2c]
not ecx
cmp dword [ebp - 0x31c], ecx
jg 0x1000e915
mov dword [ebp - 0x324], 1
jmp 0x1000e91f
mov dword [ebp - 0x324], 0
movsx edx, byte [str._CpuC3StatesChanges]
movzx eax, byte [ebp - 0x17]
not eax
cmp edx, eax
jne 0x1000e93c
mov dword [ebp - 0x320], 1
jmp 0x1000e946
mov dword [ebp - 0x320], 0
mov ecx, dword [ebp - 0x320]
not ecx
cmp dword [ebp - 0x324], ecx
jne 0x1000e962
mov dword [ebp - 0x32c], 1
jmp 0x1000e96c
mov dword [ebp - 0x32c], 0
movzx edx, byte [0x1005f0a4]
test edx, edx
jne 0x1000e987
xor eax, eax
jne 0x1000e987
mov dword [ebp - 0x328], 0
jmp 0x1000e991
mov dword [ebp - 0x328], 1
mov ecx, dword [ebp - 0x328]
not ecx
cmp ecx, dword [ebp - 0x50]
jle 0x1000e9aa
mov dword [ebp - 0x330], 1
jmp 0x1000e9b4
mov dword [ebp - 0x330], 0
mov edx, dword [ebp - 0x32c]
cmp edx, dword [ebp - 0x330]
je 0x1000ea65
movzx eax, byte [ebp - 0x15]
cdq
sub eax, 0x17e8b3d7
sbb edx, 0xc55b0
mov dword [0x1005f160], eax
mov dword [0x1005f164], edx
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
add ecx, dword [0x1005f100]
adc edx, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov ax, word [0x1005fc3c]
mov word [0x1005f110], ax
movsx eax, byte [0x1005f0a5]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, byte [0x1005f0a5]
cdq
sub eax, ecx
mov byte [0x1005f0a5], al
movsx eax, word [ebp - 0x20]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x1005f128]
cdq
mov edi, eax
mov ebx, edx
mov edx, dword [ebp - 0x64]
add edi, dword [ebp - 0x68]
adc ebx, edx
movsx eax, word [ebp - 0x20]
movzx edx, byte [ebp - 0x11]
add eax, edx
cdq
sub edi, eax
sbb ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
jmp 0x1000eaa9
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xa30], edx
sub ecx, 0xfd784cb2
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
movzx eax, byte [0x1005f09f]
sar eax, 8
cdq
mov dword [0x1005f0b8], eax
mov dword [0x1005f0bc], edx
movsx eax, word [0x1005f110]
imul ecx, eax, 0x9824
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x74]
add edx, 1
mov dword [ebp - 0x74], edx
jmp 0x1000e8bb
xor eax, eax
mov byte [ebp - 0x8d], al
lea ecx, [ebp - 0x8d]
call fcn.10002070
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x334]
call fcn.1002b150
mov ecx, dword [ebp - 0x334]
push ecx
push 0
push 0
call fcn.10001380
call eax
movsx edx, word [0x1005f0e0]
cmp edx, dword [0x1005f0b0]
jb 0x1000eb08
mov dword [ebp - 0x338], 1
jmp 0x1000eb12
mov dword [ebp - 0x338], 0
movsx eax, word [0x1005f0e0]
cmp eax, 0x32
jl 0x1000eb2a
mov dword [ebp - 0x33c], 1
jmp 0x1000eb34
mov dword [ebp - 0x33c], 0
mov ecx, dword [ebp - 0x338]
cmp ecx, dword [ebp - 0x33c]
jl 0x1000ec27
movzx edx, byte [0x1005f0a4]
cmp edx, 0xa85d
jl 0x1000ec27
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x1000ebd2
mov ecx, dword [ebp - 0x7c]
shl ecx, 6
mov word [0x1005f148], cx
movzx ecx, byte [ebp - 0x15]
movzx edx, word [ebp - 0x24]
sub ecx, edx
mov al, byte [ebp - 0x15]
shr al, cl
mov byte [ebp - 0x15], al
mov ecx, 0xfdfe3b47
sub ecx, dword [0x1005f130]
mov esi, 0
sbb esi, dword [0x1005f134]
movsx eax, byte [0x1005f03b]
not eax
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x814], esi
mov edx, dword [ebp - 0x818]
or edx, dword [ebp - 0x814]
jne 0x1000ebc4
mov byte [ebp - 0x7f], 1
jmp 0x1000ebc8
mov byte [ebp - 0x7f], 0
mov al, byte [ebp - 0x7f]
mov byte [0x1005f03b], al
jmp 0x1000ec27
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x1000ec27
xor edx, edx
mov dword [0x1005f118], 0x7887
mov dword [0x1005f11c], edx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov byte [0x1005f03b], 0x5c
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
mov dword [0x1005f0d0], 0x95836053
xor edx, edx
mov byte [ebp - 0x87], dl
lea ecx, [ebp - 0x87]
call fcn.10002150
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x340]
call fcn.1002b190
mov eax, dword [ebp - 0x340]
push eax
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x820], ecx
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x81c]
cmp eax, dword [ebp - 0x5c]
ja 0x1000ec99
jb 0x1000ec8d
mov ecx, dword [ebp - 0x820]
cmp ecx, dword [ebp - 0x60]
jae 0x1000ec99
mov dword [ebp - 0x344], 1
jmp 0x1000eca3
mov dword [ebp - 0x344], 0
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x824], eax
cmp dword [ebp - 0x824], 0
ja 0x1000ecd5
jb 0x1000ecc9
cmp dword [ebp - 0x828], 0x30
jae 0x1000ecd5
mov dword [ebp - 0x348], 1
jmp 0x1000ecdf
mov dword [ebp - 0x348], 0
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x348]
jne 0x1000eff1
mov edx, dword [0x1005f0b0]
xor eax, eax
mov dword [ebp - 0x830], edx
mov dword [ebp - 0x82c], eax
mov ecx, dword [0x1005f0ac]
cmp ecx, dword [ebp - 0x82c]
jb 0x1000ef21
ja 0x1000ed2b
mov edx, dword [0x1005f0a8]
cmp edx, dword [ebp - 0x830]
jbe 0x1000ef21
cmp dword [ebp - 0x7c], 0
jne 0x1000ed3d
mov dword [ebp - 0x34c], 1
jmp 0x1000ed47
mov dword [ebp - 0x34c], 0
movsx eax, word [ebp - 0x1c]
cmp eax, dword [ebp - 0x34c]
jne 0x1000ed5f
mov dword [ebp - 0x350], 1
jmp 0x1000ed69
mov dword [ebp - 0x350], 0
movzx eax, word [0x1005f148]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x834], edx
mov dword [ebp - 0x840], ecx
mov dword [ebp - 0x83c], esi
mov edx, dword [ebp - 0x834]
cmp edx, dword [ebp - 0x83c]
ja 0x1000edb9
jb 0x1000edad
mov eax, dword [ebp - 0x838]
cmp eax, dword [ebp - 0x840]
ja 0x1000edb9
mov dword [ebp - 0x354], 1
jmp 0x1000edc3
mov dword [ebp - 0x354], 0
mov ecx, dword [ebp - 0x350]
cmp ecx, dword [ebp - 0x354]
jle 0x1000ee04
mov eax, dword [ebp - 0x50]
shl eax, 7
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
xor edx, edx
mov dword [ebp - 0x70], 8
mov dword [ebp - 0x6c], edx
movsx eax, byte [0x1005f0a5]
cdq
add eax, 0xc4f4836f
mov byte [ebp - 0x12], al
jmp 0x1000ef1c
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x848], ecx
mov dword [ebp - 0x844], esi
mov dword [ebp - 0x850], eax
mov dword [ebp - 0x84c], edx
mov edx, dword [ebp - 0x844]
cmp edx, dword [ebp - 0x84c]
jl 0x1000ee59
jg 0x1000ee45
mov eax, dword [ebp - 0x848]
cmp eax, dword [ebp - 0x850]
jb 0x1000ee59
xor ecx, ecx
mov dword [ebp - 0x530], 1
mov dword [ebp - 0x52c], ecx
jmp 0x1000ee64
xorps xmm0, xmm0
movlpd qword [ebp - 0x530], xmm0
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
not edx
not eax
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push eax
push edx
call fcn.1003a730
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x854], edx
mov edx, dword [ebp - 0x530]
cmp edx, dword [ebp - 0x858]
jne 0x1000eea5
mov eax, dword [ebp - 0x52c]
cmp eax, dword [ebp - 0x854]
je 0x1000ef1c
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x860], ecx
mov dword [ebp - 0x85c], edx
mov eax, dword [ebp - 0x860]
or eax, dword [ebp - 0x85c]
jne 0x1000eed1
mov dword [ebp - 0x358], 1
jmp 0x1000eedb
mov dword [ebp - 0x358], 0
mov eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x358]
movzx ecx, byte [0x1005f09f]
movsx edx, word [ebp - 0x1c]
not edx
xor ecx, edx
not ecx
add eax, ecx
cdq
add eax, 0x9c90ed85
mov dword [ebp - 0x7c], eax
imul eax, dword [ebp - 0x50], 0x1ff4cf10
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x20]
shl eax, 3
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1000efec
mov eax, dword [ebp - 0x4c]
not eax
mov ecx, dword [ebp - 0x48]
not ecx
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], ecx
mov edx, dword [ebp - 0x868]
or edx, dword [ebp - 0x864]
je 0x1000efec
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movzx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xe2ceac5e
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x58]
sbb esi, dword [ebp - 0x54]
movsx eax, byte [ebp - 0x13]
movsx edx, word [ebp - 0x2c]
sub eax, edx
not eax
cdq
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov eax, dword [0x1005f0d0]
not eax
sub eax, dword [ebp - 0x78]
mov ecx, dword [0x1005f104]
imul ecx, dword [0x1005f100]
imul eax, ecx
mov word [0x1005f0c0], ax
mov ecx, dword [0x1005f0b0]
xor esi, esi
add ecx, 0x50b18990
adc esi, 0x89aef
movzx eax, word [0x1005f158]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [0x1005f158], ax
jmp 0x1000f11f
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1000f00e
mov eax, 0x4b
test eax, eax
jne 0x1000f00e
mov dword [ebp - 0x35c], 0
jmp 0x1000f018
mov dword [ebp - 0x35c], 1
movsx ecx, byte [0x1005f0a5]
movzx edx, word [0x1005f10c]
add ecx, edx
cmp dword [ebp - 0x35c], ecx
jge 0x1000f08d
imul eax, dword [0x1005f104], 0xa2f418a8
xor ecx, ecx
mov edx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
add edx, eax
adc esi, ecx
mov dword [0x1005f118], edx
mov dword [0x1005f11c], esi
movzx eax, word [0x1005f158]
mov ecx, 4
imul edx, ecx, 6
mov dword [edx + 0x100932f8], eax
mov eax, dword [0x1005f0b0]
xor ecx, ecx
push 0x2a04f
push 0x8dcb7cf5
push ecx
push eax
call fcn.1003a730
mov dword [ebp - 0x74], eax
jmp 0x1000f11f
movzx edx, word [0x1005f0ec]
test edx, edx
je 0x1000f11f
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x1000f0b0
mov dword [ebp - 0x360], 1
jmp 0x1000f0ba
mov dword [ebp - 0x360], 0
movsx eax, word [0x1005f114]
movsx ecx, word [0x1005f15c]
imul ecx, dword [ebp - 0x360]
not ecx
imul eax, ecx
movsx edx, word [ebp - 0x28]
imul eax, edx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [0x1005f10c]
cdq
mov ecx, 8
imul ecx, ecx, 0x3124
mov dword [ecx + 0x102c3af8], eax
mov dword [ecx + 0x102c3afc], edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
add edx, dword [ebp - 0x44]
adc eax, ecx
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
and ecx, edx
and esi, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
mov edx, dword [ebp - 0x5d8]
imul edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x10c]
add eax, edx
mov ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x364]
mov edx, dword [ebp - 0x10c]
or edx, ecx
cmp eax, edx
je 0x100103d8
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x1000f281
movzx ecx, byte [ebp - 0x12]
movzx edx, byte [0x1005f0a4]
cmp ecx, edx
jg 0x1000f22a
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0xa34], ecx
mov word [0x1005f110], ax
mov eax, dword [0x1005f0a0]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0a0], eax
movsx edx, byte [str._CpuC3StatesChanges]
add edx, 0x8277
mov word [ebp - 0x1c], dx
movsx eax, word [0x1005f0c0]
sub eax, 0x3697cfa0
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x28]
cdq
push 0xb3817
push 0xe302cd1d
push edx
push eax
call fcn.1003a730
mov dword [0x1005f0e8], eax
movsx ecx, byte [0x1005f076]
test ecx, ecx
jne 0x1000f1ee
mov dword [ebp - 0x368], 1
jmp 0x1000f1f8
mov dword [ebp - 0x368], 0
mov edx, dword [0x1005f0b0]
sub edx, dword [ebp - 0x368]
movsx eax, byte [ebp - 0x14]
and edx, eax
movsx ecx, word [ebp - 0x28]
movzx eax, byte [ebp - 0x11]
sub ecx, eax
mov eax, dword [0x1005f0a0]
not eax
imul ecx, eax
imul edx, ecx
mov word [0x1005f148], dx
jmp 0x1000f27f
mov ecx, 0xb5e05c40
or ecx, 0x72f27
je 0x1000f27f
imul edx, dword [ebp - 0x78], 0xc93b85df
mov byte [0x1005f013], dl
push 0
push 0xb
mov eax, dword [0x1005f0dc]
push eax
mov ecx, dword [0x1005f0d8]
push ecx
call fcn.1003a730
mov byte [str.a_StartIdle_], al
movzx edx, byte [str.a_StartIdle_]
shl edx, 8
mov word [0x1005f10c], dx
movsx eax, byte [str._CpuC3StatesChanges]
add eax, 0x7240
mov byte [ebp - 0x12], al
jmp 0x1000f2d7
mov ecx, dword [ebp - 0x58]
mov edx, 4
imul eax, edx, 0x2e95
mov dword [eax + 0x1005fc40], ecx
mov ecx, 0x86bbb
mov dword [ebp - 0x60], 0xc6b45fbd
mov dword [ebp - 0x5c], ecx
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0xcfef
cdq
mov dword [0x1005f0f8], eax
mov dword [0x1005f0fc], edx
movsx eax, word [0x1005f114]
shl eax, 1
mov byte [ebp - 0x16], al
movsx ecx, word [0x1005f0e0]
xor ecx, dword [ebp - 0x50]
mov word [0x1005f0e0], cx
mov dword [ebp - 4], 0x24
jmp 0x1000f3a7
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f3b7
cmp dword [ebp - 0x36c], 0
je 0x1000f3cd
cmp dword [ebp - 0x36c], 0
je 0x100103d8
movsx eax, word [0x1005f0e0]
cdq
mov ecx, 8
imul ecx, ecx, 0x900e
mov dword [ecx + 0x10335cf8], eax
mov dword [ecx + 0x10335cfc], edx
mov edx, dword [ebp - 0x58]
xor edx, 0xd101
mov dword [0x1005f0b0], edx
movsx eax, word [ebp - 0x1c]
cdq
push 0x9a047
push 0x4d7c1128
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x74], eax
movsx eax, byte [0x1005f0a5]
cdq
add eax, 0x429cbf5b
mov byte [ebp - 0x14], al
cmp dword [0x1005f0b0], 0
je 0x1000f608
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x1000f603
mov ecx, dword [0x1005f140]
not ecx
mov esi, dword [0x1005f144]
not esi
movzx eax, word [0x1005f128]
cdq
mov dword [ebp - 0x870], ecx
mov dword [ebp - 0x86c], esi
mov dword [ebp - 0x878], eax
mov dword [ebp - 0x874], edx
mov edx, dword [ebp - 0x86c]
cmp edx, dword [ebp - 0x874]
jg 0x1000f497
jl 0x1000f48b
mov eax, dword [ebp - 0x870]
cmp eax, dword [ebp - 0x878]
ja 0x1000f497
mov dword [ebp - 0x370], 1
jmp 0x1000f4a1
mov dword [ebp - 0x370], 0
mov ecx, dword [ebp - 0x370]
not ecx
test ecx, ecx
je 0x1000f603
movsx edx, word [0x1005f15c]
movzx eax, word [ebp - 0x24]
cmp edx, eax
jg 0x1000f53c
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1000f4dc
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x538], edx
mov dword [ebp - 0x534], eax
jmp 0x1000f4f0
mov ecx, dword [0x1005f104]
xor edx, edx
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], edx
mov al, byte [ebp - 0x538]
mov byte [ebp - 0x17], al
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0xa3c], edx
add ecx, 0xcf699061
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
sub ecx, dword [0x1005f140]
mov eax, dword [ebp - 0x50]
cdq
add eax, ecx
mov dword [ebp - 0x50], eax
mov dx, word [0x1005fc3c]
mov word [0x1005f15c], dx
jmp 0x1000f603
movsx eax, byte [0x1005f09e]
test eax, eax
jne 0x1000f556
movzx ecx, byte [0x1005f0a4]
test ecx, ecx
je 0x1000f603
mov byte [ebp - 0x15], 0xd0
mov edx, dword [ebp - 0x58]
or edx, dword [ebp - 0x54]
jne 0x1000f56e
mov dword [ebp - 0x374], 1
jmp 0x1000f578
mov dword [ebp - 0x374], 0
movsx eax, word [ebp - 0x28]
add eax, dword [ebp - 0x374]
jne 0x1000f592
mov ecx, 1
mov word [ebp - 0xa0], cx
jmp 0x1000f59b
xor edx, edx
mov word [ebp - 0xa0], dx
mov ax, word [ebp - 0xa0]
mov word [0x1005f128], ax
movsx ecx, byte [0x1005f013]
add ecx, 0x24b37449
mov word [ebp - 0x24], cx
mov edx, 4
imul eax, edx, 0x53
mov eax, dword [eax + 0x102b27c0]
cdq
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov cl, 2
call fcn.1003a770
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp - 0x17]
sub edx, eax
movzx ecx, byte [ebp - 0x11]
sub ecx, edx
mov byte [ebp - 0x11], cl
jmp 0x1000f70a
movsx edx, word [ebp - 0x20]
cmp edx, 0x7f
jg 0x1000f61d
mov dword [ebp - 0x378], 1
jmp 0x1000f627
mov dword [ebp - 0x378], 0
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x378]
jl 0x1000f70a
movsx eax, byte [0x1005f0a5]
xor eax, 0xb5ff
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
movzx ecx, byte [ebp - 0x12]
movsx edx, word [ebp - 0x2c]
add ecx, edx
movzx eax, byte [ebp - 0x12]
add eax, ecx
mov byte [ebp - 0x12], al
movzx ecx, word [0x1005f10c]
add ecx, dword [ebp - 0x50]
mov word [0x1005f10c], cx
movsx eax, word [0x1005f15c]
cdq
mov ecx, dword [0x1005f118]
mov esi, dword [0x1005f11c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov ecx, eax
not ecx
mov eax, dword [ebp - 0x50]
cdq
add eax, dword [0x1005f0f0]
or ecx, eax
not ecx
movsx eax, byte [0x1005f013]
movsx edx, word [0x1005f110]
imul eax, edx
movsx edx, byte [0x1005f04f]
not edx
sub edx, 0x57
sub eax, edx
cdq
sub ecx, eax
mov dword [ebp - 0x7c], ecx
movsx eax, byte [ebp - 0x14]
test eax, eax
jne 0x1000f6df
mov dword [ebp - 0x37c], 1
jmp 0x1000f6e9
mov dword [ebp - 0x37c], 0
movsx eax, word [0x1005f110]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x37c]
add eax, 0x4171
cdq
xor eax, dword [ebp - 0x60]
add ecx, eax
not ecx
mov word [ebp - 0x20], cx
mov edx, dword [0x1005fc3c]
mov dword [ebp - 0x118], edx
movzx eax, word [0x1005f158]
movsx ecx, word [0x1005f114]
cmp eax, ecx
jg 0x1000f7f2
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x880], edx
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x880]
or ecx, dword [ebp - 0x87c]
jne 0x1000f75a
mov edx, 1
mov word [ebp - 0xa2], dx
jmp 0x1000f763
xor eax, eax
mov word [ebp - 0xa2], ax
mov cx, word [ebp - 0xa2]
mov word [0x1005f0e0], cx
movsx eax, word [0x1005f15c]
add eax, 0xf7
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
push edx
push eax
push esi
push ecx
call fcn.1003a730
sub eax, dword [0x1005f0b8]
sbb edx, dword [0x1005f0bc]
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov word [ebp - 0x28], ax
mov edx, dword [0x1005f0a8]
sub edx, 0x8b
mov eax, dword [0x1005f0ac]
sbb eax, 0
mov ecx, dword [0x1005f160]
mov esi, dword [0x1005f164]
sub ecx, edx
sbb esi, eax
mov dword [0x1005f160], ecx
mov dword [0x1005f164], esi
jmp 0x1000f8d7
movsx edx, byte [0x1005f077]
movzx eax, byte [ebp - 0x15]
cmp edx, eax
je 0x1000f8d7
movsx ecx, byte [0x1005f013]
movsx edx, word [ebp - 0x28]
imul ecx, edx
movsx eax, byte [0x1005f013]
sub eax, ecx
mov byte [0x1005f013], al
mov ecx, dword [0x1005f100]
and ecx, 0xfab8
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xa40], eax
add edx, 0x5c2a
mov dword [0x1005f0b0], edx
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [0x1005f118]
mov edx, dword [0x1005f11c]
mov dword [ebp - 0xa44], edx
sub ecx, eax
mov byte [0x1005f076], cl
movsx eax, byte [0x1005f013]
movzx ecx, word [0x1005f128]
imul eax, ecx
test eax, eax
jne 0x1000f890
xor edx, edx
mov dword [ebp - 0x888], 1
mov dword [ebp - 0x884], edx
jmp 0x1000f89b
xorps xmm0, xmm0
movlpd qword [ebp - 0x888], xmm0
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xa48], eax
xor esi, dword [ebp - 0x888]
movsx eax, word [ebp - 0x28]
cdq
mov edi, eax
add edi, 0xfc49e165
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x4c]
push eax
push edx
push ecx
call fcn.1003a730
sub edi, eax
add esi, edi
mov word [ebp - 0x20], si
mov ecx, dword [ebp - 0x118]
add ecx, 0x6a5
mov dword [ebp - 0x570], ecx
mov byte [0x1005f077], 0
movsx eax, word [0x1005f110]
cdq
mov ecx, dword [0x1005f140]
sub ecx, eax
mov esi, dword [0x1005f144]
sbb esi, edx
movzx eax, byte [ebp - 0x12]
not eax
movsx edx, word [ebp - 0x1c]
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, byte [ebp - 0x14]
mov ecx, dword [0x1005f100]
not ecx
add eax, ecx
movsx edx, byte [0x1005f077]
not edx
add eax, edx
mov ecx, eax
movsx eax, word [ebp - 0x28]
cdq
sub eax, dword [0x1005f0b8]
add eax, 0x5926
sub ecx, eax
mov byte [0x1005f013], cl
imul edx, dword [ebp - 0x74], 0x679b6842
mov byte [str.a_StartIdle_], dl
mov eax, dword [0x1005f0b0]
add eax, 0x20dbbf25
mov dword [0x1005f0e8], eax
movzx eax, word [0x1005f128]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
mov eax, dword [ebp - 0x7c]
cdq
sub eax, 0x34f622f6
mov byte [0x1005f0a4], al
mov dl, byte [0x1005f077]
mov byte [ebp - 0x56c], dl
cmp byte [ebp - 0x56c], 0
je 0x1000f9b3
jmp 0x1000fac2
movzx ecx, word [0x1005f128]
imul ecx, dword [0x1005f104]
mov ax, word [0x1005f128]
shl ax, cl
mov word [0x1005f128], ax
mov ecx, 8
imul edx, ecx, 0x3e
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
add eax, dword [edx + 0x10103900]
adc ecx, dword [edx + 0x10103904]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dx, word [0x1005f138]
sub dx, 1
mov word [0x1005f138], dx
movsx eax, byte [ebp - 0x16]
add eax, dword [ebp - 0x74]
movsx ecx, byte [ebp - 0x16]
imul ecx, eax
mov byte [ebp - 0x16], cl
movzx edx, word [0x1005f128]
test edx, edx
jne 0x1000fa2a
mov dword [ebp - 0x380], 1
jmp 0x1000fa34
mov dword [ebp - 0x380], 0
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov dword [ebp - 0x890], eax
mov dword [ebp - 0x88c], edx
mov edx, dword [ebp - 0x890]
or edx, dword [ebp - 0x88c]
jne 0x1000fa6e
mov dword [ebp - 0x384], 1
jmp 0x1000fa78
mov dword [ebp - 0x384], 0
cmp dword [0x1005f100], 0
jne 0x1000fa8d
mov dword [ebp - 0x388], 1
jmp 0x1000fa97
mov dword [ebp - 0x388], 0
movsx eax, word [ebp - 0x2c]
sub eax, dword [ebp - 0x50]
movsx ecx, word [0x1005f0e0]
imul ecx, dword [ebp - 0x380]
add eax, ecx
mov edx, dword [ebp - 0x384]
add edx, dword [ebp - 0x388]
not edx
imul eax, edx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x118]
add eax, 0x521
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 4], 0x26
mov dword [ebp - 0x110], 0xe
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0x58]
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
push 0
push 0x99
push eax
push edx
call fcn.1003a730
mov word [ebp - 0x20], ax
movzx eax, word [0x1005f0ec]
cdq
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x894], edx
mov ecx, dword [0x1005f154]
cmp ecx, dword [ebp - 0x894]
ja 0x1000fce5
jb 0x1000fb4e
mov edx, dword [0x1005f150]
cmp edx, dword [ebp - 0x898]
ja 0x1000fce5
movzx eax, word [0x1005f148]
test eax, eax
jne 0x1000fba2
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov eax, dword [0x1005f118]
mov esi, dword [0x1005f11c]
mov dword [ebp - 0x8a0], ecx
mov dword [ebp - 0x89c], edx
mov dword [ebp - 0x8a8], eax
mov dword [ebp - 0x8a4], esi
mov ecx, dword [ebp - 0x8a0]
cmp ecx, dword [ebp - 0x8a8]
jne 0x1000fba2
mov edx, dword [ebp - 0x89c]
cmp edx, dword [ebp - 0x8a4]
je 0x1000fce0
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
push 0
push 0xfa
push ecx
push eax
call fcn.1003a730
mov byte [0x1005f09f], al
movsx eax, byte [ebp - 0x13]
cdq
push edx
push eax
mov edx, dword [0x1005f144]
push edx
mov eax, dword [0x1005f140]
push eax
call fcn.1003a730
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x2c]
sub eax, 0x841d
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
movsx eax, byte [0x1005f076]
cdq
sub eax, 0x23bae739
mov dword [ebp - 0x7c], eax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1000fc15
mov dword [ebp - 0x38c], 1
jmp 0x1000fc1f
mov dword [ebp - 0x38c], 0
mov edx, dword [ebp - 0x74]
not edx
movzx eax, word [0x1005f138]
xor edx, eax
movzx ecx, word [ebp - 0x24]
not ecx
imul edx, ecx
movsx eax, word [0x1005f15c]
mov ecx, dword [ebp - 0x38c]
sub ecx, dword [ebp - 0x78]
imul eax, ecx
add edx, eax
mov dword [0x1005f0b0], edx
jmp 0x1000fcd0
mov dword [ebp - 4], 0x26
jmp 0x1000fce0
jmp 0x1000fdd3
movsx edx, byte [0x1005f076]
test edx, edx
je 0x1000fd63
movsx eax, word [0x1005f110]
cdq
mov ecx, dword [0x1005f0b4]
mov edx, dword [ebp - 0x60]
not edx
sub ecx, edx
sub eax, ecx
mov dword [0x1005f100], eax
movzx eax, word [ebp - 0x24]
movsx ecx, word [0x1005f0e0]
imul eax, ecx
mov word [ebp - 0x24], ax
movsx edx, word [0x1005f15c]
test edx, edx
jne 0x1000fd35
mov dword [ebp - 0x390], 1
jmp 0x1000fd3f
mov dword [ebp - 0x390], 0
movsx eax, word [ebp - 0x2c]
movsx ecx, word [ebp - 0x20]
xor eax, ecx
movsx edx, byte [0x1005f03b]
add edx, dword [ebp - 0x390]
not edx
sub eax, edx
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x1000fdd3
movsx eax, byte [str._CpuC3StatesChanges]
mov ecx, dword [0x1005f0e4]
not ecx
cmp eax, ecx
jle 0x1000fda1
mov edx, dword [0x1005f130]
sub edx, 0xd285
mov byte [ebp - 0x14], dl
mov ax, word [ebp - 0x28]
add ax, 1
mov word [ebp - 0x28], ax
movsx ecx, byte [ebp - 0x14]
add ecx, 0x6f
mov word [0x1005f15c], cx
jmp 0x1000fdd3
movsx edx, byte [ebp - 0x16]
test edx, edx
je 0x1000fdd3
movsx eax, word [0x1005f114]
add eax, 0x6af659fe
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ax, word [0x1005f0c0]
mov word [ebp - 0x2c], ax
movsx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x15]
sub ecx, edx
mov byte [ebp - 0x13], cl
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0x20c3
jl 0x1000fb14
jmp 0x1000fec5
mov dword [ebp - 4], 0xffffffff
jmp 0x1000fed5
mov edx, dword [ebp - 0x118]
add edx, 0x736
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
sub eax, 0x16f2b230
sbb ecx, 0
mov dword [0x1005f120], eax
mov dword [0x1005f124], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1005f164]
sub ecx, dword [0x1005f160]
sbb esi, edx
movzx eax, byte [ebp - 0x12]
cdq
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov byte [ebp - 0x12], al
cmp dword [0x1005f0e8], 0
jne 0x1000ff3d
mov dword [ebp - 0x39c], 1
jmp 0x1000ff47
mov dword [ebp - 0x39c], 0
movsx eax, byte [0x1005f013]
imul eax, dword [ebp - 0x39c]
test eax, eax
jne 0x1000ff65
mov dword [ebp - 0x3a0], 1
jmp 0x1000ff6f
mov dword [ebp - 0x3a0], 0
movsx ecx, byte [str._CpuC3StatesChanges]
sub ecx, dword [ebp - 0x3a0]
mov byte [ebp - 0x13], cl
movsx edx, word [ebp - 0x28]
movzx eax, byte [ebp - 0x17]
imul edx, eax
mov word [ebp - 0x28], dx
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x3a4]
cmp ecx, dword [ebp - 0x570]
je 0x100103d8
movsx edx, byte [0x1005f03b]
cmp edx, dword [0x1005f0a0]
je 0x1000ffc1
mov dword [ebp - 0x3a8], 1
jmp 0x1000ffcb
mov dword [ebp - 0x3a8], 0
movsx eax, byte [0x1005f03b]
cmp eax, 0x5b
je 0x1000ffe3
mov dword [ebp - 0x3ac], 1
jmp 0x1000ffed
mov dword [ebp - 0x3ac], 0
mov ecx, dword [ebp - 0x3a8]
cmp ecx, dword [ebp - 0x3ac]
jle 0x1001031d
mov ecx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
movzx eax, byte [0x1005f09f]
cdq
mov dword [ebp - 0x8b8], ecx
mov dword [ebp - 0x8b4], esi
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 0x8bc], edx
mov edx, dword [ebp - 0x8b4]
cmp edx, dword [ebp - 0x8bc]
ja 0x10010169
jb 0x1001004b
mov eax, dword [ebp - 0x8b8]
cmp eax, dword [ebp - 0x8c0]
ja 0x10010169
movzx ecx, word [0x1005f0ec]
movzx edx, byte [ebp - 0x11]
cmp ecx, edx
jge 0x1001010b
movsx eax, byte [str._CpuC3StatesChanges]
cdq
xor eax, 0x9411231f
xor edx, 0xc35bf
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov ecx, dword [ebp - 0x48]
sbb ecx, 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx eax, byte [0x1005f09f]
cdq
sub eax, dword [0x1005f0b8]
sbb edx, dword [0x1005f0bc]
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8c4], edx
mov edx, dword [ebp - 0x8c8]
or edx, dword [ebp - 0x8c4]
jne 0x100100c3
mov dword [ebp - 0x3b0], 1
jmp 0x100100cd
mov dword [ebp - 0x3b0], 0
movsx eax, word [ebp - 0x1c]
not eax
mov ecx, dword [ebp - 0x78]
sub ecx, eax
sub ecx, dword [ebp - 0x3b0]
mov byte [ebp - 0x14], cl
movzx edx, byte [ebp - 0x17]
movsx eax, byte [0x1005f04f]
sub edx, eax
mov byte [ebp - 0x17], dl
movsx eax, word [0x1005f15c]
sub eax, 0xc66a
cdq
mov dword [0x1005f130], eax
mov dword [0x1005f134], edx
jmp 0x10010164
movsx ecx, byte [ebp - 0x14]
sub ecx, dword [0x1005f0d0]
mov byte [ebp - 0x14], cl
movsx eax, word [0x1005f114]
cdq
mov ecx, dword [0x1005f120]
mov esi, dword [0x1005f124]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1005f120]
mov eax, dword [0x1005f124]
sub edx, ecx
sbb eax, esi
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
movzx eax, word [ebp - 0x24]
xor eax, 0xaae5
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x10010318
cmp dword [ebp - 0x7c], 0
je 0x100101b9
mov edx, dword [0x1005f118]
mov eax, dword [0x1005f11c]
and edx, 0xccdb
and eax, 0
mov dword [0x1005f0f0], edx
mov dword [0x1005f0f4], eax
movsx eax, byte [0x1005f04f]
sub eax, 0x7d
cdq
mov dword [0x1005f0c8], eax
mov dword [0x1005f0cc], edx
movzx ecx, word [0x1005f148]
shl ecx, 1
mov word [0x1005f138], cx
jmp 0x10010318
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x8d0], edx
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8d0]
or ecx, dword [ebp - 0x8cc]
jne 0x100101ed
xor edx, edx
mov dword [ebp - 0x540], 1
mov dword [ebp - 0x53c], edx
jmp 0x100101f8
xorps xmm0, xmm0
movlpd qword [ebp - 0x540], xmm0
mov eax, dword [ebp - 0x53c]
cmp eax, dword [ebp - 0x54]
jl 0x10010289
jg 0x10010214
mov ecx, dword [ebp - 0x540]
cmp ecx, dword [ebp - 0x58]
jb 0x10010289
movzx edx, byte [ebp - 0x15]
test edx, edx
jne 0x10010228
mov dword [ebp - 0x3b4], 1
jmp 0x10010232
mov dword [ebp - 0x3b4], 0
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [0x1005f09f]
add eax, ecx
mov edx, 0x3312c802
sub edx, eax
mov eax, edx
cdq
mov ecx, eax
mov esi, edx
imul eax, dword [ebp - 0x3b4], 0x7049
cdq
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
not eax
not edx
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
mov edx, dword [ebp - 0x4c]
add edx, dword [0x1005f0d8]
mov eax, dword [ebp - 0x48]
adc eax, dword [0x1005f0dc]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
jmp 0x10010318
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10010318
mov edx, 1
mov word [0x1005f128], dx
mov eax, dword [ebp - 0x7c]
sub eax, 0x21e2
mov dword [0x1005f0e8], eax
movzx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x272b7361
mov word [0x1005f138], dx
mov byte [ebp - 0x13], 1
mov eax, dword [0x1005f0f0]
or eax, dword [0x1005f0f4]
je 0x100102ea
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x42c], edx
jmp 0x10010301
mov eax, dword [0x1005f0a8]
mov ecx, dword [0x1005f0ac]
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x430]
mov eax, dword [ebp - 0x42c]
mov dword [0x1005f120], edx
mov dword [0x1005f124], eax
jmp 0x100103a2
movzx ecx, word [0x1005f158]
mov edx, dword [ebp - 0x50]
xor edx, ecx
mov dword [ebp - 0x50], edx
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x1001034e
mov ecx, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], edx
jmp 0x10010360
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], ecx
mov dx, word [ebp - 0x548]
mov word [ebp - 0x24], dx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push esi
push ecx
push edx
push eax
call fcn.1003a730
mov word [ebp - 0x1c], ax
movsx edx, byte [0x1005f076]
imul edx, dword [0x1005f0b0]
mov byte [0x1005f076], dl
mov eax, 0x3a
mov word [0x1005f148], ax
xor ecx, ecx
mov byte [ebp - 0x86], cl
lea ecx, [ebp - 0x86]
call fcn.100023c0
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
call fcn.1002b1d0
mov edx, dword [ebp - 0x3b8]
push edx
push 0
push 0
call fcn.10001380
call eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x8d8], eax
mov dword [ebp - 0x8d4], ecx
mov dword [ebp - 0x8e0], edx
mov dword [ebp - 0x8dc], esi
mov eax, dword [ebp - 0x8d4]
cmp eax, dword [ebp - 0x8dc]
jg 0x10010426
jl 0x1001041a
mov ecx, dword [ebp - 0x8d8]
cmp ecx, dword [ebp - 0x8e0]
ja 0x10010426
mov dword [ebp - 0x3bc], 1
jmp 0x10010430
mov dword [ebp - 0x3bc], 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x8e8], edx
mov dword [ebp - 0x8e4], eax
cmp dword [ebp - 0x8e4], 0
jg 0x10010462
jl 0x10010456
cmp dword [ebp - 0x8e8], 0x3e
ja 0x10010462
mov dword [ebp - 0x3c0], 1
jmp 0x1001046c
mov dword [ebp - 0x3c0], 0
mov ecx, dword [ebp - 0x3bc]
cmp ecx, dword [ebp - 0x3c0]
jge 0x1001056b
movzx edx, word [0x1005f10c]
imul eax, edx, 0x4a93
mov byte [ebp - 0x15], al
mov ecx, dword [0x1005f160]
mov edx, dword [0x1005f164]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push esi
push eax
push edx
push ecx
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
movzx edx, byte [ebp - 0x17]
test edx, edx
je 0x100104d7
mov al, byte [0x1005f013]
mov byte [ebp - 0x80], al
jmp 0x100104dd
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x80], cl
mov dl, byte [ebp - 0x80]
mov byte [ebp - 0x15], dl
movzx eax, word [0x1005f0ec]
movsx ecx, word [ebp - 0x1c]
not ecx
imul eax, ecx
test eax, eax
jne 0x10010503
mov dword [ebp - 0x3c4], 1
jmp 0x1001050d
mov dword [ebp - 0x3c4], 0
movzx edx, byte [ebp - 0x11]
xor edx, 0x8324
imul edx, dword [0x1005f0e4]
movsx eax, word [0x1005f114]
movsx ecx, word [0x1005f0e0]
imul eax, ecx
imul eax, dword [ebp - 0x3c4]
sub edx, eax
not edx
mov byte [ebp - 0x16], dl
mov edx, dword [0x1005fc3c]
xor eax, eax
mov dword [0x1005f140], edx
mov dword [0x1005f144], eax
mov eax, dword [ebp - 0x50]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.1003a730
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x100105ae
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x1001057e
movzx eax, word [0x1005f158]
test eax, eax
je 0x100105ae
movzx ecx, word [0x1005f128]
mov edx, dword [0x1005f0a0]
imul edx, ecx
mov eax, dword [0x1005f0a0]
add eax, edx
mov dword [0x1005f0a0], eax
movsx eax, byte [0x1005f076]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
xor ecx, ecx
mov byte [ebp - 0x85], cl
lea ecx, [ebp - 0x85]
call fcn.100025c0
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x3c8]
call fcn.1002b350
mov edx, dword [ebp - 0x3c8]
push edx
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0
je 0x10010600
cmp dword [ebp - 0x3cc], 0
je 0x10010999
mov eax, dword [0x1005f150]
not eax
mov ecx, dword [0x1005f154]
not ecx
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 0x8ec], ecx
mov edx, dword [ebp - 0x8f0]
or edx, dword [ebp - 0x8ec]
jne 0x1001064d
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x8f8], eax
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x8f8]
or edx, dword [ebp - 0x8f4]
je 0x10010963
cmp dword [ebp - 0x50], 0
je 0x10010963
movsx eax, word [0x1005f0c0]
cdq
mov dword [ebp - 0x900], eax
mov dword [ebp - 0x8fc], edx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x8fc]
jl 0x100106eb
jg 0x10010683
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x900]
jb 0x100106eb
movzx edx, byte [ebp - 0x15]
movsx eax, byte [ebp - 0x16]
imul edx, eax
mov byte [ebp - 0x15], dl
mov eax, dword [0x1005f0d0]
cdq
mov ecx, dword [0x1005f0d8]
sub ecx, eax
mov eax, dword [0x1005f0dc]
sbb eax, edx
mov dword [0x1005f0d8], ecx
mov dword [0x1005f0dc], eax
movzx ecx, byte [0x1005f0a4]
movsx edx, byte [0x1005f04f]
imul ecx, edx
not ecx
mov byte [0x1005f09e], cl
mov byte [0x1005f076], 0x92
mov eax, dword [ebp - 0x78]
sub eax, 0x5aa95b05
xor ecx, ecx
mov dword [0x1005f160], eax
mov dword [0x1005f164], ecx
jmp 0x10010963
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x100107db
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xa50], edx
sub eax, ecx
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x904], ecx
mov edx, dword [ebp - 0x908]
or edx, dword [ebp - 0x904]
je 0x10010746
mov eax, dword [0x1005f0f8]
mov ecx, dword [0x1005f0fc]
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
jmp 0x1001075a
movzx eax, word [0x1005f138]
cdq
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
mov edx, dword [ebp - 0x438]
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov eax, dword [0x1005f120]
mov edx, dword [0x1005f124]
mov cl, 5
call fcn.1003a790
mov word [ebp - 0x2c], ax
movsx ecx, word [ebp - 0x2c]
xor ecx, 0x5ee8cbb8
mov dword [0x1005f104], ecx
mov edx, dword [0x1005f130]
or edx, dword [0x1005f134]
je 0x100107b9
mov eax, dword [0x1005f150]
mov ecx, dword [0x1005f154]
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], ecx
jmp 0x100107cd
movzx eax, byte [0x1005f09f]
cdq
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], edx
mov edx, dword [ebp - 0x550]
mov dword [ebp - 0x74], edx
jmp 0x10010963
xor eax, eax
je 0x100108c9
movsx ecx, byte [0x1005f09e]
add ecx, 0x8b07
mov word [0x1005f148], cx
mov edx, dword [0x1005f0b8]
or edx, dword [0x1005f0bc]
jne 0x10010811
mov dword [ebp - 0x3d0], 1
jmp 0x1001081b
mov dword [ebp - 0x3d0], 0
movzx eax, byte [ebp - 0x15]
not eax
cdq
mov ebx, eax
movsx eax, byte [ebp - 0x13]
add eax, dword [ebp - 0x3d0]
cdq
mov ecx, dword [0x1005f0f0]
not ecx
mov esi, dword [0x1005f0f4]
not esi
push esi
push ecx
push edx
push eax
call fcn.1003a730
xor ebx, eax
mov byte [0x1005f03b], bl
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xa54], eax
sub edx, 0xe27b88cd
mov word [ebp - 0x24], dx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xa58], edx
add ecx, 0xb0
mov dword [0x1005f0e8], ecx
movsx eax, word [0x1005f110]
test eax, eax
je 0x100108a3
mov ecx, dword [0x1005f0b8]
mov edx, dword [0x1005f0bc]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], edx
jmp 0x100108b6
mov eax, dword [0x1005f0b4]
xor ecx, ecx
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], ecx
mov dx, word [ebp - 0x558]
mov word [0x1005f0ec], dx
jmp 0x10010963
cmp dword [ebp - 0x50], 0
je 0x10010963
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1005f0cc]
push ecx
mov ecx, dword [0x1005f0c8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
xor edx, edx
mov dword [ebp - 0x70], 0x93
mov dword [ebp - 0x6c], edx
movsx eax, byte [0x1005f076]
test eax, eax
je 0x1001091d
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x3d4], ecx
jmp 0x1001092a
movsx edx, byte [0x1005f0a5]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d4]
cdq
mov dword [0x1005f140], eax
mov dword [0x1005f144], edx
movsx eax, word [0x1005f114]
shl eax, 8
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
push 0
push 0x9237
push edx
push ecx
call fcn.1003a730
mov dword [0x1005f0b4], eax
xor eax, eax
mov byte [ebp - 0x95], al
lea ecx, [ebp - 0x95]
call fcn.10002ef0
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3d8]
call fcn.1002b4d0
mov ecx, dword [ebp - 0x3d8]
push ecx
push 0
push 0
call fcn.10001380
call eax
movzx edx, byte [ebp - 0x11]
movzx eax, byte [0x1005f0a4]
cmp edx, eax
jg 0x10010c22
mov dword [0x1005f0b4], 3
movsx ecx, word [ebp - 0x20]
sub ecx, 0x43a5b6ff
xor edx, edx
mov dword [0x1005f0b8], ecx
mov dword [0x1005f0bc], edx
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x100109e3
mov cx, word [ebp - 0x1c]
mov word [ebp - 0xa4], cx
jmp 0x100109ee
mov dx, word [ebp - 0x1c]
mov word [ebp - 0xa4], dx
movsx eax, word [ebp - 0xa4]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 0x11]
movsx ecx, byte [0x1005f03b]
add eax, ecx
movzx edx, byte [ebp - 0x11]
sub edx, eax
mov byte [ebp - 0x11], dl
movzx eax, word [0x1005f0ec]
movsx ecx, byte [0x1005f013]
sub eax, ecx
mov byte [ebp - 0x14], al
mov edx, dword [0x1005f0b4]
mov dword [ebp - 0x3dc], edx
cmp dword [ebp - 0x3dc], 3
ja case.default.0x10010a44
mov eax, dword [ebp - 0x3dc]
jmp dword [eax*4 + 0x10010d30]
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10010a66
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], edx
jmp 0x10010a78
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x55c], eax
mov cl, byte [ebp - 0x560]
mov byte [0x1005f04f], cl
movzx edx, word [0x1005f0ec]
add edx, 0x5a029d06
mov word [0x1005f0ec], dx
movzx eax, word [ebp - 0x24]
imul ecx, eax, 0x831d
mov byte [0x1005f09e], cl
movsx eax, byte [0x1005f04f]
cdq
mov ecx, dword [0x1005f0bc]
push ecx
mov ecx, dword [0x1005f0b8]
push ecx
push edx
push eax
call fcn.1003a730
mov ecx, eax
movsx eax, byte [0x1005f04f]
cdq
sub eax, ecx
mov byte [0x1005f04f], al
jmp case.default.0x10010a44
mov edx, 1
imul eax, edx, 0x88
movsx ecx, byte [eax + 0x101b8ae0]
movsx edx, word [ebp - 0x28]
add edx, ecx
mov word [ebp - 0x28], dx
mov byte [0x1005f09e], 0xe4
mov eax, dword [0x1005f0e4]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x1005f0e8]
cdq
or eax, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x910], ecx
mov dword [ebp - 0x90c], esi
mov edx, dword [ebp - 0x910]
or edx, dword [ebp - 0x90c]
jne 0x10010b3e
mov dword [ebp - 0x3e0], 1
jmp 0x10010b48
mov dword [ebp - 0x3e0], 0
movsx eax, word [ebp - 0x2c]
add eax, dword [ebp - 0x3e0]
mov word [0x1005f10c], ax
jmp case.default.0x10010a44
movsx ecx, byte [ebp - 0x13]
add ecx, dword [0x1005f0e8]
movsx edx, byte [ebp - 0x13]
imul edx, ecx
mov byte [ebp - 0x13], dl
movsx eax, byte [0x1005f03b]
cdq
sub eax, 0x7f899322
mov ecx, dword [0x1005f100]
add ecx, eax
mov dword [0x1005f100], ecx
mov edx, 1
imul eax, edx, 0x50ea
movsx ecx, byte [eax + 0x101b0b60]
movzx edx, word [0x1005f138]
add edx, ecx
mov word [0x1005f138], dx
jmp case.default.0x10010a44
movsx eax, word [0x1005f15c]
movzx ecx, word [0x1005f0ec]
imul eax, ecx
movsx edx, word [0x1005f15c]
or edx, eax
mov word [0x1005f15c], dx
mov eax, dword [ebp - 0x50]
sub eax, 0xa4d7
jne 0x10010be7
mov dword [ebp - 0x3e4], 1
jmp 0x10010bf1
mov dword [ebp - 0x3e4], 0
movsx eax, word [ebp - 0x1c]
add eax, dword [ebp - 0x3e4]
cdq
mov dword [0x1005f0d8], eax
mov dword [0x1005f0dc], edx
mov ecx, 8
imul edx, ecx, 0xb9a8
mov al, byte [edx + 0x10335cf8]
mov byte [0x1005f09f], al
jmp 0x10010cd9
movsx ecx, byte [0x1005f077]
test ecx, ecx
jne 0x10010c41
xor edx, edx
mov dword [ebp - 0x568], 1
mov dword [ebp - 0x564], edx
jmp 0x10010c4c
xorps xmm0, xmm0
movlpd qword [ebp - 0x568], xmm0
mov eax, dword [0x1005f160]
mov ecx, dword [0x1005f164]
xor eax, dword [ebp - 0x568]
xor ecx, dword [ebp - 0x564]
mov dword [ebp - 0x918], eax
mov dword [ebp - 0x914], ecx
mov edx, dword [ebp - 0x918]
or edx, dword [ebp - 0x914]
je 0x10010c8a
movzx eax, word [0x1005f148]
not eax
test eax, eax
je 0x10010cd9
mov ecx, dword [0x1005f0b4]
sub ecx, 1
mov dword [0x1005f0b4], ecx
movzx edx, word [ebp - 0x24]
movsx eax, word [ebp - 0x28]
imul edx, eax
movzx ecx, word [ebp - 0x24]
add ecx, edx
mov word [ebp - 0x24], cx
xor edx, edx
mov dword [0x1005f0f0], 0xe9
mov dword [0x1005f0f4], edx
mov dword [ebp - 0x7c], 8
movzx eax, byte [ebp - 0x17]
sub eax, 0xb340
movsx ecx, byte [ebp - 0x16]
or ecx, eax
mov byte [ebp - 0x16], cl
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret