Function at 0x1002f790
Capabilities:
Accept command line arguments
Create directory
Get common file path
Parse credit card information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aab0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1b34
call fcn.1008eca0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x720], ecx
mov word [ebp - 0x3b4], ax
mov dword [ebp - 0x50], 0x3345f396
mov edx, 0xffffb7a0
mov word [ebp - 0x1c], dx
xor eax, eax
mov dword [ebp - 0x60], 0x22d26b75
mov dword [ebp - 0x5c], eax
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
xor ecx, ecx
mov dword [ebp - 0x34], 0x3b78
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x724], eax
mov byte [ebp - 0x13], dl
xor ecx, ecx
mov dword [ebp - 0x58], 0x603e5660
mov dword [ebp - 0x54], ecx
mov dx, word [0x100c3088]
mov word [ebp - 0x20], dx
mov dword [ebp - 0x64], 0x49a09f2e
xor eax, eax
mov dword [ebp - 0x7c], 0xa8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x68], 0xd0d7b0db
xor ecx, ecx
mov dword [ebp - 0x74], 3
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x28], 0x2b2123bf
mov byte [ebp - 0x11], 0x9c
mov edx, dword [0x100c30d8]
mov eax, dword [0x100c30dc]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x6c], 0x9b
xor ecx, ecx
mov dword [ebp - 0x40], 0xc34bde4f
mov dword [ebp - 0x3c], ecx
mov byte [ebp - 0x12], 0xa6
movsx edx, word [0x100c3090]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x88], 0x413c
mov ax, word [0x100c30fc]
mov word [ebp - 0x18], ax
movzx cx, byte [0x100c3063]
mov word [ebp - 0x24], cx
mov dx, word [0x100c30a0]
mov word [ebp - 0x2c], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x728], ecx
mov dword [ebp - 0x38], eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x72c], eax
mov byte [ebp - 0xb5], dl
mov cx, word [0x100c3118]
mov word [ebp - 0x3b8], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x730], eax
mov byte [ebp - 0x9f], dl
mov ecx, dword [0x100c30f8]
mov dword [ebp - 0x734], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x820], edx
mov dl, byte [0x100c30a0]
mov byte [ebp - 0x9e], dl
mov al, byte [0x100c30a0]
mov byte [ebp - 0x9d], al
mov ecx, 0x51e
mov word [ebp - 0x3bc], cx
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x828], edx
mov edx, 0xfffff59e
mov word [ebp - 0x3c0], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], ecx
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], edx
mov dl, byte [0x100c3062]
mov byte [ebp - 0xd9], dl
mov dword [ebp - 0x738], 0xd5
mov dword [ebp - 0x73c], 0x72
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [ebp - 0x844], eax
mov dword [ebp - 0x840], ecx
movzx edx, byte [0x100c303b]
mov dword [ebp - 0x740], edx
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x50], eax
ja 0x1002f9f9
mov dword [ebp - 0x274], 1
jmp 0x1002fa03
mov dword [ebp - 0x274], 0
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x5e4], ecx
mov dword [ebp - 0x5e0], esi
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], edx
mov edx, dword [ebp - 0x5e0]
cmp edx, dword [ebp - 0x5e8]
jb 0x1002fa59
ja 0x1002fa4d
mov eax, dword [ebp - 0x5e4]
cmp eax, dword [ebp - 0x5ec]
jbe 0x1002fa59
mov dword [ebp - 0x1f8], 1
jmp 0x1002fa63
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x1f8]
not ecx
cmp ecx, dword [ebp - 0x50]
jb 0x1002fa7c
mov dword [ebp - 0x2a8], 1
jmp 0x1002fa86
mov dword [ebp - 0x2a8], 0
movsx edx, word [0x100c3090]
imul edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x274]
sub edx, dword [ebp - 0x2a8]
je 0x1002fba4
push 0
mov eax, dword [ebp - 0x50]
push eax
call fcn.10051570
add esp, 8
cwde
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
cmp dword [0x100c30dc], 0
jg 0x1002fade
jl 0x1002fad2
cmp dword [0x100c30d8], 0
jae 0x1002fade
mov dword [ebp - 0x2ac], 1
jmp 0x1002fae8
mov dword [ebp - 0x2ac], 0
cmp dword [0x100c30dc], 0
jg 0x1002fb08
jl 0x1002fafc
cmp dword [0x100c30d8], 0x2b
jae 0x1002fb08
mov dword [ebp - 0xe4], 1
jmp 0x1002fb12
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, dword [ebp - 0xe4]
jge 0x1002fb30
call dword [sym.imp.USER32.dll_GetCapture]
xor edx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp 0x1002fb9f
mov eax, dword [0x100c3080]
mov ecx, dword [0x100c3084]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x744], ecx
add eax, edx
mov byte [ebp - 0x12], al
movzx eax, word [0x100c30b0]
and eax, 0x1339
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
movsx edx, word [0x100c3090]
xor edx, 0xa498
mov word [ebp - 0x24], dx
movsx eax, byte [str.NDisablePerfBackoff]
mov ecx, dword [0x100c3108]
lea edx, [eax + ecx - 0x279f]
mov byte [str.NDisablePerfBackoff], dl
jmp 0x1002fc53
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x1002fbb8
mov dword [ebp - 0xe8], 1
jmp 0x1002fbc2
mov dword [ebp - 0xe8], 0
movsx eax, word [0x100c30fc]
sub eax, dword [ebp - 0xe8]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x24]
cdq
mov edi, dword [0x100c30c8]
mov ebx, dword [0x100c30cc]
and edi, eax
and ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
add edx, 0x362
adc eax, 0
mov dword [0x100c30b8], edx
mov dword [0x100c30bc], eax
mov byte [0x100c3063], 0x63
mov ecx, 1
imul edx, ecx, 0xe9d
movzx eax, byte [edx + 0x10192df0]
cdq
mov ecx, dword [0x100c30b8]
sub ecx, eax
mov eax, dword [0x100c30bc]
sbb eax, edx
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], eax
mov ecx, 1
shl ecx, 3
movsx edx, byte [ecx + 0x10118b3c]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5f4]
or edx, dword [ebp - 0x5f0]
je 0x1002fe43
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
movzx eax, word [0x100c30e0]
cdq
mov dword [ebp - 0x5fc], ecx
mov dword [ebp - 0x5f8], esi
mov dword [ebp - 0x604], eax
mov dword [ebp - 0x600], edx
mov edx, dword [ebp - 0x5f8]
cmp edx, dword [ebp - 0x600]
jb 0x1002fccd
ja 0x1002fcc1
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [ebp - 0x604]
jb 0x1002fccd
mov dword [ebp - 0xec], 1
jmp 0x1002fcd7
mov dword [ebp - 0xec], 0
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x60c], ecx
mov dword [ebp - 0x608], edx
cmp dword [ebp - 0x608], 0
ja 0x1002fd01
cmp dword [ebp - 0x60c], 0x4b
jb 0x1002fd0d
mov dword [ebp - 0xf0], 1
jmp 0x1002fd17
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0xf0]
je 0x1002fde8
mov ecx, 0xe0
mov word [0x100c3088], cx
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
push 0
push 0x4fa1916b
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x38], eax
mov eax, dword [0x100c3080]
mov edx, dword [0x100c3084]
mov cl, 5
call fcn.1008ebb0
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
movsx ecx, byte [str.NDisablePerfBackoff]
test ecx, ecx
jne 0x1002fd8d
xor edx, edx
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], edx
jmp 0x1002fd98
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
mov eax, dword [ebp - 0x50]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x2c4]
push ecx
mov ecx, dword [ebp - 0x2c8]
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c308c], ax
mov edx, 1
imul eax, edx, 0x3671
movsx eax, byte [eax + 0x100dfcd8]
cdq
add eax, dword [ebp - 0x74]
adc edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
jmp 0x1002fe43
movsx ecx, word [0x100c3090]
test ecx, ecx
je 0x1002fe43
movsx edx, byte [0x100c3027]
not edx
movsx eax, byte [0x100c3027]
sub edx, eax
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x24]
add eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx ecx, word [ebp - 0x18]
mov dword [0x100c3108], ecx
mov dl, byte [0x100c3062]
add dl, 1
mov byte [0x100c3062], dl
movsx eax, byte [0x100c3027]
imul ecx, eax, 0x9256
mov word [ebp - 0x2c], cx
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
movsx edx, word [0x100c3090]
and edx, 0x9212
mov word [ebp - 0x1c], dx
mov eax, 1
imul ecx, eax, 0x687
movzx edx, byte [ecx + 0x10120a30]
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], edx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
xor ecx, ecx
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], ecx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
movzx ecx, byte [0x100c3062]
sub ecx, 0x932f
mov dword [ebp - 0x6c], ecx
mov edx, 2
imul eax, edx, 0x4a07
movzx eax, word [eax + 0x1017a780]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx ecx, byte [0x100c303b]
test ecx, ecx
jne 0x1002ff14
xor edx, edx
mov dword [ebp - 0x614], 1
mov dword [ebp - 0x610], edx
jmp 0x1002ff1f
xorps xmm0, xmm0
movlpd qword [ebp - 0x614], xmm0
movsx eax, word [ebp - 0x20]
not eax
cdq
mov ebx, eax
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x748], ecx
add eax, dword [ebp - 0x614]
add ebx, eax
mov ecx, dword [ebp - 0x68]
xor esi, esi
xor ecx, dword [0x100c30b8]
xor esi, dword [0x100c30bc]
movsx eax, byte [0x100c3075]
cdq
mov edi, dword [0x100c3120]
mov dword [ebp - 0x3c4], ebx
mov ebx, dword [0x100c3124]
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1008eb70
mov ebx, dword [ebp - 0x3c4]
add ebx, eax
mov byte [0x100c3027], bl
mov edx, dword [0x100c310c]
imul edx, dword [ebp - 0x44]
or edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a4]
or edx, dword [ebp - 0x2a0]
je 0x1002ffd2
cmp dword [ebp - 0x2a4], 1
jne 0x1002ffcd
cmp dword [ebp - 0x2a0], 0
je 0x100300dc
jmp 0x1003017d
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x6c], eax
movzx ecx, byte [0x100c3063]
mov edx, dword [ebp - 0x44]
not edx
imul edx, dword [ebp - 0x38]
sub ecx, edx
mov byte [ebp - 0x12], cl
mov eax, dword [ebp - 0x74]
sub eax, 1
mov ecx, dword [ebp - 0x70]
sbb ecx, 0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x84]
or edx, dword [ebp - 0x80]
jne 0x10030022
xor eax, eax
mov dword [ebp - 0x2d0], 1
mov dword [ebp - 0x2cc], eax
jmp 0x1003002d
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d0], xmm0
movsx ecx, byte [str.NDisablePerfBackoff]
test ecx, ecx
jne 0x10030044
mov dword [ebp - 0xf4], 1
jmp 0x1003004e
mov dword [ebp - 0xf4], 0
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
add edx, dword [ebp - 0x74]
adc eax, dword [ebp - 0x70]
mov dword [ebp - 0x61c], edx
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x61c]
or ecx, dword [ebp - 0x618]
jne 0x10030085
mov dword [ebp - 0xf8], 1
jmp 0x1003008f
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x2d0]
add ecx, dword [0x100c30b8]
mov esi, dword [ebp - 0x2cc]
adc esi, dword [0x100c30bc]
mov edx, dword [ebp - 0xf4]
sub edx, dword [ebp - 0x88]
xor eax, eax
xor ecx, edx
xor esi, eax
movzx eax, word [ebp - 0x2c]
imul eax, dword [ebp - 0xf8]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
jmp 0x1003017d
movsx ecx, byte [str.NDisablePerfBackoff]
mov eax, 0x38
sub eax, ecx
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx edx, byte [0x100c3075]
add edx, 0x780b2e9f
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x11], 0xda
movzx eax, byte [0x100c303b]
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
jne 0x1003011f
mov dword [ebp - 0xfc], 1
jmp 0x10030129
mov dword [ebp - 0xfc], 0
movzx edx, word [ebp - 0x18]
add edx, dword [ebp - 0xfc]
mov dword [0x100c30f8], edx
movzx eax, word [0x100c30e0]
test eax, eax
je 0x1003015e
mov ecx, dword [0x100c30b8]
mov edx, dword [0x100c30bc]
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x2d4], edx
jmp 0x10030172
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov ax, word [ebp - 0x2d8]
mov word [ebp - 0x2c], ax
xor ecx, ecx
mov byte [ebp - 0x8d], cl
push 0x104
lea edx, [ebp - 0x193c]
push edx
lea eax, [ebp - 0x89a]
push eax
lea ecx, [ebp - 0x8d]
call fcn.10002620
mov ecx, eax
call fcn.10047d50
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x10030b20
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], ecx
movsx eax, word [ebp - 0x20]
add eax, 0xa002
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
xor edx, edx
mov dword [0x100c30c8], 2
mov dword [0x100c30cc], edx
mov ecx, dword [ebp - 0x50]
add ecx, 0x40e116b9
movsx eax, byte [0x100c3027]
cdq
sub eax, ecx
mov byte [0x100c3027], al
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
sub edx, ecx
sbb eax, esi
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
mov ecx, dword [ebp - 0x64]
add ecx, 0xad
movzx edx, word [ebp - 0x18]
sub edx, ecx
mov word [ebp - 0x18], dx
mov dword [ebp - 0xa4], 0x21c4
movzx eax, byte [0x100c3062]
imul eax, eax, 0x89
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
xor ecx, ecx
mov dword [ebp - 0x60], 0xcf0211c
mov dword [ebp - 0x5c], ecx
mov dword [0x100c310c], 0x43831127
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x74c], eax
sub edx, 0x52b5c46a
mov dword [ebp - 0x6c], edx
movzx ecx, byte [0x100c3063]
add ecx, 0x22b9
mov byte [0x100c303b], cl
cmp dword [ebp - 0xa4], 0x20d8
jle 0x1003060c
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov word [0x100c30a0], ax
movzx edx, word [0x100c30a0]
test edx, edx
jge 0x100302da
mov dword [ebp - 0x100], 1
jmp 0x100302e4
mov dword [ebp - 0x100], 0
movzx eax, word [0x100c30a0]
cmp eax, 0x24
jge 0x100302fc
mov dword [ebp - 0x104], 1
jmp 0x10030306
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x100]
cmp ecx, dword [ebp - 0x104]
jl 0x10030557
mov edx, 1
mov word [0x100c3088], dx
mov eax, dword [ebp - 0x28]
cdq
and eax, 0x1c38586a
and edx, 0x2d2e1
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
push 0x34711
push 0xc79e8901
mov eax, dword [0x100c30dc]
push eax
mov ecx, dword [0x100c30d8]
push ecx
call fcn.1008eb70
mov word [ebp - 0x24], ax
imul edx, dword [ebp - 0x38], 0xcd0c6fba
xor eax, eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov cl, byte [ebp - 0x34]
mov byte [ebp - 0x13], cl
push 0x40aa1
push 0x2a6b07ee
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
call fcn.1008eb70
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movsx ecx, byte [ebp - 0x13]
imul edx, ecx, 0xd1a1
mov byte [0x100c3075], dl
movsx eax, word [0x100c3088]
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x100303cd
cmp dword [ebp - 0x108], 1
je 0x1003046e
jmp 0x10030552
mov ecx, dword [0x100c3b38]
mov dword [0x100c3108], ecx
mov eax, dword [ebp - 0x38]
cdq
push 0x3c86f
push 0x231d6d4b
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [ebp - 0x28]
cdq
sub eax, ecx
mov dword [ebp - 0x28], eax
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x1003040d
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x10c], eax
jmp 0x10030416
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x88], edx
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
add ecx, eax
adc esi, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
jmp 0x10030552
cmp dword [ebp - 0x44], 0
jne 0x10030480
mov dword [ebp - 0x110], 1
jmp 0x1003048a
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x110]
add edx, dword [0x100c3108]
movzx eax, byte [0x100c303b]
sub edx, eax
mov byte [str.NDisablePerfBackoff], dl
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
not ecx
not edx
push edx
push ecx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.1008eb70
mov edx, dword [ebp - 0x68]
imul edx, dword [ebp - 0x50]
and eax, edx
mov word [0x100c3090], ax
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov cl, 6
call fcn.1008ebb0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [0x100c30ac]
mov ecx, dword [ebp - 0x84]
sub ecx, dword [0x100c30a8]
mov edx, dword [ebp - 0x80]
sbb edx, eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
jne 0x10030524
xor ecx, ecx
mov dword [ebp - 0x624], 1
mov dword [ebp - 0x620], ecx
jmp 0x1003052f
xorps xmm0, xmm0
movlpd qword [ebp - 0x624], xmm0
mov edx, 0xb779907c
sub edx, dword [ebp - 0x624]
add edx, dword [ebp - 0x88]
mov word [0x100c30fc], dx
movzx eax, word [ebp - 0x24]
imul eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
jmp 0x100305f8
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x30]
jne 0x10030583
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
not edx
not eax
mov dword [ebp - 0x62c], edx
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x62c]
or ecx, dword [ebp - 0x628]
je 0x100305f8
movsx eax, word [0x100c30fc]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x7c]
add edx, 1
mov eax, dword [ebp - 0x78]
adc eax, 0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
movzx ecx, word [0x100c30a0]
sub ecx, 0x478df33c
imul ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
movsx eax, word [0x100c308c]
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
movzx edx, byte [0x100c3062]
movzx eax, byte [ebp - 0x12]
add edx, eax
imul ecx, edx, 0x8700
not ecx
mov word [0x100c30e0], cx
mov edx, dword [ebp - 0x34]
add edx, 1
mov eax, dword [ebp - 0x30]
adc eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0xa4]
sub ecx, 1
mov dword [ebp - 0xa4], ecx
jmp 0x100302a7
mov edx, dword [0x100c3b38]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0x28], 0
je 0x10030633
mov eax, dword [ebp - 0x64]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov word [0x100c30fc], ax
jmp 0x100306fb
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x10030647
mov dword [ebp - 0x114], 1
jmp 0x10030651
mov dword [ebp - 0x114], 0
movzx edx, word [ebp - 0x18]
xor edx, dword [ebp - 0x114]
je 0x100306fb
imul eax, dword [0x100c30f8], 0xbc
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
cmp dword [0x100c3108], 0
je 0x1003068e
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
jmp 0x100306a0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], ecx
mov dx, word [ebp - 0x2e0]
mov word [ebp - 0x24], dx
xor eax, eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
add ecx, dword [ebp - 0x68]
adc edx, eax
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], edx
mov al, byte [0x100c3075]
mov byte [0x100c3027], al
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x18], ax
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xa8]
add eax, 0x4d0
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x634], ecx
mov dword [ebp - 0x630], esi
mov edx, dword [ebp - 0x634]
or edx, dword [ebp - 0x630]
jne 0x1003074e
xor eax, eax
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], eax
jmp 0x10030759
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e8], xmm0
cmp dword [ebp - 0x50], 0
jne 0x10030773
xor ecx, ecx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], ecx
jmp 0x1003077e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
push 0xfffc3352
push 0xe82622f8
mov edx, dword [ebp - 0x2e4]
push edx
mov eax, dword [ebp - 0x2e8]
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x74]
sub ecx, dword [0x100c30f0]
mov esi, dword [ebp - 0x70]
sbb esi, dword [0x100c30f4]
or ecx, dword [ebp - 0x2f0]
or esi, dword [ebp - 0x2ec]
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], edx
mov edx, dword [ebp - 0x63c]
or edx, dword [ebp - 0x638]
jne 0x100307e5
mov eax, 1
mov word [ebp - 0x96], ax
jmp 0x100307ee
xor ecx, ecx
mov word [ebp - 0x96], cx
mov dx, word [ebp - 0x96]
mov word [ebp - 0x24], dx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
push 0xeef40
push 0x978790e6
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov dx, word [ebp - 0x20]
mov word [0x100c3088], dx
mov eax, 1
imul ecx, eax, 0x30
movzx eax, byte [ecx + 0x100c3c18]
cdq
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x30]
sbb eax, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], eax
movsx ecx, word [ebp - 0x1c]
mov edx, dword [0x100c310c]
sub edx, ecx
mov dword [0x100c310c], edx
mov eax, dword [0x100c30f0]
add eax, 0x2190b5d7
mov byte [0x100c3027], al
mov ecx, dword [ebp - 0xa8]
add ecx, 0x724
mov dword [ebp - 0x120], ecx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x64c], ecx
mov dword [ebp - 0x648], esi
mov edx, dword [ebp - 0x644]
cmp edx, dword [ebp - 0x64c]
jne 0x100308c3
mov eax, dword [ebp - 0x640]
cmp eax, dword [ebp - 0x648]
je 0x100308cf
mov dword [ebp - 0x118], 1
jmp 0x100308d9
mov dword [ebp - 0x118], 0
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x650], edx
cmp dword [ebp - 0x654], 0xf
jne 0x10030903
cmp dword [ebp - 0x650], 0
je 0x1003090f
mov dword [ebp - 0x11c], 1
jmp 0x10030919
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x11c]
jl 0x1003094c
mov ecx, 9
mov esi, str.GdipBitmapSetPixel
lea edi, [ebp - 0x86c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x86c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0xa8]
add edx, 0x79f
mov dword [ebp - 0x750], edx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor ecx, ecx
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
mov edx, dword [ebp - 0x120]
imul edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xac]
xor eax, dword [ebp - 0xac]
sub edx, eax
cmp dword [ebp - 0xac], edx
je 0x10030b20
movsx ecx, word [0x100c308c]
test ecx, ecx
je 0x100309b7
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x298], eax
jmp 0x100309cf
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x298]
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], ecx
movsx edx, byte [0x100c3027]
movsx eax, byte [ebp - 0x13]
imul edx, eax
movsx ecx, word [ebp - 0x20]
movzx eax, byte [0x100c3063]
sub ecx, eax
xor edx, ecx
not edx
mov dword [0x100c30f8], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
sub ecx, 0x6c7b3e47
sbb edx, 0x657b1
mov eax, dword [0x100c30f0]
sub eax, ecx
mov ecx, dword [0x100c30f4]
sbb ecx, edx
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], ecx
movsx edx, word [0x100c30fc]
mov dword [0x100c310c], edx
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x81c], edx
sub eax, ecx
mov dword [ebp - 0x64], eax
mov al, byte [0x100c3b38]
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x65c]
cmp eax, dword [0x100c30b8]
jne 0x10030a98
mov ecx, dword [ebp - 0x658]
cmp ecx, dword [0x100c30bc]
je 0x10030b19
movzx eax, word [ebp - 0x2c]
sar eax, 6
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
xor edx, edx
mov dword [ebp - 0x58], 0x5ab75366
mov dword [ebp - 0x54], edx
xor eax, eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
and ecx, dword [0x100c310c]
and edx, eax
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push ecx
push esi
push eax
call fcn.1008eb70
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x64]
cdq
xor eax, dword [ebp - 0x7c]
xor edx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
sub ecx, 1
sbb edx, 0
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
xor eax, eax
mov dword [ebp - 0x84], 0x2a
mov dword [ebp - 0x80], eax
xor eax, eax
jmp 0x10036443
push 0
push 0
call fcn.1004e550
add esp, 8
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x664], ecx
mov dword [ebp - 0x660], edx
cmp dword [ebp - 0x660], 0
ja 0x10030b65
cmp dword [ebp - 0x664], 0
jb 0x10030d1b
mov dword [ebp - 4], 0
movsx eax, word [ebp - 0x20]
imul ecx, eax, 0x5ce4acf6
mov dword [ebp - 0x88], ecx
mov edx, dword [0x100c30d8]
and edx, 0xa2ef
mov word [ebp - 0x18], dx
movzx eax, byte [0x100c3063]
movsx ecx, word [0x100c30fc]
add eax, ecx
mov byte [0x100c3063], al
xor edx, edx
mov dword [0x100c30b8], 0x4431b6c9
mov dword [0x100c30bc], edx
movzx eax, word [ebp - 0x2c]
sub eax, dword [ebp - 0x50]
mov word [ebp - 0x2c], ax
jmp 0x10030d0b
mov dword [ebp - 4], 0xffffffff
jmp 0x10030d1b
xor edx, edx
mov byte [ebp - 0x8e], dl
push 0x104
lea eax, [ebp - 0x1734]
push eax
lea ecx, [ebp - 0x8fa]
push ecx
lea ecx, [ebp - 0x8e]
call fcn.10002960
mov ecx, eax
call fcn.10047c50
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x100315d6
cmp dword [0x100c30f8], 0
je 0x10030fd6
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
movsx eax, word [0x100c308c]
cdq
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], esi
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x670], edx
mov edx, dword [ebp - 0x668]
cmp edx, dword [ebp - 0x670]
jb 0x10030f55
ja 0x10030db6
mov eax, dword [ebp - 0x66c]
cmp eax, dword [ebp - 0x674]
jb 0x10030f55
movsx ecx, byte [str.NDisablePerfBackoff]
movsx edx, byte [0x100c3027]
sub ecx, edx
movsx eax, byte [str.NDisablePerfBackoff]
xor eax, ecx
mov byte [str.NDisablePerfBackoff], al
movsx ecx, word [0x100c30fc]
imul eax, ecx, 0xee
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x38], 0
jne 0x10030dfa
mov dword [ebp - 0x124], 1
jmp 0x10030e04
mov dword [ebp - 0x124], 0
movzx edx, word [ebp - 0x18]
or edx, dword [ebp - 0x6c]
jne 0x10030e19
mov dword [ebp - 0x128], 1
jmp 0x10030e23
mov dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x124]
sub eax, dword [ebp - 0x128]
jne 0x10030e3d
mov dword [ebp - 0x12c], 1
jmp 0x10030e47
mov dword [ebp - 0x12c], 0
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
or eax, dword [ebp - 0x678]
jne 0x10030e81
xor ecx, ecx
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], ecx
jmp 0x10030e8c
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov ecx, dword [ebp - 0x80]
push ecx
mov ecx, dword [ebp - 0x84]
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
or ecx, dword [ebp - 0x300]
or esi, dword [ebp - 0x2fc]
not ecx
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x680], edx
mov edx, dword [ebp - 0x684]
or edx, dword [ebp - 0x680]
jne 0x10030eef
mov dword [ebp - 0x130], 1
jmp 0x10030ef9
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x12c]
xor eax, dword [ebp - 0x130]
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov dword [ebp - 0x58], 0x9ff8
mov dword [ebp - 0x54], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x754], eax
add ecx, edx
movzx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x7c]
push eax
push edx
push ecx
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x10030fd1
mov eax, dword [ebp - 0x38]
cdq
add eax, 0x280f46a2
mov word [ebp - 0x2c], ax
movsx eax, byte [0x100c3027]
cdq
push 0xf44a5
push 0x50253dd5
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x758], edx
not ecx
mov dword [0x100c3108], ecx
mov eax, 2
imul ecx, eax, 0xc
mov dx, word [0x100c30e0]
mov word [ecx + 0x10192bf0], dx
movzx eax, word [0x100c30b0]
cdq
add eax, 0x439a5b49
mov dword [0x100c30f8], eax
movsx eax, byte [str.NDisablePerfBackoff]
imul eax, eax, 0x8e
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
jmp 0x10031086
movsx ecx, word [0x100c30fc]
test ecx, ecx
je 0x10031086
mov edx, dword [ebp - 0x68]
mov eax, 1
imul ecx, eax, 0x294a
mov byte [ecx + 0x100f5600], dl
mov edx, dword [ebp - 0x34]
add edx, 0x290d3f99
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x13]
sub eax, 0xb873
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
and ecx, eax
and esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x74]
push ecx
push eax
push edx
call fcn.1008eb70
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x75c], ecx
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x760], esi
add edx, ecx
not edx
and eax, edx
mov word [0x100c3088], ax
movzx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x20]
sub edx, eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x28]
sub eax, 0xe725
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movsx eax, word [0x100c3090]
cdq
mov dword [ebp - 0x68c], eax
mov dword [ebp - 0x688], edx
mov ecx, dword [ebp - 0x688]
cmp ecx, dword [0x100c30f4]
jb 0x100314c4
ja 0x100310c0
mov edx, dword [ebp - 0x68c]
cmp edx, dword [0x100c30f0]
jb 0x100314c4
movzx eax, word [ebp - 0x18]
test eax, eax
je case.default.0x100311ca
movsx ecx, word [0x100c308c]
test ecx, ecx
jne case.default.0x100311ca
cmp dword [ebp - 0x38], 0
je case.default.0x100311ca
mov dword [0x100c30f8], 4
mov ecx, 0x6ecd68b2
sub ecx, dword [ebp - 0x34]
mov esi, 0x8ebab
sbb esi, dword [ebp - 0x30]
movsx eax, word [0x100c308c]
movsx edx, word [0x100c3118]
sub eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
movzx eax, byte [0x100c303b]
cdq
add eax, 0x27ee7e
adc edx, 0xb9b1e
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x30]
sbb eax, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], eax
movsx ecx, word [ebp - 0x1c]
imul edx, ecx, 0xbff7bf02
xor eax, eax
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x764], eax
mov ecx, 2
imul eax, ecx, 0x2999
mov word [eax + 0x100c3c88], dx
mov ecx, dword [0x100c30f8]
mov dword [ebp - 0x134], ecx
cmp dword [ebp - 0x134], 4
ja case.default.0x100311ca
mov edx, dword [ebp - 0x134]
jmp dword [edx*4 + 0x10036454]
imul eax, dword [ebp - 0x28], 0x6f
movzx ecx, word [0x100c30e0]
imul ecx, eax
mov word [0x100c30e0], cx
movsx edx, word [0x100c3088]
add edx, 5
mov dword [ebp - 0x64], edx
movzx eax, word [0x100c30b0]
test eax, eax
jne 0x10031212
xor ecx, ecx
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], ecx
jmp 0x1003121d
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
add edx, dword [ebp - 0x308]
adc eax, dword [ebp - 0x304]
push 0xfffe6226
push 0x7d04c4bb
push eax
push edx
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
mov dword [ebp - 0x88], 4
jmp case.default.0x100311ca
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movsx eax, byte [0x100c3075]
and eax, 0x8f7aca2f
xor ecx, ecx
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], ecx
movsx edx, byte [ebp - 0x13]
sar edx, 5
mov word [0x100c308c], dx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
push 0
push 0x89
push ecx
push eax
call fcn.1008eb70
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [ebp - 0x74]
sub edx, 0xed0ab4eb
mov byte [str.NDisablePerfBackoff], dl
mov eax, 4
imul ecx, eax, 0x4a
mov dx, word [ecx + 0x100f8988]
mov word [0x100c3088], dx
jmp case.default.0x100311ca
movzx eax, word [ebp - 0x24]
add eax, 0x6f8c
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movzx eax, byte [ebp - 0x12]
add eax, dword [0x100c3108]
cdq
mov esi, eax
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
push 0
push 0x6d69
push ecx
push eax
call fcn.1008eb70
sub esi, eax
mov dword [ebp - 0x28], esi
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x768], eax
mov byte [0x100c303b], dl
mov ecx, dword [ebp - 0x68]
imul ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x68]
sub edx, ecx
mov dword [ebp - 0x68], edx
movsx eax, byte [0x100c3075]
add eax, dword [0x100c30f8]
mov dword [0x100c30f8], eax
movzx ecx, byte [0x100c3063]
shl ecx, 3
mov word [ebp - 0x1c], cx
jmp case.default.0x100311ca
movzx edx, byte [0x100c3062]
movsx eax, byte [str.NDisablePerfBackoff]
imul edx, eax
mov byte [0x100c3062], dl
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x76c], edx
mov byte [0x100c3062], cl
movzx eax, byte [0x100c303b]
sub eax, 0x1a
movzx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x694], edx
mov dword [ebp - 0x690], eax
mov ecx, dword [ebp - 0x694]
or ecx, dword [ebp - 0x690]
jne 0x100313ea
xor edx, edx
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x30c], edx
jmp 0x100313f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x310], xmm0
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
xor eax, dword [ebp - 0x310]
xor ecx, dword [ebp - 0x30c]
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], ecx
xor edx, edx
mov dword [0x100c30a8], 0x4ef6e314
mov dword [0x100c30ac], edx
movzx eax, word [0x100c30e0]
cdq
add eax, 0x4b98ecdf
mov dword [ebp - 0x28], eax
jmp case.default.0x100311ca
movzx eax, byte [0x100c303b]
cdq
add eax, 0x5c38129b
adc edx, 0x53da9
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
xor edx, edx
mov dword [ebp - 0x7c], 0xc610
mov dword [ebp - 0x78], edx
movsx ax, byte [0x100c3027]
mov ecx, 2
shl ecx, 1
mov word [ecx + 0x100c3b40], ax
mov edx, 0xdd75f
mov dword [0x100c30f0], 0x199f23c9
mov dword [0x100c30f4], edx
xor eax, eax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
sub ecx, dword [0x100c310c]
sbb edx, eax
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], edx
jmp 0x100315cf
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x69c]
or edx, dword [ebp - 0x698]
je 0x100315cf
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0
push 0xd5
push ecx
push eax
call fcn.1008eb70
mov word [ebp - 0x20], ax
movsx edx, byte [ebp - 0x13]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
add ecx, 0xe0b06bdf
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x84]
or edx, dword [ebp - 0x80]
jne 0x1003153e
mov dword [ebp - 0x138], 1
jmp 0x10031548
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x28]
not eax
mov ecx, dword [ebp - 0x138]
sub ecx, eax
jne 0x1003156b
xor edx, edx
mov dword [ebp - 0x44c], 1
mov dword [ebp - 0x448], edx
jmp 0x10031576
xorps xmm0, xmm0
movlpd qword [ebp - 0x44c], xmm0
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x770], edx
sub eax, ecx
mov ecx, dword [ebp - 0x44c]
sub ecx, eax
not ecx
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x68]
shr edx, 4
xor eax, eax
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
push 0
push 0x952404f2
mov ecx, dword [0x100c30dc]
push ecx
mov edx, dword [0x100c30d8]
push edx
call fcn.1008eb70
mov dword [ebp - 0x28], eax
xor eax, eax
jmp 0x10036443
movzx eax, word [ebp - 0x2c]
test eax, eax
jne 0x100315f2
xor ecx, ecx
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x314], ecx
jmp 0x100315fd
xorps xmm0, xmm0
movlpd qword [ebp - 0x318], xmm0
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
or edx, dword [ebp - 0x318]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6ac]
or ecx, dword [ebp - 0x6a8]
je 0x10031695
jmp 0x10031645
jmp 0x10031663
jmp 0x10031690
jmp 0x10031725
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov dx, word [ebp - 0x20]
mov word [ebp - 0x1c], dx
movsx eax, word [0x100c3088]
test eax, eax
jne 0x100316c2
mov dword [ebp - 0x13c], 1
jmp 0x100316cc
mov dword [ebp - 0x13c], 0
movsx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x13c]
movzx ecx, word [ebp - 0x18]
movzx edx, word [0x100c30a0]
imul ecx, edx
sub eax, ecx
not eax
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x100c3108]
cdq
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x798], edx
sub eax, ecx
mov dword [0x100c3108], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x794], ecx
add eax, 0xeb
mov word [0x100c3118], ax
xor edx, edx
mov byte [ebp - 0x8f], dl
push 0x104
lea eax, [ebp - 0xb04]
push eax
lea ecx, [ebp - 0x8b6]
push ecx
lea ecx, [ebp - 0x8f]
call fcn.10002c50
mov ecx, eax
call fcn.10047dd0
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
jne 0x1003271d
mov dword [ebp - 0xb0], 0x12e1
mov edx, 2
imul eax, edx, 0x1573
movsx eax, word [eax + 0x1013f1e8]
cdq
mov ecx, dword [ebp - 0x84]
sub ecx, eax
mov eax, dword [ebp - 0x80]
sbb eax, edx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100c3118]
sub ecx, 0x93cd
mov word [ebp - 0x1c], cx
movsx edx, byte [ebp - 0x13]
test edx, edx
je 0x100317c4
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], ecx
jmp 0x100317db
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x290]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov al, byte [ebp - 0x11]
sub al, 1
mov byte [ebp - 0x11], al
mov ecx, 0xcb6a
mov word [ebp - 0x18], cx
cmp dword [ebp - 0xb0], 0x123b
jle 0x1003184c
jmp 0x1003182a
jmp 0x1003183b
mov edx, dword [ebp - 0xb0]
sub edx, 1
mov dword [ebp - 0xb0], edx
jmp 0x100317fe
mov eax, dword [0x100c30f0]
sub eax, 0x64533f5b
mov word [0x100c30a0], ax
movzx ecx, word [0x100c30e0]
mov edx, dword [ebp - 0x64]
and edx, ecx
mov dword [ebp - 0x64], edx
mov eax, 1
imul ecx, eax, 0x48
movzx dx, byte [ecx + 0x10118be8]
mov word [0x100c30fc], dx
mov eax, dword [ebp - 0x50]
imul eax, dword [0x100c310c]
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x50], ecx
movsx edx, word [0x100c308c]
test edx, edx
je 0x100318ae
movsx eax, word [0x100c3090]
mov dword [ebp - 0x140], eax
jmp 0x100318b8
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x140], ecx
mov dx, word [ebp - 0x140]
mov word [ebp - 0x20], dx
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xbc], eax
movsx ecx, byte [0x100c3075]
movzx edx, byte [0x100c3063]
cmp ecx, edx
jne 0x10031b94
mov dword [ebp - 0xb4], 0
jmp 0x100318ff
mov eax, dword [ebp - 0xb4]
add eax, 2
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0xfe
jge 0x10031b94
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x6b4], eax
mov dword [ebp - 0x6b0], edx
mov ecx, dword [0x100c30dc]
cmp ecx, dword [ebp - 0x6b0]
jg 0x10031955
jl 0x10031941
mov edx, dword [0x100c30d8]
cmp edx, dword [ebp - 0x6b4]
ja 0x10031955
xor eax, eax
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], eax
jmp 0x10031960
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov eax, dword [ebp - 0x6c]
cdq
or eax, dword [0x100c30a8]
or edx, dword [0x100c30ac]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], edx
mov ecx, dword [ebp - 0x320]
cmp ecx, dword [ebp - 0x6bc]
jne 0x100319a4
mov edx, dword [ebp - 0x31c]
cmp edx, dword [ebp - 0x6b8]
jne 0x100319a4
mov dword [ebp - 0x144], 1
jmp 0x100319ae
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x144]
not eax
test eax, eax
je 0x10031a50
jmp 0x100319e8
jmp 0x10031a1a
jmp 0x10031a2b
jmp 0x10031a4b
jmp 0x10031b82
cmp dword [ebp - 0x44], 0
je 0x10031ade
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x790], edx
add ecx, dword [0x100c30d8]
mov word [0x100c3088], cx
movsx eax, word [0x100c3118]
cdq
add eax, dword [0x100c30f0]
adc edx, dword [0x100c30f4]
mov ecx, dword [0x100c30f0]
sub ecx, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x78c], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], 0x62
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [0x100c30b8]
sub ecx, eax
mov eax, dword [0x100c30bc]
sbb eax, edx
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], eax
jmp 0x10031b82
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x6c4], ecx
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c4]
or eax, dword [ebp - 0x6c0]
je 0x10031b82
mov ecx, dword [0x100c310c]
add ecx, 1
mov dword [0x100c310c], ecx
mov dx, word [0x100c30e0]
add dx, 1
mov word [0x100c30e0], dx
movzx eax, word [0x100c30e0]
test eax, eax
jne 0x10031b44
xor ecx, ecx
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], ecx
jmp 0x10031b4f
xorps xmm0, xmm0
movlpd qword [ebp - 0x328], xmm0
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movzx ecx, byte [0x100c3063]
sub ecx, 0x7a
mov byte [str.NDisablePerfBackoff], cl
movsx edx, byte [str.NDisablePerfBackoff]
xor edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [0x100c3108]
add eax, 1
mov dword [0x100c3108], eax
jmp 0x100318f0
mov ecx, dword [ebp - 0xbc]
add ecx, 0x778
mov dword [ebp - 0x3cc], ecx
movsx eax, byte [0x100c3027]
cdq
mov dword [ebp - 0x6cc], eax
mov dword [ebp - 0x6c8], edx
mov edx, dword [ebp - 0x6c8]
cmp edx, dword [0x100c30dc]
jl 0x10031be4
jg 0x10031bd8
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [0x100c30d8]
jbe 0x10031be4
mov dword [ebp - 0x148], 1
jmp 0x10031bee
mov dword [ebp - 0x148], 0
movsx ecx, byte [0x100c3027]
cmp ecx, 0x41
jle 0x10031c06
mov dword [ebp - 0x14c], 1
jmp 0x10031c10
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x14c]
jl 0x10031c32
mov eax, dword [0x100c3108]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x28], eax
jmp 0x10031e98
mov eax, dword [ebp - 0x6c]
cdq
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], edx
mov ecx, dword [ebp - 0x6d4]
cmp ecx, dword [0x100c30b8]
jne 0x10031c5e
mov edx, dword [ebp - 0x6d0]
cmp edx, dword [0x100c30bc]
je 0x10031c95
mov eax, dword [0x100c30f0]
or eax, dword [0x100c30f4]
je 0x10031c95
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x6dc], ecx
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6dc]
or eax, dword [ebp - 0x6d8]
jne 0x10031d1e
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x788], edx
sub ecx, 0xf2
movzx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
movzx eax, word [0x100c30b0]
test eax, eax
je 0x10031cd9
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], edx
jmp 0x10031ceb
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], edx
mov ax, word [ebp - 0x330]
mov word [ebp - 0x1c], ax
mov eax, dword [0x100c30f8]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x784], eax
sub ecx, edx
mov eax, dword [0x100c30f8]
cdq
xor eax, ecx
mov dword [0x100c30f8], eax
jmp 0x10031e98
mov ecx, dword [ebp - 0x7c]
not ecx
mov edx, dword [ebp - 0x78]
not edx
mov dword [ebp - 0x6e4], ecx
mov dword [ebp - 0x6e0], edx
mov eax, dword [ebp - 0x6e4]
or eax, dword [ebp - 0x6e0]
je 0x10031dfc
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov dl, byte [ebp - 0x74]
mov eax, 1
imul ecx, eax, 0x285a
mov byte [ecx + 0x10120a30], dl
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov ecx, dword [0x100c3104]
sub edx, dword [0x100c3100]
sbb eax, ecx
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
or ecx, edx
or esi, eax
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
movzx eax, word [ebp - 0x24]
cdq
add eax, 0x1e6f4dca
adc edx, 0x614bf
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
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x780], edx
add ecx, 0xbca60a1f
mov eax, dword [ebp - 0x28]
cdq
add eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x10031e98
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
not eax
not ecx
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], ecx
mov edx, dword [ebp - 0x6ec]
or edx, dword [ebp - 0x6e8]
je 0x10031e98
movsx eax, word [0x100c3118]
not eax
imul ecx, eax, 0x65cb
not ecx
mov dword [ebp - 0x88], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, word [0x100c30b0]
sar edx, 6
mov dword [ebp - 0x28], edx
mov eax, 2
imul ecx, eax, 0x36e4
movzx eax, word [ecx + 0x100c3c88]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
add ecx, eax
adc esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
sub edx, 0x31
sbb eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x61c
mov dword [ebp - 0x9c], ecx
mov edx, 2
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x18]
mov ecx, 4
imul edx, ecx, 0x19
mov dword [edx + 0x100dfc18], eax
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
xor eax, 0x13636bdf
xor ecx, 0
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x7c]
sub edx, 0x2e5
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6f4]
or edx, dword [ebp - 0x6f0]
jne 0x10031f22
xor eax, eax
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x334], eax
jmp 0x10031f2d
xorps xmm0, xmm0
movlpd qword [ebp - 0x338], xmm0
movzx eax, byte [ebp - 0x11]
add eax, dword [0x100c3108]
cdq
mov ecx, dword [ebp - 0x68]
not ecx
xor esi, esi
and ecx, dword [0x100c30d8]
and esi, dword [0x100c30dc]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, dword [0x100c30d4]
mov esi, dword [ebp - 0x338]
sub esi, dword [0x100c30d0]
mov edi, dword [ebp - 0x334]
sbb edi, ecx
sub esi, 0x9eff347b
sbb edi, 0x8c890
add eax, esi
adc edx, edi
not eax
not edx
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movsx edx, word [0x100c308c]
imul edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x10031fd0
cmp dword [ebp - 0xd0], 1
je 0x1003209a
cmp dword [ebp - 0xd0], 2
je 0x10032112
jmp 0x10032224
movzx ecx, byte [ebp - 0x12]
add ecx, 0x7b387580
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
movzx eax, byte [0x100c3062]
test eax, eax
jne 0x10031ff9
mov dword [ebp - 0x150], 1
jmp 0x10032003
mov dword [ebp - 0x150], 0
movzx eax, word [ebp - 0x18]
add eax, dword [ebp - 0x150]
cdq
mov ecx, dword [0x100c30bc]
push ecx
mov ecx, dword [0x100c30b8]
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
movsx eax, byte [ebp - 0x13]
not eax
cdq
mov ecx, dword [ebp - 0x84]
sub ecx, eax
movzx eax, byte [ebp - 0x11]
not eax
movsx edx, word [ebp - 0x20]
imul eax, edx
not eax
cdq
sub ecx, eax
mov dword [ebp - 0x88], ecx
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
mov edx, dword [0x100c30f0]
sub edx, 1
mov eax, dword [0x100c30f4]
sbb eax, 0
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
jmp 0x10032224
mov ecx, dword [ebp - 0x50]
xor edx, edx
xor ecx, dword [0x100c30d8]
xor edx, dword [0x100c30dc]
add ecx, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov dword [0x100c30d8], ecx
mov dword [0x100c30dc], edx
xor eax, eax
mov dword [0x100c30d0], 2
mov dword [0x100c30d4], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov cl, 4
call fcn.1008ec80
mov dword [0x100c30f8], eax
movzx eax, byte [0x100c303b]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], edx
jmp 0x10032224
mov eax, dword [ebp - 0x74]
sub eax, dword [0x100c30d8]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x6fc]
or eax, dword [ebp - 0x6f8]
je 0x10032158
mov ecx, dword [0x100c30f0]
mov edx, dword [0x100c30f4]
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0x33c], edx
jmp 0x10032169
mov eax, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], ecx
mov dl, byte [ebp - 0x340]
mov byte [ebp - 0x12], dl
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
mov edx, dword [0x100c3080]
or edx, dword [0x100c3084]
jne 0x100321aa
xor eax, eax
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], eax
jmp 0x100321b5
xorps xmm0, xmm0
movlpd qword [ebp - 0x348], xmm0
movzx ecx, word [ebp - 0x24]
movsx edx, word [0x100c30fc]
add ecx, edx
jne 0x100321d0
mov dword [ebp - 0x154], 1
jmp 0x100321da
mov dword [ebp - 0x154], 0
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c30c4]
add eax, dword [0x100c30c0]
adc edx, ecx
mov ecx, dword [ebp - 0x344]
push ecx
mov ecx, dword [ebp - 0x348]
push ecx
push edx
push eax
call fcn.1008eb70
movzx ecx, byte [0x100c3062]
mov esi, dword [ebp - 0x50]
imul esi, ecx
add esi, dword [ebp - 0x154]
xor ecx, ecx
push ecx
push esi
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x24], ax
mov edx, dword [ebp - 0xbc]
add edx, 0x6bd
mov dword [ebp - 0x77c], edx
movzx eax, word [ebp - 0x74]
push eax
call fcn.1004f040
add esp, 4
movzx eax, ax
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x704]
or eax, dword [ebp - 0x700]
je 0x10032308
cmp dword [ebp - 0x88], 0
je 0x10032303
movsx eax, word [0x100c30fc]
xor eax, 0x636c2817
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, 1
imul eax, edx, 0x29e
movsx eax, byte [eax + 0x1019d9b0]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, byte [0x100c3063]
cdq
mov ecx, eax
sub ecx, 0xdb5ee87e
movzx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x38]
cdq
push 0xf3153
push 0x99e1cd7a
push edx
push eax
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov edx, dword [ebp - 0x68]
sub edx, dword [ebp - 0x7c]
mov word [0x100c308c], dx
jmp 0x10032390
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x100c30a0]
add eax, ecx
je 0x10032390
mov byte [0x100c3075], 0xe0
mov dword [ebp - 0x28], 0x9343b2f2
mov edx, dword [0x100c310c]
xor eax, eax
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x70c]
or eax, dword [ebp - 0x708]
jne 0x1003236a
mov dword [ebp - 0x158], 1
jmp 0x10032374
mov dword [ebp - 0x158], 0
movzx ecx, byte [0x100c3063]
add ecx, dword [ebp - 0x158]
mov dword [ebp - 0x50], ecx
mov edx, 0xffffb0d3
mov word [0x100c3088], dx
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x9c]
imul ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x3cc]
cmp eax, ecx
je 0x1003271d
movsx edx, word [0x100c308c]
movsx eax, word [0x100c308c]
cmp edx, eax
jne 0x100323d5
mov dword [ebp - 0x15c], 1
jmp 0x100323df
mov dword [ebp - 0x15c], 0
movsx ecx, word [0x100c308c]
cmp ecx, 8
jne 0x100323f7
mov dword [ebp - 0x160], 1
jmp 0x10032401
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x160]
jg 0x1003247c
mov eax, 0x21632
mov dword [0x100c30f0], 0x41768097
mov dword [0x100c30f4], eax
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x38], ecx
movsx edx, byte [0x100c3075]
sub edx, 0x68dd
mov word [0x100c30a0], dx
movzx eax, byte [ebp - 0x12]
sub eax, 0x47
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov al, byte [0x100c3b38]
mov byte [0x100c3063], al
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0xd62b6
push 0x204fc3b6
push edx
push ecx
call fcn.1008eb70
mov byte [ebp - 0x12], al
jmp 0x10032672
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x1003250b
movsx ecx, byte [0x100c3027]
add ecx, dword [ebp - 0x38]
movsx edx, byte [0x100c3027]
add edx, ecx
mov byte [0x100c3027], dl
movzx eax, word [0x100c30e0]
cdq
add eax, dword [0x100c30b8]
adc edx, dword [0x100c30bc]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
push 0x2eefa
push 0xa4419093
push ecx
push eax
call fcn.1008eb70
mov byte [0x100c3075], al
mov eax, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov cl, 8
call fcn.1008ebb0
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x614df2c1
mov dword [0x100c30f8], eax
jmp 0x10032672
mov ecx, dword [ebp - 0x84]
or ecx, dword [ebp - 0x80]
je 0x10032672
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
jne 0x1003252e
mov dword [ebp - 0x164], 1
jmp 0x10032538
mov dword [ebp - 0x164], 0
movsx eax, word [0x100c3118]
mov ecx, dword [ebp - 0x164]
sub ecx, eax
mov eax, ecx
cdq
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x5c]
xor esi, eax
xor edi, edx
movzx eax, word [0x100c30b0]
sub eax, 0xbd
cdq
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push ebx
push ecx
push edx
push eax
call fcn.1008eb70
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x710], edx
mov edx, dword [ebp - 0x714]
or edx, dword [ebp - 0x710]
jne 0x100325a1
mov eax, 1
mov word [ebp - 0x92], ax
jmp 0x100325aa
xor ecx, ecx
mov word [ebp - 0x92], cx
mov dx, word [ebp - 0x92]
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x2c]
cdq
add eax, dword [0x100c30f0]
adc edx, dword [0x100c30f4]
mov ecx, dword [0x100c30f0]
sub ecx, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], eax
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x71c]
or edx, dword [ebp - 0x718]
je 0x1003261d
movzx eax, byte [0x100c3062]
mov dword [ebp - 0x168], eax
jmp 0x1003262a
movsx ecx, byte [0x100c3075]
mov dword [ebp - 0x168], ecx
mov dx, word [ebp - 0x168]
mov word [0x100c3088], dx
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
push 0
push 0xb06d587b
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx edx, byte [ebp - 0x11]
mov eax, dword [0x100c30f8]
lea ecx, [eax + edx - 0xf0b4c7d]
mov dword [0x100c30f8], ecx
xor edx, edx
mov dword [0x100c30f0], 0x80d
mov dword [0x100c30f4], edx
movsx eax, word [0x100c30fc]
movzx ecx, word [ebp - 0x18]
add eax, ecx
cdq
mov ecx, eax
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x778], eax
not edx
sub ecx, edx
movzx edx, byte [0x100c3063]
mov eax, edx
imul eax, dword [ebp - 0x38]
cdq
xor ecx, eax
mov word [ebp - 0x1c], cx
mov eax, dword [0x100c30f0]
sub eax, 0xf9705b4d
mov byte [0x100c303b], al
movzx eax, word [0x100c30e0]
movzx ecx, byte [ebp - 0x11]
not ecx
movsx edx, word [ebp - 0x20]
add ecx, edx
and eax, ecx
cdq
mov ecx, dword [ebp - 0x74]
or ecx, dword [0x100c30b8]
mov edx, dword [ebp - 0x74]
sub edx, 0x23df0997
xor ecx, edx
sub eax, ecx
mov dword [ebp - 0x28], eax
movsx eax, word [0x100c30fc]
add eax, 0xc95f
mov byte [ebp - 0x13], al
xor ecx, ecx
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x54], ecx
xor eax, eax
jmp 0x10036443
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor edx, edx
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov eax, dword [0x100c3080]
or eax, dword [0x100c3084]
je 0x10032791
mov ecx, 0x67
mov word [0x100c30fc], cx
movsx edx, word [ebp - 0x1c]
movsx eax, byte [ebp - 0x13]
sub edx, eax
mov word [ebp - 0x1c], dx
mov byte [0x100c3063], 0x9e
movzx eax, word [0x100c30a0]
cdq
add eax, dword [0x100c30f0]
adc edx, dword [0x100c30f4]
mov ecx, dword [0x100c30f0]
sub ecx, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], eax
jmp 0x100328ac
mov ecx, dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x3e0]
ja 0x100327c6
jb 0x100327ba
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x3e4]
ja 0x100327c6
mov dword [ebp - 0x16c], 1
jmp 0x100327d0
mov dword [ebp - 0x16c], 0
movzx edx, word [ebp - 0x24]
cmp dword [0x100c310c], edx
jb 0x100327e8
mov dword [ebp - 0x170], 1
jmp 0x100327f2
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x16c]
cmp eax, dword [ebp - 0x170]
jne 0x100328ac
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
push 0x7fded
push 0x6353539c
push edx
push ecx
call fcn.1008eb70
or eax, dword [0x100c30f0]
or edx, dword [0x100c30f4]
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x1003284c
movsx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x174], ecx
jmp 0x10032855
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x174], edx
mov ax, word [ebp - 0x174]
mov word [ebp - 0x2c], ax
movzx ecx, byte [ebp - 0x12]
imul ecx, dword [ebp - 0x44]
mov byte [ebp - 0x12], cl
movzx edx, byte [0x100c3062]
test edx, edx
je 0x10032885
movzx eax, word [0x100c30a0]
mov dword [ebp - 0x178], eax
jmp 0x10032892
movsx ecx, byte [str.NDisablePerfBackoff]
mov dword [ebp - 0x178], ecx
mov dx, word [ebp - 0x178]
mov word [ebp - 0x20], dx
mov eax, 0xbd552
mov dword [ebp - 0x34], 0x9ca094f7
mov dword [ebp - 0x30], eax
mov byte [0x100c3062], 8
cmp dword [ebp - 0x44], 0
jne 0x100328cd
xor ecx, ecx
mov dword [ebp - 0x350], 1
mov dword [ebp - 0x34c], ecx
jmp 0x100328d8
xorps xmm0, xmm0
movlpd qword [ebp - 0x350], xmm0
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
xor edx, dword [ebp - 0x350]
xor eax, dword [ebp - 0x34c]
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
mov ecx, dword [0x100c30f0]
or ecx, dword [0x100c30f4]
je 0x10032916
mov edx, dword [0x100c3108]
mov dword [ebp - 0x17c], edx
jmp 0x10032923
movzx eax, byte [0x100c303b]
mov dword [ebp - 0x17c], eax
mov cl, byte [ebp - 0x17c]
mov byte [ebp - 0x11], cl
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
sub edx, dword [ebp - 0x7c]
sbb eax, dword [ebp - 0x78]
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x10032cd9
cmp dword [0x100c3108], 0
je 0x10032c15
cmp dword [ebp - 0x38], 0
jne 0x1003297b
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1003297b
mov dword [ebp - 0x180], 1
jmp 0x10032985
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x180]
je 0x10032ba0
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov eax, dword [ebp - 0x50]
xor esi, esi
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], edx
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], esi
mov ecx, dword [ebp - 0x3ec]
cmp ecx, dword [ebp - 0x3f4]
jne 0x100329e5
mov edx, dword [ebp - 0x3e8]
cmp edx, dword [ebp - 0x3f0]
jne 0x100329e5
mov dword [ebp - 0x184], 1
jmp 0x100329ef
mov dword [ebp - 0x184], 0
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x3f8], ecx
cmp dword [ebp - 0x3fc], 0x42
jne 0x10032a24
cmp dword [ebp - 0x3f8], 0
jne 0x10032a24
mov dword [ebp - 0x188], 1
jmp 0x10032a2e
mov dword [ebp - 0x188], 0
mov edx, dword [ebp - 0x184]
cmp edx, dword [ebp - 0x188]
jle 0x10032b9e
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x38]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0x48640
push 0x6279e2e2
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movzx edx, word [ebp - 0x18]
add edx, dword [ebp - 0x28]
movzx eax, word [ebp - 0x18]
add eax, edx
mov word [ebp - 0x18], ax
mov ecx, dword [0x100c3080]
or ecx, dword [0x100c3084]
je 0x10032aa9
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x18c], edx
jmp 0x10032ab2
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x18c], eax
mov cl, byte [ebp - 0x18c]
mov byte [ebp - 0x12], cl
movsx eax, word [0x100c3118]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3118]
cdq
sub eax, ecx
mov word [0x100c3118], ax
mov eax, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov cl, 7
call fcn.1008ebb0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x10032b8e
mov dword [ebp - 4], 0xffffffff
jmp 0x10032b9e
jmp 0x10032c10
mov ecx, dword [0x100c30f0]
or ecx, dword [0x100c30f4]
je 0x10032c10
mov edx, dword [0x100c30d8]
sub edx, 1
mov eax, dword [0x100c30dc]
sbb eax, 0
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
movzx ecx, byte [ebp - 0x11]
shl ecx, 5
mov dword [ebp - 0x28], ecx
movsx edx, byte [0x100c3027]
xor edx, dword [ebp - 0x38]
mov byte [str.NDisablePerfBackoff], dl
movsx eax, word [0x100c3090]
mov ecx, dword [ebp - 0x50]
add ecx, eax
mov dword [ebp - 0x50], ecx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x774], eax
add edx, 0x1ead29be
mov byte [0x100c3027], dl
jmp 0x10032cd4
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
je 0x10032cd4
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30c0], edx
mov dword [0x100c30c4], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x30]
je 0x10032c56
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x288], eax
jmp 0x10032c67
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], edx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
movsx eax, word [0x100c3090]
sub eax, dword [ebp - 0x6c]
mov word [0x100c3090], ax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x204b
mov edx, dword [ebp - 0x30]
sbb edx, 0
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], edx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
push 0xfebed
push 0x2d9c9d4
push ecx
push eax
call fcn.1008eb70
mov byte [0x100c3027], al
mov edx, 0xc080
mov word [ebp - 0x24], dx
jmp 0x10032f57
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x404]
or edx, dword [ebp - 0x400]
je 0x10032d7b
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov cl, 5
call fcn.1008ebb0
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
add edx, 0xf
adc eax, 0
add edx, dword [ebp - 0x34]
adc eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, 1
imul edx, ecx, 0x6c
movsx eax, byte [edx + 0x100f88f8]
movzx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x10032f57
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
not ecx
not esi
movsx eax, word [0x100c3088]
cdq
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x408], esi
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], edx
mov edx, dword [ebp - 0x408]
cmp edx, dword [ebp - 0x410]
jb 0x10032dd5
ja 0x10032dc9
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp - 0x414]
jb 0x10032dd5
mov dword [ebp - 0x190], 1
jmp 0x10032ddf
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x190]
jge 0x10032df6
mov dword [ebp - 0x194], 1
jmp 0x10032e00
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x194]
not edx
test edx, edx
je 0x10032eb6
mov dword [ebp - 0x68], 0x805551
mov ax, word [ebp - 0x24]
mov word [ebp - 0x18], ax
movsx eax, word [0x100c308c]
cdq
push edx
push eax
mov ecx, dword [0x100c30bc]
push ecx
mov edx, dword [0x100c30b8]
push edx
call fcn.1008eb70
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x41c]
or eax, dword [ebp - 0x418]
jne 0x10032e6a
xor ecx, ecx
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], ecx
jmp 0x10032e75
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
mov edx, dword [ebp - 0x358]
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
movzx ecx, byte [ebp - 0x11]
add ecx, 0x1f6a78e1
mov dword [0x100c3108], ecx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x818], eax
sub edx, 0x85d677f2
mov dword [ebp - 0x6c], edx
jmp 0x10032f57
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x10032f57
movsx eax, byte [0x100c3027]
cdq
mov edx, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x814], ecx
xor edx, eax
mov eax, 0x583c0e9e
sub eax, edx
mov word [0x100c3088], ax
mov eax, dword [ebp - 0x64]
cdq
add eax, 0x99be347d
mov dword [0x100c3108], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0x1f6c0b53
push edx
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
mov byte [0x100c3027], 0x43
mov edx, 2
imul eax, edx, 0x14
movsx ecx, word [eax + 0x1017a490]
add ecx, dword [0x100c3108]
mov dword [0x100c3108], ecx
mov edx, dword [ebp - 0x64]
sub edx, dword [0x100c30f8]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0xc0], 0
jmp 0x10032f72
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x377
jge 0x100335ca
mov ecx, dword [ebp - 0x74]
or ecx, dword [ebp - 0x70]
je 0x100334ce
cmp dword [ebp - 0x68], 0
je 0x10033446
mov dword [ebp - 0xc4], 0xe17
mov ecx, dword [ebp - 0x68]
sub ecx, 0x4fa82b09
movsx eax, byte [0x100c3027]
cdq
add eax, ecx
mov byte [0x100c3027], al
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x810], eax
xor edx, 0xf531110a
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x80c], edx
add eax, ecx
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x68]
add eax, 0xe4
xor ecx, ecx
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
mov eax, dword [0x100c30d8]
mov edx, dword [0x100c30dc]
mov cl, 3
call fcn.1008ebd0
mov dword [0x100c30f8], eax
cmp dword [ebp - 0xc4], 0xc56
jle 0x10033441
mov dword [ebp - 0x38], 4
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x7b8], eax
sub edx, 0x36da0042
mov byte [0x100c303b], dl
xor ecx, ecx
mov dword [0x100c30e8], 2
mov dword [0x100c30ec], ecx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
push 0x368a2
push 0xee34017c
push eax
push edx
call fcn.1008eb70
mov word [0x100c30a0], ax
mov byte [0x100c3075], 1
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x20]
add eax, dword [0x100c3108]
not eax
imul eax, dword [ebp - 0x44]
mov word [0x100c30b0], ax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x198], ecx
cmp dword [ebp - 0x198], 4
ja case.default.0x100330cb
mov edx, dword [ebp - 0x198]
jmp dword [edx*4 + 0x10036468]
cmp dword [0x100c30f8], 0
je 0x100330e8
mov eax, dword [0x100c3108]
mov dword [ebp - 0x19c], eax
jmp 0x100330f5
movzx ecx, word [0x100c30a0]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x19c]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx eax, word [0x100c3118]
add eax, 0xc6df
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
push 0
push 0xe131
push eax
push edx
call fcn.1008eb70
mov byte [ebp - 0x12], al
movzx eax, word [0x100c30a0]
add eax, 0x2a257976
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x100c3b38]
mov dword [0x100c30f8], ecx
jmp case.default.0x100330cb
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x79c], eax
add edx, 0x8d
mov word [ebp - 0x1c], dx
mov ecx, 1
imul edx, ecx, 0x78
mov al, byte [0x100c3090]
mov byte [edx + 0x10118be8], al
mov ecx, 1
imul edx, ecx, 0x67b
mov al, byte [edx + 0x10192df0]
mov byte [ebp - 0x12], al
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
push 0
push 0xe6
push edx
push ecx
call fcn.1008eb70
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
xor ecx, eax
xor esi, edx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x11], cl
jmp case.default.0x100330cb
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x7a0], eax
add edx, 0xf5807719
mov word [ebp - 0x20], dx
movsx ecx, byte [str.NDisablePerfBackoff]
imul ecx, dword [ebp - 0x68]
movsx edx, byte [str.NDisablePerfBackoff]
or edx, ecx
mov byte [str.NDisablePerfBackoff], dl
mov eax, dword [ebp - 0x88]
mov ecx, 4
imul edx, ecx, 0x79
mov dword [edx + 0x100f8988], eax
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
push 0
push 0x38
push ecx
push eax
call fcn.1008eb70
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x24]
cdq
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x7a4], ecx
not edx
sub eax, edx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x7a8], ecx
sub eax, edx
mov dword [ebp - 0x64], eax
jmp case.default.0x100330cb
mov edx, dword [0x100c30cc]
mov eax, dword [ebp - 0x34]
sub eax, dword [0x100c30c8]
mov ecx, dword [ebp - 0x30]
sbb ecx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x424]
or ecx, dword [ebp - 0x420]
je 0x100332e5
movzx eax, word [0x100c30b0]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
jmp 0x100332f7
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], ecx
movsx eax, byte [0x100c3027]
add eax, 0x14f7ed53
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movsx eax, word [0x100c3118]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x1003337d
mov dword [ebp - 0x1a4], 1
jmp 0x10033387
mov dword [ebp - 0x1a4], 0
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
and ecx, eax
and esi, edx
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], esi
mov edx, dword [ebp - 0x42c]
or edx, dword [ebp - 0x428]
jne 0x100333c2
mov dword [ebp - 0x1a0], 1
jmp 0x100333cc
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x1a0]
imul eax, dword [ebp - 0x1a4]
mov byte [ebp - 0x11], al
jmp case.default.0x100330cb
movzx ecx, word [ebp - 0x24]
sub ecx, dword [ebp - 0x38]
movzx edx, word [ebp - 0x24]
sub edx, ecx
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x50]
sub eax, 0x75513bb0
mov word [ebp - 0x20], ax
mov dword [ebp - 0x38], 0x26224e10
movzx ecx, byte [ebp - 0x11]
add ecx, 0x66e3ad6
mov byte [0x100c3027], cl
mov edx, dword [ebp - 0x44]
not edx
xor eax, eax
xor edx, 0x5a1a56c
xor eax, 0xc3412
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x1003301c
jmp 0x100334c9
mov edx, dword [ebp - 0x44]
not edx
test edx, edx
je 0x100334c9
movzx eax, word [0x100c30b0]
cdq
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c30b0], ax
mov edx, dword [0x100c30f0]
sub edx, dword [ebp - 0x7c]
mov eax, dword [0x100c30f4]
sbb eax, dword [ebp - 0x78]
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movsx ecx, word [0x100c3090]
movzx edx, byte [0x100c3063]
imul ecx, edx
movsx eax, word [0x100c3090]
add eax, ecx
mov word [0x100c3090], ax
movsx cx, byte [str.NDisablePerfBackoff]
mov edx, 2
imul eax, edx, 0x43
mov word [eax + 0x10192bf0], cx
mov ecx, dword [ebp - 0x28]
sar ecx, 7
mov word [ebp - 0x1c], cx
jmp 0x100335b6
movzx eax, byte [0x100c3062]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], edx
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x438], esi
mov edx, dword [ebp - 0x430]
cmp edx, dword [ebp - 0x438]
ja 0x10033524
jb 0x10033518
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x43c]
jae 0x10033524
mov dword [ebp - 0x1a8], 1
jmp 0x1003352e
mov dword [ebp - 0x1a8], 0
mov ecx, dword [ebp - 0x1a8]
cmp ecx, dword [0x100c3108]
jg 0x100335b6
mov eax, dword [0x100c30f8]
cdq
add eax, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movzx edx, word [ebp - 0x2c]
sub edx, 0x2834d6c2
mov dword [ebp - 0x44], edx
xor eax, eax
mov dword [0x100c30c8], 0xfb9d
mov dword [0x100c30cc], eax
mov ecx, dword [ebp - 0x50]
xor edx, edx
add ecx, dword [ebp - 0x84]
adc edx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x84]
adc edx, dword [ebp - 0x80]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
and ecx, eax
and esi, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov cl, byte [str.NDisablePerfBackoff]
add cl, 1
mov byte [str.NDisablePerfBackoff], cl
jmp 0x10032f63
push 0x104
lea edx, [ebp - 0x1324]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
jne 0x10033a4a
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
movzx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x440], esi
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], edx
mov edx, dword [ebp - 0x444]
cmp edx, dword [ebp - 0x454]
jne 0x10033629
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x450]
je 0x10033635
mov dword [ebp - 0x1ac], 1
jmp 0x1003363f
mov dword [ebp - 0x1ac], 0
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x458], edx
cmp dword [ebp - 0x45c], 0x28
jne 0x10033669
cmp dword [ebp - 0x458], 0
je 0x10033675
mov dword [ebp - 0x1b0], 1
jmp 0x1003367f
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x1b0]
jne 0x10033973
push 0
push 2
call fcn.10051570
add esp, 8
movsx ecx, ax
mov dword [ebp - 0x50], ecx
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], esi
mov edx, dword [ebp - 0x464]
cmp edx, dword [ebp - 0x46c]
jne 0x1003373e
mov eax, dword [ebp - 0x460]
cmp eax, dword [ebp - 0x468]
jne 0x1003373e
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x474]
or eax, dword [ebp - 0x470]
jne 0x10033717
mov dword [ebp - 0x1b4], 1
jmp 0x10033721
mov dword [ebp - 0x1b4], 0
movzx ecx, byte [0x100c3062]
not ecx
cmp dword [ebp - 0x1b4], ecx
jne 0x1003373e
mov dword [ebp - 0x1b8], 0
jmp 0x10033748
mov dword [ebp - 0x1b8], 1
cmp dword [0x100c3084], 0x6fc2c
jb 0x1003377f
ja 0x10033762
cmp dword [0x100c3080], 0x68966e20
jbe 0x1003377f
movsx edx, byte [str.NDisablePerfBackoff]
not edx
cmp dword [ebp - 0x88], edx
jne 0x1003377f
mov dword [ebp - 0x1bc], 1
jmp 0x10033789
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
jl 0x100338df
mov dword [ebp - 0xc8], 0x389
jmp 0x100337b6
mov ecx, dword [ebp - 0xc8]
sub ecx, 1
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
jle 0x100338da
movzx eax, byte [0x100c3062]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x6c], eax
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], eax
cmp dword [ebp - 0x28], 0
jne 0x10033810
xor ecx, ecx
mov dword [ebp - 0x47c], 1
mov dword [ebp - 0x478], ecx
jmp 0x1003381b
xorps xmm0, xmm0
movlpd qword [ebp - 0x47c], xmm0
movzx eax, word [0x100c30a0]
cdq
sub eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x47c]
add edx, 0xce803630
add eax, edx
mov dword [0x100c310c], eax
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
sub eax, 0xb0
sbb ecx, 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x64], 0
jne 0x10033864
mov dword [ebp - 0x1c0], 1
jmp 0x1003386e
mov dword [ebp - 0x1c0], 0
mov edx, dword [ebp - 0x1c0]
imul edx, dword [ebp - 0x44]
test edx, edx
jne 0x10033888
mov dword [ebp - 0x1c4], 1
jmp 0x10033892
mov dword [ebp - 0x1c4], 0
movzx eax, word [ebp - 0x2c]
mov ecx, 0xffff88e2
sub ecx, eax
movsx edx, word [0x100c30fc]
sub edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x1c4]
sub eax, edx
sub ecx, eax
mov dword [ebp - 0x88], ecx
xor ecx, ecx
mov dword [0x100c3120], 0x70
mov dword [0x100c3124], ecx
mov dx, word [ebp - 0x24]
add dx, 1
mov word [ebp - 0x24], dx
jmp 0x100337a7
jmp 0x10033973
movsx eax, word [0x100c3090]
movzx ecx, byte [0x100c3063]
sub eax, ecx
mov word [0x100c3090], ax
mov eax, dword [ebp - 0x64]
sub eax, 0xe9
cdq
add eax, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
mov edx, dword [ebp - 0x68]
shr edx, 7
mov dword [ebp - 0x6c], edx
movzx eax, byte [ebp - 0x11]
imul eax, eax, 0xbc2c
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
sub edx, ecx
sbb eax, esi
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
mov ecx, dword [0x100c30d8]
add ecx, 0x62e29f01
mov dword [0x100c30f8], ecx
movsx edx, byte [ebp - 0x13]
cmp edx, dword [ebp - 0x64]
jle 0x10033988
mov dword [ebp - 0x1c8], 1
jmp 0x10033992
mov dword [ebp - 0x1c8], 0
movsx eax, byte [ebp - 0x13]
cmp eax, 0x44
jle 0x100339a7
mov dword [ebp - 0x1cc], 1
jmp 0x100339b1
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jl 0x10033a43
movsx dx, byte [ebp - 0x13]
mov word [0x100c30b0], dx
mov eax, 2
imul ecx, eax, 0x48dd
mov dx, word [0x100c30a0]
mov word [ecx + 0x1012a7c0], dx
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
add eax, 1
adc ecx, 0
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x7ac], eax
sub edx, 0x9771921c
mov word [ebp - 0x18], dx
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
sub ecx, 0xdd4b8b4e
sbb edx, 0x7fd56
mov dword [0x100c3098], ecx
mov dword [0x100c309c], edx
xor eax, eax
jmp 0x10036443
xor eax, eax
mov byte [ebp - 0x8c], al
push 0
push 0
lea ecx, [ebp - 0x880]
push ecx
lea ecx, [ebp - 0x8c]
call fcn.10002dc0
mov ecx, eax
call fcn.10047bd0
push eax
lea edx, [ebp - 0x1324]
push edx
lea eax, [ebp - 0x152c]
push eax
call fcn.100072f0
add esp, 0x14
xor ecx, ecx
mov byte [ebp - 0x89], cl
push 0
push 0
lea edx, [ebp - 0x8d2]
push edx
lea ecx, [ebp - 0x89]
call fcn.10002f00
mov ecx, eax
call fcn.10047dd0
push eax
lea eax, [ebp - 0x152c]
push eax
lea ecx, [ebp - 0xf14]
push ecx
call fcn.100072f0
add esp, 0x14
mov dword [ebp - 4], 4
movzx edx, byte [0x100c3062]
cmp edx, dword [ebp - 0x38]
jle 0x10033d90
cmp dword [ebp - 0x88], 0
je 0x10033b0d
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x484]
or edx, dword [ebp - 0x480]
je 0x10033b0d
movzx eax, word [0x100c30b0]
test eax, eax
jne 0x10033b22
movzx ecx, word [ebp - 0x2c]
push ecx
call dword [sym.imp.USER32.dll_IsZoomed]
mov byte [str.NDisablePerfBackoff], al
jmp 0x10033d8e
cmp dword [ebp - 0x50], 0
jne 0x10033bb8
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x7b0], eax
add edx, 0xfb
mov dword [ebp - 0x64], edx
movsx ecx, byte [0x100c3075]
sub ecx, 0xd4
mov dword [ebp - 0x44], ecx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
xor ecx, eax
xor esi, edx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
sub edx, ecx
sbb eax, esi
mov dword [0x100c3098], edx
mov dword [0x100c309c], eax
movzx ecx, byte [0x100c303b]
imul edx, ecx, 0x2c13
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x74]
sub eax, 0x71e7
mov ecx, dword [ebp - 0x70]
sbb ecx, 0
mov edx, dword [ebp - 0x34]
sub edx, eax
mov eax, dword [ebp - 0x30]
sbb eax, ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
jmp 0x10033d8e
movzx ecx, byte [ebp - 0x12]
movzx edx, word [ebp - 0x24]
cmp ecx, edx
jg 0x10033c91
mov byte [0x100c3063], 0x35
movsx eax, word [0x100c3118]
cdq
mov ecx, dword [0x100c30f0]
sub ecx, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], eax
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, word [0x100c30e0]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100c30e0]
cdq
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
sub edi, eax
sbb ebx, edx
not edi
not ebx
add ecx, edi
adc esi, ebx
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x488], esi
mov edx, dword [ebp - 0x48c]
or edx, dword [ebp - 0x488]
jne 0x10033c5a
mov dword [ebp - 0x1d0], 1
jmp 0x10033c64
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
sub ecx, 0x166a5aec
mov byte [ebp - 0x11], cl
movsx edx, byte [str.NDisablePerfBackoff]
mov eax, dword [0x100c310c]
sub eax, edx
mov dword [0x100c310c], eax
jmp 0x10033d8e
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov eax, dword [ebp - 0x34]
not eax
mov esi, dword [ebp - 0x30]
not esi
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], esi
mov ecx, dword [ebp - 0x490]
cmp ecx, dword [ebp - 0x498]
jb 0x10033d8e
ja 0x10033ce5
mov edx, dword [ebp - 0x494]
cmp edx, dword [ebp - 0x49c]
jbe 0x10033d8e
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10033cf9
mov dword [ebp - 0x1d4], 1
jmp 0x10033d03
mov dword [ebp - 0x1d4], 0
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x64], ecx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
add ecx, eax
adc esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x7b4], eax
mov ecx, 2
imul eax, ecx, 0x3ae2
mov word [eax + 0x1013f1e8], dx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
push 0
push 0xf9548920
push edx
push ecx
call fcn.1008eb70
mov word [0x100c308c], ax
jmp 0x10033e0a
mov dword [ebp - 0x68], 4
movsx eax, word [0x100c3118]
movsx ecx, word [ebp - 0x1c]
and eax, ecx
movsx edx, word [0x100c3118]
add edx, eax
mov word [0x100c3118], dx
movsx eax, byte [0x100c3027]
sar eax, 7
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
push 0
push 0x4a
push ecx
push eax
call fcn.1008eb70
mov byte [0x100c3062], al
movzx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x7bc], eax
sub ecx, edx
movzx eax, word [ebp - 0x18]
cdq
xor eax, ecx
mov word [ebp - 0x18], ax
jmp 0x10033e82
mov dword [ebp - 4], 0xffffffff
jmp 0x10033e92
push 0xc9
call fcn.1004f040
add esp, 4
movzx eax, ax
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], ecx
mov edx, dword [ebp - 0x4a4]
or edx, dword [ebp - 0x4a0]
jne 0x10033ee2
xor eax, eax
mov dword [ebp - 0x360], 1
mov dword [ebp - 0x35c], eax
jmp 0x10033eed
xorps xmm0, xmm0
movlpd qword [ebp - 0x360], xmm0
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x360]
sub esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x35c]
sbb edi, ecx
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4b4], esi
mov dword [ebp - 0x4b0], edi
mov edx, dword [ebp - 0x4a8]
cmp edx, dword [ebp - 0x4b0]
jg 0x10033f4b
jl 0x10033f3f
mov eax, dword [ebp - 0x4ac]
cmp eax, dword [ebp - 0x4b4]
ja 0x10033f4b
mov dword [ebp - 0x1e0], 1
jmp 0x10033f55
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x6c]
not eax
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], edx
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x4c0], esi
mov edx, dword [ebp - 0x4b8]
cmp edx, dword [ebp - 0x4c0]
jl 0x10033fa3
jg 0x10033f97
mov eax, dword [ebp - 0x4bc]
cmp eax, dword [ebp - 0x4c4]
jbe 0x10033fa3
mov dword [ebp - 0x1d8], 1
jmp 0x10033fad
mov dword [ebp - 0x1d8], 0
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4c8], edx
cmp dword [ebp - 0x4c8], 0x6ab47
jg 0x10033fe4
jl 0x10033fd8
cmp dword [ebp - 0x4cc], 0x3b6d2ada
jae 0x10033fe4
mov dword [ebp - 0x1dc], 1
jmp 0x10033fee
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1d8]
cmp ecx, dword [ebp - 0x1dc]
jge 0x10034008
mov dword [ebp - 0x1e4], 1
jmp 0x10034012
mov dword [ebp - 0x1e4], 0
mov edx, dword [ebp - 0x1e0]
cmp edx, dword [ebp - 0x1e4]
je 0x100341a6
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
movsx eax, word [0x100c3088]
cdq
mov dword [ebp - 0x4d4], ecx
mov dword [ebp - 0x4d0], esi
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], edx
mov edx, dword [ebp - 0x4d0]
cmp edx, dword [ebp - 0x4d8]
jb 0x1003407a
ja 0x1003406e
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0x4dc]
jbe 0x1003407a
mov dword [ebp - 0x1e8], 1
jmp 0x10034084
mov dword [ebp - 0x1e8], 0
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x4e0], edx
cmp dword [ebp - 0x4e0], 0
ja 0x100340ae
cmp dword [ebp - 0x4e4], 0x56
jbe 0x100340ba
mov dword [ebp - 0x1ec], 1
jmp 0x100340c4
mov dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [ebp - 0x1ec]
jle 0x100341a1
mov dword [0x100c30f8], 0x1c6d611a
movzx eax, word [0x100c30a0]
not eax
movzx ecx, word [ebp - 0x18]
sub eax, ecx
cdq
add eax, 0x2bce570c
mov byte [0x100c3075], al
xor edx, edx
mov dword [0x100c30e8], 1
mov dword [0x100c30ec], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4ec]
or edx, dword [ebp - 0x4e8]
jne 0x10034140
xor eax, eax
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x364], eax
jmp 0x1003414b
xorps xmm0, xmm0
movlpd qword [ebp - 0x368], xmm0
mov ecx, dword [ebp - 0x368]
mov edx, dword [ebp - 0x364]
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
movsx eax, byte [0x100c3075]
test eax, eax
jne 0x10034182
xor ecx, ecx
mov dword [ebp - 0x4f4], 1
mov dword [ebp - 0x4f0], ecx
jmp 0x1003418d
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f4], xmm0
mov edx, 0x94
sub edx, dword [0x100c30b8]
add edx, dword [ebp - 0x4f4]
mov dword [ebp - 0x50], edx
jmp 0x100343f2
movzx eax, byte [0x100c3062]
cmp eax, 0x20089087
je 0x100341de
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4fc]
or eax, dword [ebp - 0x4f8]
je 0x100342fb
mov ecx, dword [ebp - 0x88]
add ecx, 1
mov dword [ebp - 0x88], ecx
imul eax, dword [ebp - 0x64], 0x8e5c
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov dx, word [0x100c3b38]
mov word [0x100c30a0], dx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
sbb edx, ecx
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], edx
mov edx, dword [ebp - 0x504]
or edx, dword [ebp - 0x500]
jne 0x10034259
mov dword [ebp - 0x1f0], 1
jmp 0x10034263
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x50c]
or edx, dword [ebp - 0x508]
jne 0x1003428f
mov dword [ebp - 0x1f4], 1
jmp 0x10034299
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
and eax, 0x9312700c
and ecx, 0
not eax
not ecx
mov edx, dword [ebp - 0x7c]
add edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x78]
adc esi, dword [ebp - 0x70]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [ebp - 0x1f0]
or eax, dword [ebp - 0x1f4]
cdq
sub ecx, eax
mov byte [0x100c3063], cl
movsx edx, byte [0x100c3075]
movsx eax, word [0x100c3118]
sub edx, eax
movsx ecx, byte [0x100c3075]
add ecx, edx
mov byte [0x100c3075], cl
jmp 0x100343f2
mov edx, dword [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x514], edx
mov dword [ebp - 0x510], eax
mov ecx, dword [0x100c30d8]
cmp ecx, dword [ebp - 0x514]
jne 0x1003432c
mov edx, dword [0x100c30dc]
cmp edx, dword [ebp - 0x510]
je 0x100343f2
mov eax, 0x1c
mov word [0x100c30fc], ax
movsx ecx, word [0x100c3090]
add ecx, 0x6e88
mov dword [0x100c3108], ecx
movzx edx, byte [0x100c3062]
test edx, edx
je 0x10034364
movsx eax, byte [str.NDisablePerfBackoff]
mov dword [ebp - 0x248], eax
jmp 0x10034371
movzx ecx, word [0x100c30b0]
mov dword [ebp - 0x248], ecx
mov dx, word [ebp - 0x248]
mov word [ebp - 0x2c], dx
push 0x775e1
push 0xe8d08dc1
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x64]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x64], eax
push 0
push 0x38
mov edx, dword [0x100c30bc]
push edx
mov eax, dword [0x100c30b8]
push eax
call fcn.1008eb70
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
add ecx, eax
adc esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
mov edx, dword [ebp - 0x44]
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x7c0], ecx
xor edx, eax
mov dword [ebp - 0x44], edx
push 0
lea edx, [ebp - 0xb04]
push edx
lea eax, [ebp - 0x1734]
push eax
lea ecx, [ebp - 0x193c]
push ecx
lea edx, [ebp - 0xd0c]
push edx
call fcn.100072f0
add esp, 0x14
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x7c4], ecx
add eax, 0xdbc83bf7
mov dword [0x100c310c], eax
movzx edx, byte [0x100c3062]
mov dword [ebp - 0x38], edx
mov ax, word [0x100c3088]
add ax, 1
mov word [0x100c3088], ax
mov ecx, dword [ebp - 0x50]
xor edx, edx
sub ecx, 0xa4d4c599
sbb edx, 0xe8aef
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
movsx eax, word [ebp - 0x20]
cdq
push 0xad742
push 0x56ea296a
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x50], eax
movsx eax, word [0x100c3088]
shl eax, 3
mov dword [ebp - 0x38], eax
push 0
lea ecx, [ebp - 0xd0c]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x100344b6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x100363be
mov edx, dword [ebp - 0x50]
add edx, 0x1686
mov word [0x100c3090], dx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov cl, 3
call fcn.1008ebd0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x44]
add eax, 0x747e
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x7c8], esi
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0x71
movsx eax, word [0x100c3088]
cdq
add eax, ecx
mov word [0x100c3088], ax
mov eax, dword [ebp - 0x6c]
cdq
push 0x870a6
push 0x756e4978
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x13], al
jmp 0x1003452f
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x7cc], eax
xor edx, dword [ebp - 0x7c]
mov word [ebp - 0x20], dx
mov ecx, dword [ebp - 0x44]
sub ecx, dword [0x100c3080]
mov edx, dword [ebp - 0x44]
add edx, ecx
mov dword [ebp - 0x44], edx
lea eax, [ebp - 0xb04]
push eax
push str._s.ocx
lea ecx, [ebp - 0x1b44]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov dword [ebp - 0xcc], 0x13f3
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c3098], edx
mov dword [0x100c309c], eax
mov eax, dword [0x100c3108]
sar eax, 3
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
not ecx
not esi
mov eax, dword [0x100c30f8]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30f8], eax
mov eax, dword [ebp - 0x38]
sub eax, 0x1e
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x7d0], eax
xor edx, 0x391c37a8
mov word [0x100c3088], dx
cmp dword [ebp - 0xcc], 0x122c
jle 0x10034781
xor ecx, ecx
mov word [0x100c30fc], cx
mov edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x6c]
jne 0x1003461d
mov dword [ebp - 0x1fc], 1
jmp 0x10034627
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
add ecx, 0x74665d17
adc edx, 0x37bc1
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7d4], eax
add ecx, 0x2af891c4
mov eax, dword [0x100c3080]
mov edx, dword [0x100c3084]
call fcn.1008ebb0
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
push 0xfd08e
push 0xd11ca40e
push edx
push ecx
call fcn.1008eb70
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [0x100c310c]
xor ecx, ecx
mov edx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c310c], eax
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0
je 0x100346da
jmp 0x1003476d
mov eax, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov cl, 5
call fcn.1008ec80
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 0x72
mov eax, dword [0x100c30f8]
cdq
sub eax, ecx
mov dword [0x100c30f8], eax
movzx eax, word [0x100c30b0]
cdq
add eax, dword [0x100c30f0]
adc edx, dword [0x100c30f4]
mov ecx, dword [0x100c30f0]
sub ecx, eax
mov eax, dword [0x100c30f4]
sbb eax, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], eax
mov ecx, dword [ebp - 0x74]
add ecx, 0xf7960e03
mov dword [ebp - 0x88], ecx
movsx edx, word [ebp - 0x1c]
mov eax, 0x70378417
sub eax, edx
not eax
movzx ecx, byte [0x100c3063]
mov edx, dword [ebp - 0x38]
sub edx, ecx
sub edx, 0x3d0bebd7
sub eax, edx
mov dword [ebp - 0x44], eax
mov ax, word [ebp - 0x18]
mov word [0x100c3118], ax
mov ecx, dword [ebp - 0xcc]
sub ecx, 1
mov dword [ebp - 0xcc], ecx
jmp 0x100345f0
jmp 0x10034797
jmp 0x100347b2
jmp 0x100347b9
push 0
push 0
lea edx, [ebp - 0x1b44]
push edx
lea eax, [ebp - 0xd0c]
push eax
lea ecx, [ebp - 0x111c]
push ecx
call fcn.100072f0
add esp, 0x14
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
or ecx, eax
or esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
movzx eax, byte [ebp - 0x11]
cdq
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x7d8], ecx
sub eax, edx
not eax
mov word [0x100c3090], ax
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
sub edx, 1
sbb eax, 0
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
add edx, ecx
adc eax, esi
mov dword [0x100c30c0], edx
mov dword [0x100c30c4], eax
movsx eax, word [0x100c3090]
cdq
mov ecx, eax
add ecx, dword [0x100c30f0]
movsx eax, word [0x100c3090]
cdq
add eax, ecx
mov word [0x100c3090], ax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
push 0
push 7
push eax
push edx
call fcn.1008eb70
mov word [ebp - 0x24], ax
xor ecx, ecx
mov byte [ebp - 0x8a], cl
lea edx, [ebp - 0xf14]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x8a]
call fcn.10003070
mov ecx, eax
call fcn.100020f0
push eax
call fcn.1002bbe0
add esp, 0xc
test eax, eax
je 0x10035537
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [0x100c310c]
xor esi, esi
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x518], edx
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x520], esi
mov ecx, dword [ebp - 0x51c]
cmp ecx, dword [ebp - 0x524]
jne 0x1003491f
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0x520]
je 0x1003492b
mov dword [ebp - 0x200], 1
jmp 0x10034935
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], ecx
cmp dword [ebp - 0x52c], 0x3b
jne 0x10034959
cmp dword [ebp - 0x528], 0
je 0x10034965
mov dword [ebp - 0x204], 1
jmp 0x1003496f
mov dword [ebp - 0x204], 0
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x204]
jg 0x10034a24
mov eax, dword [ebp - 0x50]
mov dword [0x100c310c], eax
mov eax, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov cl, 3
call fcn.1008ebb0
mov byte [0x100c303b], al
movzx eax, byte [ebp - 0x11]
not eax
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x64], 0
je 0x100349c9
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], edx
jmp 0x100349db
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], edx
mov al, byte [ebp - 0x370]
mov byte [0x100c3062], al
movsx ecx, byte [str.NDisablePerfBackoff]
test ecx, ecx
je 0x10034a00
movsx edx, byte [0x100c3075]
mov dword [ebp - 0x208], edx
jmp 0x10034a0d
movzx eax, byte [0x100c3062]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
jmp 0x10034ab3
movzx ecx, byte [0x100c3063]
add ecx, 0x292f
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x38], 0
je 0x10034a4d
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x378], edx
mov dword [ebp - 0x374], eax
jmp 0x10034a65
mov ecx, dword [0x100c30d8]
mov edx, dword [0x100c30dc]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], edx
mov ax, word [ebp - 0x378]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x34]
sub eax, 0xd40ad70d
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x7dc], edx
xor eax, ecx
mov dword [0x100c30f8], eax
movsx eax, word [0x100c3118]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
cmp dword [ebp - 0x64], 0
jne 0x10034acd
xor eax, eax
mov dword [ebp - 0x380], 1
mov dword [ebp - 0x37c], eax
jmp 0x10034ad8
xorps xmm0, xmm0
movlpd qword [ebp - 0x380], xmm0
mov ecx, 0x67fc5f03
sub ecx, dword [ebp - 0x380]
mov edx, 0xb32a5
sbb edx, dword [ebp - 0x37c]
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x534]
or eax, dword [ebp - 0x530]
jne 0x10034b1c
xor ecx, ecx
mov dword [ebp - 0x388], 1
mov dword [ebp - 0x384], ecx
jmp 0x10034b27
xorps xmm0, xmm0
movlpd qword [ebp - 0x388], xmm0
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
add ecx, dword [ebp - 0x388]
adc esi, dword [ebp - 0x384]
movzx eax, byte [0x100c3062]
movsx edx, byte [ebp - 0x13]
imul eax, edx
movsx edx, byte [str.NDisablePerfBackoff]
movsx edi, byte [ebp - 0x13]
xor edx, edi
add eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
mov eax, dword [0x100c3108]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
mov edx, dword [ebp - 0x64]
sub edx, 1
mov dword [ebp - 0x64], edx
movzx eax, word [0x100c30a0]
cdq
xor eax, dword [ebp - 0x84]
xor edx, dword [ebp - 0x80]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
movsx eax, word [0x100c30fc]
movzx ecx, word [ebp - 0x18]
mov edx, dword [ebp - 0x6c]
not edx
sub ecx, edx
sub eax, ecx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x64], 0x134b
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xe0], eax
push 0
push 0xc2
call fcn.1004e550
add esp, 8
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x538], edx
cmp dword [ebp - 0x538], 0
ja 0x10034c1d
cmp dword [ebp - 0x53c], 0
jb 0x10034c29
mov dword [ebp - 0x20c], 1
jmp 0x10034c33
mov dword [ebp - 0x20c], 0
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], ecx
cmp dword [ebp - 0x540], 0
ja 0x10034c5c
cmp dword [ebp - 0x544], 0x12
jb 0x10034c68
mov dword [ebp - 0x210], 1
jmp 0x10034c72
mov dword [ebp - 0x210], 0
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x210]
jle 0x10034cf7
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
sub eax, 1
sbb ecx, 0
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0x96
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movzx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0x38]
sub edx, 1
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x44]
add eax, 0x92
xor ecx, ecx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx edx, word [ebp - 0x1c]
movzx eax, byte [0x100c3063]
add edx, eax
mov word [ebp - 0x1c], dx
movzx cx, byte [0x100c3063]
mov word [0x100c30a0], cx
jmp 0x10034d5f
mov edx, dword [0x100c30f0]
or edx, dword [0x100c30f4]
je 0x10034d5f
movsx eax, word [0x100c3088]
sub eax, 0xe763
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov al, byte [0x100c3b38]
mov byte [str.NDisablePerfBackoff], al
xor ecx, ecx
mov dword [0x100c30a8], 0xd
mov dword [0x100c30ac], ecx
movsx eax, word [0x100c308c]
cdq
sub eax, 0x2424bb19
mov word [0x100c3088], ax
movsx edx, byte [ebp - 0x13]
movsx eax, word [ebp - 0x20]
sub edx, eax
movsx ecx, byte [ebp - 0x13]
sub ecx, edx
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0xe0]
add edx, 0x6ec
mov dword [ebp - 0x3d8], edx
xor eax, eax
mov word [0x100c308c], ax
movzx ecx, byte [0x100c3062]
sub ecx, 0x66dfbb13
xor edx, edx
mov dword [0x100c3080], ecx
mov dword [0x100c3084], edx
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10034da8
mov dword [ebp - 0x214], 1
jmp 0x10034db2
mov dword [ebp - 0x214], 0
movzx ecx, word [ebp - 0x18]
imul edx, ecx, 0
movsx eax, word [0x100c308c]
sub edx, eax
movzx ecx, word [0x100c30e0]
movsx eax, word [0x100c30fc]
add eax, dword [ebp - 0x214]
imul ecx, eax
sub edx, ecx
mov dword [ebp - 0x50], edx
movzx ecx, word [ebp - 0x2c]
add ecx, 0xdf0
mov dword [ebp - 0x44], ecx
mov dx, word [0x100c3088]
add dx, 1
mov word [0x100c3088], dx
mov eax, dword [ebp - 0x44]
sub eax, 0x7c09
mov word [0x100c3088], ax
movsx ecx, word [0x100c308c]
mov dword [ebp - 0x3d4], ecx
cmp dword [ebp - 0x3d4], 0
je 0x10034e26
jmp 0x10034eb4
movzx edx, byte [0x100c3062]
movsx eax, word [ebp - 0x1c]
imul edx, eax
mov byte [0x100c3062], dl
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [ebp - 0x84]
sub ecx, eax
mov eax, dword [ebp - 0x80]
sbb eax, edx
add ecx, dword [ebp - 0x84]
adc eax, dword [ebp - 0x80]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], eax
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov cl, 3
call fcn.1008ec80
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movzx edx, word [0x100c30a0]
imul edx, dword [0x100c310c]
mov word [0x100c30a0], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x7e0], ecx
sub eax, 0x6fe77e25
mov word [0x100c3090], ax
mov edx, dword [ebp - 0xe0]
add edx, 0x85a
mov dword [ebp - 0x228], edx
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c3080], edx
mov dword [0x100c3084], eax
movzx ecx, word [ebp - 0x2c]
add ecx, dword [ebp - 0x50]
movzx edx, word [ebp - 0x2c]
or edx, ecx
mov word [ebp - 0x2c], dx
mov eax, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov cl, 6
call fcn.1008ebb0
mov word [0x100c3090], ax
cmp dword [ebp - 0x88], 0
je 0x10034f42
movzx eax, byte [0x100c3063]
mov dword [ebp - 0x218], eax
jmp 0x10034f4f
movsx ecx, word [0x100c3118]
mov dword [ebp - 0x218], ecx
mov dx, word [ebp - 0x218]
mov word [0x100c30fc], dx
mov eax, dword [ebp - 0xe0]
add eax, 0x57c
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0xd4], 0
jmp 0x10034f89
mov ecx, dword [ebp - 0xd4]
add ecx, 1
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0x1d2
jge 0x1003529c
mov edx, 1
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 0x12]
movzx ecx, word [0x100c30a0]
imul eax, ecx
mov byte [ebp - 0x12], al
movsx edx, byte [0x100c3075]
add edx, 0xf
mov dword [0x100c310c], edx
push 0
push 0x45
mov eax, dword [0x100c30bc]
push eax
mov ecx, dword [0x100c30b8]
push ecx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3090]
cdq
add eax, ecx
mov word [0x100c3090], ax
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [ebp - 0x7c]
sub ecx, eax
mov eax, dword [ebp - 0x78]
sbb eax, edx
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x54c]
or ecx, dword [ebp - 0x548]
jne 0x10035025
mov edx, 1
mov word [ebp - 0x94], dx
jmp 0x1003502e
xor eax, eax
mov word [ebp - 0x94], ax
mov cx, word [ebp - 0x94]
mov word [0x100c30a0], cx
movzx edx, word [0x100c30a0]
sub edx, 0x20c5809
xor eax, eax
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x21c], 0
je 0x1003507b
cmp dword [ebp - 0x21c], 1
je 0x10035106
jmp 0x10035285
movsx edx, byte [0x100c3027]
movzx eax, word [0x100c30e0]
xor edx, eax
movsx ecx, byte [0x100c3027]
add ecx, edx
mov byte [0x100c3027], cl
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x44]
shl ecx, 5
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x6c]
sub eax, 0x2751c928
xor ecx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, eax
sub ecx, dword [0x100c3080]
mov eax, dword [ebp - 0x28]
cdq
sub eax, ecx
mov dword [ebp - 0x28], eax
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0
push 0x40ac3f84
push eax
push edx
call fcn.1008eb70
mov edx, dword [ebp - 0x38]
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x38], edx
jmp 0x10035285
mov eax, 8
imul ecx, eax, 0xd
mov edx, dword [ecx + 0x1017a1f0]
mov dword [0x100c30f8], edx
cmp dword [ebp - 0x88], 0
je 0x10035137
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], ecx
jmp 0x10035147
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], edx
mov dx, word [ebp - 0x390]
mov word [0x100c30a0], dx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], ecx
mov edx, dword [ebp - 0x554]
or edx, dword [ebp - 0x550]
jne 0x10035186
mov dword [ebp - 0x220], 1
jmp 0x10035190
mov dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x50]
not eax
add eax, dword [ebp - 0x220]
mov esi, eax
xor edi, edi
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
or ecx, dword [0x100c3080]
or edx, dword [0x100c3084]
add esi, ecx
adc edi, edx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov edx, dword [0x100c30d0]
mov ebx, dword [0x100c30d4]
push ebx
push edx
push ecx
push eax
call fcn.1008eb70
push 0
push 0
push edx
push eax
call fcn.1008eb70
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x55c]
or eax, dword [ebp - 0x558]
jne 0x10035215
mov dword [ebp - 0x224], 1
jmp 0x1003521f
mov dword [ebp - 0x224], 0
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x64], ecx
movsx eax, word [0x100c3090]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100c3080]
adc esi, dword [0x100c3084]
movsx eax, word [0x100c3090]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c3090], ax
mov edx, 2
imul eax, edx, 0x5604
movzx ecx, word [eax + 0x1012a7c0]
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
mov eax, 1
imul ecx, eax, 6
mov dl, byte [0x100c3075]
mov byte [ecx + 0x10118b3c], dl
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x10034f7a
mov edx, dword [ebp - 0x22c]
imul edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x228]
imul eax, dword [ebp - 0x3d8]
imul edx, eax
imul ecx, dword [ebp - 0x22c], 0x86
cmp edx, ecx
je 0x10035532
imul edx, dword [ebp - 0x28], 0xf75965a8
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
sub eax, 0xc262
sbb ecx, 0
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], ecx
movzx eax, word [ebp - 0x2c]
cdq
sub eax, 0x32e4e826
sbb edx, 0xde0be
push edx
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1008eb70
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [0x100c3075]
cdq
add eax, 0x619f0137
mov word [0x100c3090], ax
movsx eax, word [0x100c3118]
cdq
mov ecx, eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x7e4], eax
sub ecx, edx
movsx eax, word [0x100c3118]
cdq
sub eax, ecx
mov word [0x100c3118], ax
movzx eax, word [ebp - 0x18]
not eax
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
push 0
push 0
push 0
push 0
movzx eax, byte [0x100c303b]
cdq
push edx
push eax
mov edx, dword [ebp - 0x44]
xor eax, eax
push eax
push edx
call fcn.100502f0
add esp, 0x20
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10035528
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x564], edx
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x564]
or ecx, dword [ebp - 0x560]
je 0x100353f6
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x56c], edx
mov dword [ebp - 0x568], eax
mov ecx, dword [ebp - 0x56c]
or ecx, dword [ebp - 0x568]
jne 0x10035401
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0x28]
jne 0x10035471
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
sub eax, 0xbdaa825a
sbb ecx, 0x99191
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
mov edx, dword [0x100c3080]
sub edx, 0xabf9
mov dword [0x100c3108], edx
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
movsx dx, byte [0x100c3027]
mov word [0x100c30e0], dx
mov eax, dword [0x100c3b38]
mov dword [0x100c30f8], eax
jmp 0x10035528
mov ecx, dword [ebp - 0x84]
or ecx, dword [ebp - 0x80]
jne 0x10035488
mov dword [ebp - 0x230], 1
jmp 0x10035492
mov dword [ebp - 0x230], 0
mov ecx, dword [0x100c30f0]
not ecx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x7e8], eax
sub ecx, edx
movzx eax, word [ebp - 0x18]
imul eax, dword [ebp - 0x230]
and eax, 0x2887
cdq
add ecx, eax
not ecx
mov word [0x100c30fc], cx
cmp dword [ebp - 0x38], 0
jne 0x100354db
mov dword [ebp - 0x234], 1
jmp 0x100354e5
mov dword [ebp - 0x234], 0
movzx eax, byte [0x100c3063]
cdq
mov ecx, eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x7ec], eax
sub ecx, edx
movsx edx, byte [str.NDisablePerfBackoff]
mov eax, dword [ebp - 0x234]
sub eax, edx
cdq
add ecx, eax
mov dword [ebp - 0x50], ecx
movzx eax, byte [ebp - 0x11]
imul ecx, eax, 0xf2
mov word [0x100c30a0], cx
mov eax, 1
jmp 0x10036443
jmp 0x100357b2
movsx edx, word [0x100c308c]
test edx, edx
je 0x100356b7
movzx eax, byte [0x100c3063]
test eax, eax
je 0x1003560c
mov ecx, dword [ebp - 0x7c]
or ecx, dword [ebp - 0x78]
je 0x1003560c
mov byte [0x100c303b], 0xb9
mov edx, 1
imul eax, edx, 0x2a14
movsx ecx, byte [eax + 0x1019d9b0]
movzx edx, word [0x100c30b0]
add edx, ecx
mov word [0x100c30b0], dx
movsx eax, word [0x100c308c]
movsx ecx, word [0x100c30fc]
add eax, ecx
jne 0x100355b0
xor edx, edx
mov dword [ebp - 0x398], 1
mov dword [ebp - 0x394], edx
jmp 0x100355bb
xorps xmm0, xmm0
movlpd qword [ebp - 0x398], xmm0
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
movsx edx, byte [str.NDisablePerfBackoff]
sub edx, 0xb6
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x7f0], edx
mov eax, 2
imul edx, eax, 0x26
mov word [edx + 0x101928b8], cx
jmp 0x100356b2
mov eax, dword [ebp - 0x6c]
cdq
add eax, 0xc2cd217d
mov word [0x100c308c], ax
xor eax, eax
mov dword [0x100c30f0], 1
mov dword [0x100c30f4], eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x7f4], edx
add ecx, 0x255b0113
mov byte [0x100c3063], cl
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1003565e
mov dword [ebp - 0x238], 1
jmp 0x10035668
mov dword [ebp - 0x238], 0
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov eax, dword [ebp - 0x64]
xor eax, 0x24f8
movsx edx, byte [0x100c3027]
imul edx, dword [ebp - 0x238]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
movzx eax, byte [ebp - 0x11]
imul eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
jmp 0x100357b2
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100357b2
cmp dword [0x100c30f8], 0
jne 0x100356d8
mov dword [ebp - 0x23c], 1
jmp 0x100356e2
mov dword [ebp - 0x23c], 0
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x574], edx
mov dword [ebp - 0x570], eax
mov ecx, dword [ebp - 0x574]
or ecx, dword [ebp - 0x570]
jne 0x10035713
mov dword [ebp - 0x240], 1
jmp 0x1003571d
mov dword [ebp - 0x240], 0
movzx eax, word [0x100c30a0]
not eax
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, word [0x100c30e0]
add eax, 0xc
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x18]
mov edx, dword [ebp - 0x23c]
sub edx, dword [ebp - 0x240]
not edx
add eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov byte [ebp - 0x13], al
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x68], 8
movzx eax, word [ebp - 0x18]
shl eax, 4
cdq
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov eax, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov cl, 6
call fcn.1008ebb0
mov byte [ebp - 0x11], al
xor ecx, ecx
mov byte [ebp - 0x8b], cl
lea edx, [ebp - 0xf14]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x8b]
call fcn.10003240
mov ecx, eax
call fcn.100020d0
push eax
call fcn.1002bbe0
add esp, 0xc
test eax, eax
je 0x100363be
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x6c], ecx
movzx eax, byte [0x100c3062]
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
movzx edx, word [ebp - 0x18]
imul eax, edx, 0x77f7
mov word [ebp - 0x1c], ax
movsx ecx, word [0x100c3088]
sar ecx, 3
mov byte [0x100c3075], cl
mov edx, 2
mov word [0x100c30a0], dx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], ecx
mov edx, dword [ebp - 0x57c]
or edx, dword [ebp - 0x578]
jne 0x10035862
mov dword [ebp - 0x244], 1
jmp 0x1003586c
mov dword [ebp - 0x244], 0
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
not eax
not ecx
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp - 0x54]
and esi, eax
and edi, ecx
imul eax, dword [ebp - 0x244], 0x24e2
cdq
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], edx
mov edx, dword [ebp - 0x584]
or edx, dword [ebp - 0x580]
jne 0x100358c7
xor eax, eax
mov dword [ebp - 0x3a0], 1
mov dword [ebp - 0x39c], eax
jmp 0x100358d2
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a0], xmm0
movsx eax, byte [0x100c3075]
movzx ecx, word [ebp - 0x18]
add eax, ecx
cdq
add eax, dword [ebp - 0x7c]
adc edx, dword [ebp - 0x78]
xor eax, dword [ebp - 0x3a0]
xor edx, dword [ebp - 0x39c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, word [0x100c3118]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c3118], ax
mov edx, dword [0x100c30b8]
or edx, dword [0x100c30bc]
je 0x10035938
movsx eax, byte [0x100c3075]
mov dword [ebp - 0x2b0], eax
jmp 0x10035941
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x2b0], ecx
mov eax, dword [ebp - 0x2b0]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov edx, dword [ebp - 0x34]
xor edx, 0x8c
mov eax, dword [ebp - 0x30]
xor eax, 0
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100c3118]
movzx edx, byte [ebp - 0x12]
xor ecx, edx
movsx eax, word [0x100c3118]
and eax, ecx
mov word [0x100c3118], ax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x7f8], edx
add ecx, 0x5148
movzx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xd8], eax
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x594], ecx
mov dword [ebp - 0x590], esi
mov edx, dword [ebp - 0x588]
cmp edx, dword [ebp - 0x590]
jg 0x100359fb
jl 0x100359ef
mov eax, dword [ebp - 0x58c]
cmp eax, dword [ebp - 0x594]
jae 0x100359fb
mov dword [ebp - 0x24c], 1
jmp 0x10035a05
mov dword [ebp - 0x24c], 0
movzx ecx, byte [ebp - 0x11]
cmp ecx, 0x14
jge 0x10035a1a
mov dword [ebp - 0x250], 1
jmp 0x10035a24
mov dword [ebp - 0x250], 0
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x250]
jne 0x10035b1a
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
push 0xb40be
push 0xc7a92d9f
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x38], eax
movsx edx, word [0x100c3090]
test edx, edx
je 0x10035a74
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], ecx
jmp 0x10035a86
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a8]
mov dword [ebp - 0x68], ecx
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
call fcn.1008ebb0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0xd6c61
push 0x983a6f55
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movsx ecx, word [0x100c30fc]
imul eax, ecx, 0x56c354b
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push eax
push edx
mov ecx, dword [0x100c30bc]
push ecx
mov edx, dword [0x100c30b8]
push edx
call fcn.1008eb70
mov ecx, dword [0x100c30b8]
sub ecx, eax
mov eax, dword [0x100c30bc]
sbb eax, edx
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], eax
jmp 0x10035d3d
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x10035c23
movsx edx, word [ebp - 0x20]
sar edx, 3
mov word [0x100c30b0], dx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
add ecx, eax
adc esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
mov eax, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov cl, 5
call fcn.1008ebb0
mov word [0x100c30e0], ax
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
not ecx
not esi
mov eax, dword [ebp - 0x6c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30f0]
xor ecx, 0x7b
mov esi, dword [0x100c30f4]
xor esi, 0
sub eax, ecx
sbb edx, esi
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movzx edx, byte [0x100c3062]
test edx, edx
je 0x10035bd6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x254], eax
jmp 0x10035be3
movsx ecx, byte [str.NDisablePerfBackoff]
mov dword [ebp - 0x254], ecx
mov dl, byte [ebp - 0x254]
mov byte [0x100c303b], dl
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
add edx, ecx
adc eax, esi
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
jmp 0x10035d3d
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
not ecx
not esi
movsx eax, byte [str.NDisablePerfBackoff]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x598], edx
mov edx, dword [ebp - 0x59c]
or edx, dword [ebp - 0x598]
je 0x10035d3d
movzx eax, byte [0x100c3062]
cmp eax, dword [0x100c30f8]
jne 0x10035d3d
movzx eax, byte [0x100c3062]
cdq
sub eax, 0x81d94335
mov byte [0x100c3063], al
mov ecx, dword [0x100c3080]
or ecx, dword [0x100c3084]
je 0x10035ca8
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
jmp 0x10035cba
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
mov cx, word [ebp - 0x3b0]
mov word [0x100c3118], cx
push 0xf43c4
push 0xa9ec3259
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1008eb70
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x5a0], edx
mov eax, dword [ebp - 0x5a4]
or eax, dword [ebp - 0x5a0]
je 0x10035d14
mov eax, dword [ebp - 0x6c]
cdq
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], edx
jmp 0x10035d26
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
mov edx, dword [ebp - 0xd8]
add edx, 0x510
mov dword [ebp - 0x270], edx
movzx eax, word [0x100c30e0]
cmp dword [0x100c3108], eax
jle 0x10035ec3
mov ecx, dword [0x100c310c]
cmp dword [ebp - 0x28], ecx
jne 0x10035d79
mov dword [ebp - 0x258], 1
jmp 0x10035d83
mov dword [ebp - 0x258], 0
cmp dword [ebp - 0x28], 8
jne 0x10035d95
mov dword [ebp - 0x25c], 1
jmp 0x10035d9f
mov dword [ebp - 0x25c], 0
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x25c]
jg 0x10035dbc
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
mov word [ebp - 0x2c], ax
jmp 0x10035ebe
cmp dword [ebp - 0x28], 0
jne 0x10035de6
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x5ac]
or edx, dword [ebp - 0x5a8]
je 0x10035ebe
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], edx
mov edx, dword [ebp - 0x5b4]
or edx, dword [ebp - 0x5b0]
jne 0x10035e23
mov dword [ebp - 0x260], 1
jmp 0x10035e2d
mov dword [ebp - 0x260], 0
imul eax, dword [ebp - 0x38], 0
xor eax, dword [ebp - 0x260]
jne 0x10035e45
mov dword [ebp - 0x264], 1
jmp 0x10035e4f
mov dword [ebp - 0x264], 0
movzx ecx, byte [0x100c3063]
movzx edx, word [ebp - 0x24]
not edx
imul ecx, edx
movzx eax, word [0x100c30e0]
mov edx, 0xe6
sub edx, eax
not edx
or ecx, edx
xor ecx, dword [ebp - 0x264]
mov dword [0x100c30f8], ecx
xor eax, eax
mov dword [0x100c30f0], 0xcb08de3e
mov dword [0x100c30f4], eax
mov eax, dword [0x100c30f0]
mov edx, dword [0x100c30f4]
mov cl, 7
call fcn.1008ebb0
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x34]
sub ecx, dword [0x100c30f0]
mov word [0x100c308c], cx
movsx edx, word [ebp - 0x20]
add edx, dword [ebp - 0x44]
mov word [ebp - 0x20], dx
jmp 0x1003601b
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], ecx
mov edx, dword [0x100c30f0]
cmp edx, dword [ebp - 0x5bc]
jne 0x10035f67
mov eax, dword [0x100c30f4]
cmp eax, dword [ebp - 0x5b8]
jne 0x10035f67
movzx eax, word [0x100c30a0]
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
movsx cx, byte [ebp - 0x13]
mov edx, 2
imul eax, edx, 0x39e1
mov word [eax + 0x1016f650], cx
movsx eax, byte [0x100c3027]
cdq
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0x8794f113
push edx
push ecx
call fcn.1008eb70
mov word [0x100c3118], ax
push 0
push 0x5d6ddc4f
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x6c], eax
jmp 0x1003601b
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov ecx, dword [ebp - 0x68]
xor esi, esi
mov dword [ebp - 0x6a4], edx
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x5c4], ecx
mov dword [ebp - 0x5c0], esi
mov edx, dword [ebp - 0x6a4]
cmp edx, dword [ebp - 0x5c4]
jne 0x10035fab
mov eax, dword [ebp - 0x6a0]
cmp eax, dword [ebp - 0x5c0]
je 0x1003601b
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x50], ecx
movzx edx, byte [0x100c3063]
not edx
mov byte [0x100c3062], dl
mov eax, dword [0x100c30d8]
add eax, 0x59716df0
mov ecx, dword [0x100c30dc]
adc ecx, 0xc8f23
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, 1
imul eax, edx, 0x4e
movzx ecx, byte [eax + 0x10118b50]
mov dword [ebp - 0x88], ecx
push 0
push 0xec
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.1008eb70
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x20]
movzx edx, byte [ebp - 0x11]
imul ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0xd8]
add eax, 0x54b
mov dword [ebp - 0x3dc], eax
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x7fc], edx
add ecx, 0xbc48
mov byte [ebp - 0x13], cl
mov eax, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov cl, 8
call fcn.1008ec80
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov eax, 0x134b
mov word [0x100c3118], ax
movsx eax, word [0x100c3118]
sub eax, 0x81
cdq
or eax, dword [0x100c30f0]
or edx, dword [0x100c30f4]
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
xor ecx, ecx
mov dword [ebp - 0x74], 0x25738c26
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0xd8]
add edx, 0x750
mov dword [ebp - 0x26c], edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movzx eax, word [0x100c30a0]
cdq
mov dword [ebp - 0x5cc], ecx
mov dword [ebp - 0x5c8], esi
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], edx
mov edx, dword [ebp - 0x5c8]
cmp edx, dword [ebp - 0x5d0]
jl 0x100361a4
jg 0x100360fd
mov eax, dword [ebp - 0x5cc]
cmp eax, dword [ebp - 0x5d4]
jb 0x100361a4
movsx ecx, byte [0x100c3075]
sub ecx, 0x36
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x64], 0x307bab50
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
movzx eax, byte [ebp - 0x12]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
not eax
not edx
mov ecx, dword [ebp - 0x44]
xor esi, esi
mov edi, dword [0x100c3114]
sub ecx, dword [0x100c3110]
sbb esi, edi
mov edi, dword [0x100c3120]
mov ebx, dword [0x100c3124]
not edi
not ebx
sub ecx, edi
sbb esi, ebx
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x64]
cdq
add eax, 0xa9e2b26e
adc edx, 0x319bd
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dx, word [0x100c308c]
mov word [0x100c3090], dx
push 0
push 0x867c5fac
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.1008eb70
mov dword [0x100c310c], eax
jmp 0x10036252
cmp dword [ebp - 0x88], 0
jne 0x100361b9
mov dword [ebp - 0x268], 1
jmp 0x100361c3
mov dword [ebp - 0x268], 0
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x44], edx
movzx eax, byte [0x100c3062]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movzx eax, byte [0x100c3062]
cdq
add eax, ecx
mov byte [0x100c3062], al
mov edx, 2
imul eax, edx, 0x3f
movzx ecx, word [eax + 0x100c3b40]
movzx edx, byte [0x100c3063]
sub edx, ecx
mov byte [0x100c3063], dl
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x800], edx
xor eax, ecx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x34]
not edx
and ecx, edx
movsx eax, word [0x100c3088]
cdq
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x804], esi
xor edx, eax
add ecx, edx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x26c]
imul eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
add ecx, dword [ebp - 0x270]
sub eax, ecx
cmp dword [ebp - 0x3dc], eax
je 0x100363be
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
add ecx, eax
adc esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
cdq
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [ebp - 0x6c]
cdq
sub eax, ecx
mov dword [ebp - 0x6c], eax
movzx eax, byte [0x100c303b]
add eax, 0xab
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x5d8], eax
mov ecx, dword [ebp - 0x5dc]
or ecx, dword [ebp - 0x5d8]
jne 0x10036318
xor edx, edx
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], edx
jmp 0x10036323
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b8], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
and eax, dword [ebp - 0x2b8]
and ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov eax, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov cl, 2
call fcn.1008ebb0
mov byte [ebp - 0x11], al
mov cl, byte [ebp - 0x11]
sub cl, 1
mov byte [ebp - 0x11], cl
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov ecx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x40]
sbb eax, ecx
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x808], eax
sub edx, 0x5b
mov byte [0x100c3075], dl
mov eax, 1
jmp 0x10036443
mov byte [ebp - 0x13], 0x8f
mov ecx, dword [0x100c3108]
xor ecx, 0xae96b6c5
mov byte [0x100c3027], cl
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
xor ecx, eax
xor esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
mov edx, dword [ebp - 0x6c]
sar edx, 6
mov word [0x100c3088], dx
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret