Function at 0x10008c20
Capabilities:
Check for time delay via gettickcount
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aa30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1614
call fcn.1008eca0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0x3320b
mov dword [ebp - 0x5b0], 0x3e026
mov dword [ebp - 0x5ac], eax
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x55c], edx
mov dword [ebp - 0x6c], ecx
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x40], eax
xor edx, edx
mov dword [ebp - 0x4c], 0xba2
mov dword [ebp - 0x48], edx
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x44], eax
mov ecx, 0xffffde69
mov word [ebp - 0x1c], cx
movsx dx, byte [str.NDisablePerfBackoff]
mov word [ebp - 0x28], dx
mov al, byte [0x100c3090]
mov byte [ebp - 0x29], al
mov ecx, 0x6bf
mov word [ebp - 0x24], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x554], eax
mov byte [ebp - 0x12], dl
movzx cx, byte [0x100c3063]
mov word [ebp - 0x3c], cx
mov edx, dword [0x100c310c]
mov byte [ebp - 0x11], dl
mov eax, dword [0x100c30f0]
mov dword [ebp - 0x54], eax
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x550], edx
mov byte [ebp - 0x13], cl
mov byte [ebp - 0x14], 0x49
xor eax, eax
mov dword [ebp - 0x5c], 0x4f6f
mov dword [ebp - 0x58], eax
mov ecx, 0xe04f
mov word [ebp - 0x38], cx
mov edx, 0xd9f1
mov word [ebp - 0x30], dx
xor eax, eax
mov dword [ebp - 0x64], 0x7b8f8dff
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x16], 0xb3
movsx ecx, word [0x100c30fc]
mov dword [ebp - 0x68], ecx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x54c], eax
mov byte [ebp - 0x15], dl
mov cx, word [0x100c3090]
mov word [ebp - 0x50], cx
mov dl, byte [0x100c3062]
mov byte [ebp - 0x1d], dl
mov eax, 0x3015
mov word [ebp - 0x34], ax
mov cx, word [0x100c3118]
mov word [ebp - 0x300], cx
mov dx, word [0x100c30fc]
mov word [ebp - 0x304], dx
mov eax, 0xffffa793
mov word [ebp - 0x308], ax
mov ecx, dword [0x100c3108]
mov dword [ebp - 0x548], ecx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], eax
movsx ecx, byte [0x100c3027]
mov dword [ebp - 0x544], ecx
mov edx, dword [0x100c30d8]
mov dword [ebp - 0x53c], edx
mov eax, 0x4e037
mov dword [ebp - 0x5c0], 0x7ffc41c
mov dword [ebp - 0x5bc], eax
mov ecx, 0x63fab
mov dword [ebp - 0x5c8], 0xc1b74059
mov dword [ebp - 0x5c4], ecx
mov dl, byte [0x100c30f8]
mov byte [ebp - 0x89], dl
mov eax, 0x2a9ac
mov dword [ebp - 0x5d0], 0xa4b1a6d7
mov dword [ebp - 0x5cc], eax
movsx ecx, word [0x100c30fc]
mov dword [ebp - 0x540], ecx
mov byte [ebp - 0x8a], 0x3c
mov byte [ebp - 0x8b], 9
mov dl, byte [0x100c3118]
mov byte [ebp - 0x92], dl
movzx ax, byte [0x100c303b]
mov word [ebp - 0x2b8], ax
mov cl, byte [0x100c3075]
mov byte [ebp - 0x91], cl
mov edx, dword [0x100c30d8]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x40], eax
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x98], eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x560], edx
sub ecx, 0x40fdabf5
mov byte [ebp - 0x12], cl
movzx eax, word [ebp - 0x50]
imul ecx, eax, 0x24aa
movzx edx, word [0x100c30a0]
sub edx, ecx
mov word [0x100c30a0], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov edx, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
sbb ecx, edx
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], ecx
movsx eax, word [ebp - 0x34]
cdq
mov esi, eax
mov edi, edx
add esi, dword [ebp - 0x64]
adc edi, dword [ebp - 0x60]
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c30c8]
mov ebx, dword [0x100c30cc]
not ecx
not ebx
and eax, ecx
and edx, ebx
or esi, eax
or edi, edx
mov ebx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
xor ebx, dword [0x100c3120]
xor eax, dword [0x100c3124]
movzx edx, byte [ebp - 0x1d]
mov dword [ebp - 0x2bc], eax
mov eax, edx
cdq
push edx
push eax
mov eax, dword [0x100c30dc]
push eax
mov ecx, dword [0x100c30d8]
push ecx
call fcn.1008eb70
not eax
not edx
add ebx, eax
mov eax, dword [ebp - 0x2bc]
adc eax, edx
not ebx
not eax
add esi, ebx
adc edi, eax
not esi
not edi
mov dword [0x100c3100], esi
mov dword [0x100c3104], edi
mov edx, dword [0x100c30f0]
sub edx, 0x4727ff5d
mov eax, dword [0x100c30f4]
sbb eax, 0
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movsx ecx, word [0x100c3090]
add ecx, 0x5662f497
xor edx, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], edx
mov eax, dword [ebp - 0x98]
add eax, 0x630
mov dword [ebp - 0x564], eax
push 0
movsx cx, byte [0x100c3075]
movzx edx, cx
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.1004fd80
add esp, 0xc
mov word [0x100c30b0], ax
movzx ecx, word [0x100c30e0]
cmp dword [0x100c310c], ecx
jbe 0x10008fe5
mov dword [ebp - 0xb4], 1
jmp 0x10008fef
mov dword [ebp - 0xb4], 0
mov edx, 0x3f32
test edx, edx
je 0x1000900f
movsx eax, word [0x100c3088]
test eax, eax
je 0x1000900f
mov dword [ebp - 0xb8], 1
jmp 0x10009019
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xb8]
je 0x1000903b
xor edx, edx
mov dword [ebp - 0x1fc], 1
mov dword [ebp - 0x1f8], edx
jmp 0x10009046
xorps xmm0, xmm0
movlpd qword [ebp - 0x1fc], xmm0
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
not eax
not ecx
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
cmp edx, dword [ebp - 0x1f8]
ja 0x100092b6
jb 0x10009087
mov eax, dword [ebp - 0x310]
cmp eax, dword [ebp - 0x1fc]
ja 0x100092b6
push 0
call fcn.1004f040
add esp, 4
movzx ecx, ax
mov dword [0x100c310c], ecx
cmp dword [0x100c310c], 0
jbe 0x10009234
movzx edx, word [ebp - 0x50]
movsx eax, byte [0x100c3027]
cmp edx, eax
jg 0x1000922f
mov ecx, 8
imul edx, ecx, 0x24
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [edx + 0x1017a1f0], eax
mov dword [edx + 0x1017a1f4], ecx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x568], eax
sub edx, 0x4b0a
mov dword [ebp - 0x44], edx
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
not ecx
not edx
add ecx, dword [ebp - 0x64]
adc edx, dword [ebp - 0x60]
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x318]
or eax, dword [ebp - 0x314]
jne 0x10009137
xor ecx, ecx
mov dword [ebp - 0x204], 1
mov dword [ebp - 0x200], ecx
jmp 0x10009142
xorps xmm0, xmm0
movlpd qword [ebp - 0x204], xmm0
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
not ecx
not esi
and eax, ecx
and edx, esi
add eax, dword [ebp - 0x204]
adc edx, dword [ebp - 0x200]
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movsx edx, word [0x100c3088]
test edx, edx
jne 0x10009192
xor eax, eax
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], eax
jmp 0x1000919d
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x56c], edx
add ecx, dword [ebp - 0x320]
movsx eax, word [ebp - 0x34]
not eax
cdq
mov edx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
mov dword [ebp - 0x570], esi
sub edx, eax
sub ecx, edx
movzx eax, word [0x100c30b0]
cdq
mov edx, dword [ebp - 0x64]
sub edx, eax
mov eax, dword [ebp - 0x44]
mov esi, dword [0x100c30a8]
mov edi, dword [0x100c30ac]
mov dword [ebp - 0x574], edi
add eax, esi
add edx, eax
not edx
sub ecx, edx
mov word [ebp - 0x30], cx
mov ecx, 1
imul edx, ecx, 0x22fc
movsx eax, byte [edx + 0x100f5600]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
add ecx, eax
adc esi, edx
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], esi
jmp 0x100092b4
mov edx, 0x42dd
test edx, edx
je 0x100092b4
movzx eax, byte [0x100c3063]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x64]
movzx eax, byte [0x100c3063]
cdq
add eax, ecx
mov byte [0x100c3063], al
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x54], edx
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10009276
mov dword [ebp - 0xbc], 1
jmp 0x10009280
mov dword [ebp - 0xbc], 0
movsx ecx, byte [0x100c3027]
mov eax, ecx
imul eax, dword [ebp - 0xbc]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movsx edx, word [0x100c3088]
sub edx, 0x2057
mov word [ebp - 0x38], dx
jmp 0x10009320
cmp dword [ebp - 0x40], 0
je 0x10009320
movsx eax, word [0x100c30fc]
imul ecx, eax, 0x87b8ee85
xor edx, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov ax, word [0x100c3090]
add ax, 1
mov word [0x100c3090], ax
mov ecx, 0xde196
mov dword [0x100c30d0], 0x593ae20d
mov dword [0x100c30d4], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
push 0
push 0xe386a496
push eax
push edx
call fcn.1008eb70
mov byte [ebp - 0x12], al
movzx ecx, byte [0x100c3063]
sar ecx, 8
mov word [ebp - 0x38], cx
mov edx, dword [ebp - 0x98]
add edx, 0x7a7
mov dword [ebp - 0x198], edx
mov eax, 4
mov word [0x100c30b0], ax
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30f8], eax
mov dl, byte [ebp - 0x38]
mov byte [ebp - 0x16], dl
mov eax, 2
imul ecx, eax, 0x5e
movzx edx, word [ecx + 0x1017a648]
mov dword [0x100c30f8], edx
movzx eax, word [0x100c30b0]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 4
ja case.default.0x10009398
mov ecx, dword [ebp - 0xc0]
jmp dword [ecx*4 + 0x1000e3bc]
mov edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x58]
je 0x100093b3
movzx eax, byte [ebp - 0x16]
mov dword [ebp - 0xc4], eax
jmp 0x100093bd
movsx ecx, word [ebp - 0x3c]
mov dword [ebp - 0xc4], ecx
mov dl, byte [ebp - 0xc4]
mov byte [ebp - 0x1d], dl
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x100093e2
xor ecx, ecx
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x208], ecx
jmp 0x100093ed
xorps xmm0, xmm0
movlpd qword [ebp - 0x20c], xmm0
movzx eax, word [ebp - 0x30]
not eax
cdq
mov ecx, dword [0x100c3124]
sub eax, dword [0x100c3120]
sbb edx, ecx
not eax
not edx
mov ecx, dword [ebp - 0x208]
push ecx
mov ecx, dword [ebp - 0x20c]
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x54], eax
movsx edx, byte [ebp - 0x29]
add edx, dword [0x100c310c]
movsx eax, byte [ebp - 0x29]
add eax, edx
mov byte [ebp - 0x29], al
movzx ecx, byte [ebp - 0x1d]
test ecx, ecx
je 0x10009445
movzx edx, byte [ebp - 0x15]
mov dword [ebp - 0xc8], edx
jmp 0x10009452
movsx eax, byte [0x100c3027]
mov dword [ebp - 0xc8], eax
mov cx, word [ebp - 0xc8]
mov word [ebp - 0x1c], cx
mov eax, dword [0x100c3108]
cdq
add eax, 0xe6ab6ae2
adc edx, 0xa5a7a
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp case.default.0x10009398
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movsx ecx, byte [0x100c3075]
imul ecx, dword [ebp - 0x54]
mov word [0x100c30e0], cx
movsx edx, word [ebp - 0x3c]
movzx eax, byte [ebp - 0x12]
lea ecx, [eax + edx - 0x7016880c]
mov byte [ebp - 0x12], cl
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
xor edx, dword [0x100c30d8]
xor eax, dword [0x100c30dc]
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
or ecx, edx
or esi, eax
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
mov edx, 0xd81e
mov word [ebp - 0x30], dx
mov eax, dword [0x100c3b38]
mov dword [0x100c30f8], eax
jmp case.default.0x10009398
movsx ecx, byte [str.NDisablePerfBackoff]
sub ecx, 0x27bc
mov dword [0x100c30f8], ecx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov ecx, dword [ebp - 0x48]
add edx, dword [ebp - 0x4c]
adc eax, ecx
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, edx
adc esi, eax
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx eax, word [ebp - 0x38]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x38], ax
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x578], edx
add ecx, 0x85b3830
movzx eax, byte [0x100c303b]
cdq
add eax, ecx
mov byte [0x100c303b], al
movsx ecx, word [ebp - 0x1c]
sub ecx, dword [ebp - 0x6c]
xor esi, esi
movzx eax, byte [ebp - 0x15]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, eax
sbb esi, edx
not ecx
not esi
movzx eax, word [0x100c30b0]
cdq
mov edi, dword [0x100c30f0]
sub edi, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
push eax
push edi
push esi
push ecx
call fcn.1008eb70
mov ecx, eax
movzx edx, byte [ebp - 0x1d]
imul eax, edx, 0xaa72
cdq
add ecx, eax
mov dword [ebp - 0x44], ecx
jmp case.default.0x10009398
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x54]
mov edx, dword [0x100c3120]
mov esi, dword [0x100c3124]
mov dword [ebp - 0x57c], esi
add ecx, edx
not ecx
sub eax, ecx
mov word [ebp - 0x30], ax
movsx eax, word [0x100c3118]
add eax, 0x759c
cdq
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movsx eax, byte [0x100c3027]
movsx ecx, word [0x100c308c]
add eax, ecx
mov byte [ebp - 0x29], al
movsx edx, byte [ebp - 0x29]
movzx eax, word [0x100c30e0]
add edx, eax
movsx ecx, byte [ebp - 0x29]
add ecx, edx
mov byte [ebp - 0x29], cl
mov dl, byte [0x100c3b38]
mov byte [str.NDisablePerfBackoff], dl
movzx eax, word [ebp - 0x38]
imul ecx, eax, 0xaac2
movzx edx, byte [0x100c303b]
imul edx, ecx
mov byte [0x100c303b], dl
jmp case.default.0x10009398
xor eax, eax
mov dword [ebp - 0x5c], 0x55d737b3
mov dword [ebp - 0x58], eax
movsx ecx, word [ebp - 0x24]
movzx edx, byte [ebp - 0x12]
imul ecx, edx
mov eax, dword [0x100c30f8]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100c3063]
cdq
mov edi, dword [0x100c30c0]
mov ebx, dword [0x100c30c4]
not edi
not ebx
add edi, 0xd27d52de
adc ebx, 0xd636e
xor eax, edi
xor edx, ebx
add ecx, eax
adc esi, edx
mov dword [0x100c30d8], ecx
mov dword [0x100c30dc], esi
movsx edx, word [ebp - 0x28]
mov dword [0x100c3108], edx
movsx eax, word [ebp - 0x1c]
sar eax, 8
mov byte [0x100c3027], al
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0xc6763
push 0xd9643789
push edx
push ecx
call fcn.1008eb70
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x98]
add eax, 0x805
mov dword [ebp - 0x194], eax
movsx ecx, word [0x100c3118]
movsx edx, byte [ebp - 0x11]
cmp ecx, edx
jne 0x10009758
mov dword [ebp - 0xcc], 1
jmp 0x10009762
mov dword [ebp - 0xcc], 0
cmp dword [ebp - 0x54], 0
jne 0x10009774
mov dword [ebp - 0xd0], 1
jmp 0x1000977e
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xcc]
add eax, dword [ebp - 0xd0]
je 0x100098bd
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x100097a4
movzx edx, word [ebp - 0x30]
test edx, edx
je 0x100098bd
push 0
mov eax, dword [ebp - 0x6c]
push eax
movzx ecx, word [ebp - 0x3c]
push ecx
call fcn.1004fd80
add esp, 0xc
movzx edx, ax
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0
je 0x100098bb
mov dword [ebp - 4], 0
movsx eax, word [0x100c30fc]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x5c]
movsx eax, word [0x100c30fc]
cdq
add eax, ecx
mov word [0x100c30fc], ax
movsx edx, word [ebp - 0x34]
sub edx, 0x230cd171
mov word [0x100c3118], dx
mov eax, dword [ebp - 0x40]
xor ecx, ecx
mov edx, 8
shl edx, 3
mov dword [edx + 0x1017a1f0], eax
mov dword [edx + 0x1017a1f4], ecx
mov eax, 0x49ea6
mov dword [0x100c3120], 0xb95b742b
mov dword [0x100c3124], eax
movzx eax, byte [ebp - 0x12]
xor eax, 0x95
cdq
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
jmp 0x100098ab
mov dword [ebp - 4], 0xffffffff
jmp 0x100098bb
jmp 0x10009937
mov ecx, 0x4020
mov word [0x100c3090], cx
mov eax, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov cl, 3
call fcn.1008ebb0
mov dword [ebp - 0x68], eax
movsx edx, word [ebp - 0x1c]
movsx eax, word [ebp - 0x1c]
lea ecx, [eax + edx + 0x23794f8d]
mov word [ebp - 0x1c], cx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov ecx, dword [0x100c30ec]
sub edx, dword [0x100c30e8]
sbb eax, ecx
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
add ecx, edx
adc esi, eax
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], esi
movzx edx, byte [ebp - 0x16]
and edx, 0x92
mov word [0x100c30e0], dx
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x9c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x328]
or ecx, dword [ebp - 0x324]
je 0x10009c77
mov edx, 4
mov word [0x100c3118], dx
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [0x100c3063]
imul eax, ecx
mov byte [ebp - 0x15], al
mov edx, 2
imul eax, edx, 0x439d
movzx ecx, word [eax + 0x100fd9e0]
mov edx, dword [ebp - 0x6c]
sub edx, ecx
mov dword [ebp - 0x6c], edx
mov eax, 0x5193
mov word [ebp - 0x28], ax
movsx ecx, byte [0x100c3027]
sub ecx, dword [ebp - 0x40]
movsx edx, byte [0x100c3027]
add edx, ecx
mov byte [0x100c3027], dl
movsx eax, word [ebp - 0x28]
sub eax, 0x3a5c
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
add ecx, eax
adc esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
movsx edx, word [0x100c3118]
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0xd4], 4
ja case.default.0x10009a1d
mov eax, dword [ebp - 0xd4]
jmp dword [eax*4 + 0x1000e3d0]
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x44], ecx
movzx eax, word [0x100c30e0]
cdq
add eax, dword [0x100c30b8]
mov byte [0x100c3063], al
movsx eax, word [0x100c3118]
cdq
add eax, 0xb2744c5
adc edx, 0x39faf
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov edx, dword [ebp - 0x68]
add edx, 0x49668bd7
xor eax, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov cl, byte [0x100c303b]
add cl, 1
mov byte [0x100c303b], cl
movsx eax, byte [0x100c3075]
cdq
mov ecx, eax
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x584], eax
sub ecx, edx
movsx eax, byte [0x100c3075]
cdq
add eax, ecx
mov byte [0x100c3075], al
jmp case.default.0x10009a1d
movsx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x38]
imul ecx, edx
mov word [ebp - 0x24], cx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x588], ecx
sub eax, 0x2d88c9cc
mov word [ebp - 0x24], ax
mov dl, byte [ebp - 0x14]
add dl, 1
mov byte [ebp - 0x14], dl
movsx eax, byte [ebp - 0x14]
movzx ecx, word [0x100c30b0]
movsx edx, byte [ebp - 0x29]
or ecx, edx
imul eax, ecx
movzx ecx, byte [ebp - 0x16]
not ecx
and eax, ecx
mov dword [ebp - 0x68], eax
cmp dword [0x100c310c], 0
je 0x10009b32
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], eax
jmp 0x10009b44
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], edx
mov ecx, dword [ebp - 0x214]
mov dword [0x100c3108], ecx
jmp case.default.0x10009a1d
movsx edx, byte [str.NDisablePerfBackoff]
not edx
mov byte [ebp - 0x12], dl
movzx eax, word [0x100c30a0]
imul ecx, eax, 0xfcd63375
xor edx, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov dword [0x100c30c8], 0x405adb78
mov dword [0x100c30cc], ecx
jmp case.default.0x10009a1d
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movsx edx, word [ebp - 0x3c]
imul eax, edx, 0xc634111e
mov byte [ebp - 0x11], al
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 0x1d]
add ecx, edx
mov byte [ebp - 0x14], cl
movsx eax, byte [0x100c3075]
movzx ecx, byte [ebp - 0x16]
imul eax, ecx
movsx edx, byte [0x100c3075]
add edx, eax
mov byte [0x100c3075], dl
jmp case.default.0x10009a1d
movzx eax, word [0x100c30b0]
movsx ecx, word [ebp - 0x24]
imul eax, ecx
mov word [0x100c30b0], ax
movzx edx, byte [ebp - 0x1d]
add edx, 0xef
movzx eax, word [0x100c30b0]
sub eax, edx
mov word [0x100c30b0], ax
movzx ecx, byte [ebp - 0x13]
movsx edx, byte [0x100c3075]
and edx, 0xffff5158
and ecx, edx
mov byte [0x100c3027], cl
movzx eax, byte [0x100c303b]
not eax
mov ecx, dword [ebp - 0x40]
add ecx, eax
mov byte [ebp - 0x1d], cl
movsx edx, word [ebp - 0x1c]
sub edx, 0x6fd7151d
mov word [0x100c3090], dx
jmp 0x10009cce
movzx eax, byte [0x100c3063]
cdq
push 0x88507
push 0x80bada02
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x11], al
mov eax, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov cl, 8
call fcn.1008ebb0
mov word [ebp - 0x1c], ax
movsx eax, byte [0x100c3027]
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov dword [ebp - 0x54], ecx
movzx edx, byte [0x100c303b]
sar edx, 1
mov dword [0x100c310c], edx
mov ax, word [ebp - 0x30]
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x9c]
add ecx, 0x585
mov dword [ebp - 0x2ec], ecx
jmp 0x10009cf1
jmp 0x10009cf8
mov edx, dword [ebp - 0x9c]
add edx, 0x895
mov dword [ebp - 0x2e8], edx
mov eax, 4
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x1c]
and ecx, 0xb9174fdf
or ecx, dword [0x100c30f8]
mov dword [0x100c30f8], ecx
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x1347
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
mov eax, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov cl, 3
call fcn.1008ebb0
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 4
ja case.default.0x10009d9c
mov edx, dword [ebp - 0xd8]
jmp dword [edx*4 + 0x1000e3e4]
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x13], 0x25
movsx ecx, word [0x100c3090]
imul edx, ecx, 0xf925
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x54]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x64]
sbb esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x54]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x5c]
not edx
mov eax, dword [ebp - 0x58]
not eax
mov ecx, dword [0x100c30f0]
sub ecx, edx
mov edx, dword [0x100c30f4]
sbb edx, eax
xor ecx, dword [0x100c30f0]
xor edx, dword [0x100c30f4]
not ecx
not edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov ax, word [0x100c3b38]
mov word [0x100c30e0], ax
jmp case.default.0x10009d9c
movzx eax, word [0x100c30b0]
cdq
add eax, 0xecd03d23
mov word [0x100c30a0], ax
movzx eax, byte [ebp - 0x12]
cdq
push 0x2e9f9
push 0x89b627a6
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3090]
cdq
sub eax, ecx
mov word [0x100c3090], ax
movsx eax, word [0x100c30fc]
cdq
sub eax, 0xe9cc6772
mov word [ebp - 0x24], ax
movsx eax, byte [ebp - 0x11]
cdq
add eax, dword [ebp - 0x64]
adc edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
sub ecx, eax
mov eax, dword [ebp - 0x60]
sbb eax, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], eax
movzx ecx, byte [ebp - 0x12]
sub ecx, 0xa3f4
mov word [ebp - 0x34], cx
mov byte [str.NDisablePerfBackoff], 8
jmp case.default.0x10009d9c
movzx edx, byte [ebp - 0x13]
movsx eax, word [ebp - 0x24]
sub edx, eax
mov byte [ebp - 0x29], dl
push 0
push 0xda0e
mov ecx, dword [0x100c3084]
push ecx
mov edx, dword [0x100c3080]
push edx
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx eax, byte [0x100c3062]
sar eax, 3
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
push 0x8587c
push 0x6334495a
push ecx
push eax
call fcn.1008eb70
mov word [0x100c30e0], ax
mov eax, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov cl, 5
call fcn.1008ec80
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
jmp case.default.0x10009d9c
movsx dx, byte [0x100c3075]
mov word [ebp - 0x30], dx
movzx eax, word [ebp - 0x38]
cdq
add eax, 0x11bd3ea1
adc edx, 0x9eb77
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movsx eax, byte [ebp - 0x11]
sub eax, 0x28aa
mov word [ebp - 0x24], ax
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x11], cl
movsx edx, word [0x100c308c]
mov dword [0x100c3108], edx
jmp case.default.0x10009d9c
movsx eax, word [ebp - 0x3c]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
movzx edx, byte [0x100c3063]
movsx eax, byte [0x100c3027]
imul edx, eax
movzx ecx, byte [0x100c3063]
xor ecx, edx
mov byte [0x100c3063], cl
push 0
push 0xb
mov edx, dword [0x100c30f4]
push edx
mov eax, dword [0x100c30f0]
push eax
call fcn.1008eb70
mov word [0x100c30fc], ax
movsx ecx, word [ebp - 0x34]
sub ecx, 0x32
mov byte [0x100c3062], cl
movsx eax, word [0x100c3118]
cdq
push 0xbae46
push 0x3634201a
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov edx, dword [ebp - 0x9c]
add edx, 0x7bb
mov dword [ebp - 0x1b4], edx
movzx eax, byte [ebp - 0x12]
sar eax, 7
mov word [ebp - 0x1c], ax
movzx ecx, word [0x100c30b0]
test ecx, ecx
jne 0x1000a041
mov dword [ebp - 0xdc], 1
jmp 0x1000a04b
mov dword [ebp - 0xdc], 0
movsx edx, byte [0x100c3075]
test edx, edx
jne 0x1000a062
mov dword [ebp - 0xe0], 1
jmp 0x1000a06c
mov dword [ebp - 0xe0], 0
movsx eax, byte [ebp - 0x14]
movsx ecx, byte [ebp - 0x14]
add ecx, dword [ebp - 0xdc]
movsx edx, byte [str.NDisablePerfBackoff]
xor edx, dword [ebp - 0xe0]
add ecx, edx
sub eax, ecx
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movsx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x34]
imul eax, ecx
movsx edx, word [ebp - 0x1c]
and edx, eax
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x29]
sub eax, 0x56
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
cmp dword [ebp - 0x68], 0
jne 0x1000a0e2
mov dword [ebp - 0xe4], 1
jmp 0x1000a0ec
mov dword [ebp - 0xe4], 0
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
push 0
push 0x680a
push eax
push edx
call fcn.1008eb70
mov ebx, eax
movsx ecx, word [ebp - 0x3c]
not ecx
mov eax, ecx
imul eax, dword [ebp - 0xe4]
cdq
add ebx, eax
movsx eax, word [0x100c308c]
cdq
sub eax, dword [0x100c30b8]
sbb edx, dword [0x100c30bc]
not eax
not edx
mov ecx, dword [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x64]
push ecx
push edx
push eax
call fcn.1008eb70
sub ebx, eax
mov byte [ebp - 0x13], bl
mov edx, 0x87
mov word [ebp - 0x34], dx
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 4], 2
mov eax, dword [0x100c30b8]
or eax, dword [0x100c30bc]
je 0x1000a284
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], edx
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x32c]
jl 0x1000a1a5
jg 0x1000a199
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x330]
jbe 0x1000a1a5
mov dword [ebp - 0xe8], 1
jmp 0x1000a1af
mov dword [ebp - 0xe8], 0
cmp dword [ebp - 0x60], 0
jl 0x1000a1c9
jg 0x1000a1bd
cmp dword [ebp - 0x64], 0x2a
jbe 0x1000a1c9
mov dword [ebp - 0xec], 1
jmp 0x1000a1d3
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xe8]
cmp eax, dword [ebp - 0xec]
je 0x1000a212
jmp 0x1000a1f7
jmp 0x1000a210
jmp 0x1000a282
movsx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x1000a282
movsx eax, byte [0x100c3075]
cdq
mov edx, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x58c], ecx
sub edx, eax
mov byte [0x100c3063], dl
mov edx, 0x1744
mov word [ebp - 0x34], dx
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 0x13]
sub eax, ecx
movsx edx, word [ebp - 0x1c]
add edx, eax
mov word [ebp - 0x1c], dx
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x29], al
mov ecx, 2
mov word [ebp - 0x3c], cx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
sub edx, 0x325f2f14
sbb eax, 0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
jmp 0x1000a2bf
movsx eax, byte [ebp - 0x11]
cdq
add eax, 0xfea28306
mov dword [ebp - 0x54], eax
mov cx, word [0x100c3b38]
mov word [0x100c30b0], cx
movzx edx, byte [ebp - 0x12]
add edx, 0x99
mov byte [0x100c3062], dl
mov byte [ebp - 0x13], 0x97
mov ax, word [0x100c3b38]
mov word [0x100c3090], ax
jmp 0x1000a36d
mov dword [ebp - 4], 0xffffffff
jmp 0x1000a37d
mov dword [ebp - 0x80], 0
mov ecx, 9
mov esi, str.Errorsavinguninsta
lea edi, [ebp - 0x5fc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x5fc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [str.NDisablePerfBackoff], al
mov dword [ebp - 0x84], 0
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x334]
cmp edx, dword [ebp - 0x33c]
jb 0x1000a5ef
ja 0x1000a406
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x340]
jbe 0x1000a5ef
movzx ecx, byte [0x100c3063]
test ecx, ecx
jne 0x1000a435
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x348]
or ecx, dword [ebp - 0x344]
je 0x1000a4e4
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x598], eax
xor edx, 0xd2
mov word [0x100c30fc], dx
movzx ecx, word [ebp - 0x30]
test ecx, ecx
je 0x1000a474
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], eax
jmp 0x1000a485
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], edx
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
movsx edx, word [0x100c30fc]
movsx eax, word [ebp - 0x28]
sub edx, eax
movsx ecx, word [0x100c30fc]
sub ecx, edx
mov word [0x100c30fc], cx
mov dword [ebp - 0x54], 0xea
mov dl, byte [0x100c3b38]
mov byte [0x100c3063], dl
jmp 0x1000a5ea
movzx eax, byte [ebp - 0x13]
cdq
or eax, dword [0x100c3120]
or edx, dword [0x100c3124]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x350]
or eax, dword [ebp - 0x34c]
je 0x1000a5ea
mov cl, byte [0x100c3b38]
mov byte [0x100c3062], cl
movsx edx, word [0x100c3088]
movsx eax, word [0x100c308c]
add edx, eax
jne 0x1000a545
xor ecx, ecx
mov dword [ebp - 0x21c], 1
mov dword [ebp - 0x218], ecx
jmp 0x1000a550
xorps xmm0, xmm0
movlpd qword [ebp - 0x21c], xmm0
movsx eax, word [ebp - 0x34]
cdq
push 0xc5fe0
push 0x6b6ee53c
push edx
push eax
call fcn.1008eb70
add eax, dword [ebp - 0x21c]
adc edx, dword [ebp - 0x218]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], edx
mov edx, dword [ebp - 0x358]
or edx, dword [ebp - 0x354]
jne 0x1000a5a0
xor eax, eax
mov dword [ebp - 0x224], 1
mov dword [ebp - 0x220], eax
jmp 0x1000a5ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x224], xmm0
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x220]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100c3108]
cdq
add eax, dword [0x100c30d8]
mov dword [0x100c3108], eax
movzx eax, word [ebp - 0x30]
movsx ecx, byte [0x100c3027]
sub eax, ecx
movzx edx, word [ebp - 0x30]
imul edx, eax
mov word [ebp - 0x30], dx
mov byte [ebp - 0x16], 0xfb
jmp 0x1000a71a
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov edx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x364], esi
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x368]
jne 0x1000a646
mov ecx, dword [ebp - 0x35c]
cmp ecx, dword [ebp - 0x364]
jne 0x1000a646
mov dword [ebp - 0xf0], 1
jmp 0x1000a650
mov dword [ebp - 0xf0], 0
mov edx, 0x3963
test edx, edx
je 0x1000a670
movsx eax, byte [str.NDisablePerfBackoff]
test eax, eax
jne 0x1000a670
mov dword [ebp - 0xf4], 1
jmp 0x1000a67a
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0xf0]
cmp ecx, dword [ebp - 0xf4]
jl 0x1000a71a
mov edx, 2
imul eax, edx, 0x29eb
mov cx, word [ebp - 0x24]
mov word [eax + 0x100ea7f8], cx
mov edx, dword [ebp - 0x44]
add edx, 0x7d85b139
mov dword [ebp - 0x54], edx
movzx eax, byte [0x100c3062]
add eax, 0x27666483
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
mov eax, dword [0x100c3b38]
mov dword [0x100c3108], eax
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx eax, word [0x100c308c]
cdq
mov ecx, eax
movsx eax, byte [ebp - 0x14]
cdq
mov edx, dword [0x100c3100]
mov esi, dword [0x100c3104]
mov dword [ebp - 0x59c], esi
and edx, eax
add ecx, edx
mov byte [ebp - 0x11], cl
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov edx, dword [0x100c310c]
xor esi, esi
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x378], edx
mov dword [ebp - 0x374], esi
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x378]
jne 0x1000a76b
mov ecx, dword [ebp - 0x36c]
cmp ecx, dword [ebp - 0x374]
jne 0x1000a76b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov word [ebp - 0x24], ax
xor edx, edx
mov byte [ebp - 0x6e], dl
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x624]
push eax
lea ecx, [ebp - 0x6e]
call fcn.100027b0
mov ecx, eax
call fcn.10047c50
push eax
push 0
push 0
call fcn.100015a0
add esp, 8
call eax
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100c3118]
cmp dword [ebp - 0x44], ecx
je 0x1000ab00
movsx edx, byte [0x100c3027]
movsx eax, word [0x100c30fc]
cmp edx, eax
je 0x1000a9f8
movzx ecx, word [0x100c30b0]
push ecx
movzx dx, byte [0x100c3062]
movzx eax, dx
push eax
call fcn.10051570
add esp, 8
cwde
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x380], ecx
mov dword [ebp - 0x37c], edx
cmp dword [ebp - 0x37c], 0
ja 0x1000a81d
cmp dword [ebp - 0x380], 0
jb 0x1000a8e0
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
sub eax, 1
sbb ecx, 0
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], ecx
mov edx, 0x8c25b
mov dword [0x100c3080], 0x2f1c1ce9
mov dword [0x100c3084], edx
movsx eax, word [0x100c308c]
add eax, dword [ebp - 0x44]
movsx ecx, word [0x100c308c]
imul ecx, eax
mov word [0x100c308c], cx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x1000a887
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edx
jmp 0x1000a89e
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ecx
mov dl, byte [ebp - 0x22c]
mov byte [ebp - 0x11], dl
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
add eax, dword [ebp - 0x64]
adc ecx, dword [ebp - 0x60]
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], ecx
movsx eax, word [0x100c3118]
add eax, 0x49fa1f9c
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
jmp 0x1000a9f3
movzx eax, word [ebp - 0x30]
cdq
add eax, dword [ebp - 0x5c]
adc edx, dword [ebp - 0x58]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], edx
mov edx, dword [ebp - 0x388]
or edx, dword [ebp - 0x384]
jne 0x1000a911
mov dword [ebp - 0xf8], 1
jmp 0x1000a91b
mov dword [ebp - 0xf8], 0
movsx eax, word [ebp - 0x28]
cmp dword [0x100c3108], eax
jg 0x1000a933
mov dword [ebp - 0xfc], 1
jmp 0x1000a93d
mov dword [ebp - 0xfc], 0
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [ebp - 0xfc]
jle 0x1000a9f3
movsx edx, byte [ebp - 0x14]
movsx eax, byte [str.NDisablePerfBackoff]
sub edx, eax
movsx ecx, byte [ebp - 0x14]
add ecx, edx
mov byte [ebp - 0x14], cl
movzx edx, word [0x100c30e0]
imul eax, edx, 0x31d5d0d8
mov byte [str.NDisablePerfBackoff], al
mov ecx, 1
imul edx, ecx, 0x47
mov al, byte [0x100c30f8]
mov byte [edx + 0x10118b50], al
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1000a99e
mov dword [ebp - 0x100], 1
jmp 0x1000a9a8
mov dword [ebp - 0x100], 0
movsx edx, word [ebp - 0x1c]
add edx, dword [ebp - 0x100]
jne 0x1000a9c8
xor eax, eax
mov dword [ebp - 0x234], 1
mov dword [ebp - 0x230], eax
jmp 0x1000a9d3
xorps xmm0, xmm0
movlpd qword [ebp - 0x234], xmm0
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x230]
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], edx
mov al, byte [ebp - 0x13]
sub al, 1
mov byte [ebp - 0x13], al
jmp 0x1000aafb
movzx ecx, byte [ebp - 0x15]
movsx edx, word [0x100c3090]
cmp ecx, edx
jge 0x1000aafb
movsx eax, byte [ebp - 0x11]
movzx ecx, word [0x100c30a0]
imul eax, ecx
mov byte [ebp - 0x11], al
movsx edx, byte [str.NDisablePerfBackoff]
test edx, edx
jne 0x1000aa3b
xor eax, eax
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x38c], eax
jmp 0x1000aa46
xorps xmm0, xmm0
movlpd qword [ebp - 0x390], xmm0
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x5a0], edx
xor ecx, dword [ebp - 0x390]
mov word [0x100c30a0], cx
xor eax, eax
mov dword [0x100c30d0], 0x73
mov dword [0x100c30d4], eax
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x398]
or eax, dword [ebp - 0x394]
jne 0x1000aaa8
mov dword [ebp - 0x104], 1
jmp 0x1000aab2
mov dword [ebp - 0x104], 0
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x5a4], edx
mov ebx, dword [0x100c30b8]
sub ebx, ecx
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x104]
cdq
sub ebx, eax
mov byte [0x100c3062], bl
movsx eax, byte [str.NDisablePerfBackoff]
movzx ecx, byte [ebp - 0x16]
imul eax, ecx
movsx edx, byte [str.NDisablePerfBackoff]
sub edx, eax
mov byte [str.NDisablePerfBackoff], dl
jmp 0x1000aca1
movsx eax, byte [ebp - 0x29]
test eax, eax
jne 0x1000ab14
mov dword [ebp - 0x108], 1
jmp 0x1000ab1e
mov dword [ebp - 0x108], 0
movzx ecx, word [ebp - 0x30]
sub ecx, dword [ebp - 0x108]
je 0x1000ab82
movzx eax, byte [ebp - 0x13]
movzx edx, word [0x100c30a0]
sub eax, edx
cdq
mov esi, eax
mov ecx, dword [0x100c3110]
mov edi, dword [0x100c3114]
not ecx
not edi
movsx eax, word [ebp - 0x28]
cdq
sub ecx, eax
sbb edi, edx
push 0xfd720adf
push 0x3964f495
push edi
push ecx
call fcn.1008eb70
add esi, eax
mov word [0x100c3088], si
mov dl, byte [ebp - 0x38]
mov byte [0x100c3027], dl
mov dword [ebp - 0x40], 0x9fecc80e
jmp 0x1000aca1
cmp dword [0x100c3108], 0
je 0x1000aca1
mov eax, dword [0x100c310c]
xor ecx, ecx
mov edx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c310c], eax
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c30bc]
push ecx
mov ecx, dword [0x100c30b8]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, byte [0x100c3075]
cdq
add eax, ecx
mov byte [0x100c3075], al
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
push 0
push 0xeb
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x68]
cdq
mov ecx, eax
add ecx, 0xe87f2c38
movsx eax, word [0x100c3088]
cdq
or eax, ecx
mov word [0x100c3088], ax
xor edx, edx
mov dword [0x100c3098], 1
mov dword [0x100c309c], edx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
add eax, dword [0x100c30d8]
adc ecx, dword [0x100c30dc]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0x3a0]
or edx, dword [ebp - 0x39c]
jne 0x1000ac68
mov dword [ebp - 0x10c], 1
jmp 0x1000ac72
mov dword [ebp - 0x10c], 0
movsx eax, byte [ebp - 0x11]
not eax
movsx ecx, word [0x100c308c]
mov edx, dword [ebp - 0x6c]
add edx, ecx
add eax, edx
movsx ecx, byte [str.NDisablePerfBackoff]
mov edx, dword [ebp - 0x44]
imul edx, ecx
add edx, dword [ebp - 0x10c]
not edx
xor eax, edx
mov word [ebp - 0x34], ax
cmp dword [ebp - 0x80], 0
jne 0x1000ad15
push 0
movzx eax, word [ebp - 0x24]
push eax
call fcn.10051570
add esp, 8
mov word [ebp - 0x30], ax
movzx ecx, word [ebp - 0x30]
test ecx, ecx
je 0x1000ad10
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x1000ad10
mov edx, dword [ebp - 0x88]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x88]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x4c8], eax
jmp 0x1000d0b2
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x80]
push eax
push 0
push 0
call fcn.10001600
add esp, 8
call eax
mov dword [ebp - 0x84], eax
movzx ecx, word [0x100c30e0]
cmp ecx, dword [0x100c30f8]
jle 0x1000ad5e
movsx edx, byte [ebp - 0x11]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x14], al
jmp 0x1000adea
movsx eax, word [ebp - 0x34]
cdq
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a8]
cmp eax, dword [0x100c30b8]
jne 0x1000adea
mov ecx, dword [ebp - 0x3a4]
cmp ecx, dword [0x100c30bc]
jne 0x1000adea
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x4cc], edx
add eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, word [0x100c30a0]
movsx ecx, word [0x100c3090]
sub eax, ecx
mov word [0x100c30a0], ax
movzx edx, byte [ebp - 0x12]
imul eax, edx, 0x42be8ddb
mov byte [ebp - 0x1d], al
mov ecx, dword [0x100c3080]
sub ecx, 0xed
mov byte [ebp - 0x16], cl
cmp dword [ebp - 0x84], 0
jne 0x1000ae5c
mov dword [ebp - 0xa0], 0
jmp 0x1000ae0e
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0x2ce
jge 0x1000ae57
mov dword [ebp - 0x2c4], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
je 0x1000ae4c
mov eax, dword [ebp - 0x2c4]
push eax
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x4d0], eax
mov cl, byte [ebp - 0x11]
add cl, 1
mov byte [ebp - 0x11], cl
jmp 0x1000adff
jmp 0x1000d0b2
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov word [0x100c308c], ax
movsx edx, word [0x100c308c]
test edx, edx
jge 0x1000ae7f
mov dword [ebp - 0x110], 1
jmp 0x1000ae89
mov dword [ebp - 0x110], 0
movsx eax, word [0x100c308c]
cmp eax, 0x62
jge 0x1000aea1
mov dword [ebp - 0x114], 1
jmp 0x1000aeab
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x110]
cmp ecx, dword [ebp - 0x114]
je 0x1000b05a
movzx edx, word [0x100c3118]
push edx
movzx eax, word [ebp - 0x34]
push eax
push 0
call fcn.1004fd80
add esp, 0xc
mov byte [ebp - 0x14], al
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1000af8e
mov edx, dword [0x100c310c]
xor eax, eax
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
cmp ecx, dword [ebp - 0x60]
jl 0x1000af89
jg 0x1000af13
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0x64]
jb 0x1000af89
movzx eax, byte [0x100c3063]
add eax, 0x4e3b5a0a
xor ecx, ecx
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
movsx eax, word [ebp - 0x1c]
cdq
mov edx, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x4d4], ecx
sub eax, edx
mov word [ebp - 0x1c], ax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [0x100c30f4]
push ecx
mov ecx, dword [0x100c30f0]
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x14], al
movsx edx, word [0x100c3088]
add edx, 0x32
mov word [ebp - 0x38], dx
movzx eax, word [0x100c30a0]
movsx ecx, word [ebp - 0x28]
not ecx
sub eax, ecx
mov word [0x100c30fc], ax
jmp 0x1000b055
movzx edx, byte [0x100c303b]
movsx eax, word [ebp - 0x1c]
xor edx, eax
jne 0x1000afb1
xor ecx, ecx
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x238], ecx
jmp 0x1000afbc
xorps xmm0, xmm0
movlpd qword [ebp - 0x23c], xmm0
mov ecx, dword [ebp - 0x40]
xor esi, esi
xor ecx, dword [ebp - 0x5c]
xor esi, dword [ebp - 0x58]
not ecx
not esi
or ecx, dword [ebp - 0x23c]
or esi, dword [ebp - 0x238]
movzx eax, word [0x100c30e0]
add eax, dword [0x100c30f8]
movsx edx, word [ebp - 0x28]
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
movsx eax, word [0x100c30fc]
add eax, dword [ebp - 0x44]
movsx ecx, word [0x100c30fc]
xor ecx, eax
mov word [0x100c30fc], cx
mov dx, word [0x100c3080]
mov word [ebp - 0x28], dx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
sub eax, 1
sbb ecx, 0
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
mov edx, 1
imul eax, edx, 0xb
mov cl, byte [eax + 0x10118b3c]
mov byte [0x100c3063], cl
jmp 0x1000b0f6
mov edx, dword [ebp - 0x44]
mov word [0x100c30b0], dx
movzx eax, byte [ebp - 0x1d]
cdq
add eax, 0xb338fd7
adc edx, 0x4055a
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movsx edx, byte [ebp - 0x29]
test edx, edx
jne 0x1000b0a0
xor eax, eax
mov dword [ebp - 0x244], 1
mov dword [ebp - 0x240], eax
jmp 0x1000b0ab
xorps xmm0, xmm0
movlpd qword [ebp - 0x244], xmm0
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
cdq
add eax, dword [ebp - 0x64]
adc edx, dword [ebp - 0x60]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x240]
push edx
mov eax, dword [ebp - 0x244]
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x4d8], edx
sub ecx, 0xff
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x7c], 0
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp - 0x16]
sub eax, ecx
movzx edx, byte [ebp - 0x15]
or edx, eax
mov byte [ebp - 0x15], dl
movsx eax, word [0x100c3118]
cdq
push 0x35206
push 0x26a2a7b8
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movzx eax, word [ebp - 0x30]
cdq
xor eax, ecx
mov word [ebp - 0x30], ax
movsx edx, word [ebp - 0x24]
add edx, 0x7f9198a4
imul edx, dword [0x100c30f8]
mov dword [0x100c30f8], edx
movzx eax, byte [ebp - 0x16]
sub eax, 0x3e
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x44]
sub ecx, 0xd203
mov word [0x100c308c], cx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movzx eax, word [0x100c30a0]
cdq
add eax, dword [ebp - 0x5c]
not eax
mov word [0x100c30b0], ax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c3080]
sub ecx, eax
mov eax, dword [0x100c3084]
sbb eax, edx
mov dword [0x100c3080], ecx
mov dword [0x100c3084], eax
cmp dword [0x100c310c], 0
jne 0x1000b1ea
mov dword [ebp - 0x118], 1
jmp 0x1000b1f4
mov dword [ebp - 0x118], 0
movzx ecx, byte [ebp - 0x13]
sub ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x118]
sub edx, 0xbd
sub ecx, edx
mov word [ebp - 0x30], cx
mov eax, 1
test eax, eax
je 0x1000cc0e
movsx eax, word [0x100c3118]
not eax
cdq
sub eax, dword [ebp - 0x64]
sbb edx, dword [ebp - 0x60]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
mov ecx, dword [ebp - 0x3b8]
or ecx, dword [ebp - 0x3b4]
jne 0x1000b250
mov dword [ebp - 0x11c], 1
jmp 0x1000b25a
mov dword [ebp - 0x11c], 0
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x64]
sub ecx, eax
mov esi, dword [ebp - 0x60]
sbb esi, edx
movsx edx, byte [ebp - 0x11]
movsx eax, word [0x100c3088]
imul eax, edx
imul eax, dword [ebp - 0x11c]
not eax
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], esi
mov ecx, dword [ebp - 0x3c0]
or ecx, dword [ebp - 0x3bc]
jne 0x1000b2aa
mov edx, 1
mov word [ebp - 0x76], dx
jmp 0x1000b2b0
xor eax, eax
mov word [ebp - 0x76], ax
mov cx, word [ebp - 0x76]
mov word [ebp - 0x28], cx
movsx eax, byte [ebp - 0x14]
movsx edx, word [ebp - 0x24]
sub eax, edx
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov eax, dword [ebp - 0x64]
or eax, dword [ebp - 0x60]
jne 0x1000b2ea
xor ecx, ecx
mov dword [ebp - 0x3c8], 1
mov dword [ebp - 0x3c4], ecx
jmp 0x1000b2f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c8], xmm0
movsx eax, word [ebp - 0x3c]
not eax
movsx edx, byte [ebp - 0x29]
add eax, edx
cdq
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x4dc], edx
mov edx, dword [ebp - 0x3c8]
sub edx, ecx
xor eax, edx
mov word [ebp - 0x24], ax
mov eax, 0x3128
mov word [ebp - 0x30], ax
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
add ecx, 0x8e39925c
adc edx, 0x759fa
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
mov al, byte [0x100c3027]
sub al, 1
mov byte [0x100c3027], al
push 0
push 0x33
call fcn.1004e550
add esp, 8
mov byte [0x100c3075], al
movzx ecx, byte [ebp - 0x12]
movsx edx, byte [ebp - 0x14]
cmp ecx, edx
je 0x1000b384
mov dword [ebp - 0x120], 1
jmp 0x1000b38e
mov dword [ebp - 0x120], 0
movsx eax, word [ebp - 0x28]
movsx ecx, word [ebp - 0x1c]
not ecx
cmp eax, ecx
jl 0x1000b3a8
mov dword [ebp - 0x124], 1
jmp 0x1000b3b2
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x120]
sub edx, dword [ebp - 0x124]
je 0x1000b431
movzx eax, byte [ebp - 0x13]
imul eax, eax, 0x99
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movsx ecx, word [ebp - 0x28]
movsx edx, word [ebp - 0x3c]
sub ecx, edx
mov word [ebp - 0x28], cx
mov byte [0x100c303b], 0xb6
mov eax, dword [ebp - 0x44]
shl eax, 8
mov dword [ebp - 0x44], eax
movsx ecx, word [0x100c30fc]
test ecx, ecx
jne 0x1000b40b
mov dword [ebp - 0x128], 1
jmp 0x1000b415
mov dword [ebp - 0x128], 0
movzx eax, byte [ebp - 0x16]
imul eax, dword [ebp - 0x128]
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
jmp 0x1000b4cd
movsx edx, word [ebp - 0x34]
test edx, edx
je 0x1000b4cd
movsx eax, byte [0x100c3075]
test eax, eax
jne 0x1000b454
mov dword [ebp - 0x12c], 1
jmp 0x1000b45e
mov dword [ebp - 0x12c], 0
movzx ecx, byte [ebp - 0x13]
add ecx, dword [ebp - 0x12c]
movzx edx, word [0x100c30e0]
mov eax, 0x353ad1fd
sub eax, edx
sub ecx, eax
mov word [0x100c3088], cx
mov cx, word [0x100c3b38]
mov word [0x100c3118], cx
movsx edx, word [ebp - 0x24]
imul eax, edx, 0x29d7c640
mov byte [ebp - 0x12], al
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x4e0], edx
and ecx, 0x451c57b9
movzx eax, word [0x100c30b0]
cdq
add eax, ecx
mov word [0x100c30b0], ax
mov eax, 0xffffeb4f
mov word [0x100c3118], ax
push 0x1000
push 0
lea ecx, [ebp - 0x1624]
push ecx
call fcn.1008ff10
add esp, 0xc
movsx edx, word [ebp - 0x3c]
movzx eax, word [0x100c30a0]
cmp edx, eax
jne 0x1000b4fe
mov dword [ebp - 0x130], 1
jmp 0x1000b508
mov dword [ebp - 0x130], 0
movsx ecx, word [ebp - 0x3c]
cmp ecx, 1
jne 0x1000b51d
mov dword [ebp - 0x134], 1
jmp 0x1000b527
mov dword [ebp - 0x134], 0
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x134]
je 0x1000b543
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [ebp - 0x40], eax
jmp 0x1000b5db
movsx eax, word [ebp - 0x3c]
imul ecx, eax, 0x2fd1798
mov word [0x100c308c], cx
movsx eax, word [ebp - 0x28]
cdq
add eax, 0x371d9e50
adc edx, 0x1ef79
add eax, dword [ebp - 0x5c]
adc edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movsx eax, word [ebp - 0x3c]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
mov edx, dword [ebp - 0x44]
add edx, dword [0x100c3108]
mov byte [ebp - 0x11], dl
movzx eax, word [ebp - 0x38]
mov ecx, dword [0x100c30f8]
sub ecx, eax
jne 0x1000b5b7
mov dword [ebp - 0x138], 1
jmp 0x1000b5c1
mov dword [ebp - 0x138], 0
movsx edx, word [ebp - 0x24]
xor edx, dword [ebp - 0x138]
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x6c]
add eax, 0x4c9c
mov byte [0x100c303b], al
mov dword [ebp - 0x74], 0
mov dword [ebp - 4], 4
mov dword [ebp - 0xa4], 0x57
mov ecx, dword [ebp - 0x6c]
sub ecx, 0x32304b87
mov edx, dword [ebp - 0x40]
add edx, ecx
mov dword [ebp - 0x40], edx
mov al, byte [0x100c3b38]
mov byte [0x100c303b], al
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
add ecx, 0xae0fc160
adc edx, 0xd60fb
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], edx
mov dword [ebp - 0x44], 1
mov byte [0x100c3063], 1
movsx eax, word [0x100c3118]
sub eax, 0xee25
mov word [0x100c3090], ax
movsx ecx, word [ebp - 0x34]
movsx edx, word [ebp - 0x3c]
cmp ecx, edx
jg 0x1000b6c9
mov eax, 2
imul ecx, eax, 0x1fc2
movzx edx, word [ecx + 0x1016f650]
mov eax, dword [0x100c310c]
add eax, edx
mov dword [0x100c310c], eax
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, eax
sub ecx, dword [0x100c3080]
movsx eax, byte [str.NDisablePerfBackoff]
cdq
and eax, ecx
mov byte [str.NDisablePerfBackoff], al
mov ecx, dword [0x100c30d8]
sub ecx, 0xdcdaf0ed
mov esi, dword [0x100c30dc]
sbb esi, 0xcb3e5
movzx eax, byte [ebp - 0x1d]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x1d], al
jmp 0x1000b74d
movsx edx, byte [ebp - 0x14]
test edx, edx
je 0x1000b74d
mov eax, 0xbbfdacd4
or eax, 0x71827
je 0x1000b74d
movsx ecx, byte [ebp - 0x11]
cmp ecx, 0xd2
jl 0x1000b74d
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov ecx, dword [0x100c309c]
sub edx, dword [0x100c3098]
sbb eax, ecx
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
movzx eax, byte [ebp - 0x15]
cdq
sub eax, 0x704b5c6e
mov word [ebp - 0x3c], ax
movzx edx, word [ebp - 0x38]
sub edx, 0x74300d7
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x13]
shl eax, 8
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x40]
add ecx, 0x2b9f4877
mov byte [str.NDisablePerfBackoff], cl
movsx edx, word [ebp - 0x24]
imul edx, dword [ebp - 0x40]
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0xa4]
add eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xf38
jl 0x1000b652
jmp 0x1000b797
mov dword [ebp - 4], 0xffffffff
jmp 0x1000b7a7
lea eax, [ebp - 0x74]
push eax
push 0x1000
lea ecx, [ebp - 0x1624]
push ecx
mov edx, dword [ebp - 0x84]
push edx
push 0
push 0
call fcn.100014e0
add esp, 8
call eax
test eax, eax
jne 0x1000b83f
movsx eax, word [ebp - 0x34]
movzx ecx, byte [0x100c303b]
imul eax, ecx
mov word [ebp - 0x34], ax
movsx edx, word [0x100c3088]
test edx, edx
jne 0x1000b7f9
mov dword [ebp - 0x13c], 1
jmp 0x1000b803
mov dword [ebp - 0x13c], 0
movsx eax, word [ebp - 0x24]
movsx ecx, byte [ebp - 0x14]
xor eax, ecx
add eax, dword [ebp - 0x13c]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x68], 0xd46e
mov edx, dword [0x100c30f0]
sub edx, 1
mov eax, dword [0x100c30f4]
sbb eax, 0
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
jmp 0x1000cc0e
jmp 0x1000b850
cmp dword [ebp - 0x74], 0
jne 0x1000bc26
movzx ecx, word [0x100c30a0]
test ecx, ecx
je 0x1000b98b
movsx edx, word [ebp - 0x1c]
sub edx, 0xe5d4
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 0x16]
movsx ecx, word [0x100c30fc]
imul ecx, dword [ebp - 0x6c]
add eax, ecx
mov edx, dword [ebp - 0x40]
not edx
movsx ecx, byte [str.NDisablePerfBackoff]
add edx, ecx
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
mov dword [ebp - 0x4e4], esi
add ecx, dword [ebp - 0x5c]
not ecx
add edx, ecx
not edx
xor eax, edx
mov word [ebp - 0x38], ax
movzx edx, byte [0x100c303b]
sub edx, 0x70eba8cb
mov byte [ebp - 0x15], dl
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1000b8da
mov dword [ebp - 0x140], 1
jmp 0x1000b8e4
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x140]
jne 0x1000b903
xor edx, edx
mov dword [ebp - 0x3d0], 1
mov dword [ebp - 0x3cc], edx
jmp 0x1000b90e
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d0], xmm0
mov eax, dword [ebp - 0x3d0]
and eax, 0x390e61c5
mov byte [ebp - 0x12], al
movzx eax, word [ebp - 0x50]
and eax, dword [0x100c30f8]
cdq
mov esi, eax
mov edi, edx
xor esi, dword [0x100c3120]
xor edi, dword [0x100c3124]
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ebx, eax
mov eax, edx
movsx ecx, word [ebp - 0x24]
mov dword [ebp - 0x2c8], eax
mov eax, ecx
cdq
mov ecx, dword [0x100c30dc]
push ecx
mov ecx, dword [0x100c30d8]
push ecx
push edx
push eax
call fcn.1008eb70
add ebx, eax
mov eax, dword [ebp - 0x2c8]
adc eax, edx
push eax
push ebx
push edi
push esi
call fcn.1008eb70
mov byte [ebp - 0x12], al
movzx edx, word [0x100c30b0]
add edx, 0x79fafed5
mov dword [ebp - 0x6c], edx
mov dword [ebp - 4], 6
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], esi
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov edx, dword [ebp - 0x3d8]
cmp edx, dword [ebp - 0x3e0]
jne 0x1000ba6c
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [ebp - 0x3dc]
jne 0x1000ba6c
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
mov dx, word [0x100c3b38]
mov word [0x100c3118], dx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4e8], ecx
sub eax, 0x8ec4ef4e
mov word [ebp - 0x30], ax
movzx edx, byte [ebp - 0x13]
movsx eax, word [ebp - 0x3c]
add edx, eax
mov byte [ebp - 0x13], dl
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
sub ecx, 0x796534e7
sbb edx, 0
mov eax, dword [0x100c3120]
mov esi, dword [0x100c3124]
add eax, ecx
adc esi, edx
mov dword [0x100c3120], eax
mov dword [0x100c3124], esi
push 0
push 0x905c
mov ecx, dword [0x100c3084]
push ecx
mov edx, dword [0x100c3080]
push edx
call fcn.1008eb70
mov word [0x100c30e0], ax
jmp 0x1000bb5b
movzx eax, word [ebp - 0x38]
cdq
sub eax, 0x99db9d31
sbb edx, 0x5250b
and eax, dword [0x100c3080]
and edx, dword [0x100c3084]
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2fc]
or eax, dword [ebp - 0x2f8]
jne 0x1000baae
mov dword [ebp - 0x144], 1
jmp 0x1000bab8
mov dword [ebp - 0x144], 0
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [ebp - 0x64]
not ecx
mov esi, dword [ebp - 0x60]
not esi
mov edi, dword [0x100c30c0]
mov ebx, dword [0x100c30c4]
sub edi, ecx
sbb ebx, esi
not edi
not ebx
add eax, edi
adc edx, ebx
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], edx
mov edx, dword [ebp - 0x3e8]
or edx, dword [ebp - 0x3e4]
jne 0x1000bb05
mov dword [ebp - 0x148], 1
jmp 0x1000bb0f
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x144]
add eax, dword [ebp - 0x148]
not eax
mov word [0x100c3088], ax
mov byte [ebp - 0x29], 8
mov cx, word [0x100c3b38]
mov word [ebp - 0x24], cx
movsx edx, word [0x100c30fc]
movzx eax, byte [ebp - 0x13]
add edx, eax
movsx ecx, word [0x100c308c]
imul edx, ecx
mov word [ebp - 0x28], dx
movzx edx, byte [ebp - 0x16]
add edx, 0xa5d9
mov word [ebp - 0x1c], dx
jmp 0x1000bbad
mov dword [ebp - 4], 0xffffffff
jmp 0x1000bbbd
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x7c]
mov dword [edx], eax
movzx ecx, word [0x100c30b0]
add ecx, 0x1d9f
mov word [0x100c308c], cx
movzx edx, byte [0x100c303b]
imul eax, edx, 0xeb
mov byte [0x100c3075], al
movsx ecx, byte [ebp - 0x14]
shl ecx, 1
mov word [ebp - 0x30], cx
movsx edx, word [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
xor eax, edx
mov dword [ebp - 0x40], eax
movzx eax, word [ebp - 0x30]
movsx ecx, word [ebp - 0x24]
sub eax, ecx
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov dword [ebp - 0x180], 1
jmp 0x1000cc0e
movzx edx, word [ebp - 0x30]
cmp dword [ebp - 0x54], edx
jle 0x1000bc3b
mov dword [ebp - 0x14c], 1
jmp 0x1000bc45
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
not eax
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], esi
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ebp - 0x3f4]
jb 0x1000bd6b
ja 0x1000bc98
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x3f8]
jb 0x1000bd6b
movzx eax, byte [ebp - 0x15]
cdq
push edx
push eax
call fcn.1004e550
add esp, 8
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1000bcbe
mov dword [ebp - 0x150], 1
jmp 0x1000bcc8
mov dword [ebp - 0x150], 0
movzx edx, byte [ebp - 0x12]
cmp edx, 0x53
jne 0x1000bcdd
mov dword [ebp - 0x154], 1
jmp 0x1000bce7
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x150]
cmp eax, dword [ebp - 0x154]
jne 0x1000bd2a
jmp 0x1000bd06
jmp 0x1000bd12
jmp 0x1000bd28
jmp 0x1000bd6b
movsx ecx, byte [ebp - 0x11]
sub ecx, 0x31
mov edx, dword [0x100c3108]
sub edx, ecx
mov dword [0x100c3108], edx
imul eax, dword [ebp - 0x44], 0xe44a
mov byte [0x100c303b], al
mov byte [str.NDisablePerfBackoff], 0x36
movsx ecx, word [ebp - 0x24]
movzx edx, word [0x100c30e0]
imul ecx, edx
mov word [ebp - 0x24], cx
mov byte [0x100c3027], 0x45
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x1000c012
movsx ecx, byte [ebp - 0x11]
add ecx, 0x32adffe3
mov byte [ebp - 0x13], cl
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0xae9fb4b3
sbb edx, 0x128d8
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
push 0
push 0x6b2107fd
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x64]
push eax
call fcn.1008eb70
mov dword [ebp - 0x54], eax
movzx ecx, word [0x100c30b0]
mov edx, 4
imul eax, edx, 0xb
mov dword [eax + 0x100dfc18], ecx
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
push 0
push 0x1742c30d
push edx
push ecx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov eax, 0xfaed
mov word [0x100c30b0], ax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
push 0
push 0x5ae7
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x24], ax
mov eax, 2
mov word [0x100c30e0], ax
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0x74]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], edx
mov edx, dword [ebp - 0x3fc]
cmp edx, dword [0x100c30f4]
ja 0x1000beeb
jb 0x1000be7b
mov eax, dword [ebp - 0x400]
cmp eax, dword [0x100c30f0]
ja 0x1000beeb
movzx ecx, byte [ebp - 0x1d]
movsx edx, word [0x100c3090]
cmp ecx, edx
jge 0x1000beeb
movzx eax, byte [ebp - 0x15]
imul ecx, eax, 0x378e6c73
mov dword [ebp - 0x44], ecx
mov edx, dword [0x100c30f0]
sub edx, 0x2cd4
mov byte [ebp - 0x12], dl
movzx eax, word [ebp - 0x38]
cdq
mov ecx, eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x4ec], eax
add ecx, edx
movzx eax, word [ebp - 0x38]
cdq
sub eax, ecx
mov word [ebp - 0x38], ax
mov cl, byte [0x100c3118]
mov byte [ebp - 0x15], cl
movzx edx, byte [ebp - 0x12]
movzx eax, word [0x100c30e0]
imul edx, eax
movzx ecx, byte [ebp - 0x12]
sub ecx, edx
mov byte [ebp - 0x12], cl
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
jne 0x1000c00d
mov dword [ebp - 0x54], 0
imul eax, dword [ebp - 0x44], 0x45
movzx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
mov dx, word [ebp - 0x1c]
sub dx, 1
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x3c]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movsx eax, word [ebp - 0x24]
xor eax, 0x59c2
imul ecx, eax, 0x6001
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x34]
sar edx, 4
mov byte [0x100c3062], dl
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], ecx
mov edx, dword [ebp - 0x408]
or edx, dword [ebp - 0x404]
jne 0x1000bf77
mov dword [ebp - 0x158], 1
jmp 0x1000bf81
mov dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x158]
imul eax, dword [0x100c30f8]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x2cc], ecx
cmp dword [ebp - 0x2cc], 0
je 0x1000bfa6
jmp 0x1000c008
mov edx, 1
imul eax, edx, 0xf
movsx eax, byte [eax + 0x10118b3c]
cdq
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
mov byte [ebp - 0x1d], 4
mov cx, word [ebp - 0x28]
mov edx, 2
imul eax, edx, 0x4ffc
mov word [eax + 0x1016f650], cx
imul ecx, dword [ebp - 0x6c], 0x611c
xor edx, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], edx
movsx eax, word [ebp - 0x28]
add eax, 0x3dca6b18
movzx ecx, byte [0x100c3063]
xor ecx, eax
mov byte [0x100c3063], cl
jmp 0x1000cc0e
jmp 0x1000c9de
mov edx, dword [ebp - 0x40]
shr edx, 6
mov dword [ebp - 0x40], edx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x4f0], ecx
mov byte [str.NDisablePerfBackoff], al
mov edx, dword [0x100c30b8]
or edx, dword [0x100c30bc]
je 0x1000c049
mov al, byte [0x100c3062]
mov byte [ebp - 0x6d], al
jmp 0x1000c052
mov cl, byte [0x100c3063]
mov byte [ebp - 0x6d], cl
mov dl, byte [ebp - 0x6d]
mov byte [0x100c3027], dl
movzx eax, word [0x100c30e0]
cdq
add eax, dword [ebp - 0x5c]
adc edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
mov eax, dword [ebp - 0x58]
sbb eax, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], eax
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x410]
or eax, dword [ebp - 0x40c]
jne 0x1000c0b3
xor ecx, ecx
mov dword [ebp - 0x24c], 1
mov dword [ebp - 0x248], ecx
jmp 0x1000c0be
xorps xmm0, xmm0
movlpd qword [ebp - 0x24c], xmm0
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x24c]
sbb esi, dword [ebp - 0x248]
movzx eax, byte [0x100c3063]
movzx edx, word [0x100c30e0]
not edx
movsx edi, word [0x100c30fc]
not edi
sub edx, edi
not edx
sub eax, edx
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movzx eax, word [ebp - 0x38]
sub eax, 0x1d
mov word [ebp - 0x50], ax
movzx ecx, word [ebp - 0x50]
test ecx, ecx
je 0x1000c2f5
push 0
push 0
push 0xbc
call fcn.1004fd80
add esp, 0xc
movzx eax, ax
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x418]
or ecx, dword [ebp - 0x414]
je 0x1000c259
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x420]
or ecx, dword [ebp - 0x41c]
jne 0x1000c19f
xor edx, edx
mov dword [ebp - 0x428], 1
mov dword [ebp - 0x424], edx
jmp 0x1000c1aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x428], xmm0
mov eax, dword [ebp - 0x428]
add eax, dword [0x100c30d8]
mov dword [0x100c30f8], eax
imul ecx, dword [0x100c310c], 0xa43b
mov word [ebp - 0x34], cx
mov byte [0x100c303b], 0x6c
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x430]
or ecx, dword [ebp - 0x42c]
jne 0x1000c201
mov dword [ebp - 0x15c], 1
jmp 0x1000c20b
mov dword [ebp - 0x15c], 0
movzx eax, word [ebp - 0x38]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
add ecx, eax
adc esi, edx
movsx eax, word [ebp - 0x1c]
or eax, dword [ebp - 0x15c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov word [ebp - 0x38], ax
movzx edx, word [0x100c30e0]
movsx eax, word [0x100c3118]
lea ecx, [eax + edx + 0x83]
mov word [0x100c3118], cx
jmp 0x1000c2f0
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x438]
or ecx, dword [ebp - 0x434]
je 0x1000c2f0
movsx eax, word [0x100c30fc]
cdq
mov ecx, eax
sub ecx, dword [0x100c30d8]
movsx eax, word [0x100c30fc]
cdq
add eax, ecx
mov word [0x100c30fc], ax
mov dl, byte [0x100c3b38]
mov byte [ebp - 0x11], dl
movzx eax, byte [0x100c3062]
cdq
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x4f4], edx
sub eax, ecx
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x4f8], edx
sub ecx, eax
mov byte [ebp - 0x16], cl
movzx eax, byte [ebp - 0x15]
mov dword [ebp - 0x40], eax
movzx ecx, word [ebp - 0x38]
movsx edx, word [ebp - 0x34]
imul eax, edx, 0xea5863f1
add ecx, eax
mov word [ebp - 0x28], cx
jmp 0x1000c3bd
xor ecx, ecx
mov dword [0x100c3120], 0xa5
mov dword [0x100c3124], ecx
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x1000c323
xor eax, eax
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x250], eax
jmp 0x1000c32e
xorps xmm0, xmm0
movlpd qword [ebp - 0x254], xmm0
mov ecx, dword [ebp - 0x254]
sub ecx, dword [0x100c30b8]
mov edx, dword [ebp - 0x250]
sbb edx, dword [0x100c30bc]
mov eax, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push ecx
push esi
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c308c]
movsx edx, byte [0x100c3027]
sub eax, edx
cdq
sub ecx, eax
mov dword [ebp - 0x68], ecx
movzx eax, word [ebp - 0x30]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], esi
movzx edx, byte [ebp - 0x16]
imul eax, edx, 0xdb
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x4fc], edx
sub ecx, 0x10a5d22e
mov word [ebp - 0x34], cx
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ebp - 0xa8], 0
jmp 0x1000c3f9
mov edx, dword [ebp - 0xa8]
add edx, 2
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0xd9
jge 0x1000c497
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x500], ecx
add eax, 0x5ab60cd2
mov word [0x100c308c], ax
mov dl, byte [0x100c3b38]
mov byte [0x100c303b], dl
mov byte [ebp - 0x14], 0x62
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1000c450
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], edx
jmp 0x1000c468
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x258], edx
mov al, byte [ebp - 0x25c]
mov byte [0x100c3063], al
movsx ecx, word [ebp - 0x34]
add ecx, 0x1c722c99
mov byte [ebp - 0x14], cl
mov dx, word [0x100c308c]
add dx, 1
mov word [0x100c308c], dx
jmp 0x1000c3ea
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x1000c9de
movsx ecx, word [0x100c308c]
movsx edx, word [ebp - 0x34]
cmp ecx, edx
jl 0x1000c7dc
movsx eax, word [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov word [0x100c30fc], ax
movsx ecx, word [0x100c30fc]
test ecx, ecx
jg case.default.0x1000c5b4
mov dword [ebp - 0x44], 3
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
push 0xf89a7
push 0x14e7074c
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x3c]
cdq
add eax, ecx
mov word [ebp - 0x3c], ax
movsx edx, word [0x100c308c]
movzx eax, word [0x100c30a0]
sub edx, eax
mov word [0x100c308c], dx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x504], edx
add ecx, 0xf75a5fea
mov word [0x100c30e0], cx
mov eax, dword [ebp - 0x54]
cdq
mov ecx, dword [0x100c3080]
sub ecx, eax
mov eax, dword [0x100c3084]
sbb eax, edx
mov dword [0x100c3080], ecx
mov dword [0x100c3084], eax
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov eax, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
not eax
not esi
push esi
push eax
push edx
push ecx
call fcn.1008eb70
movzx ecx, byte [0x100c3063]
sub ecx, 0x4f9dab19
sub eax, ecx
add eax, 0xb1a249bf
mov byte [ebp - 0x12], al
movzx edx, byte [ebp - 0x15]
add edx, dword [ebp - 0x40]
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 3
ja case.default.0x1000c5b4
mov ecx, dword [ebp - 0x160]
jmp dword [ecx*4 + 0x1000e3f8]
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 0x12]
imul ecx, edx
mov word [ebp - 0x1c], cx
movsx eax, word [ebp - 0x28]
mov ecx, dword [0x100c310c]
add ecx, eax
xor esi, esi
movzx eax, byte [ebp - 0x1d]
movsx edx, word [0x100c3118]
add eax, edx
cdq
mov edi, dword [0x100c30c0]
mov ebx, dword [0x100c30c4]
sub edi, eax
sbb ebx, edx
xor ecx, edi
xor esi, ebx
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x43c], esi
mov eax, dword [ebp - 0x440]
or eax, dword [ebp - 0x43c]
jne 0x1000c654
mov dword [ebp - 0x164], 1
jmp 0x1000c65e
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x68], ecx
mov dx, word [0x100c3b38]
mov word [ebp - 0x38], dx
mov ax, word [0x100c3b38]
mov word [ebp - 0x28], ax
jmp case.default.0x1000c5b4
movsx ecx, byte [ebp - 0x11]
sub ecx, 0x8781
mov word [0x100c308c], cx
mov edx, 1
shl edx, 2
movsx ax, byte [edx + 0x10118b3c]
mov word [0x100c30b0], ax
mov ecx, 2
imul edx, ecx, 0x78a
movzx eax, word [edx + 0x1017a780]
movzx ecx, byte [0x100c3063]
sub ecx, eax
mov byte [0x100c3063], cl
movsx eax, byte [str.NDisablePerfBackoff]
xor eax, 0xb101
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
jmp case.default.0x1000c5b4
movzx edx, byte [ebp - 0x13]
sub edx, 0x394f
mov word [ebp - 0x3c], dx
imul eax, dword [0x100c310c], 0x390a
mov byte [0x100c3027], al
movzx ecx, word [0x100c30b0]
sub ecx, 0x6ad0
mov byte [str.NDisablePerfBackoff], cl
movzx eax, word [0x100c30a0]
cdq
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x508], ecx
add eax, edx
mov word [0x100c30a0], ax
mov edx, 0xa09a
mov word [ebp - 0x30], dx
jmp case.default.0x1000c5b4
movsx eax, byte [ebp - 0x11]
sub eax, 0x8cdb
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx eax, word [0x100c3118]
cdq
push 0xe4a5c
push 0x268e2b3b
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x13], al
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x50c], ecx
sub eax, 0x63174eaa
mov byte [ebp - 0x16], al
movzx edx, byte [0x100c3062]
movzx eax, word [0x100c30a0]
sub edx, eax
movzx ecx, byte [0x100c3062]
sub ecx, edx
mov byte [0x100c3062], cl
movsx eax, byte [ebp - 0x14]
add eax, 0xeaba
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
or ecx, eax
or esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0x2be5e989
mov dword [ebp - 0x40], eax
jmp 0x1000c9d9
movzx ecx, word [ebp - 0x38]
test ecx, ecx
je 0x1000c800
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x1000c800
xor eax, eax
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x260], eax
jmp 0x1000c80b
xorps xmm0, xmm0
movlpd qword [ebp - 0x264], xmm0
mov eax, dword [ebp - 0x54]
not eax
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x444], esi
mov edx, dword [ebp - 0x264]
cmp edx, dword [ebp - 0x448]
jne 0x1000c89e
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x444]
jne 0x1000c89e
mov cx, word [ebp - 0x3c]
mov byte [str.NDisablePerfBackoff], cl
mov dx, word [0x100c3b38]
mov word [ebp - 0x38], dx
movsx eax, word [ebp - 0x1c]
xor eax, 0x65
cdq
push edx
push eax
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movsx edx, word [ebp - 0x34]
movsx eax, byte [0x100c3075]
add eax, dword [ebp - 0x40]
sub edx, eax
xor ecx, ecx
mov dword [0x100c3120], edx
mov dword [0x100c3124], ecx
jmp 0x1000c9d9
mov eax, dword [0x100c3108]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
or ecx, eax
or esi, edx
not ecx
not esi
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], esi
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x44c]
cmp ecx, dword [ebp - 0x454]
jb 0x1000c963
ja 0x1000c8f9
mov edx, dword [ebp - 0x450]
cmp edx, dword [ebp - 0x458]
jb 0x1000c963
movsx eax, word [ebp - 0x28]
imul ecx, eax, 0xf436
mov edx, dword [ebp - 0x40]
imul edx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x100c3108]
and eax, 0xa1c5
movsx ecx, word [0x100c3118]
sub ecx, eax
mov word [0x100c3118], cx
mov dx, word [0x100c3b38]
mov word [ebp - 0x24], dx
movsx eax, byte [0x100c3075]
add eax, 0x95
mov word [ebp - 0x30], ax
movzx cx, byte [0x100c3062]
mov edx, 2
imul eax, edx, 0x3c
mov word [eax + 0x10192bf0], cx
mov ecx, dword [ebp - 0x68]
mov dword [0x100c30f8], ecx
jmp 0x1000c9d9
mov edx, dword [0x100c310c]
not edx
test edx, edx
je 0x1000c9d9
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
add eax, 0x5d
adc ecx, 0
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], ecx
movzx edx, word [0x100c30b0]
xor edx, 0xbb382429
mov word [ebp - 0x1c], dx
mov ax, word [0x100c3b38]
mov word [0x100c30e0], ax
xor ecx, ecx
mov dword [ebp - 0x5c], 0x60514ec7
mov dword [ebp - 0x58], ecx
mov edx, 0x29f28
mov dword [0x100c3100], 0xc94fefac
mov dword [0x100c3104], edx
movsx eax, word [0x100c308c]
cdq
add eax, 0xb8f40c51
mov byte [ebp - 0x12], al
jmp 0x1000cc0e
mov eax, dword [0x100c310c]
cmp eax, dword [0x100c3108]
je 0x1000ca60
movsx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x1000ca06
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
jmp 0x1000ca1d
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x268], eax
mov cl, byte [ebp - 0x26c]
mov byte [ebp - 0x15], cl
mov dx, word [0x100c30f8]
mov word [0x100c30fc], dx
movsx eax, word [0x100c30fc]
sub eax, 0xb155
mov word [ebp - 0x24], ax
movsx ecx, byte [ebp - 0x14]
add ecx, 0x1739
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x13]
sub edx, 0x6c
mov byte [ebp - 0x15], dl
jmp 0x1000cb7f
movzx eax, word [0x100c30e0]
test eax, eax
je 0x1000cb7f
movzx eax, word [0x100c30a0]
movzx ecx, byte [ebp - 0x16]
add eax, ecx
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x24]
cdq
mov edi, dword [0x100c3120]
mov ebx, dword [0x100c3124]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], edx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x45c]
jne 0x1000cac5
mov dword [ebp - 0x168], 1
jmp 0x1000cacf
mov dword [ebp - 0x168], 0
movzx eax, byte [ebp - 0x1d]
not eax
mov ecx, dword [ebp - 0x40]
xor ecx, eax
sub ecx, dword [ebp - 0x168]
xor edx, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
add ecx, eax
adc esi, edx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
add edx, ecx
adc eax, esi
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x510], edx
not ecx
mov eax, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x514], edx
sub eax, ecx
not eax
mov byte [0x100c3063], al
cmp dword [ebp - 0x6c], 0
je 0x1000cb6c
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x16c], eax
jmp 0x1000cb76
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x16c], ecx
mov dl, byte [ebp - 0x16c]
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x1624]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, dword [ebp - 0x7c]
push eax
call fcn.1008f990
add esp, 0xc
movsx ecx, word [0x100c30fc]
imul ecx, dword [ebp - 0x68]
mov word [0x100c30fc], cx
mov edx, dword [ebp - 0x44]
sub edx, 1
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x44]
add ecx, 0x278d8c59
movzx eax, word [ebp - 0x30]
cdq
add eax, ecx
mov word [ebp - 0x30], ax
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x4ada
movsx ecx, word [0x100c308c]
sub ecx, eax
mov word [0x100c308c], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
sub edx, 1
sbb eax, 0
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
mov ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x74]
mov dword [ebp - 0x7c], ecx
jmp 0x1000b20d
mov edx, 3
mov word [ebp - 0x1c], dx
movsx eax, word [0x100c308c]
add eax, dword [0x100c30f8]
mov word [0x100c308c], ax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
push 0
push 0x353f
push edx
push ecx
call fcn.1008eb70
mov byte [ebp - 0x14], al
mov eax, 2
mov word [0x100c30fc], ax
movzx ecx, word [0x100c30e0]
add ecx, 0xca
mov byte [ebp - 0x13], cl
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x1000cc7e
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], ecx
jmp 0x1000cc95
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x1f0]
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov al, byte [ebp - 0x13]
sub al, 1
mov byte [ebp - 0x13], al
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x170], ecx
cmp dword [ebp - 0x170], 3
ja case.default.0x1000ccd2
mov edx, dword [ebp - 0x170]
jmp dword [edx*4 + 0x1000e408]
movzx eax, byte [ebp - 0x1d]
cdq
mov ecx, 8
imul ecx, ecx, 0x45
mov dword [ecx + 0x1017a1f0], eax
mov dword [ecx + 0x1017a1f4], edx
mov edx, dword [ebp - 0x40]
xor eax, eax
mov ecx, dword [0x100c30f4]
push ecx
mov ecx, dword [0x100c30f0]
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x40], eax
movsx edx, byte [ebp - 0x11]
imul eax, edx, 0x8c
movsx ecx, byte [0x100c3027]
imul ecx, eax
mov byte [0x100c3027], cl
movsx edx, byte [ebp - 0x14]
shl edx, 5
mov word [ebp - 0x38], dx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x518], ecx
xor eax, 0xa37c
add eax, 0x33
mov word [ebp - 0x34], ax
movzx edx, byte [0x100c3062]
sub edx, dword [ebp - 0x6c]
mov ecx, edx
xor esi, esi
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov edi, dword [0x100c30c4]
sub edx, dword [0x100c30c0]
sbb eax, edi
sub ecx, edx
sbb esi, eax
mov edx, dword [0x100c30ac]
mov edi, 0xa3
sub edi, dword [0x100c30a8]
mov ebx, 0
sbb ebx, edx
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x2d4], ecx
mov ecx, dword [0x100c30c8]
mov dword [ebp - 0x2d0], esi
mov esi, dword [0x100c30cc]
sub ecx, eax
sbb esi, edx
add edi, ecx
adc ebx, esi
push ebx
push edi
mov ecx, dword [ebp - 0x2d0]
push ecx
mov ecx, dword [ebp - 0x2d4]
push ecx
call fcn.1008eb70
mov byte [0x100c3063], al
jmp case.default.0x1000ccd2
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
add edx, 1
adc eax, 0
mov dword [0x100c30c8], edx
mov dword [0x100c30cc], eax
mov ecx, 4
imul edx, ecx, 0xbcd
mov eax, dword [edx + 0x10155538]
xor ecx, ecx
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
movsx eax, byte [0x100c3075]
add eax, 0xd6
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movsx eax, word [ebp - 0x1c]
cdq
push 0x49277
push 0x446140e0
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x1d], al
movsx edx, byte [0x100c3027]
not edx
movzx eax, byte [0x100c3062]
sub edx, eax
and edx, dword [ebp - 0x68]
mov byte [ebp - 0x12], dl
jmp case.default.0x1000ccd2
movzx ecx, word [0x100c30b0]
mov edx, dword [ebp - 0x54]
add edx, ecx
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x54], eax
movsx eax, word [ebp - 0x28]
cdq
mov ecx, eax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x51c], eax
sub ecx, edx
movsx eax, word [ebp - 0x28]
cdq
and eax, ecx
mov word [ebp - 0x28], ax
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
not ecx
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], edx
mov edx, dword [ebp - 0x468]
or edx, dword [ebp - 0x464]
jne 0x1000cedb
mov dword [ebp - 0x178], 1
jmp 0x1000cee5
mov dword [ebp - 0x178], 0
movsx eax, word [ebp - 0x24]
test eax, eax
jne 0x1000cef9
mov dword [ebp - 0x174], 1
jmp 0x1000cf03
mov dword [ebp - 0x174], 0
movzx ecx, word [0x100c30e0]
test ecx, ecx
jne 0x1000cf22
xor edx, edx
mov dword [ebp - 0x274], 1
mov dword [ebp - 0x270], edx
jmp 0x1000cf2d
xorps xmm0, xmm0
movlpd qword [ebp - 0x274], xmm0
movsx eax, word [0x100c3088]
imul eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x178]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x274]
sub edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x270]
sbb ebx, edx
not edi
not ebx
mov eax, dword [0x100c30f8]
sub eax, 0x2d
cdq
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
movsx eax, byte [str.NDisablePerfBackoff]
cdq
add eax, dword [ebp - 0x64]
mov byte [str.NDisablePerfBackoff], al
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
jmp case.default.0x1000ccd2
mov byte [0x100c3075], 0xce
movzx edx, byte [ebp - 0x13]
imul edx, dword [0x100c3108]
mov eax, dword [0x100c3108]
sub eax, edx
mov dword [0x100c3108], eax
movzx ecx, byte [ebp - 0x1d]
test ecx, ecx
je 0x1000cfdb
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1e8], eax
jmp 0x1000cfec
movzx eax, byte [ebp - 0x1d]
cdq
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], edx
mov ecx, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x1e8]
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
push 0
push 0xd4b64624
push ecx
push eax
call fcn.1008eb70
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
or ecx, eax
or esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
movsx edx, word [0x100c30fc]
add edx, dword [ebp - 0x68]
jne 0x1000d051
mov dword [ebp - 0x17c], 1
jmp 0x1000d05b
mov dword [ebp - 0x17c], 0
movsx eax, word [0x100c3118]
movzx ecx, word [ebp - 0x50]
add eax, ecx
imul eax, dword [ebp - 0x17c]
test eax, eax
jne 0x1000d07e
mov edx, 1
mov word [ebp - 0x78], dx
jmp 0x1000d084
xor eax, eax
mov word [ebp - 0x78], ax
mov cx, word [ebp - 0x78]
mov word [ebp - 0x1c], cx
xor edx, edx
mov dword [0x100c30c8], 0x2f4b7fb1
mov dword [0x100c30cc], edx
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1dc], eax
xor ecx, ecx
jne 0x1000a71a
mov edx, 1
mov word [ebp - 0x3c], dx
movzx eax, byte [0x100c3063]
cdq
add eax, 0xd1291c90
mov word [0x100c3090], ax
movzx ax, byte [ebp - 0x15]
mov word [0x100c30b0], ax
mov cx, word [0x100c3b38]
mov word [ebp - 0x3c], cx
movzx edx, word [0x100c30e0]
test edx, edx
jne 0x1000d0fb
mov dword [ebp - 0x184], 1
jmp 0x1000d105
mov dword [ebp - 0x184], 0
movsx eax, byte [ebp - 0x11]
movsx ecx, word [ebp - 0x28]
add eax, dword [ebp - 0x184]
add ecx, eax
mov word [ebp - 0x50], cx
movzx edx, word [0x100c30e0]
test edx, edx
je 0x1000d13d
mov eax, dword [0x100c30d8]
mov ecx, dword [0x100c30dc]
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], ecx
jmp 0x1000d154
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x1e4], edx
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e0]
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
movsx eax, word [ebp - 0x3c]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x1000d191
cmp dword [ebp - 0x188], 1
je 0x1000d269
jmp 0x1000d327
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x520], edx
not ecx
mov word [0x100c3090], cx
movzx eax, byte [ebp - 0x12]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [0x100c3090]
movzx ecx, byte [ebp - 0x1d]
add eax, ecx
cdq
mov ecx, eax
mov ebx, edx
movsx eax, word [0x100c308c]
cdq
mov dword [ebp - 0x2dc], edi
mov edi, dword [0x100c30d0]
mov dword [ebp - 0x2d8], esi
mov esi, dword [0x100c30d4]
add edi, eax
adc esi, edx
push esi
push edi
push ebx
push ecx
call fcn.1008eb70
mov esi, dword [ebp - 0x2d8]
add esi, eax
mov edi, dword [ebp - 0x2dc]
adc edi, edx
mov dword [0x100c3100], esi
mov dword [0x100c3104], edi
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x16], dl
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov edx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x44], eax
movzx eax, word [ebp - 0x30]
mov ecx, dword [0x100c310c]
add ecx, eax
mov edx, dword [0x100c310c]
sub edx, ecx
mov dword [0x100c310c], edx
mov ecx, dword [0x100c30b8]
sub ecx, 0xd5064667
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x1000d327
movsx edx, word [ebp - 0x34]
sub edx, 0xe703
mov byte [0x100c3075], dl
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x470]
or edx, dword [ebp - 0x46c]
jne 0x1000d2aa
mov dword [ebp - 0x18c], 1
jmp 0x1000d2b4
mov dword [ebp - 0x18c], 0
movzx eax, byte [ebp - 0x13]
sub eax, dword [ebp - 0x18c]
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov eax, 0x63
mov word [0x100c308c], ax
mov ecx, 0xbbd1
mov word [0x100c30b0], cx
movsx edx, word [0x100c3090]
test edx, edx
je 0x1000d2fb
movsx eax, word [0x100c308c]
mov dword [ebp - 0x190], eax
jmp 0x1000d305
movzx ecx, word [ebp - 0x38]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [0x100c30f8], edx
mov eax, 4
imul ecx, eax, 0x13
mov dx, word [ecx + 0x100dfc18]
mov word [0x100c30e0], dx
mov eax, dword [ebp - 0x198]
imul eax, dword [ebp - 0x194]
add eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
je 0x1000d7f7
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], edx
mov ecx, dword [0x100c30d8]
cmp ecx, dword [ebp - 0x478]
jne 0x1000d382
mov edx, dword [0x100c30dc]
cmp edx, dword [ebp - 0x474]
jne 0x1000d382
mov dword [ebp - 0x19c], 1
jmp 0x1000d38c
mov dword [ebp - 0x19c], 0
cmp dword [0x100c30d8], 0x5d
jne 0x1000d3aa
cmp dword [0x100c30dc], 0
jne 0x1000d3aa
mov dword [ebp - 0x1a0], 1
jmp 0x1000d3b4
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a0]
jne 0x1000d67b
movzx ecx, byte [ebp - 0x1d]
push ecx
call dword [sym.imp.USER32.dll_OpenIcon]
mov byte [ebp - 0x29], al
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], edx
mov edx, dword [ebp - 0x47c]
cmp edx, dword [0x100c30f4]
ja 0x1000d40f
jb 0x1000d403
mov eax, dword [ebp - 0x480]
cmp eax, dword [0x100c30f0]
ja 0x1000d40f
mov dword [ebp - 0x1a4], 1
jmp 0x1000d419
mov dword [ebp - 0x1a4], 0
movsx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x1000d433
cmp dword [ebp - 0x44], 0
je 0x1000d433
mov dword [ebp - 0x1a8], 0
jmp 0x1000d43d
mov dword [ebp - 0x1a8], 1
mov edx, dword [ebp - 0x1a4]
cmp edx, dword [ebp - 0x1a8]
jle 0x1000d45f
xor eax, eax
mov dword [ebp - 0x27c], 1
mov dword [ebp - 0x278], eax
jmp 0x1000d46a
xorps xmm0, xmm0
movlpd qword [ebp - 0x27c], xmm0
mov ecx, dword [ebp - 0x278]
cmp ecx, dword [0x100c30f4]
jb 0x1000d61d
ja 0x1000d490
mov edx, dword [ebp - 0x27c]
cmp edx, dword [0x100c30f0]
jb 0x1000d61d
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x1000d566
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
not edx
not eax
add ecx, edx
adc esi, eax
movzx eax, word [0x100c30e0]
cdq
sub ecx, eax
sbb esi, edx
mov edi, dword [0x100c30c0]
mov ebx, dword [0x100c30c4]
not edi
not ebx
movzx eax, word [0x100c30a0]
not eax
cdq
sub edi, eax
sbb ebx, edx
movzx eax, word [0x100c30a0]
xor eax, 0x32
cdq
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x524], eax
sub ecx, edx
mov dword [ebp - 0x44], ecx
movsx ecx, byte [0x100c3027]
mov edx, 0x8655bbbb
sub edx, ecx
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
je 0x1000d53c
movzx ecx, word [0x100c30e0]
mov dword [ebp - 0x1ac], ecx
jmp 0x1000d548
mov edx, dword [0x100c3108]
mov dword [ebp - 0x1ac], edx
mov al, byte [ebp - 0x1ac]
mov byte [ebp - 0x16], al
movsx ecx, word [0x100c3090]
sub ecx, 0x7def
mov byte [ebp - 0x11], cl
jmp 0x1000d61b
mov edx, dword [ebp - 0x54]
cmp edx, dword [0x100c3108]
jle 0x1000d5c9
movzx eax, word [0x100c30a0]
mov ecx, dword [ebp - 0x6c]
imul ecx, eax
mov dword [ebp - 0x6c], ecx
movsx edx, word [ebp - 0x24]
mov eax, dword [0x100c3108]
sub eax, edx
mov byte [0x100c3027], al
mov eax, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov cl, 3
call fcn.1008ec80
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
add ecx, 0x53
adc edx, 0
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
jmp 0x1000d61b
cmp dword [ebp - 0x6c], 0
je 0x1000d61b
movsx eax, word [0x100c30fc]
movsx ecx, byte [ebp - 0x11]
or eax, ecx
mov word [0x100c30b0], ax
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
xor ecx, ecx
mov word [ebp - 0x24], cx
mov edx, 0x800b
mov word [0x100c30a0], dx
movsx eax, word [0x100c308c]
and eax, 0xec
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov dword [ebp - 0x40], ecx
jmp 0x1000d676
mov edx, 1
imul eax, edx, 0x9e4
mov cl, byte [ebp - 0x34]
mov byte [eax + 0x10192df0], cl
push 0
push 0x8df915b2
mov edx, dword [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x64]
push eax
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov byte [0x100c3075], 0x5b
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push 0
push 0x161e
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x50], ax
mov eax, dword [ebp - 0x6c]
shl eax, 7
mov word [0x100c30a0], ax
jmp 0x1000d753
movsx ecx, word [ebp - 0x34]
test ecx, ecx
je 0x1000d753
mov byte [ebp - 0x1d], 2
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
mov edx, dword [ebp - 0x488]
or edx, dword [ebp - 0x484]
jne 0x1000d6ca
xor eax, eax
mov dword [ebp - 0x284], 1
mov dword [ebp - 0x280], eax
jmp 0x1000d6d5
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov ecx, dword [0x100c30b8]
or ecx, 0xae324e02
mov edx, dword [0x100c30bc]
mov esi, dword [ebp - 0x284]
sub esi, ecx
mov ecx, dword [ebp - 0x280]
sbb ecx, edx
not esi
not ecx
movsx eax, word [ebp - 0x24]
movzx edx, word [ebp - 0x30]
sub eax, edx
cdq
xor eax, dword [0x100c30d8]
xor edx, dword [0x100c30dc]
not eax
not edx
add esi, eax
adc ecx, edx
mov dword [0x100c30a8], esi
mov dword [0x100c30ac], ecx
mov al, byte [0x100c3b38]
mov byte [str.NDisablePerfBackoff], al
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
movzx eax, byte [ebp - 0x13]
imul ecx, eax, 0xa21b1633
mov word [0x100c30fc], cx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1b0], 0
je 0x1000d787
mov edx, dword [ebp - 0x1b0]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x528], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0x52c], eax
cmp dword [ebp - 0x80], 0
je 0x1000d7f7
mov eax, dword [str.Errorvalidatingche]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [0x1009b3a8]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [0x1009b3ac]
mov dword [ebp - 0x4bc], edx
mov eax, dword [0x1009b3b0]
mov dword [ebp - 0x4b8], eax
mov cx, word [0x1009b3b4]
mov word [ebp - 0x4b4], cx
mov dl, byte [0x1009b3b6]
mov byte [ebp - 0x4b2], dl
lea eax, [ebp - 0x4c4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 0x16], al
mov ecx, dword [ebp - 0x80]
push ecx
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
movsx edx, word [0x100c3090]
sar edx, 7
mov byte [ebp - 0x15], dl
movsx eax, word [0x100c30fc]
add eax, 0x5e
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x44]
not edx
mov ebx, edx
xor eax, eax
mov ecx, dword [0x100c30ec]
add ebx, dword [0x100c30e8]
adc eax, ecx
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x54]
cdq
mov ecx, dword [0x100c3120]
mov dword [ebp - 0x2e4], edi
mov edi, dword [0x100c3124]
push edi
push ecx
push edx
push eax
call fcn.1008eb70
not eax
not edx
sub ebx, eax
mov edi, dword [ebp - 0x2e0]
sbb edi, edx
sub esi, ebx
mov ebx, dword [ebp - 0x2e4]
sbb ebx, edi
mov dword [0x100c30a8], esi
mov dword [0x100c30ac], ebx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30c8], edx
mov dword [0x100c30cc], eax
movsx ecx, word [ebp - 0x34]
imul edx, ecx, 0xe696025
mov word [ebp - 0x28], dx
movsx eax, word [ebp - 0x24]
add eax, 0x57
mov byte [0x100c3062], al
movzx ecx, word [ebp - 0x50]
movzx edx, byte [0x100c3063]
add ecx, edx
movzx eax, word [ebp - 0x50]
add eax, ecx
mov word [ebp - 0x50], ax
mov ecx, dword [ebp - 0x1b4]
xor ecx, 0x13
mov edx, dword [ebp - 0x1b4]
sub edx, 0x105
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2ec]
sub edx, eax
cmp ecx, edx
je 0x1000e395
mov ecx, 1
mov word [ebp - 0x30], cx
imul edx, dword [ebp - 0x68], 0x6c967945
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0x2dc2
mov byte [str.NDisablePerfBackoff], cl
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0
push 0xd8
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
movzx edx, byte [0x100c3063]
mov eax, dword [0x100c3108]
sub eax, edx
mov dword [0x100c3108], eax
mov ecx, dword [ebp - 0x44]
xor esi, esi
mov edx, dword [0x100c3114]
add ecx, dword [0x100c3110]
adc esi, edx
not ecx
not esi
movzx eax, byte [ebp - 0x16]
movzx edx, word [ebp - 0x50]
xor eax, edx
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x48c], esi
mov eax, dword [ebp - 0x490]
or eax, dword [ebp - 0x48c]
jne 0x1000d9a8
xor ecx, ecx
mov dword [ebp - 0x28c], 1
mov dword [ebp - 0x288], ecx
jmp 0x1000d9b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x28c], xmm0
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x15], 0
movzx ecx, word [ebp - 0x30]
mov dword [ebp - 0x1b8], ecx
cmp dword [ebp - 0x1b8], 0
je 0x1000d9ea
cmp dword [ebp - 0x1b8], 1
je 0x1000da61
jmp 0x1000dabf
xor edx, edx
mov dword [0x100c3110], 0x49768f79
mov dword [0x100c3114], edx
movzx eax, word [ebp - 0x50]
test eax, eax
je 0x1000da1e
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], edx
jmp 0x1000da30
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], ecx
mov dx, word [ebp - 0x294]
mov word [ebp - 0x38], dx
mov ax, word [0x100c3088]
mov word [ebp - 0x3c], ax
movsx ecx, word [ebp - 0x3c]
imul ecx, dword [ebp - 0x6c]
mov word [ebp - 0x3c], cx
movsx edx, word [ebp - 0x28]
sub edx, 0x82
mov word [ebp - 0x34], dx
jmp 0x1000dabf
mov eax, 1
imul ecx, eax, 0x1f
movzx edx, byte [ecx + 0x10118b50]
mov eax, dword [ebp - 0x40]
imul eax, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100c30f8]
sar ecx, 4
mov dword [0x100c310c], ecx
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c30f4]
push ecx
mov ecx, dword [0x100c30f0]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3088]
cdq
sub eax, ecx
mov word [0x100c3088], ax
mov dx, word [ebp - 0x1c]
mov word [ebp - 0x28], dx
movzx eax, byte [ebp - 0x1d]
imul eax, eax, 0xd243
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
and ecx, eax
and esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0x30da0
push 0xeb95afb2
push eax
push edx
call fcn.1008eb70
mov word [0x100c30a0], ax
mov ecx, dword [ebp - 0x40]
xor edx, edx
push 0xedf3d
push 0x6d6c2e14
push edx
push ecx
call fcn.1008eb70
mov word [0x100c3088], ax
movsx eax, word [ebp - 0x1c]
imul eax, dword [0x100c3108]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100c30f0]
add ecx, 0x906e56e8
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x84], 0
je 0x1000e395
mov dx, word [0x100c3b38]
mov word [0x100c3088], dx
movzx eax, byte [ebp - 0x12]
movsx ecx, word [0x100c3090]
sub eax, ecx
movzx edx, byte [ebp - 0x12]
sub edx, eax
mov byte [ebp - 0x12], dl
movsx eax, byte [0x100c3027]
sar eax, 7
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movzx eax, byte [0x100c3062]
imul ecx, eax, 0xa2
mov word [0x100c308c], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x68], edx
push 0
push 0xfb
call fcn.1004e550
add esp, 8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x498], ecx
mov dword [ebp - 0x494], edx
cmp dword [ebp - 0x494], 0
jg 0x1000dc2d
jl 0x1000dbe8
cmp dword [ebp - 0x498], 0
ja 0x1000dc2d
movzx eax, word [0x100c30a0]
movzx ecx, word [ebp - 0x50]
imul eax, ecx
mov word [0x100c30a0], ax
imul edx, dword [0x100c30f8], 0x2bc7
mov byte [ebp - 0x11], dl
push 0
push 0x767b
mov eax, dword [0x100c30bc]
push eax
mov ecx, dword [0x100c30b8]
push ecx
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x90], edx
movsx eax, word [ebp - 0x34]
cdq
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x534], edx
sub ecx, eax
mov eax, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
call fcn.1008ebb0
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov al, byte [ebp - 0x15]
mov byte [0x100c303b], al
mov ecx, dword [0x100c3b38]
mov dword [0x100c310c], ecx
mov edx, dword [ebp - 0x90]
add edx, 0x526
mov dword [ebp - 0x2f4], edx
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x1000dcd6
xor edx, edx
mov dword [ebp - 0x29c], 1
mov dword [ebp - 0x298], edx
jmp 0x1000dce1
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x1000dcf5
mov dword [ebp - 0x1bc], 1
jmp 0x1000dcff
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
push edx
push ecx
mov eax, dword [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x29c]
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movsx eax, word [0x100c308c]
cdq
and ecx, eax
and esi, edx
movsx edx, word [ebp - 0x1c]
movsx eax, byte [ebp - 0x11]
imul edx, eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x1bc]
imul edx, eax
not edx
xor eax, eax
add ecx, edx
adc esi, eax
mov dword [ebp - 0x4a0], ecx
mov dword [ebp - 0x49c], esi
mov ecx, dword [ebp - 0x4a0]
or ecx, dword [ebp - 0x49c]
jne 0x1000dd6f
mov dword [ebp - 0x1c0], 1
jmp 0x1000dd79
mov dword [ebp - 0x1c0], 0
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x13]
cdq
add eax, dword [0x100c30f0]
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x44]
sub eax, dword [0x100c30b8]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
add edx, 0x85fc0c77
adc eax, 0
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x518
mov dword [ebp - 0x538], ecx
push 0xd2
call fcn.1004f040
add esp, 4
mov byte [0x100c303b], al
movsx edx, word [0x100c3118]
test edx, edx
je 0x1000de04
mov eax, 1
test eax, eax
je 0x1000de04
mov dword [ebp - 0x1c4], 1
jmp 0x1000de0e
mov dword [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x68]
not ecx
movsx edx, word [0x100c3088]
cmp ecx, edx
jge 0x1000de32
xor eax, eax
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0x2a0], eax
jmp 0x1000de3d
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a4], xmm0
cmp dword [ebp - 0x2a4], 0xbeec3ae5
jne 0x1000de55
cmp dword [ebp - 0x2a0], 0x47ac3
je 0x1000de61
mov dword [ebp - 0x1c8], 1
jmp 0x1000de6b
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x1c4]
not ecx
cmp ecx, dword [ebp - 0x1c8]
jl case.default.0x1000def1
mov edx, 3
mov word [ebp - 0x38], dx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
movzx edx, word [0x100c30a0]
shl edx, 3
mov byte [ebp - 0x15], dl
movsx eax, word [ebp - 0x1c]
imul ecx, eax, 0x24
mov dword [ebp - 0x6c], ecx
movsx edx, byte [ebp - 0x11]
sub edx, 0x45ab
mov byte [ebp - 0x1d], dl
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
movzx edx, word [ebp - 0x38]
mov dword [ebp - 0x1cc], edx
cmp dword [ebp - 0x1cc], 3
ja case.default.0x1000def1
mov eax, dword [ebp - 0x1cc]
jmp dword [eax*4 + 0x1000e418]
movsx eax, byte [ebp - 0x14]
cdq
push 0xf9d22
push 0x9fc13ef0
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x38], ax
mov byte [ebp - 0x16], 0xa6
mov cx, word [0x100c3b38]
mov word [0x100c30e0], cx
mov eax, dword [ebp - 0x68]
cdq
add eax, 0xbbd3cf6c
mov byte [ebp - 0x16], al
movsx edx, word [ebp - 0x28]
movzx eax, byte [ebp - 0x16]
sub edx, eax
movsx ecx, byte [ebp - 0x29]
add edx, ecx
mov byte [str.NDisablePerfBackoff], dl
jmp case.default.0x1000def1
movsx edx, word [0x100c3088]
sub edx, 0x146ba43f
mov byte [ebp - 0x1d], dl
movzx eax, byte [ebp - 0x1d]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x8eed1056
sbb esi, 0x9d366
movsx eax, word [ebp - 0x24]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x24], ax
mov edx, dword [ebp - 0x68]
add edx, 0x5b3231a3
movsx eax, word [ebp - 0x28]
and eax, edx
mov word [ebp - 0x28], ax
movzx ecx, word [0x100c30e0]
test ecx, ecx
je 0x1000dfac
movsx edx, word [ebp - 0x24]
mov dword [ebp - 0x1d0], edx
jmp 0x1000dfb6
movzx eax, word [ebp - 0x30]
mov dword [ebp - 0x1d0], eax
mov cl, byte [ebp - 0x1d0]
mov byte [0x100c3063], cl
mov edx, dword [ebp - 0x40]
add edx, 0xa3f
xor eax, eax
mov dword [0x100c30b8], edx
mov dword [0x100c30bc], eax
jmp case.default.0x1000def1
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
push 0
push 0xde93a492
push edx
push ecx
call fcn.1008eb70
mov byte [ebp - 0x12], al
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], ecx
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx eax, word [0x100c30e0]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx edx, word [ebp - 0x30]
sub edx, 0x1f67
mov dword [ebp - 0x40], edx
mov eax, dword [0x100c30b8]
sub eax, 0xa6
mov word [ebp - 0x34], ax
jmp case.default.0x1000def1
mov dword [0x100c30f8], 0xc4
movsx ecx, byte [ebp - 0x11]
imul edx, ecx, 0x94991827
mov word [0x100c30fc], dx
xor eax, eax
mov dword [0x100c3100], 1
mov dword [0x100c3104], eax
movsx ecx, byte [ebp - 0x29]
add ecx, 0x2d
mov dword [0x100c310c], ecx
movsx edx, byte [ebp - 0x29]
mov eax, dword [ebp - 0x6c]
sub eax, edx
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x4c7
mov dword [ebp - 0x2f0], ecx
push 0
push 0
push 0
push 0xd8
push 0
push 0xf5
push 0
push 0
call fcn.100502f0
add esp, 0x20
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x1000e23e
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
push 0
push 0x829e
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c30fc]
cdq
sub eax, ecx
mov word [0x100c30fc], ax
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1000e13a
xor eax, eax
mov dword [ebp - 0x2ac], 1
mov dword [ebp - 0x2a8], eax
jmp 0x1000e145
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ac], xmm0
movsx eax, word [0x100c3118]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
add eax, dword [ebp - 0x2ac]
adc edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x4a4], edx
mov edx, dword [ebp - 0x4a8]
or edx, dword [ebp - 0x4a4]
jne 0x1000e19c
xor eax, eax
mov dword [ebp - 0x4b0], 1
mov dword [ebp - 0x4ac], eax
jmp 0x1000e1a7
xorps xmm0, xmm0
movlpd qword [ebp - 0x4b0], xmm0
movzx ecx, word [ebp - 0x50]
movzx edx, byte [ebp - 0x12]
xor ecx, edx
jne 0x1000e1c7
xor eax, eax
mov dword [ebp - 0x2b4], 1
mov dword [ebp - 0x2b0], eax
jmp 0x1000e1d2
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b4], xmm0
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x5c]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x2b0]
push ecx
mov ecx, dword [ebp - 0x2b4]
push ecx
push edx
push eax
call fcn.1008eb70
mov edx, dword [ebp - 0x4b0]
sub edx, eax
mov word [ebp - 0x30], dx
movzx eax, word [ebp - 0x50]
sub eax, 0x15a99f00
mov dword [0x100c3108], eax
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], edx
movzx eax, byte [ebp - 0x13]
cdq
sub eax, 0x4b9120f8
mov word [0x100c308c], ax
jmp 0x1000e2f7
movzx eax, word [0x100c30e0]
xor eax, 0x17e2696a
mov word [ebp - 0x30], ax
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
movsx edx, byte [0x100c3075]
sub edx, 0x49
mov byte [ebp - 0x12], dl
movsx eax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
not ecx
sub eax, ecx
jne 0x1000e29b
mov dword [ebp - 0x1d4], 1
jmp 0x1000e2a5
mov dword [ebp - 0x1d4], 0
cmp dword [ebp - 0x6c], 0
jne 0x1000e2b7
mov dword [ebp - 0x1d8], 1
jmp 0x1000e2c1
mov dword [ebp - 0x1d8], 0
movzx edx, byte [0x100c3062]
add edx, dword [ebp - 0x1d4]
add edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x1d8]
add eax, 0x90a
imul edx, eax
mov dword [0x100c30f8], edx
movzx ecx, byte [ebp - 0x16]
mov edx, dword [ebp - 0x40]
imul edx, ecx
mov eax, dword [ebp - 0x40]
sub eax, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2f0]
add ecx, dword [ebp - 0x2f4]
cmp ecx, 0x35
je 0x1000e395
mov eax, dword [ebp - 0x54]
cdq
add eax, 0x79d4ded5
mov word [0x100c30a0], ax
movzx eax, byte [ebp - 0x15]
cdq
push 0x20542
push 0x8954efb0
push edx
push eax
call fcn.1008eb70
mov byte [0x100c3062], al
mov byte [ebp - 0x12], 0xd1
mov edx, dword [ebp - 0x40]
add edx, 0x3d3b641d
mov byte [0x100c3027], dl
mov eax, dword [ebp - 0x5c]
add eax, 0x7c2f7bcb
mov ecx, dword [ebp - 0x58]
adc ecx, 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x44]
mov edx, dword [0x100c30f0]
not edx
add ecx, edx
movsx eax, word [0x100c3090]
mov edx, 0x5e
sub edx, eax
mov eax, edx
cdq
sub ecx, eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x84]
push eax
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret