Function at 0x1000f8f0
Capabilities:
Check for unmoving mouse cursor
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aa50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xc40
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0x1eca0
mov dword [ebp - 0xbb8], 0x8c8952ab
mov dword [ebp - 0xbb4], eax
mov byte [ebp - 0x12], 0x80
mov dword [ebp - 0x30], 0x66
mov byte [ebp - 0x14], 0xb2
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0xa58], edx
mov dword [ebp - 0x58], ecx
mov ax, word [0x100c30fc]
mov byte [ebp - 0x11], al
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov cl, byte [0x100c30a0]
mov byte [ebp - 0x19], cl
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x15], 0x4d
mov byte [ebp - 0x13], 0x74
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0xa54], edx
mov word [ebp - 0x28], cx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0xa50], ecx
mov dword [ebp - 0x38], eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0xa4c], eax
mov dword [ebp - 0x64], edx
mov cx, word [0x100c30b0]
mov byte [ebp - 0x17], cl
mov dword [ebp - 0x54], 0xa5
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx dx, byte [0x100c3063]
mov word [ebp - 0x24], dx
mov dword [ebp - 0x34], 0x26da7a85
mov byte [ebp - 0x16], 0x8a
mov al, byte [0x100c30a0]
mov byte [ebp - 0x18], al
xor ecx, ecx
mov dword [ebp - 0x48], 0xa9
mov dword [ebp - 0x44], ecx
mov dx, word [0x100c30d8]
mov word [ebp - 0x2c], dx
mov eax, dword [0x100c30d8]
mov ecx, dword [0x100c30dc]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov edx, 0x47a2
mov word [ebp - 0x20], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0xa48], ecx
mov word [ebp - 0x5e0], ax
mov byte [ebp - 0x101], 0xd5
xor edx, edx
mov dword [ebp - 0xbc0], 0xd1
mov dword [ebp - 0xbbc], edx
mov dword [ebp - 0xa44], 0xdf
movzx eax, byte [0x100c3062]
mov dword [ebp - 0xa40], eax
mov cl, byte [0x100c30f0]
mov byte [ebp - 0xf9], cl
xor edx, edx
mov dword [ebp - 0xbc8], 0xc5
mov dword [ebp - 0xbc4], edx
mov eax, dword [0x100c30f0]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa38], 0x7c
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0xbd0], eax
mov dword [ebp - 0xbcc], edx
mov ecx, 0xfe03
mov word [ebp - 0x5e4], cx
mov edx, 0xa3016
mov dword [ebp - 0xbd8], 0xe1006e96
mov dword [ebp - 0xbd4], edx
mov eax, dword [0x100c310c]
mov byte [ebp - 0xc5], al
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0xbb0], edx
mov dword [ebp - 0xbac], ecx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0xba8], ecx
mov byte [ebp - 0xb1], al
mov dx, word [0x100c30f0]
mov word [ebp - 0x5e8], dx
mov eax, 0xb31f
mov word [ebp - 0x5ec], ax
mov ecx, dword [str.Summary]
mov edx, dword [0x1009b2a4]
mov dword [ebp - 0xa34], ecx
mov dword [ebp - 0xa30], edx
lea eax, [ebp - 0xa34]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100c30e0], ax
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0xb8], ecx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x624], ecx
mov dword [ebp - 0x620], esi
mov dword [ebp - 0x62c], edx
mov dword [ebp - 0x628], eax
mov edx, dword [ebp - 0x620]
cmp edx, dword [ebp - 0x628]
jb 0x1000fbbe
ja 0x1000fbb2
mov eax, dword [ebp - 0x624]
cmp eax, dword [ebp - 0x62c]
jbe 0x1000fbbe
mov dword [ebp - 0x3dc], 1
jmp 0x1000fbc8
mov dword [ebp - 0x3dc], 0
movsx ecx, byte [ebp - 0x14]
cmp ecx, dword [ebp - 0x3dc]
jge 0x1000fbe0
mov dword [ebp - 0x114], 1
jmp 0x1000fbea
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0x34], 0x1954
ja 0x1000fbff
mov dword [ebp - 0x3e0], 1
jmp 0x1000fc09
mov dword [ebp - 0x3e0], 0
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x634]
or ecx, dword [ebp - 0x630]
jne 0x1000fc3a
mov dword [ebp - 0x110], 1
jmp 0x1000fc44
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x3e0]
cmp edx, dword [ebp - 0x110]
jge 0x1000fc5e
mov dword [ebp - 0x118], 1
jmp 0x1000fc68
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x114]
cmp eax, dword [ebp - 0x118]
jne 0x1000fd25
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
movsx eax, word [0x100c308c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], edx
mov edx, dword [ebp - 0x63c]
or edx, dword [ebp - 0x638]
jne 0x1000fcbf
mov eax, 1
mov word [ebp - 0x8e], ax
jmp 0x1000fcc8
xor ecx, ecx
mov word [ebp - 0x8e], cx
mov dx, word [ebp - 0x8e]
mov word [ebp - 0x24], dx
mov eax, 2
imul ecx, eax, 0xcf
movsx edx, word [ecx + 0x10192bf0]
movzx eax, byte [0x100c3063]
add eax, edx
mov byte [0x100c3063], al
movsx eax, byte [0x100c3075]
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movsx eax, byte [ebp - 0x18]
cdq
sub eax, 0xa1bcf1a8
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x54]
lea eax, [edx + ecx + 0x75]
mov dword [ebp - 0x54], eax
jmp 0x1000fe49
movzx eax, word [0x100c30b0]
cdq
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x640], edx
mov ecx, dword [ebp - 0x640]
cmp ecx, dword [0x100c30dc]
jg 0x1000fe49
jl 0x1000fd5f
mov edx, dword [ebp - 0x644]
cmp edx, dword [0x100c30d8]
jae 0x1000fe49
movsx eax, byte [ebp - 0x18]
shl eax, 1
mov dword [ebp - 0x54], eax
movsx ecx, word [ebp - 0x2c]
sar ecx, 8
mov byte [ebp - 0x14], cl
movzx edx, word [0x100c30b0]
movsx eax, byte [0x100c3075]
xor eax, edx
not eax
xor eax, 0x791a
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
xor ecx, eax
xor esi, edx
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], esi
movzx eax, byte [0x100c3062]
shl eax, 3
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
cmp dword [ebp - 0x34], 0
jne 0x1000fdce
mov dword [ebp - 0x120], 1
jmp 0x1000fdd8
mov dword [ebp - 0x120], 0
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x648], eax
mov ecx, dword [ebp - 0x64c]
or ecx, dword [ebp - 0x648]
jne 0x1000fe09
mov dword [ebp - 0x11c], 1
jmp 0x1000fe13
mov dword [ebp - 0x11c], 0
movzx edx, byte [ebp - 0x16]
imul edx, dword [ebp - 0x11c]
movzx eax, word [ebp - 0x20]
sub eax, edx
movzx ecx, word [ebp - 0x28]
movsx edx, byte [ebp - 0x13]
add edx, ecx
movzx ecx, byte [0x100c303b]
imul ecx, dword [ebp - 0x120]
sub ecx, edx
sub ecx, eax
not ecx
mov word [0x100c30e0], cx
mov edx, dword [ebp - 0xb8]
add edx, 0x79c
mov dword [ebp - 0xba4], edx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, 8
imul edx, ecx, 0x35
add eax, dword [edx + 0x1017a1f0]
mov byte [ebp - 0x13], al
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0xba0], edx
movsx eax, word [0x100c30fc]
cdq
add eax, ecx
mov word [0x100c30fc], ax
movsx eax, byte [ebp - 0x11]
cdq
push 0x7fdbd
push 0xb3f7ab1d
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x2c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x58], 0x6da
mov edx, dword [ebp - 0x40]
sub edx, 0x74243ff0
mov eax, dword [ebp - 0x3c]
sbb eax, 0
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x733
mov dword [ebp - 0xa8], ecx
push 0
push 0
call fcn.1004e550
add esp, 8
mov byte [ebp - 0x17], al
movsx edx, byte [ebp - 0x17]
test edx, edx
jne 0x1000ff21
jmp 0x1000ff1a
jmp 0x1000ff21
mov eax, dword [ebp - 0xb8]
add eax, 0x69d
mov dword [ebp - 0xb9c], eax
mov ecx, 9
mov esi, str.AslpPathWildcardAl
lea edi, [ebp - 0xc28]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0xc28]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x58], eax
mov edx, 1
mov word [0x100c30fc], dx
mov eax, dword [0x100c30f0]
or eax, dword [0x100c30f4]
jne 0x1000ff7b
mov dword [ebp - 0x124], 1
jmp 0x1000ff85
mov dword [ebp - 0x124], 0
movsx eax, byte [ebp - 0x12]
add eax, dword [ebp - 0x124]
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
movsx ecx, byte [ebp - 0x19]
imul eax, ecx, 0xc44c
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movsx edx, byte [str.NDisablePerfBackoff]
add edx, 0x5309
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xb98], ecx
add eax, 0xf1
mov byte [ebp - 0x13], al
movsx edx, word [0x100c30fc]
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0
je 0x1000fffd
cmp dword [ebp - 0x128], 1
je 0x1001007b
jmp 0x1001023c
mov eax, 1
imul ecx, eax, 0x3e49
mov dl, byte [ecx + 0x100dfcd8]
mov byte [ebp - 0x14], dl
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], ecx
mov edx, 0xd0b4
mov word [ebp - 0x20], dx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0xb94], edx
movzx eax, word [ebp - 0x20]
cdq
mov esi, eax
add esi, ecx
movzx eax, word [ebp - 0x20]
cdq
xor eax, esi
mov word [ebp - 0x20], ax
movsx eax, byte [ebp - 0x11]
imul eax, eax, 0x46
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movzx ecx, word [ebp - 0x28]
sar ecx, 6
mov dword [0x100c3108], ecx
jmp 0x1001023c
movsx edx, byte [0x100c3027]
test edx, edx
jne 0x10010092
mov dword [ebp - 0x12c], 1
jmp 0x1001009c
mov dword [ebp - 0x12c], 0
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
not ecx
not esi
mov eax, dword [ebp - 0x64]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
movsx edx, byte [0x100c3075]
sub edx, dword [ebp - 0x54]
add edx, eax
movsx eax, byte [ebp - 0x12]
mov ecx, 0xc7632e59
sub ecx, eax
add ecx, dword [ebp - 0x12c]
sub ecx, edx
mov byte [0x100c3063], cl
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0xb90], eax
mov ecx, 4
imul eax, ecx, 0xb8e
mov dword [eax + 0x10155538], edx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0xb8c], edx
add ecx, 0xcef4c475
mov word [0x100c3088], cx
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov edx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push ecx
push eax
push esi
push edx
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movsx eax, byte [0x100c3075]
movzx ecx, word [ebp - 0x20]
xor eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x100c3098]
mov ebx, dword [0x100c309c]
not edi
not ebx
movzx eax, word [ebp - 0x20]
cdq
sub eax, edi
sbb edx, ebx
sub eax, ecx
sbb edx, esi
movzx ecx, byte [0x100c303b]
add ecx, 0x14306b2e
mov dword [ebp - 0x5f4], eax
mov eax, ecx
mov dword [ebp - 0x5f0], edx
cdq
mov esi, eax
mov edi, edx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0
push 0xa1
push eax
push edx
call fcn.1008eb70
sub eax, esi
sbb edx, edi
mov esi, dword [ebp - 0x5f0]
push esi
mov esi, dword [ebp - 0x5f4]
push esi
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x650], edx
mov ecx, dword [ebp - 0x654]
or ecx, dword [ebp - 0x650]
jne 0x100101ed
xor edx, edx
mov dword [ebp - 0x410], 1
mov dword [ebp - 0x40c], edx
jmp 0x100101f8
xorps xmm0, xmm0
movlpd qword [ebp - 0x410], xmm0
mov eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x40c]
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], ecx
mov eax, dword [0x100c30f8]
cdq
sub eax, 0xe31b8832
sbb edx, 0xb2b9c
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movsx edx, byte [ebp - 0x12]
mov dword [0x100c3108], edx
movsx eax, word [0x100c30fc]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [0x100c30d8]
and eax, 0x80cd
mov ecx, dword [0x100c30dc]
and ecx, 0
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xab8], eax
sub edx, 0x611c7a04
mov dword [ebp - 0x30], edx
push 0
push 0
call fcn.1004e550
add esp, 8
mov word [0x100c3118], ax
movsx ecx, word [0x100c3118]
test ecx, ecx
je 0x100107f9
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.USER32.dll_IsZoomed]
mov dword [ebp - 0x54], eax
movzx eax, byte [0x100c3062]
test eax, eax
jne 0x100102cc
mov dword [ebp - 0x130], 1
jmp 0x100102d6
mov dword [ebp - 0x130], 0
movzx ecx, word [ebp - 0x20]
cmp ecx, dword [ebp - 0x130]
jl 0x100102f6
xor edx, edx
mov dword [ebp - 0x408], 1
mov dword [ebp - 0x404], edx
jmp 0x10010301
xorps xmm0, xmm0
movlpd qword [ebp - 0x408], xmm0
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], ecx
mov edx, dword [ebp - 0x404]
cmp edx, dword [ebp - 0x658]
ja 0x100107f4
jb 0x1001033e
mov eax, dword [ebp - 0x408]
cmp eax, dword [ebp - 0x65c]
jae 0x100107f4
movzx ecx, word [ebp - 0x24]
cmp dword [ebp - 0x34], ecx
jb 0x100103e1
movzx edx, byte [ebp - 0x16]
test edx, edx
je 0x10010367
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], edx
jmp 0x1001037e
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], ecx
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x30], edx
movsx eax, word [0x100c308c]
movsx ecx, byte [ebp - 0x11]
xor ecx, dword [ebp - 0x34]
sub ecx, eax
movsx edx, byte [str.NDisablePerfBackoff]
movzx eax, byte [ebp - 0x15]
imul eax, edx
add eax, ecx
mov byte [ebp - 0x17], al
movsx ecx, byte [ebp - 0x19]
movsx edx, byte [ebp - 0x13]
sub edx, ecx
mov byte [ebp - 0x13], dl
mov al, byte [0x100c3b38]
mov byte [0x100c3063], al
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0xa5c], edx
add ecx, 0xc5a67a3c
mov dword [ebp - 0x54], ecx
jmp 0x100107f4
xor eax, eax
jne 0x100103fc
movzx ecx, byte [0x100c303b]
test ecx, ecx
jne 0x100103fc
mov dword [ebp - 0x134], 0
jmp 0x10010406
mov dword [ebp - 0x134], 1
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x664]
or ecx, dword [ebp - 0x660]
jne 0x10010436
xor edx, edx
je 0x10010436
mov dword [ebp - 0x138], 1
jmp 0x10010440
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x138]
je 0x100104df
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
movsx eax, word [0x100c3118]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3118]
cdq
sub eax, ecx
mov word [0x100c3118], ax
movsx eax, byte [ebp - 0x13]
cdq
mov edx, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0xa60], ecx
sub edx, eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xa64], ecx
add eax, edx
not eax
mov byte [ebp - 0x19], al
mov dword [ebp - 0x30], 0xc526d33a
mov byte [ebp - 0x14], 0x9d
mov edx, dword [ebp - 0x54]
xor eax, eax
sub edx, 0xca948cf6
sbb eax, 0x630d
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, 0x2de7
mov word [0x100c3088], cx
jmp 0x100107f4
cmp dword [0x100c3108], 0
je 0x10010501
movzx edx, byte [0x100c303b]
not edx
test edx, edx
je 0x10010501
mov dword [ebp - 0x140], 1
jmp 0x1001050b
mov dword [ebp - 0x140], 0
movsx eax, word [0x100c30fc]
movzx ecx, word [0x100c30a0]
not ecx
cmp ecx, eax
je 0x1001052b
mov dword [ebp - 0x13c], 1
jmp 0x10010535
mov dword [ebp - 0x13c], 0
mov edx, dword [ebp - 0x13c]
not edx
cmp dword [ebp - 0x140], edx
jg 0x100105fa
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
push 0
push 0x509de871
push ecx
push eax
call fcn.1008eb70
mov word [ebp - 0x2c], ax
mov byte [0x100c3075], 0x5b
mov dx, word [0x100c30e0]
sub dx, 1
mov word [0x100c30e0], dx
mov eax, dword [ebp - 0x64]
shl eax, 6
mov word [0x100c3090], ax
movzx eax, byte [ebp - 0x15]
add eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c3114]
mov esi, dword [0x100c3098]
mov edi, dword [0x100c309c]
add esi, dword [0x100c3110]
adc edi, ecx
sub esi, eax
sbb edi, edx
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [0x100c30d0]
mov ebx, dword [0x100c30d4]
add ecx, dword [0x100c30d8]
adc ebx, dword [0x100c30dc]
sub ecx, eax
sbb ebx, edx
sub ecx, esi
sbb ebx, edi
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], ebx
movsx edx, byte [ebp - 0x11]
sub edx, 0x3e4b
mov dword [0x100c30f8], edx
jmp 0x100107f4
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], esi
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x670], edx
mov edx, dword [ebp - 0x668]
cmp edx, dword [ebp - 0x670]
jb 0x10010650
ja 0x10010644
mov eax, dword [ebp - 0x66c]
cmp eax, dword [ebp - 0x674]
jbe 0x10010650
mov dword [ebp - 0x144], 1
jmp 0x1001065a
mov dword [ebp - 0x144], 0
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
or eax, dword [ebp - 0x678]
je 0x10010694
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x10010694
mov dword [ebp - 0x148], 1
jmp 0x1001069e
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x144]
imul edx, dword [ebp - 0x148]
test edx, edx
je 0x100107f4
movzx eax, word [ebp - 0x28]
cdq
sub eax, 0x7880a655
mov word [0x100c3118], ax
mov ax, word [0x100c30fc]
sub ax, 1
mov word [0x100c30fc], ax
mov ecx, dword [0x100c3114]
mov esi, dword [ebp - 0x38]
xor edi, edi
add esi, dword [0x100c3110]
adc edi, ecx
movzx eax, word [0x100c30e0]
cdq
mov ecx, dword [0x100c3098]
mov ebx, dword [0x100c309c]
sub ecx, eax
sbb ebx, edx
sub ecx, esi
sbb ebx, edi
mov dword [ebp - 0x684], ecx
mov dword [ebp - 0x680], ebx
mov edx, dword [ebp - 0x684]
or edx, dword [ebp - 0x680]
jne 0x10010730
xor eax, eax
mov dword [ebp - 0x3f8], 1
mov dword [ebp - 0x3f4], eax
jmp 0x1001073b
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f8], xmm0
movsx ecx, byte [ebp - 0x18]
movsx eax, byte [ebp - 0x19]
xor eax, ecx
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
xor ecx, 0xdd9c
xor esi, 0
push edx
push eax
push esi
push ecx
call fcn.1008eb70
add eax, dword [ebp - 0x3f8]
adc edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x688], edx
mov edx, dword [ebp - 0x68c]
or edx, dword [ebp - 0x688]
jne 0x1001079e
xor eax, eax
mov dword [ebp - 0x3f0], 1
mov dword [ebp - 0x3ec], eax
jmp 0x100107a9
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f0], xmm0
mov ecx, dword [ebp - 0x3f0]
mov edx, dword [ebp - 0x3ec]
mov dword [0x100c3100], ecx
mov dword [0x100c3104], edx
mov eax, 1
imul ecx, eax, 0x28
movzx eax, byte [ecx + 0x100c3c18]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
movsx eax, byte [ebp - 0x14]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x11], al
jmp 0x10010a4a
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], edx
mov edx, dword [ebp - 0x694]
cmp edx, dword [0x100c30f0]
jne 0x1001083a
mov eax, dword [ebp - 0x690]
cmp eax, dword [0x100c30f4]
jne 0x1001083a
xor ecx, ecx
mov dword [ebp - 0x418], 1
mov dword [ebp - 0x414], ecx
jmp 0x10010845
xorps xmm0, xmm0
movlpd qword [ebp - 0x418], xmm0
mov edx, dword [0x100c30d4]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
sub eax, dword [0x100c30d0]
sbb ecx, edx
and eax, dword [ebp - 0x418]
and ecx, dword [ebp - 0x414]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x69c]
or edx, dword [ebp - 0x698]
je 0x100108ed
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, 0x59
sbb esi, 0
movzx eax, byte [ebp - 0x15]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x15], al
movsx edx, word [0x100c3090]
xor edx, 0xab95
mov dword [0x100c310c], edx
mov eax, dword [0x100c3080]
sub eax, 0x7a87b6bb
mov dword [ebp - 0x54], eax
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov ecx, dword [ebp - 0x4c]
sbb ecx, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 0x13], 0x65
jmp 0x10010a4a
mov edx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x6a4], edx
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x3c]
cmp ecx, dword [ebp - 0x6a0]
jl 0x10010922
jg 0x10010916
mov edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x6a4]
jb 0x10010922
mov dword [ebp - 0x14c], 1
jmp 0x1001092c
mov dword [ebp - 0x14c], 0
movzx eax, word [0x100c30a0]
test eax, eax
jne 0x1001094c
cmp dword [0x100c3108], 0
jne 0x1001094c
mov dword [ebp - 0x150], 0
jmp 0x10010956
mov dword [ebp - 0x150], 1
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x150]
je 0x10010a4a
movsx edx, byte [ebp - 0x17]
test edx, edx
jne 0x1001097c
mov dword [ebp - 0x154], 1
jmp 0x10010986
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x58], eax
mov ecx, 0x4f4e
mov word [0x100c30a0], cx
mov eax, dword [ebp - 0x30]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x30]
cdq
or eax, dword [ebp - 0x50]
not eax
add eax, ecx
mov byte [ebp - 0x18], al
movsx eax, word [0x100c3090]
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx edx, byte [0x100c3063]
test edx, edx
jne 0x100109d9
mov dword [ebp - 0x15c], 1
jmp 0x100109e3
mov dword [ebp - 0x15c], 0
cmp dword [ebp - 0x38], 0
jne 0x100109f5
mov dword [ebp - 0x158], 1
jmp 0x100109ff
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
not eax
not ecx
mov esi, dword [0x100c3110]
mov edi, dword [0x100c3114]
not esi
not edi
add esi, eax
adc edi, ecx
movsx edx, word [0x100c3090]
not edx
add edx, dword [ebp - 0x158]
movzx eax, byte [ebp - 0x16]
not eax
add eax, dword [ebp - 0x15c]
add eax, edx
cdq
add eax, esi
adc edx, edi
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
push 0
call fcn.1004f040
add esp, 4
mov word [ebp - 0x28], ax
movzx eax, word [ebp - 0x28]
test eax, eax
jg 0x10010a6c
mov dword [ebp - 0x160], 1
jmp 0x10010a76
mov dword [ebp - 0x160], 0
movzx ecx, word [ebp - 0x28]
cmp ecx, 0x1f
jg 0x10010a8b
mov dword [ebp - 0x164], 1
jmp 0x10010a95
mov dword [ebp - 0x164], 0
mov edx, dword [ebp - 0x160]
cmp edx, dword [ebp - 0x164]
je 0x10010bdc
mov dword [ebp - 0xbc], 0x2c
movsx eax, byte [str.NDisablePerfBackoff]
imul eax, dword [ebp - 0x54]
mov byte [str.NDisablePerfBackoff], al
mov ecx, 0xb82f8
mov dword [0x100c30e8], 0xec673cf8
mov dword [0x100c30ec], ecx
movzx edx, word [ebp - 0x24]
movzx eax, byte [0x100c3063]
add eax, edx
mov byte [0x100c3063], al
mov cl, byte [0x100c3b38]
mov byte [0x100c303b], cl
push 0
push 0xa2a9f548
mov edx, dword [0x100c30bc]
push edx
mov eax, dword [0x100c30b8]
push eax
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
xor ecx, 0xb583ea1d
xor esi, 0xb939a
movzx eax, byte [ebp - 0x16]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x16], al
movsx edx, byte [ebp - 0x11]
imul eax, edx, 0xc957ba2c
mov word [0x100c3118], ax
movzx ecx, byte [0x100c303b]
imul ecx, dword [0x100c3108]
mov byte [0x100c303b], cl
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6ac]
or ecx, dword [ebp - 0x6a8]
jne 0x10010b93
xor edx, edx
mov dword [ebp - 0x6b4], 1
mov dword [ebp - 0x6b0], edx
jmp 0x10010b9e
xorps xmm0, xmm0
movlpd qword [ebp - 0x6b4], xmm0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0xa68], ecx
mov edx, dword [ebp - 0x6b4]
add edx, dword [0x100c30b8]
add edx, eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x2471
jl 0x10010af4
jmp 0x10010c46
movsx ecx, byte [0x100c3027]
test ecx, ecx
je 0x10010c46
movsx edx, byte [ebp - 0x19]
imul eax, edx, 0x5b7e
mov word [0x100c30fc], ax
movsx ecx, byte [ebp - 0x12]
movsx edx, byte [0x100c3027]
sub edx, ecx
mov byte [0x100c3027], dl
mov eax, dword [0x100c30f8]
cdq
sub eax, 0x2847a5ea
mov ecx, dword [ebp - 0x34]
or ecx, eax
mov dword [ebp - 0x34], ecx
movzx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x19], al
xor edx, edx
mov dword [0x100c30c0], 0x293fef55
mov dword [0x100c30c4], edx
movsx eax, word [0x100c30fc]
test eax, eax
jne 0x10010c65
xor ecx, ecx
mov dword [ebp - 0x420], 1
mov dword [ebp - 0x41c], ecx
jmp 0x10010c70
xorps xmm0, xmm0
movlpd qword [ebp - 0x420], xmm0
cmp dword [ebp - 0x41c], 0x38cab
jl 0x10010c9e
jg 0x10010c8a
cmp dword [ebp - 0x420], 0x34c3031b
jb 0x10010c9e
xor edx, edx
mov dword [ebp - 0x428], 1
mov dword [ebp - 0x424], edx
jmp 0x10010ca9
xorps xmm0, xmm0
movlpd qword [ebp - 0x428], xmm0
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], ecx
mov edx, dword [ebp - 0x424]
cmp edx, dword [ebp - 0x6b8]
ja 0x10010f38
jb 0x10010ce6
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x6bc]
ja 0x10010f38
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x10010d02
xor edx, edx
mov dword [ebp - 0x430], 1
mov dword [ebp - 0x42c], edx
jmp 0x10010d0d
xorps xmm0, xmm0
movlpd qword [ebp - 0x430], xmm0
cmp dword [ebp - 0x430], 0xa7574997
jne 0x10010d25
cmp dword [ebp - 0x42c], 0x32872
je 0x10010da0
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
add ecx, dword [0x100c3080]
movsx eax, byte [ebp - 0x13]
cdq
sub eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movzx ecx, word [0x100c30b0]
test ecx, ecx
jne 0x10010d66
mov dword [ebp - 0x168], 1
jmp 0x10010d70
mov dword [ebp - 0x168], 0
movzx edx, word [ebp - 0x24]
sub edx, dword [ebp - 0x168]
mov dword [ebp - 0x38], edx
mov eax, 2
imul ecx, eax, 0x1bd
movzx eax, word [ecx + 0x101241b8]
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
jmp 0x10010f38
movsx edx, byte [ebp - 0x12]
test edx, edx
je 0x10010e67
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
add eax, 0x7439
adc ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100c310c]
xor eax, eax
add edx, dword [0x100c30d8]
adc eax, dword [0x100c30dc]
add edx, dword [0x100c30d8]
adc eax, dword [0x100c30dc]
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
movzx eax, byte [0x100c3062]
cdq
mov ecx, eax
mov esi, edx
movsx edi, word [0x100c3088]
xor edi, 0xf840ed3e
not edi
xor ebx, ebx
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x5fc], esi
mov esi, dword [0x100c3100]
mov dword [ebp - 0x5f8], ecx
mov ecx, dword [0x100c3104]
add esi, eax
adc ecx, edx
sub esi, edi
sbb ecx, ebx
mov edi, dword [ebp - 0x5f8]
sub esi, edi
mov edi, dword [ebp - 0x5fc]
sbb ecx, edi
mov dword [0x100c3080], esi
mov dword [0x100c3084], ecx
movzx edx, word [ebp - 0x28]
add edx, dword [0x100c30f8]
mov eax, dword [0x100c30f8]
sub eax, edx
mov dword [0x100c30f8], eax
jmp 0x10010f38
movsx ecx, byte [ebp - 0x12]
movzx edx, word [ebp - 0x28]
cmp edx, ecx
jne 0x10010e87
xor eax, eax
mov dword [ebp - 0x438], 1
mov dword [ebp - 0x434], eax
jmp 0x10010e92
xorps xmm0, xmm0
movlpd qword [ebp - 0x438], xmm0
push 0
push 0x67
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1008eb70
mov dword [ebp - 0x6c4], eax
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x6c0]
jg 0x10010f38
jl 0x10010ecd
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [ebp - 0x6c4]
ja 0x10010f38
mov byte [0x100c303b], 0x91
movzx edx, word [0x100c30a0]
movsx eax, byte [ebp - 0x19]
xor eax, edx
movsx ecx, byte [ebp - 0x14]
sub ecx, eax
mov eax, ecx
cdq
mov esi, eax
movsx eax, word [ebp - 0x2c]
cdq
mov edi, eax
add edi, dword [ebp - 0x50]
movzx eax, byte [0x100c3063]
not eax
cdq
push 0xff878
push 0x8347cf85
push edx
push eax
call fcn.1008eb70
and eax, edi
sub eax, esi
mov word [ebp - 0x2c], ax
xor edx, edx
mov dword [0x100c30c8], 0xaaca
mov dword [0x100c30cc], edx
mov eax, dword [0x100c30f8]
shl eax, 8
mov byte [str.NDisablePerfBackoff], al
mov dword [ebp - 0x3a8], 0
xor ecx, ecx
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x50]
sub edx, 0x3d
mov word [0x100c3088], dx
mov eax, dword [ebp - 0x64]
shl eax, 4
mov byte [0x100c303b], al
mov ecx, dword [0x100c310c]
sub ecx, 0x2219
mov byte [ebp - 0x14], cl
mov eax, dword [0x100c30d8]
mov edx, dword [0x100c30dc]
mov cl, 1
call fcn.1008ebd0
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 0x669840a5
sbb eax, 0xd03c7
mov dword [0x100c30e8], edx
mov dword [0x100c30ec], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
sub ecx, dword [0x100c30d8]
sbb edx, dword [0x100c30dc]
mov eax, dword [0x100c3120]
mov esi, dword [0x100c3124]
add eax, ecx
adc esi, edx
mov dword [0x100c3120], eax
mov dword [0x100c3124], esi
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf8]
or eax, dword [ebp - 0xf4]
je 0x10011025
cmp dword [ebp - 0xf8], 1
jne 0x1001100a
cmp dword [ebp - 0xf4], 0
je 0x10011074
cmp dword [ebp - 0xf8], 2
jne 0x10011020
cmp dword [ebp - 0xf4], 0
je 0x100111b5
jmp 0x1001120d
movsx eax, byte [ebp - 0x12]
shl eax, 2
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, byte [ebp - 0x19]
shl eax, 8
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov ecx, dword [ebp - 0x58]
imul ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x58]
sub edx, ecx
mov dword [ebp - 0x58], edx
movzx eax, word [0x100c30a0]
movsx ecx, byte [ebp - 0x11]
imul ecx, eax
mov byte [ebp - 0x11], cl
mov edx, 0x4d21
mov word [ebp - 0x24], dx
jmp 0x1001120d
movzx eax, word [0x100c30a0]
movzx ecx, word [0x100c30a0]
add ecx, eax
not ecx
mov eax, ecx
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [0x100c3110]
mov edi, dword [0x100c3114]
sub esi, dword [ebp - 0x48]
sbb edi, ecx
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov dword [ebp - 0x34], eax
mov edx, 0x4283
mov word [0x100c30e0], dx
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0xa6c], edx
movsx eax, byte [ebp - 0x12]
cdq
mov esi, eax
and esi, ecx
movsx eax, byte [ebp - 0x12]
cdq
sub eax, esi
mov byte [ebp - 0x12], al
cmp dword [ebp - 0x64], 0
jne 0x100110ec
mov dword [ebp - 0x16c], 1
jmp 0x100110f6
mov dword [ebp - 0x16c], 0
mov ecx, dword [ebp - 0x38]
not ecx
add ecx, dword [ebp - 0x16c]
not ecx
xor esi, esi
movzx eax, word [ebp - 0x20]
cdq
mov edi, dword [0x100c30c0]
mov ebx, dword [0x100c30c4]
add edi, eax
adc ebx, edx
sub edi, ecx
sbb ebx, esi
mov dword [ebp - 0x6cc], edi
mov dword [ebp - 0x6c8], ebx
mov edx, dword [ebp - 0x6cc]
or edx, dword [ebp - 0x6c8]
jne 0x1001114c
xor eax, eax
mov dword [ebp - 0x440], 1
mov dword [ebp - 0x43c], eax
jmp 0x10011157
xorps xmm0, xmm0
movlpd qword [ebp - 0x440], xmm0
movzx ecx, byte [ebp - 0x15]
movzx eax, word [0x100c30b0]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
movsx eax, byte [ebp - 0x18]
cdq
xor eax, edi
xor edx, ebx
not eax
not edx
xor eax, ecx
xor edx, esi
push edx
push eax
mov edx, dword [ebp - 0x43c]
push edx
mov eax, dword [ebp - 0x440]
push eax
call fcn.1008eb70
mov word [ebp - 0x20], ax
mov byte [ebp - 0x17], 4
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xa70], edx
add ecx, 0x8542c33
mov word [ebp - 0x24], cx
jmp 0x1001120d
mov byte [0x100c3063], 4
mov al, byte [0x100c3b38]
mov byte [ebp - 0x18], al
movsx ecx, word [0x100c3088]
add ecx, dword [ebp - 0x54]
movsx edx, word [0x100c3088]
sub edx, ecx
mov word [0x100c3088], dx
movzx eax, word [0x100c30b0]
cdq
sub eax, dword [ebp - 0x40]
mov word [0x100c30b0], ax
movzx eax, byte [ebp - 0x16]
sar eax, 6
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov eax, dword [ebp - 0x34]
xor eax, 0xb44eb0dc
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov word [ebp - 0x88], cx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x6d4], edx
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0x6d4]
or ecx, dword [ebp - 0x6d0]
jne 0x10011247
mov dword [ebp - 0x170], 1
jmp 0x10011251
mov dword [ebp - 0x170], 0
movsx eax, byte [0x100c3075]
not eax
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x170]
not eax
cdq
add eax, ecx
mov dword [ebp - 0x58], eax
mov dx, word [0x100c3b38]
mov word [0x100c30e0], dx
movsx eax, word [0x100c3088]
imul eax, dword [ebp - 0x58]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0xa74], edx
movsx eax, byte [ebp - 0x12]
cdq
mov esi, eax
add esi, ecx
movsx eax, byte [ebp - 0x12]
cdq
add eax, esi
mov byte [ebp - 0x12], al
mov dword [ebp - 0xc0], 0
jmp 0x100112df
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x183
jge 0x10011381
mov cl, byte [0x100c3062]
add cl, 1
mov byte [0x100c3062], cl
movsx edx, byte [0x100c3027]
imul eax, edx, 0xb966
mov byte [str.NDisablePerfBackoff], al
movsx ecx, word [0x100c308c]
imul edx, ecx, 0xe21de708
mov byte [ebp - 0x13], dl
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
push 0
push 0xf6f
push ecx
push eax
call fcn.1008eb70
mov byte [ebp - 0x12], al
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0xa78], edx
movsx eax, word [0x100c3088]
cdq
mov esi, eax
add esi, ecx
movzx eax, word [ebp - 0x20]
cdq
add eax, esi
mov dword [ebp - 0x30], eax
movsx eax, word [0x100c30fc]
sub eax, 0xd423
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x38]
add ecx, 1
mov dword [ebp - 0x38], ecx
jmp 0x100112d0
xor edx, edx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
add eax, dword [ebp - 0x38]
adc ecx, edx
mov dword [ebp - 0x6dc], eax
mov dword [ebp - 0x6d8], ecx
mov edx, dword [ebp - 0x6dc]
or edx, dword [ebp - 0x6d8]
jne 0x100113c1
xor eax, eax
mov dword [ebp - 0x448], 1
mov dword [ebp - 0x444], eax
jmp 0x100113cc
xorps xmm0, xmm0
movlpd qword [ebp - 0x448], xmm0
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
add ecx, eax
adc esi, edx
add ecx, dword [ebp - 0x448]
adc esi, dword [ebp - 0x444]
mov dword [0x100c3080], ecx
mov dword [0x100c3084], esi
xor edx, edx
mov dword [0x100c3098], 0xa0
mov dword [0x100c309c], edx
movsx eax, byte [ebp - 0x13]
cdq
sub eax, 0x8254188
mov dword [0x100c30f8], eax
movzx eax, byte [0x100c3063]
test eax, eax
jne 0x1001143a
xor ecx, ecx
mov dword [ebp - 0x450], 1
mov dword [ebp - 0x44c], ecx
jmp 0x10011445
xorps xmm0, xmm0
movlpd qword [ebp - 0x450], xmm0
movsx eax, byte [0x100c3027]
cdq
mov ecx, eax
mov esi, edx
movzx edx, byte [0x100c3063]
movzx eax, byte [0x100c3062]
imul eax, edx
not eax
cdq
mov edi, dword [ebp - 0x450]
sub edi, dword [0x100c30d8]
mov ebx, dword [ebp - 0x44c]
sbb ebx, dword [0x100c30dc]
sub edi, eax
sbb ebx, edx
push esi
push ecx
push ebx
push edi
call fcn.1008eb70
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx ecx, byte [ebp - 0x17]
sub ecx, dword [0x100c30f8]
mov dl, byte [ebp - 0x17]
sar dl, cl
mov byte [ebp - 0x17], dl
movzx eax, byte [0x100c3062]
shl eax, 5
mov dword [0x100c3108], eax
movsx ecx, byte [str.NDisablePerfBackoff]
test ecx, ecx
je 0x100114da
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
jmp 0x100114f1
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x454], eax
mov cx, word [ebp - 0x458]
mov word [0x100c3090], cx
mov edx, dword [0x100c30dc]
push edx
mov eax, dword [0x100c30d8]
push eax
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
call fcn.1008eb70
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 0x6e0], edx
mov eax, dword [ebp - 0x6e4]
or eax, dword [ebp - 0x6e0]
jne 0x10011545
mov dword [ebp - 0x174], 1
jmp 0x1001154f
mov dword [ebp - 0x174], 0
movsx eax, word [ebp - 0x2c]
sub eax, dword [ebp - 0x174]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x34]
xor edi, edi
sub esi, dword [ebp - 0x6c]
sbb edi, ecx
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x40]
sub ecx, 7
movsx eax, byte [ebp - 0x19]
cdq
add eax, ecx
mov byte [ebp - 0x19], al
movsx eax, byte [ebp - 0x18]
cdq
push 0x7f4d3
push 0x8a79ab37
push edx
push eax
call fcn.1008eb70
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x44]
push edx
push eax
push ebx
push ecx
call fcn.1008eb70
add eax, esi
adc edx, edi
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], edx
mov edx, dword [ebp - 0x6ec]
or edx, dword [ebp - 0x6e8]
jne 0x100115e0
mov eax, 1
mov word [ebp - 0x90], ax
jmp 0x100115e9
xor ecx, ecx
mov word [ebp - 0x90], cx
mov dx, word [ebp - 0x90]
mov word [ebp - 0x24], dx
movsx eax, byte [0x100c3075]
test eax, eax
jne 0x1001160b
mov dword [ebp - 0x178], 1
jmp 0x10011615
mov dword [ebp - 0x178], 0
movzx ecx, word [ebp - 0x20]
and ecx, dword [ebp - 0x178]
mov byte [0x100c303b], cl
movsx edx, byte [0x100c3027]
movzx eax, byte [ebp - 0x15]
cmp eax, edx
jge 0x10011640
mov dword [ebp - 0x17c], 1
jmp 0x1001164a
mov dword [ebp - 0x17c], 0
movzx ecx, byte [ebp - 0x15]
cmp ecx, 0x60
jge 0x1001165f
mov dword [ebp - 0x180], 1
jmp 0x10011669
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x180]
jle 0x10011781
mov byte [ebp - 0x13], 1
mov eax, dword [ebp - 0x30]
cdq
push 0xbcf8a
push 0xb8982850
push edx
push eax
call fcn.1008eb70
mov word [0x100c3088], ax
movsx eax, byte [ebp - 0x11]
imul eax, dword [ebp - 0x30]
mov byte [ebp - 0x11], al
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x6f4], ecx
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6f4]
or eax, dword [ebp - 0x6f0]
je 0x100116da
movsx ecx, word [0x100c308c]
mov dword [ebp - 0x184], ecx
jmp 0x100116e4
movzx edx, word [ebp - 0x20]
mov dword [ebp - 0x184], edx
mov eax, dword [ebp - 0x184]
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx eax, byte [ebp - 0x16]
test eax, eax
jne 0x1001170a
mov dword [ebp - 0x188], 1
jmp 0x10011714
mov dword [ebp - 0x188], 0
movzx ecx, word [0x100c30a0]
add ecx, dword [ebp - 0x188]
jne 0x1001172f
mov dword [ebp - 0x18c], 1
jmp 0x10011739
mov dword [ebp - 0x18c], 0
movsx edx, word [0x100c308c]
movzx eax, byte [ebp - 0x15]
movzx ecx, word [0x100c30b0]
xor ecx, eax
add ecx, edx
xor ecx, dword [ebp - 0x18c]
mov eax, ecx
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xa7c], eax
add edx, 0x4d66bd3e
mov word [0x100c30a0], dx
jmp 0x1001182e
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x15], cl
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
xor edx, dword [0x100c3098]
xor eax, dword [0x100c309c]
mov dword [ebp - 0x6fc], edx
mov dword [ebp - 0x6f8], eax
mov ecx, dword [ebp - 0x6fc]
or ecx, dword [ebp - 0x6f8]
jne 0x100117c7
mov dword [ebp - 0x190], 1
jmp 0x100117d1
mov dword [ebp - 0x190], 0
xor edx, edx
sub edx, dword [ebp - 0x34]
and edx, dword [ebp - 0x190]
mov word [ebp - 0x2c], dx
mov ax, word [0x100c3b38]
mov word [0x100c30e0], ax
movsx ecx, byte [ebp - 0x18]
movzx edx, word [0x100c30b0]
sub edx, ecx
movzx eax, word [0x100c30b0]
sub eax, edx
mov word [0x100c30b0], ax
movsx eax, word [0x100c30fc]
cdq
add eax, 0xbc0e214e
mov byte [str.NDisablePerfBackoff], al
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c30d8], ecx
mov dword [0x100c30dc], edx
mov eax, dword [ebp - 0xa8]
add eax, 0x22
mov ecx, dword [ebp - 0xa8]
sub ecx, dword [ebp - 0xa8]
imul edx, dword [ebp - 0xa8], 0x282
xor edx, ecx
cmp edx, eax
je 0x100136ad
mov dword [0x100c30f8], 3
movzx eax, byte [ebp - 0x16]
cdq
mov ecx, 8
imul edx, ecx, 0x6d6
add eax, dword [edx + 0x10118ca8]
mov byte [ebp - 0x16], al
mov al, byte [str.NDisablePerfBackoff]
mov byte [0x100c3062], al
movsx ecx, word [0x100c30fc]
test ecx, ecx
je 0x1001189b
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x194], edx
jmp 0x100118a8
movsx eax, word [0x100c308c]
mov dword [ebp - 0x194], eax
mov cl, byte [ebp - 0x194]
mov byte [0x100c3075], cl
movzx edx, word [0x100c30a0]
movsx eax, byte [ebp - 0x17]
imul eax, edx
mov byte [ebp - 0x17], al
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
je 0x100118e0
mov edx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], eax
jmp 0x100118f8
mov ecx, dword [0x100c3080]
mov edx, dword [0x100c3084]
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b8]
mov ecx, dword [ebp - 0x3b4]
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
mov edx, dword [0x100c30f8]
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 3
ja case.default.0x1001192e
mov eax, dword [ebp - 0x198]
jmp dword [eax*4 + 0x10019618]
movsx eax, byte [ebp - 0x19]
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movsx ecx, word [0x100c3090]
shl ecx, 4
mov dword [0x100c310c], ecx
movsx eax, word [0x100c308c]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov dl, byte [0x100c3b38]
mov byte [ebp - 0x18], dl
jmp case.default.0x1001192e
mov eax, dword [0x100c30b8]
add eax, 0xc169d88e
mov byte [ebp - 0x18], al
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x704]
or eax, dword [ebp - 0x700]
jne 0x100119c1
mov dword [ebp - 0x19c], 1
jmp 0x100119cb
mov dword [ebp - 0x19c], 0
movsx ecx, word [0x100c308c]
imul ecx, dword [ebp - 0x19c]
movsx edx, word [0x100c3118]
movzx eax, word [ebp - 0x28]
add eax, edx
xor eax, ecx
mov word [ebp - 0x20], ax
movsx eax, word [0x100c30fc]
shl eax, 7
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
mov ecx, dword [0x100c3080]
not ecx
mov esi, dword [0x100c3084]
not esi
movsx eax, byte [str.NDisablePerfBackoff]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x70c], eax
mov dword [ebp - 0x708], edx
mov edx, dword [ebp - 0x70c]
or edx, dword [ebp - 0x708]
jne 0x10011a44
mov dword [ebp - 0x1a0], 1
jmp 0x10011a4e
mov dword [ebp - 0x1a0], 0
movzx eax, word [ebp - 0x28]
not eax
movsx ecx, word [0x100c3090]
add ecx, eax
jne 0x10011a6b
mov dword [ebp - 0x1a4], 1
jmp 0x10011a75
mov dword [ebp - 0x1a4], 0
mov edx, dword [ebp - 0x1a0]
xor edx, dword [ebp - 0x1a4]
mov byte [str.NDisablePerfBackoff], dl
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x10011a9e
movzx ecx, byte [0x100c3062]
mov dword [ebp - 0x1a8], ecx
jmp 0x10011aab
movsx edx, byte [str.NDisablePerfBackoff]
mov dword [ebp - 0x1a8], edx
mov ax, word [ebp - 0x1a8]
mov word [ebp - 0x28], ax
jmp case.default.0x1001192e
movsx ecx, byte [ebp - 0x13]
movsx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100c310c]
shr ecx, 3
mov word [0x100c30fc], cx
mov eax, dword [ebp - 0x30]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
cdq
and eax, ecx
mov dword [ebp - 0x30], eax
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
not ecx
not esi
sub ecx, eax
sbb esi, edx
mov dword [0x100c30d8], ecx
mov dword [0x100c30dc], esi
movzx edx, byte [0x100c3062]
test edx, edx
jne 0x10011b43
mov byte [ebp - 0x71], 1
jmp 0x10011b47
mov byte [ebp - 0x71], 0
mov al, byte [ebp - 0x71]
mov byte [0x100c3063], al
jmp case.default.0x1001192e
mov ecx, 0x3afa
mov word [0x100c3090], cx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0
push 0xe3
push eax
push edx
call fcn.1008eb70
mov byte [ebp - 0x19], al
movsx ecx, byte [0x100c3027]
movsx edx, word [0x100c3118]
sub edx, ecx
jne 0x10011b9a
mov dword [ebp - 0x1ac], 1
jmp 0x10011ba4
mov dword [ebp - 0x1ac], 0
movzx eax, word [ebp - 0x28]
add eax, dword [ebp - 0x1ac]
mov dword [0x100c30f8], eax
movsx eax, word [0x100c3090]
add eax, 0xae
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movsx ecx, byte [ebp - 0x12]
movsx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
mov dword [0x100c310c], 2
mov eax, dword [0x100c30b8]
add eax, dword [ebp - 0x50]
mov ecx, dword [0x100c30bc]
adc ecx, dword [ebp - 0x4c]
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
xor edx, dword [0x100c3120]
xor eax, dword [0x100c3124]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
movzx eax, word [0x100c30b0]
cdq
mov ecx, eax
mov esi, edx
and ecx, dword [0x100c30d8]
and esi, dword [0x100c30dc]
mov eax, dword [0x100c30f8]
cdq
xor eax, dword [0x100c30d8]
xor edx, dword [0x100c30dc]
and eax, ecx
and edx, esi
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movzx edx, word [ebp - 0x28]
mov dword [ebp - 0x54], edx
mov eax, dword [0x100c310c]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x10011c89
cmp dword [ebp - 0xc4], 1
je 0x10011cfa
cmp dword [ebp - 0xc4], 2
je 0x10011d81
jmp 0x10011e39
movsx ecx, byte [ebp - 0x18]
and ecx, 0xfa0dd491
movsx edx, word [0x100c3118]
sub edx, ecx
mov word [0x100c3118], dx
mov eax, dword [ebp - 0x50]
sub eax, 0xc89a142e
mov word [0x100c3088], ax
mov cl, byte [0x100c308c]
mov byte [0x100c3063], cl
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
push 0
push 0x34abdd34
push eax
push edx
call fcn.1008eb70
mov byte [ebp - 0x13], al
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0xa80], edx
mov eax, 2
imul edx, eax, 0x1a
mov word [edx + 0x10192bf0], cx
jmp 0x10011e39
movsx eax, word [ebp - 0x2c]
and eax, 0x9737
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push 0x39639
push 0xbf851215
push ecx
push eax
call fcn.1008eb70
mov byte [0x100c3063], al
mov eax, dword [ebp - 0x30]
cdq
mov ecx, eax
add ecx, dword [0x100c3080]
mov eax, dword [ebp - 0x30]
cdq
sub eax, ecx
mov dword [ebp - 0x30], eax
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0xa84], eax
sub edx, 0xb6
mov word [0x100c3088], dx
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0xa88], edx
mov dword [ebp - 0x64], ecx
jmp 0x10011e39
movsx eax, word [ebp - 0x2c]
mov ecx, dword [0x100c310c]
add ecx, eax
mov edx, dword [0x100c310c]
shl edx, cl
mov dword [0x100c310c], edx
mov eax, dword [ebp - 0x50]
and eax, dword [0x100c3080]
mov ecx, dword [ebp - 0x4c]
and ecx, dword [0x100c3084]
push ecx
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.1008eb70
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
add ecx, eax
adc esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
movsx edx, byte [0x100c3027]
movzx eax, byte [0x100c3062]
imul eax, edx
mov byte [0x100c3062], al
mov byte [0x100c3027], 0xd5
movsx ecx, byte [ebp - 0x19]
movsx eax, byte [ebp - 0x13]
sub eax, ecx
cdq
mov ecx, eax
movzx eax, byte [0x100c3063]
not eax
cdq
and eax, 0x1d2d875b
xor eax, ecx
mov dword [ebp - 0x58], eax
cmp dword [ebp + 0xc], 0xffff
ja 0x100136ad
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x10011e63
cmp dword [0x100c30f8], 0
je 0x10011e63
mov dword [ebp - 0x1b0], 1
jmp 0x10011e6d
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1b0]
xor eax, 0x67abdf28
je 0x100123df
movsx ecx, byte [ebp - 0x13]
movsx edx, byte [str.NDisablePerfBackoff]
cmp edx, ecx
jle 0x10011e99
mov dword [ebp - 0x1b4], 1
jmp 0x10011ea3
mov dword [ebp - 0x1b4], 0
movsx eax, byte [str.NDisablePerfBackoff]
cmp eax, 0x4b
jle 0x10011ebb
mov dword [ebp - 0x1b8], 1
jmp 0x10011ec5
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [ebp - 0x1b8]
jle 0x10012191
call dword [sym.imp.USER32.dll_GetCapture]
xor edx, edx
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, 0xdec35543
test eax, eax
je 0x100120ec
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x714], ecx
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x714]
cmp eax, dword [ebp - 0x50]
jne 0x10011f25
mov ecx, dword [ebp - 0x710]
cmp ecx, dword [ebp - 0x4c]
je 0x10011f31
mov dword [ebp - 0x1bc], 1
jmp 0x10011f3b
mov dword [ebp - 0x1bc], 0
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x718], eax
cmp dword [ebp - 0x71c], 0x56
jne 0x10011f64
cmp dword [ebp - 0x718], 0
je 0x10011f70
mov dword [ebp - 0x1c0], 1
jmp 0x10011f7a
mov dword [ebp - 0x1c0], 0
mov ecx, dword [ebp - 0x1bc]
cmp ecx, dword [ebp - 0x1c0]
je 0x1001207f
movzx edx, byte [ebp - 0x16]
movzx eax, word [0x100c30e0]
sub eax, edx
jne 0x10011fa7
mov dword [ebp - 0x1c8], 1
jmp 0x10011fb1
mov dword [ebp - 0x1c8], 0
movsx ecx, word [0x100c30fc]
test ecx, ecx
jne 0x10011fc8
mov dword [ebp - 0x1c4], 1
jmp 0x10011fd2
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x1c4]
sub edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x1c8]
jne 0x10011ff7
xor eax, eax
mov dword [ebp - 0x460], 1
mov dword [ebp - 0x45c], eax
jmp 0x10012002
xorps xmm0, xmm0
movlpd qword [ebp - 0x460], xmm0
mov ecx, dword [0x100c310c]
xor edx, edx
add ecx, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov eax, 0x980632f8
sub eax, ecx
mov ecx, 0
sbb ecx, edx
not eax
not ecx
mov edx, dword [ebp - 0x460]
sub edx, eax
mov eax, dword [ebp - 0x45c]
sbb eax, ecx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0xa8c], edx
add ecx, 0x4ab6
mov word [0x100c30fc], cx
mov eax, dword [ebp - 0x30]
xor eax, 0x2d
mov byte [ebp - 0x14], al
mov ecx, dword [ebp - 0x54]
sub ecx, 0x81
mov byte [ebp - 0x13], cl
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100120e7
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx edx, byte [str.NDisablePerfBackoff]
movsx eax, byte [ebp - 0x14]
sub eax, edx
movsx ecx, byte [ebp - 0x14]
and ecx, eax
mov byte [ebp - 0x14], cl
mov ecx, dword [ebp - 0x34]
movsx eax, byte [0x100c3027]
not eax
cdq
add eax, dword [0x100c30f0]
xor eax, ecx
mov byte [ebp - 0x13], al
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
mov eax, dword [ebp - 0x30]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [0x100c303b], al
movsx edx, byte [ebp - 0x12]
add edx, 0x1f5a10a3
mov byte [0x100c3075], dl
jmp 0x1001218c
cmp dword [0x100c3108], 0
je 0x1001218c
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx eax, word [ebp - 0x20]
sar eax, 1
mov byte [ebp - 0x19], al
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0xa90], edx
movsx eax, byte [ebp - 0x17]
cdq
mov esi, eax
add esi, ecx
movsx eax, byte [ebp - 0x17]
cdq
sub eax, esi
mov byte [ebp - 0x17], al
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
imul ecx, dword [ebp - 0x38], 0x8a2f5fc9
mov dl, byte [str.NDisablePerfBackoff]
shl dl, cl
mov byte [str.NDisablePerfBackoff], dl
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
push ecx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1008eb70
mov byte [ebp - 0x15], al
jmp 0x100123da
cmp dword [ebp - 0x38], 0
je 0x100121ac
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
jne 0x100121ac
xorps xmm0, xmm0
movlpd qword [ebp - 0x468], xmm0
jmp 0x100121be
xor edx, edx
mov dword [ebp - 0x468], 1
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x468]
xor eax, 0x7493664
mov ecx, dword [ebp - 0x464]
xor ecx, 0xc72df
mov dword [ebp - 0x724], eax
mov dword [ebp - 0x720], ecx
mov edx, dword [ebp - 0x724]
or edx, dword [ebp - 0x720]
je 0x10012250
mov eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100c3080]
add ecx, 0x66b5e3f
movzx eax, word [0x100c30b0]
cdq
add eax, ecx
mov word [0x100c30b0], ax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0xa94], eax
xor edx, 0x95548631
mov byte [ebp - 0x15], dl
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0xa98], edx
movzx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
jmp 0x100123da
cmp dword [ebp - 0x38], 0
je 0x100122ac
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
mov byte [ebp - 0x19], 8
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x54], edx
movsx eax, word [0x100c3090]
sub eax, 0xa763
mov byte [ebp - 0x11], al
movsx eax, byte [str.NDisablePerfBackoff]
xor eax, 0x21
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x100123da
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
jne 0x100122e5
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x72c], edx
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x72c]
or ecx, dword [ebp - 0x728]
jne 0x100122e5
mov dword [ebp - 0x1cc], 0
jmp 0x100122ef
mov dword [ebp - 0x1cc], 1
movzx edx, byte [ebp - 0x16]
cmp dword [0x100c310c], edx
jbe 0x10012307
mov dword [ebp - 0x1d0], 1
jmp 0x10012311
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1cc]
cmp eax, dword [ebp - 0x1d0]
je 0x100123da
movzx eax, byte [0x100c3062]
cdq
add eax, 0xdaedb219
mov word [0x100c30b0], ax
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
add ecx, eax
adc esi, edx
movsx edx, byte [ebp - 0x18]
movsx eax, word [0x100c308c]
not eax
add eax, edx
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x734], eax
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x734]
or eax, dword [ebp - 0x730]
jne 0x10012385
mov dword [ebp - 0x1d4], 1
jmp 0x1001238f
mov dword [ebp - 0x1d4], 0
mov ecx, dword [0x100c310c]
add ecx, dword [ebp - 0x1d4]
mov byte [str.NDisablePerfBackoff], cl
mov dl, byte [0x100c3b38]
mov byte [0x100c3063], dl
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], esi
jmp 0x100125e4
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x73c], edx
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x73c]
or ecx, dword [ebp - 0x738]
je 0x10012517
movsx eax, word [0x100c308c]
imul eax, dword [ebp - 0x58]
cdq
mov edx, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0xa9c], ecx
mov ecx, dword [ebp - 0x34]
xor ecx, edx
sub ecx, eax
mov word [0x100c30fc], cx
mov ecx, dword [0x100c30f0]
not ecx
mov esi, dword [0x100c30f4]
not esi
movsx eax, word [0x100c3090]
cdq
xor eax, ecx
xor edx, esi
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movzx eax, word [0x100c30a0]
cdq
mov ecx, eax
add ecx, dword [0x100c3080]
movzx eax, word [0x100c30a0]
cdq
sub eax, ecx
mov word [0x100c30a0], ax
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x744], edx
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x744]
or ecx, dword [ebp - 0x740]
jne 0x100124cf
mov dword [ebp - 0x1d8], 1
jmp 0x100124d9
mov dword [ebp - 0x1d8], 0
movsx edx, byte [ebp - 0x14]
not edx
movsx eax, byte [ebp - 0x19]
not eax
imul eax, edx
movzx ecx, word [0x100c30b0]
not ecx
add ecx, dword [ebp - 0x1d8]
sub ecx, eax
imul eax, ecx, 0x60edc7f4
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov dx, word [ebp - 0x20]
mov byte [ebp - 0x16], dl
jmp 0x100125e4
mov eax, 0xd67f
test eax, eax
je 0x1001259f
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x10012534
movsx edx, byte [ebp - 0x17]
mov dword [ebp - 0x1dc], edx
jmp 0x1001253f
mov eax, dword [0x100c30f8]
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov byte [0x100c3062], 0xde
mov ecx, dword [0x100c30f0]
add ecx, 0x76
mov edx, dword [0x100c30f4]
adc edx, 0
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], ecx
mov edx, dword [ebp - 0x38]
sub edx, 0xc5
xor eax, eax
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
jmp 0x100125e4
movsx ecx, byte [ebp - 0x18]
test ecx, ecx
je 0x100125e4
mov edx, dword [0x100c310c]
add edx, dword [ebp - 0x34]
mov dword [0x100c310c], edx
movzx eax, byte [ebp - 0x15]
imul eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov cl, byte [ebp - 0x13]
add cl, 1
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x30]
add edx, 0xfcb4
mov word [0x100c30fc], dx
mov al, byte [0x100c3b38]
mov byte [str.NDisablePerfBackoff], al
movzx ecx, byte [ebp - 0x16]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100c3062], al
mov edx, dword [0x100c3b38]
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xe8], 0
jmp 0x1001261b
mov eax, dword [ebp - 0xe8]
add eax, 1
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x38b
jge 0x100126ae
movsx ecx, byte [ebp - 0x18]
mov edx, dword [ebp - 0x54]
sub edx, ecx
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x54], eax
movsx eax, word [ebp - 0x2c]
sub eax, 0xc362
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movzx ecx, byte [0x100c3062]
imul eax, ecx, 0x7da7
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
movsx edx, word [ebp - 0x2c]
imul eax, edx, 0x733e
mov word [0x100c3118], ax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
add eax, 1
adc ecx, 0
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], ecx
jmp 0x1001260c
mov edx, dword [ebp - 0xd0]
add edx, 0x533
mov dword [ebp - 0xaa0], edx
mov ecx, dword [ebp - 0x50]
add ecx, 0x8c9c534b
movzx eax, word [ebp - 0x28]
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
movsx eax, word [0x100c308c]
cdq
add eax, 0xbcea8b0d
mov byte [0x100c3075], al
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0xaa4], eax
add edx, 0xa9db
mov byte [ebp - 0x11], dl
movsx ecx, byte [ebp - 0x13]
movzx edx, byte [0x100c303b]
sub edx, ecx
mov byte [0x100c303b], dl
mov eax, 2
imul ecx, eax, 0x955f
movzx edx, word [ecx + 0x1017a780]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xd0]
add eax, 0x727
mov dword [ebp - 0x600], eax
push 0
movsx cx, byte [ebp - 0x14]
movzx edx, cx
push edx
push 2
call fcn.1004fd80
add esp, 0xc
movzx eax, ax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x10012882
mov dword [ebp - 0xcc], 0
jmp 0x10012779
mov ecx, dword [ebp - 0xcc]
add ecx, 2
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0x246
jge 0x1001287d
mov edx, dword [0x100c30b8]
or edx, dword [0x100c30bc]
je 0x100127a6
movzx eax, byte [0x100c3063]
mov dword [ebp - 0x1e0], eax
jmp 0x100127b0
movsx ecx, byte [ebp - 0x17]
mov dword [ebp - 0x1e0], ecx
mov edx, dword [ebp - 0x1e0]
mov dword [0x100c30f8], edx
mov eax, 2
imul ecx, eax, 0x4438
movzx edx, word [ecx + 0x100ea7f8]
movzx eax, byte [0x100c3062]
add eax, edx
mov byte [0x100c3062], al
movzx ecx, word [ebp - 0x20]
imul edx, ecx, 0x3cacd698
mov word [0x100c3088], dx
movzx eax, word [ebp - 0x24]
sub eax, 0x23
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x74c], ecx
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x74c]
or eax, dword [ebp - 0x748]
jne 0x1001282a
mov dword [ebp - 0x1e4], 1
jmp 0x10012834
mov dword [ebp - 0x1e4], 0
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov eax, dword [ebp - 0x34]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movsx eax, word [0x100c3090]
xor eax, dword [ebp - 0x1e4]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c30b0], ax
mov dl, byte [ebp - 0x18]
add dl, 1
mov byte [ebp - 0x18], dl
jmp 0x1001276a
jmp 0x1001292c
movzx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
xor ecx, eax
xor esi, edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx ecx, byte [0x100c3027]
imul eax, ecx, 0xd7aa
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xaa8], eax
xor edx, 0x3ea98ec7
mov byte [ebp - 0x17], dl
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x16], cl
movsx edx, byte [0x100c3027]
imul eax, edx, 0xac8cb36c
movsx ecx, byte [ebp - 0x11]
sub ecx, eax
mov byte [ebp - 0x11], cl
movsx edx, word [0x100c3090]
test edx, edx
je 0x1001290c
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], ecx
jmp 0x10012923
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x470], edx
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xd0]
add edx, 0x6bd
mov dword [ebp - 0x94], edx
mov dword [ebp - 4], 0
movsx eax, byte [ebp - 0x17]
movsx ecx, word [0x100c3118]
cmp ecx, eax
jge 0x10012aef
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
movsx eax, word [0x100c3090]
cdq
mov dword [ebp - 0x754], eax
mov dword [ebp - 0x750], edx
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], esi
mov edx, dword [ebp - 0x750]
cmp edx, dword [ebp - 0x758]
jg 0x100129a8
jl 0x1001299c
mov eax, dword [ebp - 0x754]
cmp eax, dword [ebp - 0x75c]
jae 0x100129a8
mov dword [ebp - 0x1e8], 1
jmp 0x100129b2
mov dword [ebp - 0x1e8], 0
movsx ecx, word [0x100c3090]
cmp ecx, 8
jge 0x100129ca
mov dword [ebp - 0x1ec], 1
jmp 0x100129d4
mov dword [ebp - 0x1ec], 0
mov edx, dword [ebp - 0x1e8]
cmp edx, dword [ebp - 0x1ec]
jge 0x10012aea
jmp 0x10012a38
jmp 0x10012a86
jmp fcn.10012ab5
mov eax, dword [0x100c30b8]
not eax
mov ecx, dword [0x100c30bc]
not ecx
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], ecx
cmp dword [ebp - 0x760], 0
jg 0x10012be4
jl 0x10012b26
cmp dword [ebp - 0x764], 0
jae 0x10012be4
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
sbb ecx, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x100c3027]
imul eax, edx, 0x65c3
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov al, byte [0x100c3b38]
mov byte [0x100c3027], al
xor ecx, ecx
mov dword [ebp - 0x60], 2
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x76c], edx
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x76c]
or ecx, dword [ebp - 0x768]
je 0x10012b9c
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
jmp 0x10012bb3
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x3ac]
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
mov eax, 1
imul ecx, eax, 0x59
mov dl, byte [0x100c308c]
mov byte [ecx + 0x100f88f8], dl
jmp 0x10012dad
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov edx, dword [ebp - 0x40]
not edx
mov esi, dword [ebp - 0x3c]
not esi
mov dword [ebp - 0x774], edx
mov dword [ebp - 0x770], esi
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], ecx
mov eax, dword [ebp - 0x770]
cmp eax, dword [ebp - 0x778]
jb 0x10012c3b
ja 0x10012c2f
mov ecx, dword [ebp - 0x774]
cmp ecx, dword [ebp - 0x77c]
jb 0x10012c3b
mov dword [ebp - 0x1f0], 1
jmp 0x10012c45
mov dword [ebp - 0x1f0], 0
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x10012c61
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10012c61
mov dword [ebp - 0x1f4], 1
jmp 0x10012c6b
mov dword [ebp - 0x1f4], 0
mov ecx, dword [ebp - 0x1f0]
cmp ecx, dword [ebp - 0x1f4]
jg 0x10012c85
mov dword [ebp - 0x1f8], 1
jmp 0x10012c8f
mov dword [ebp - 0x1f8], 0
mov edx, dword [ebp - 0x1f8]
not edx
test edx, edx
je 0x10012d13
movzx ax, byte [0x100c303b]
mov ecx, 2
imul edx, ecx, 0xd65
mov word [edx + 0x100c3c88], ax
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov byte [ebp - 0x17], 0xa8
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0xaac], eax
add edx, 0xf2bbba56
mov word [ebp - 0x20], dx
movzx ecx, word [ebp - 0x28]
imul edx, ecx, 0x5b
mov dword [ebp - 0x34], edx
mov al, byte [ebp - 0x54]
mov byte [0x100c3062], al
jmp 0x10012dad
movzx ecx, word [ebp - 0x24]
not ecx
test ecx, ecx
je 0x10012dad
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
add edx, ecx
adc eax, esi
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x64], ecx
mov edx, dword [0x100c30f8]
not edx
mov eax, dword [0x100c310c]
add eax, dword [ebp - 0x54]
xor eax, edx
xor ecx, ecx
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], ecx
movsx eax, byte [ebp - 0x19]
cdq
mov ecx, eax
add ecx, dword [0x100c3080]
movsx eax, byte [ebp - 0x19]
cdq
sub eax, ecx
mov byte [ebp - 0x19], al
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0x19dedc6
mov dword [0x100c310c], eax
movzx ecx, word [ebp - 0x20]
imul ecx, dword [ebp - 0x38]
mov word [ebp - 0x20], cx