Function at 0x10048330
Capabilities:
Accept command line arguments
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aae0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x780
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x72c], ecx
mov word [ebp - 0x370], ax
mov dword [ebp - 0x70], 0x3345f396
mov edx, 0xffffb7a0
mov word [ebp - 0x18], dx
xor eax, eax
mov dword [ebp - 0x30], 0x22d26b75
mov dword [ebp - 0x2c], eax
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
xor ecx, ecx
mov dword [ebp - 0x60], 0x3b78
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x728], eax
mov byte [ebp - 0x12], dl
xor ecx, ecx
mov dword [ebp - 0x38], 0x603e5660
mov dword [ebp - 0x34], ecx
mov dx, word [0x100c3088]
mov word [ebp - 0x20], dx
mov dword [ebp - 0x64], 0x49a09f2e
xor eax, eax
mov dword [ebp - 0x58], 0xa8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x6c], 0xd0d7b0db
xor ecx, ecx
mov dword [ebp - 0x84], 3
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x48], 0x2b2123bf
mov byte [ebp - 0x13], 0x9c
mov edx, dword [0x100c30d8]
mov eax, dword [0x100c30dc]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x7c], 0x9b
xor ecx, ecx
mov dword [ebp - 0x78], 0xc34bde4f
mov dword [ebp - 0x74], ecx
mov byte [ebp - 0x11], 0xa6
movsx edx, word [0x100c3090]
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x68], 0x413c
mov ax, word [0x100c30fc]
mov word [ebp - 0x1c], ax
movzx cx, byte [0x100c3063]
mov word [ebp - 0x24], cx
mov dx, word [0x100c30a0]
mov word [ebp - 0x28], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x724], ecx
mov dword [ebp - 0x44], eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x720], eax
mov byte [ebp - 0x99], dl
mov cx, word [0x100c3118]
mov word [ebp - 0x374], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x71c], eax
mov byte [ebp - 0xd1], dl
mov ecx, dword [0x100c30f8]
mov dword [ebp - 0x718], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x754], eax
mov dword [ebp - 0x750], edx
mov dl, byte [0x100c30a0]
mov byte [ebp - 0x9a], dl
mov al, byte [0x100c30a0]
mov byte [ebp - 0xd3], al
mov ecx, 0x51e
mov word [ebp - 0x378], cx
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x758], edx
mov edx, 0xfffff59e
mov word [ebp - 0x37c], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], ecx
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], edx
mov dl, byte [0x100c3062]
mov byte [ebp - 0xd2], dl
mov dword [ebp - 0x714], 0xd5
mov dword [ebp - 0x710], 0x72
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x770], ecx
movzx edx, byte [0x100c303b]
mov dword [ebp - 0x70c], edx
movzx ecx, byte [ebp - 0x11]
movsx eax, byte [0x100c3075]
xor ecx, eax
mov dl, byte [ebp - 0x11]
shl dl, cl
mov byte [ebp - 0x11], dl
mov eax, dword [0x100c30b8]
add eax, 0x2b49
mov dword [0x100c310c], eax
xor ecx, ecx
mov dword [0x100c30e8], 0x6ac0
mov dword [0x100c30ec], ecx
push 0
push 0xe9
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1008eb70
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov ecx, dword [ebp - 0x68]
sub ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x68]
imul edx, ecx
mov dword [ebp - 0x68], edx
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xa0], eax
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov ecx, dword [0x100c30f0]
or ecx, dword [0x100c30f4]
jne 0x10048629
mov dword [ebp - 0x240], 1
jmp 0x10048633
mov dword [ebp - 0x240], 0
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x398]
or ecx, dword [ebp - 0x394]
jne 0x1004866c
xor edx, edx
mov dword [ebp - 0x2fc], 1
mov dword [ebp - 0x2f8], edx
jmp 0x10048677
xorps xmm0, xmm0
movlpd qword [ebp - 0x2fc], xmm0
mov eax, dword [0x100c30d4]
mov ecx, dword [ebp - 0x40]
sub ecx, dword [0x100c30d0]
mov edx, dword [ebp - 0x3c]
sbb edx, eax
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x2fc]
sub esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2f8]
sbb edi, eax
add ecx, esi
adc edx, edi
mov dword [ebp - 0x3a0], ecx
mov dword [ebp - 0x39c], edx
mov ecx, dword [ebp - 0x3a0]
or ecx, dword [ebp - 0x39c]
jne 0x100486c8
mov dword [ebp - 0x244], 1
jmp 0x100486d2
mov dword [ebp - 0x244], 0
movzx edx, byte [0x100c303b]
add edx, dword [ebp - 0x240]
or edx, dword [ebp - 0x244]
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10048704
xor ecx, ecx
mov dword [ebp - 0x3a8], 1
mov dword [ebp - 0x3a4], ecx
jmp 0x1004870f
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a8], xmm0
movsx eax, byte [ebp - 0x12]
cdq
add eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x3a8]
xor edx, dword [ebp - 0x40]
sub eax, edx
mov word [0x100c3090], ax
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x708], edx
add eax, ecx
mov byte [0x100c3075], al
imul eax, dword [ebp - 0x68], 0xf3f9
mov dword [ebp - 0x6c], eax
movsx ecx, word [ebp - 0x18]
sub ecx, 0x1b
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0xa0]
add edx, 0x68a
mov dword [ebp - 0x380], edx
cmp dword [ebp - 0x68], 0
je 0x1004880f
jmp 0x10048799
jmp 0x100487cd
jmp 0x100487fc
jmp 0x1004880d
jmp 0x10048872
movzx eax, word [ebp - 0x1c]
cmp eax, dword [ebp - 0x6c]
ja 0x10048872
movsx ecx, word [0x100c3118]
movsx edx, word [ebp - 0x20]
sub ecx, edx
movsx eax, word [0x100c3118]
add eax, ecx
mov word [0x100c3118], ax
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c3080], ecx
mov dword [0x100c3084], edx
mov eax, dword [0x100c30d8]
sub eax, 0xbe1ea7c4
mov byte [0x100c3075], al
movsx ecx, byte [0x100c3027]
imul eax, ecx, 0x84a0
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x64], 0x6c
mov edx, dword [ebp - 0xa0]
add edx, 0x737
mov dword [ebp - 0xac], edx
movsx eax, byte [str.NDisablePerfBackoff]
test eax, eax
je 0x100488f5
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movsx eax, word [0x100c3088]
sub eax, 0x54
mov dword [ebp - 0x70], eax
xor ecx, ecx
mov edx, dword [0x100c30f0]
sub edx, dword [ebp - 0x88]
mov eax, dword [0x100c30f4]
sbb eax, ecx
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movzx ecx, byte [0x100c3062]
sub ecx, 0x1f09083e
mov dword [0x100c30f8], ecx
jmp 0x100489f4
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3b0]
or ecx, dword [ebp - 0x3ac]
jne 0x10048926
mov dword [ebp - 0x248], 1
jmp 0x10048930
mov dword [ebp - 0x248], 0
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x10048944
mov dword [ebp - 0x24c], 1
jmp 0x1004894e
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x24c]
jle 0x100489f4
movsx ecx, byte [0x100c3027]
movsx edx, byte [ebp - 0x12]
imul ecx, edx
mov byte [0x100c3027], cl
mov dword [ebp - 0x48], 0x91
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x704], edx
sub ecx, 0xd2133f8a
movzx eax, word [0x100c30e0]
cdq
sub eax, ecx
mov word [0x100c30e0], ax
movsx eax, word [0x100c308c]
xor eax, 0xfc
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x5c]
sbb edx, eax
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3b8]
or eax, dword [ebp - 0x3b4]
jne 0x100489e1
mov byte [ebp - 0x89], 1
jmp 0x100489e8
mov byte [ebp - 0x89], 0
mov cl, byte [ebp - 0x89]
mov byte [0x100c3075], cl
mov edx, dword [ebp - 0xa0]
add edx, 0x5d8
mov dword [ebp - 0x11c], edx
movzx eax, word [0x100c30a0]
mov ecx, dword [ebp - 0x70]
imul ecx, eax
mov edx, dword [ebp - 0x70]
imul edx, ecx
mov dword [ebp - 0x70], edx
mov eax, dword [0x100c30b8]
xor eax, 0x938fbe2a
mov ecx, dword [0x100c30bc]
xor ecx, 0x1c96
mov edx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
push ecx
push eax
push esi
push edx
call fcn.1008eb70
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
add eax, 0x7f3edb06
adc edx, 0x554d5
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, 0xa67251e2
sub ecx, eax
mov esi, 0x2c8b
sbb esi, edx
movsx eax, word [ebp - 0x18]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x88]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c30b0], ax
mov edx, dword [ebp - 0x68]
add edx, 0xd7d7
mov word [0x100c3118], dx
xor eax, eax
mov dword [ebp - 0x78], 0xd
mov dword [ebp - 0x74], eax
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 0x12], 3
movsx edx, word [0x100c308c]
imul eax, edx, 0xa2
mov word [ebp - 0x28], ax
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
and ecx, eax
and esi, edx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
and edx, ecx
and eax, esi
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], eax
mov ecx, dword [ebp - 0x60]
add ecx, 0xbcfe2ba8
movzx eax, word [0x100c30b0]
cdq
add eax, ecx
mov word [0x100c30b0], ax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
sub edx, 0xb6fafd70
sbb eax, 0x5f19d
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov eax, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov cl, 3
call fcn.1008ebb0
mov word [ebp - 0x28], ax
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
push 0
push 0x2a87
push edx
push ecx
call fcn.1008eb70
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [ebp - 0x12]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 3
ja case.default.0x10048bac
mov ecx, dword [ebp - 0xdc]
jmp dword [ecx*4 + 0x1004e538]
movzx edx, word [ebp - 0x1c]
add edx, 0xb948
movzx eax, byte [ebp - 0x13]
xor eax, edx
mov byte [ebp - 0x13], al
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x700], edx
sub ecx, dword [ebp - 0x58]
add eax, ecx
mov dword [ebp - 0x64], eax
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x68]
sub edx, 0x27b7
mov dword [0x100c3108], edx
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
jmp case.default.0x10048bac
movzx edx, byte [0x100c303b]
add edx, 0x67
mov dword [0x100c3108], edx
movzx eax, word [ebp - 0x28]
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
movzx ecx, byte [0x100c3062]
add ecx, 0x4907e75f
movsx edx, word [0x100c30fc]
sub edx, ecx
mov word [0x100c30fc], dx
movzx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x18]
add eax, ecx
mov word [ebp - 0x1c], ax
jmp case.default.0x10048bac
movzx edx, byte [0x100c3063]
test edx, edx
je 0x10048c8c
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], ecx
jmp 0x10048ca3
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x28]
sub eax, 0x4f72
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
movsx eax, word [0x100c3090]
test eax, eax
je 0x10048ce8
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
jmp 0x10048d00
mov ecx, dword [0x100c3080]
mov edx, dword [0x100c3084]
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], ecx
movsx edx, word [0x100c3088]
mov eax, dword [ebp - 0x48]
sub eax, edx
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
mov edx, dword [0x100c30c8]
mov ebx, dword [0x100c30cc]
push ebx
push edx
push ecx
push eax
call fcn.1008eb70
sub esi, eax
sbb edi, edx
not esi
not edi
movzx eax, word [0x100c30e0]
movzx ecx, byte [0x100c3063]
add eax, ecx
mov edx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x44]
sub eax, edx
xor ecx, ecx
xor esi, eax
xor edi, ecx
mov dword [0x100c3120], esi
mov dword [0x100c3124], edi
movzx edx, word [ebp - 0x28]
add edx, 0xb2c
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 2
call fcn.1008ebd0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp case.default.0x10048bac
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x100c30a0]
sub eax, ecx
cdq
mov ecx, dword [0x100c3114]
add eax, dword [0x100c3110]
adc edx, ecx
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
not ecx
not esi
add ecx, dword [0x100c3080]
adc esi, dword [0x100c3084]
mov edi, dword [0x100c30ac]
sub ecx, dword [0x100c30a8]
sbb esi, edi
sub eax, ecx
sbb edx, esi
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movzx eax, byte [0x100c3062]
xor eax, 0x91
cdq
mov ecx, dword [0x100c3080]
sub ecx, eax
mov eax, dword [0x100c3084]
sbb eax, edx
mov dword [0x100c3080], ecx
mov dword [0x100c3084], eax
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [0x100c3100], ecx
mov dword [0x100c3104], edx
mov eax, 2
imul ecx, eax, 0xd
movsx edx, word [ecx + 0x1017a490]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x58]
sub eax, 0xf44
mov ecx, dword [ebp - 0x54]
sbb ecx, 0
add eax, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x6c]
xor eax, eax
mov ecx, dword [0x100c3080]
not ecx
mov esi, dword [0x100c3084]
not esi
add edx, ecx
adc eax, esi
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
adc esi, dword [ebp - 0x5c]
not ecx
not esi
add edx, ecx
adc eax, esi
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], eax
mov edx, dword [ebp - 0xa4]
add edx, 0x769
mov dword [ebp - 0x390], edx
mov ecx, 6
mov esi, str.SdbAppVendor
lea edi, [ebp - 0x790]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x790]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0xa4]
add ecx, 0x5ff
mov dword [ebp - 0x1cc], ecx
mov edx, 0x4ca5
mov word [0x100c308c], dx
mov eax, 0x32b8b
mov dword [ebp - 0x38], 0xe6fabee3
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3c0]
or eax, dword [ebp - 0x3bc]
je 0x10048f2c
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xe0], ecx
jmp 0x10048f35
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xe0], edx
mov ax, word [ebp - 0xe0]
mov word [0x100c30b0], ax
push 0
push 0x7f
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.1008eb70
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]
movzx edx, word [0x100c30e0]
sub ecx, edx
movsx eax, word [0x100c3118]
imul eax, ecx
mov word [0x100c3118], ax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x728
mov dword [ebp - 0x6fc], ecx
call dword [sym.imp.USER32.dll_GetCapture]
mov byte [0x100c303b], al
movzx edx, byte [0x100c303b]
test edx, edx
je 0x1004911a
movzx eax, word [ebp - 0x24]
movzx ecx, word [0x100c30a0]
cmp eax, ecx
je 0x1004905f
movsx edx, byte [str.NDisablePerfBackoff]
xor edx, dword [0x100c30f8]
movsx eax, byte [str.NDisablePerfBackoff]
sub eax, edx
mov byte [str.NDisablePerfBackoff], al
movzx eax, byte [0x100c3063]
cdq
add eax, dword [ebp - 0x60]
mov byte [0x100c3063], al
movzx ecx, word [0x100c30e0]
sub ecx, 0x46e128a6
xor edx, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
movsx eax, word [0x100c3118]
cdq
push edx
push eax
mov eax, dword [0x100c30dc]
push eax
mov ecx, dword [0x100c30d8]
push ecx
call fcn.1008eb70
push edx
push eax
mov edx, dword [0x100c30dc]
push edx
mov eax, dword [0x100c30d8]
push eax
call fcn.1008eb70
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movzx ecx, byte [ebp - 0x13]
imul edx, ecx, 0x4787
mov word [0x100c30a0], dx
jmp 0x10049118
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1004909d
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
not ecx
not edx
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c8]
or eax, dword [ebp - 0x3c4]
je 0x1004909d
mov dword [ebp - 0xe4], 0
jmp 0x100490a7
mov dword [ebp - 0xe4], 1
cmp dword [ebp - 0xe4], 0
jl 0x10049118
movsx ecx, byte [0x100c3027]
add ecx, 0xf3ea23e
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100c30b8]
add eax, 0x250cd693
mov dword [0x100c30f8], eax
movsx ecx, byte [ebp - 0x12]
add ecx, 0xf35
mov word [0x100c308c], cx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
xor edx, dword [0x100c30d0]
xor eax, dword [0x100c30d4]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx ecx, byte [ebp - 0x11]
movsx edx, word [ebp - 0x18]
sub ecx, edx
mov byte [0x100c303b], cl
jmp 0x1004918b
mov dword [ebp - 0x7c], 0x72
movzx eax, byte [0x100c3062]
test eax, eax
jne 0x10049138
mov dword [ebp - 0xe8], 1
jmp 0x10049142
mov dword [ebp - 0xe8], 0
movsx ecx, word [0x100c3088]
add ecx, dword [ebp - 0xe8]
jne 0x10049165
xor edx, edx
mov dword [ebp - 0x2f4], 1
mov dword [ebp - 0x2f0], edx
jmp 0x10049170
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f4], xmm0
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, 1
mov word [ebp - 0x1c], ax
movsx cx, byte [0x100c3075]
mov word [0x100c30fc], cx
movsx edx, byte [0x100c3075]
test edx, edx
jne 0x100491ba
mov dword [ebp - 0xec], 1
jmp 0x100491c4
mov dword [ebp - 0xec], 0
movsx eax, word [0x100c3118]
movsx ecx, word [0x100c3090]
sub ecx, dword [ebp - 0xec]
imul eax, ecx
not eax
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov dx, word [0x100c3b38]
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x6c]
mov word [ebp - 0x24], ax
movzx eax, byte [0x100c303b]
cdq
sub eax, dword [ebp - 0x60]
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x6f8], edx
sub ecx, eax
mov dword [ebp - 0x68], ecx
mov eax, dword [0x100c3108]
cdq
sub eax, 0x4db60ae7
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x1004924c
cmp dword [ebp - 0xf0], 1
je 0x10049315
jmp 0x10049406
xor ecx, ecx
mov dword [ebp - 0x30], 0x7ff6
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x6f4], eax
sub edx, 0xca3f666e
mov byte [0x100c303b], dl
movsx eax, word [0x100c3088]
sub eax, 0x8034
cdq
push edx
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.1008eb70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x88]
mov esi, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x6f0], edx
not esi
mov eax, dword [0x100c30f8]
not eax
cdq
sub esi, eax
sub ecx, esi
not ecx
movsx eax, word [0x100c3118]
mov edx, dword [ebp - 0x6c]
imul edx, eax
mov esi, edx
mov eax, dword [ebp - 0x44]
not eax
cdq
mov edx, dword [0x100c30f0]
sub edx, eax
sub esi, edx
add ecx, esi
mov byte [ebp - 0x12], cl
mov eax, dword [ebp - 0x70]
not eax
movsx ecx, word [0x100c308c]
sub eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x10049406
movzx edx, byte [0x100c3062]
imul edx, dword [0x100c30f8]
test edx, edx
jne 0x1004933b
xor eax, eax
mov dword [ebp - 0x2ec], 1
mov dword [ebp - 0x2e8], eax
jmp 0x10049346
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ec], xmm0
movzx eax, word [0x100c30b0]
cdq
add eax, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov ecx, dword [ebp - 0x2ec]
sub ecx, eax
mov esi, dword [ebp - 0x2e8]
sbb esi, edx
mov edi, dword [0x100c3100]
mov ebx, dword [0x100c3104]
add edi, dword [ebp - 0x60]
adc ebx, dword [ebp - 0x5c]
movzx eax, word [ebp - 0x28]
cdq
add edi, eax
adc ebx, edx
sub ecx, edi
sbb esi, ebx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
mov edx, dword [0x100c3108]
add edx, 0xd6
mov byte [0x100c3063], dl
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x100493c5
movsx eax, byte [0x100c3027]
cdq
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e0], edx
jmp 0x100493d7
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x2e0], edx
mov al, byte [ebp - 0x2e4]
mov byte [str.NDisablePerfBackoff], al
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6ec], eax
add edx, 0xfae48f00
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x7c]
add eax, 0x93
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
xor ecx, eax
xor esi, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
movzx edx, byte [0x100c3062]
imul eax, edx, 0x6cd7
cdq
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100c30f8]
mov ecx, dword [0x100c3108]
lea edx, [ecx + eax - 0x6954832a]
mov dword [0x100c3108], edx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov edx, dword [0x100c30f4]
push edx
mov edx, dword [0x100c30f0]
push edx
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3d0]
or edx, dword [ebp - 0x3cc]
je 0x100494d9
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], ecx
jmp 0x100494ed
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], edx
mov dl, byte [ebp - 0x2dc]
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xa8], 0
jmp 0x1004951b
mov eax, dword [ebp - 0xa8]
add eax, 2
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x305
jge 0x10049540
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x18], ax
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
jmp 0x1004950c
mov dword [ebp - 0x6e8], 0
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x48]
jbe 0x1004955e
mov dword [ebp - 0xf4], 1
jmp 0x10049568
mov dword [ebp - 0xf4], 0
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d8]
or eax, dword [ebp - 0x3d4]
jne 0x100495a2
xor ecx, ecx
mov dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2d0], ecx
jmp 0x100495ad
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d4], xmm0
mov edx, dword [ebp - 0x58]
not edx
mov eax, dword [ebp - 0x54]
not eax
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x3dc]
cmp ecx, dword [ebp - 0x2d0]
jb 0x100495ed
ja 0x100495e1
mov edx, dword [ebp - 0x3e0]
cmp edx, dword [ebp - 0x2d4]
jbe 0x100495ed
mov dword [ebp - 0xf8], 1
jmp 0x100495f7
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xf8]
jge 0x10049624
jmp 0x10049611
jmp 0x10049624
mov dword [ebp - 0x6e4], 0
mov eax, dword [ebp - 0x64]
cdq
add eax, 0xd1993ca2
mov dword [ebp - 0x64], eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x6e0], edx
sub ecx, 0x7c67
mov dword [0x100c310c], ecx
movzx eax, word [0x100c30a0]
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov dword [ebp - 0x70], ecx
xor edx, edx
mov dword [ebp - 0x30], 0x72694cf0
mov dword [ebp - 0x2c], edx
movzx eax, word [0x100c30a0]
mov ecx, dword [ebp - 0x70]
sub ecx, eax
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x6dc], 0
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [0x100c30f4]
ja 0x100496cf
jb 0x100496c3
mov ecx, dword [ebp - 0x3e8]
cmp ecx, dword [0x100c30f0]
ja 0x100496cf
mov dword [ebp - 0xfc], 1
jmp 0x100496d9
mov dword [ebp - 0xfc], 0
movsx edx, byte [str.NDisablePerfBackoff]
cmp edx, 0x4d
jg 0x100496f1
mov dword [ebp - 0x100], 1
jmp 0x100496fb
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x100]
je 0x100498a9
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3f0]
or eax, dword [ebp - 0x3ec]
je 0x100497c9
xor ecx, ecx
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x6d8], eax
mov ecx, 4
imul eax, ecx, 0x1f
mov dword [eax + 0x1013f080], edx
mov byte [ebp - 0x12], 0x90
mov ecx, dword [0x100c3108]
mov dword [ebp - 0x6c], ecx
mov edx, dword [0x100c30d8]
or edx, dword [0x100c30dc]
jne 0x10049791
xor eax, eax
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2c8], eax
jmp 0x1004979c
xorps xmm0, xmm0
movlpd qword [ebp - 0x2cc], xmm0
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x2cc]
mov esi, dword [ebp - 0x3c]
sbb esi, dword [ebp - 0x2c8]
mov eax, dword [0x100c3108]
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
jmp 0x100498a4
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x3f8], edx
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3f8]
or ecx, dword [ebp - 0x3f4]
je 0x10049823
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
not edx
not eax
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x400]
or ecx, dword [ebp - 0x3fc]
je 0x10049823
mov dword [ebp - 0x104], 1
jmp 0x1004982d
mov dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 1
jl 0x100498a4
mov edx, dword [ebp - 0x48]
add edx, 0x760edd92
mov dword [0x100c3108], edx
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x6d4], edx
sub eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x100c3104]
add eax, dword [0x100c3100]
adc ecx, edx
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
and edx, eax
and esi, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], esi
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [ebp - 0x80]
push ecx
mov ecx, dword [ebp - 0x84]
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x100499ac
xor edx, edx
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, dword [0x100c310c]
sbb esi, edx
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov esi, eax
not esi
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x6d0], eax
not edx
mov edi, dword [ebp - 0x84]
sub edi, edx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
push edx
push eax
push ebx
push ecx
call fcn.1008eb70
not eax
add edi, eax
not edi
and esi, edi
mov word [0x100c308c], si
movsx edx, byte [0x100c3075]
add edx, 0x74
mov dword [ebp - 0x44], edx
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1004992e
mov cx, word [0x100c30fc]
mov word [ebp - 0x8c], cx
jmp 0x1004993c
mov dx, word [0x100c3088]
mov word [ebp - 0x8c], dx
movsx eax, word [ebp - 0x8c]
mov dword [0x100c3108], eax
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
sub ecx, 0x1c07
sbb edx, 0
mov eax, dword [0x100c3098]
mov esi, dword [0x100c309c]
sub eax, ecx
sbb esi, edx
mov dword [0x100c3098], eax
mov dword [0x100c309c], esi
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, byte [str.NDisablePerfBackoff]
cdq
add eax, ecx
mov byte [str.NDisablePerfBackoff], al
mov dword [ebp - 0x64], 8
xorps xmm0, xmm0
movlpd qword [0x100c30b8], xmm0
movzx edx, word [0x100c30a0]
movzx eax, word [0x100c30a0]
sub edx, eax
movzx ecx, word [0x100c30a0]
sub ecx, edx
mov word [0x100c30a0], cx
movzx edx, word [ebp - 0x1c]
movzx eax, word [0x100c30a0]
xor edx, eax
movzx ecx, word [ebp - 0x1c]
sub ecx, edx
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x40]
sub edx, dword [0x100c30f0]
mov eax, dword [ebp - 0x3c]
sbb eax, dword [0x100c30f4]
mov ecx, dword [ebp - 0x40]
sub ecx, edx
mov edx, dword [ebp - 0x3c]
sbb edx, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, word [0x100c3118]
sub eax, 0x2f
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov eax, 0xffff92d9
mov word [ebp - 0x18], ax
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c30a0], ax
mov edx, dword [0x100c30b8]
mov eax, dword [0x100c30bc]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x408]
or ecx, dword [ebp - 0x404]
je 0x10049a7c
jmp 0x10049b02
movzx eax, byte [0x100c3062]
cdq
add eax, 0xf0f00cb8
adc edx, 0x90e8f
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
mov dword [ebp - 0x48], 0xab
movzx edx, word [ebp - 0x1c]
imul eax, edx, 0x167f
mov word [ebp - 0x20], ax
mov ecx, 8
mov word [0x100c3118], cx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
xor edx, 0x4c886af4
xor eax, 0xe5999
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
add ecx, edx
adc esi, eax
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x6cc], eax
add edx, 0x450e26ec
mov dword [ebp - 0x64], edx
movzx ecx, byte [0x100c3063]
cmp ecx, dword [0x100c3108]
jle 0x10049b1d
mov dword [ebp - 0x108], 1
jmp 0x10049b27
mov dword [ebp - 0x108], 0
movzx edx, byte [0x100c3063]
cmp edx, 0x2c
jle 0x10049b3f
mov dword [ebp - 0x10c], 1
jmp 0x10049b49
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x108]
cmp eax, dword [ebp - 0x10c]
jne 0x10049c56
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x410]
or eax, dword [ebp - 0x40c]
je 0x10049bb4
mov ecx, 0x6c00b
mov dword [0x100c30b8], 0xee9ddbbc
mov dword [0x100c30bc], ecx
mov edx, dword [0x100c3080]
sub edx, 0x30e0814b
mov eax, dword [0x100c3084]
sbb eax, 0
mov dword [0x100c30e8], edx
mov dword [0x100c30ec], eax
jmp 0x10049c56
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], edx
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x54]
ja 0x10049c56
jb 0x10049be1
mov edx, dword [ebp - 0x418]
cmp edx, dword [ebp - 0x58]
ja 0x10049c56
movzx eax, word [0x100c30a0]
add eax, 5
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x40]
add ecx, 0x34
mov edx, dword [ebp - 0x3c]
adc edx, 0
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
movzx eax, byte [ebp - 0x11]
movsx ecx, word [0x100c308c]
sub eax, ecx
mov byte [ebp - 0x11], al
movzx edx, word [ebp - 0x24]
shl edx, 5
mov dword [ebp - 0x44], edx
movzx eax, word [0x100c30b0]
movsx ecx, word [0x100c30fc]
add eax, ecx
movzx edx, word [0x100c30b0]
xor edx, eax
mov word [0x100c30b0], dx
mov ax, word [ebp - 0x24]
mov ecx, 2
imul edx, ecx, 0xd4f
mov word [edx + 0x1013f1e8], ax
jmp 0x10049c5d
jmp 0x10049c75
jmp 0x10049c86
movsx eax, byte [0x100c3027]
test eax, eax
je 0x10049d85
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x10049d80
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, dword [0x100c30c4]
add eax, dword [0x100c30c0]
adc edx, ecx
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
mov edx, dword [ebp - 0x420]
or edx, dword [ebp - 0x41c]
jne 0x10049cd9
mov dword [ebp - 0x110], 1
jmp 0x10049ce3
mov dword [ebp - 0x110], 0
movsx eax, word [0x100c3090]
not eax
imul eax, eax, 0xffff9fe1
xor eax, dword [ebp - 0x110]
cdq
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x6c8], edx
add ecx, dword [0x100c3080]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x6c4], esi
and ecx, edx
not ecx
xor eax, ecx
mov word [0x100c30a0], ax
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
add eax, 1
adc ecx, 0
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
mov edx, dword [ebp - 0x44]
shl edx, 2
mov dword [0x100c30f8], edx
mov eax, dword [0x100c3080]
mov ecx, 4
imul edx, ecx, 0xae
mov dword [edx + 0x10123e40], eax
mov ax, word [ebp - 0x84]
mov ecx, 2
imul edx, ecx, 0x1015
mov word [edx + 0x1013f1e8], ax
jmp 0x10049ec6
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x58]
jne 0x10049dbb
mov ecx, dword [ebp - 0x424]
cmp ecx, dword [ebp - 0x54]
jne 0x10049dbb
mov dword [ebp - 0x114], 1
jmp 0x10049dc5
mov dword [ebp - 0x114], 0
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], edx
mov edx, dword [ebp - 0x42c]
cmp edx, dword [ebp - 0x3c]
ja 0x10049dfd
jb 0x10049df1
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x40]
ja 0x10049dfd
mov dword [ebp - 0x118], 1
jmp 0x10049e07
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x114]
cmp ecx, dword [ebp - 0x118]
jl 0x10049ec6
movzx eax, byte [ebp - 0x13]
cdq
push 0x7046b
push 0xb44fdc14
push edx
push eax
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6c0], eax
mov ecx, 1
imul eax, ecx, 0x5e
mov byte [eax + 0x100c3c18], dl
movsx eax, byte [0x100c3027]
cdq
push 0xd688
push 0xc1dab55
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov ecx, 4
imul edx, ecx, 0x72
mov eax, dword [edx + 0x10123e40]
xor ecx, ecx
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
movsx eax, byte [ebp - 0x12]
cdq
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x6bc], ecx
sub eax, edx
mov byte [ebp - 0x12], al
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0
push 0x51f0
push eax
push edx
call fcn.1008eb70
mov word [0x100c30e0], ax
xor ecx, ecx
mov byte [ebp - 0x8a], cl
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8a]
call fcn.10002550
mov ecx, eax
call fcn.100020b0
push eax
push 0
push 0
call fcn.100015d0
add esp, 8
call eax
mov dword [ebp - 0x90], eax
push 0
push 0xfc
mov edx, dword [0x100c30bc]
push edx
mov eax, dword [0x100c30b8]
push eax
call fcn.1008eb70
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x6b8], edx
sub eax, ecx
mov dword [ebp - 0x44], eax
movzx eax, byte [0x100c3063]
test eax, eax
jne 0x10049f56
xor ecx, ecx
mov dword [ebp - 0x2c4], 1
mov dword [ebp - 0x2c0], ecx
jmp 0x10049f61
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c4], xmm0
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
push eax
push edx
mov ecx, dword [ebp - 0x2c0]
push ecx
mov edx, dword [ebp - 0x2c4]
push edx
call fcn.1008eb70
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x64]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov esi, eax
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
not ecx
not edi
movsx eax, word [0x100c308c]
cdq
sub ecx, eax
sbb edi, edx
movzx eax, byte [0x100c3062]
movsx edx, word [0x100c3090]
add eax, edx
cdq
push edx
push eax
push edi
push ecx
call fcn.1008eb70
sub esi, eax
mov word [0x100c308c], si
mov eax, 0x1b38d
mov dword [ebp - 0x38], 0x823e3c3c
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x11c]
sub ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0xac]
imul edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x11c]
imul edx, eax
cmp ecx, edx
je 0x1004ac12
mov ecx, dword [ebp - 0x88]
xor edx, edx
push edx
push ecx
call fcn.1004e550
add esp, 8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
mov edx, dword [ebp - 0x438]
or edx, dword [ebp - 0x434]
je 0x1004a1b5
mov dword [ebp - 0xb0], 0x3b
movzx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x7c]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, byte [0x100c3062]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x84]
movzx eax, byte [0x100c3062]
cdq
add eax, ecx
mov byte [0x100c3062], al
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
add edx, ecx
adc eax, esi
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
xor ecx, ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
add edx, dword [ebp - 0x6c]
adc eax, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], edx
mov eax, dword [0x100c310c]
add eax, dword [0x100c30b8]
mov dword [0x100c310c], eax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov eax, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
push esi
push eax
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
movsx eax, word [0x100c3088]
sub eax, 0x685b
cdq
push edx
push eax
mov edx, dword [0x100c30dc]
push edx
mov eax, dword [0x100c30d8]
push eax
call fcn.1008eb70
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, dword [0x100c3110]
mov esi, dword [0x100c3114]
push esi
push eax
push edx
push ecx
call fcn.1008eb70
mov dword [0x100c310c], eax
movzx eax, byte [ebp - 0x13]
sub eax, 0x112a2e8a
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100c3075]
cdq
push 0x5e228
push 0x24fd12c
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0x1939
jl 0x1004a0e4
jmp 0x1004a23a
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x444], esi
mov edx, dword [ebp - 0x440]
cmp edx, dword [ebp - 0x448]
jne 0x1004a1fb
mov eax, dword [ebp - 0x43c]
cmp eax, dword [ebp - 0x444]
je 0x1004a23a
xor ecx, ecx
mov dword [0x100c3110], 0x8496a310
mov dword [0x100c3114], ecx
mov edx, 4
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [ebp - 0x44]
cdq
add eax, ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x88]
xor eax, eax
sub edx, 0x2bf9d233
sbb eax, 0x1be8
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
add ecx, 0x4fdba75e
movsx eax, word [0x100c3118]
cdq
or eax, ecx
mov word [0x100c3118], ax
xor edx, edx
mov dword [ebp - 0x30], 0xb9a6
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], ecx
movzx eax, word [ebp - 0x28]
cdq
push 0xe90af
push 0x4394d903
push edx
push eax
call fcn.1008eb70
mov byte [str.NDisablePerfBackoff], al
cmp dword [ebp - 0x90], 0
jne 0x1004ac12
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x58]
movzx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
movzx eax, word [0x100c30b0]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
add ecx, eax
adc esi, edx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
add edx, ecx
adc eax, esi
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
push 0xbf061
push 0x1f6208ca
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x58]
and eax, 0xa536
mov ecx, dword [ebp - 0x54]
and ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov dx, word [0x100c30a0]
sub dx, 1
mov word [0x100c30a0], dx
mov eax, 0xf00ca
mov dword [0x100c3098], 0x752d5370
mov dword [0x100c309c], eax
mov dword [ebp - 0xcc], 0
jmp 0x1004a36d
mov ecx, dword [ebp - 0xcc]
add ecx, 2
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0x3cf
jge 0x1004a5b9
mov edx, dword [0x100c30d8]
or edx, dword [0x100c30dc]
je 0x1004a512
push 0xdb
call fcn.1004f040
add esp, 4
mov byte [0x100c3075], al
movsx eax, byte [0x100c3075]
test eax, eax
jg 0x1004a50d
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x450]
or eax, dword [ebp - 0x44c]
je 0x1004a462
movsx eax, word [0x100c3090]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
movsx eax, byte [0x100c3027]
sub eax, 0x5ec758de
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
add ecx, dword [ebp - 0x84]
adc edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x84]
sub eax, ecx
mov ecx, dword [ebp - 0x80]
sbb ecx, edx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov edx, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x6b0], ecx
add eax, edx
mov byte [str.NDisablePerfBackoff], al
mov byte [0x100c3075], 2
jmp 0x1004a50d
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x1004a481
movsx eax, word [0x100c308c]
test eax, eax
je 0x1004a481
mov dword [ebp - 0x120], 0
jmp 0x1004a48b
mov dword [ebp - 0x120], 1
movsx ecx, byte [ebp - 0x12]
movzx edx, word [0x100c30a0]
cmp ecx, edx
jl 0x1004a4a6
mov dword [ebp - 0x124], 1
jmp 0x1004a4b0
mov dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x120]
not eax
cmp eax, dword [ebp - 0x124]
jge 0x1004a50d
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x6ac], edx
add ecx, dword [ebp - 0x58]
add eax, ecx
mov word [0x100c30e0], ax
movsx eax, word [0x100c30fc]
sub eax, 0xef
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x13], 8
mov dword [ebp - 0x6c], 0xca
jmp 0x1004a596
mov ecx, dword [0x100c310c]
xor edx, edx
mov eax, dword [0x100c3084]
push eax
mov eax, dword [0x100c3080]
push eax
push edx
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c310c]
sub ecx, eax
mov dword [0x100c310c], ecx
movsx eax, word [0x100c3090]
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
xor edx, dword [0x100c3080]
xor eax, dword [0x100c3084]
mov dword [0x100c30e8], edx
mov dword [0x100c30ec], eax
movsx ecx, word [0x100c30fc]
movsx edx, word [0x100c3118]
sub ecx, edx
movsx eax, word [0x100c30fc]
sub eax, ecx
mov word [0x100c30fc], ax
mov dword [ebp - 0x70], 0x94
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
add ecx, 1
adc edx, 0
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], edx
jmp 0x1004a35e
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xbc], eax
movsx ecx, word [ebp - 0x18]
sar ecx, 8
mov word [ebp - 0x24], cx
movzx edx, word [0x100c30a0]
movsx eax, word [ebp - 0x18]
add edx, eax
movzx ecx, word [0x100c30a0]
and ecx, edx
mov word [0x100c30a0], cx
movsx eax, word [0x100c30fc]
cdq
mov edx, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x6a8], ecx
sub eax, edx
mov word [0x100c30fc], ax
mov edx, dword [ebp - 0x70]
sub edx, 0xfe
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0xbc]
add eax, 0x561
mov dword [ebp - 0x130], eax
push 0x5d
movzx ecx, byte [0x100c3080]
push ecx
movzx edx, byte [str.NDisablePerfBackoff]
push edx
call fcn.10052870
add esp, 0xc
movsx eax, al
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x100c30e0]
test eax, eax
je 0x1004a7b7
movzx ecx, byte [0x100c3062]
cmp dword [ebp - 0x48], ecx
jne 0x1004a76c
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x6a4], eax
mov ecx, 1
imul eax, ecx, 0xa3
mov byte [eax + 0x10118be8], dl
mov ecx, dword [ebp - 0x68]
shr ecx, 2
xor edx, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], edx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x458]
or edx, dword [ebp - 0x454]
jne 0x1004a6de
xor eax, eax
mov dword [ebp - 0x460], 1
mov dword [ebp - 0x45c], eax
jmp 0x1004a6e9
xorps xmm0, xmm0
movlpd qword [ebp - 0x460], xmm0
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x6a0], edx
not ecx
and ecx, dword [ebp - 0x460]
movsx eax, word [ebp - 0x20]
imul eax, dword [ebp - 0x48]
cdq
sub ecx, eax
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x6b4], eax
sub edx, 0x52c71ab1
mov eax, dword [0x100c30f0]
not eax
sub eax, 0x418b
xor edx, eax
sub ecx, edx
mov byte [0x100c3063], cl
mov dword [0x100c3108], 4
movsx ecx, word [0x100c3090]
movzx edx, word [ebp - 0x24]
sub ecx, edx
movzx eax, word [ebp - 0x28]
movsx edx, byte [0x100c3027]
add eax, edx
xor ecx, eax
add ecx, dword [ebp - 0x70]
mov byte [0x100c303b], cl
jmp 0x1004a7b7
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x44]
mov dword [0x100c3108], edx
movzx eax, byte [0x100c3062]
xor eax, dword [ebp - 0x48]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x730], edx
sub ecx, 0x2887a3c3
mov word [ebp - 0x28], cx
movzx eax, word [ebp - 0x28]
not eax
movzx ecx, word [ebp - 0x1c]
add eax, ecx
mov word [0x100c3090], ax
mov edx, dword [ebp - 0xbc]
add edx, 0x54c
mov dword [ebp - 0x734], edx
mov dword [ebp - 0xb8], 0x3f
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
sub eax, dword [ebp - 0x40]
sbb ecx, dword [ebp - 0x3c]
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
cmp dword [ebp - 0x44], 0
jne 0x1004a801
mov dword [ebp - 0x128], 1
jmp 0x1004a80b
mov dword [ebp - 0x128], 0
imul edx, dword [ebp - 0x128], 0
mov dword [ebp - 0x48], edx
mov eax, dword [0x100c30f8]
cdq
sub eax, 0xa9481cc7
mov byte [ebp - 0x12], al
movzx eax, byte [0x100c303b]
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
push 0x9ae51
push 0x83bcf8af
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
movsx eax, word [0x100c3118]
cdq
push edx
push eax
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3098], ecx
mov dword [0x100c309c], esi
mov edx, 2
imul eax, edx, 0x3279
movsx eax, word [eax + 0x1013f1e8]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
mov edx, 2
imul eax, edx, 0x32
movsx eax, word [eax + 0x1017a490]
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x738], eax
add ecx, edx
mov dword [ebp - 0x88], ecx
mov ecx, 0x6197
mov word [0x100c3088], cx
mov edx, dword [ebp - 0xb8]
add edx, 1
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0xf25
jl 0x1004a884
mov eax, dword [ebp - 0xbc]
add eax, 0x55b
mov dword [ebp - 0x73c], eax
push 0
push 0xd6
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 - 0x468], ecx
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x468]
or eax, dword [ebp - 0x464]
je 0x1004aaf8
movzx ecx, word [0x100c30b0]
test ecx, ecx
je 0x1004aa7b
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov ecx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x50]
adc eax, ecx
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
sub ecx, edx
sbb esi, eax
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
sub edx, 0x8579
sbb eax, 0
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
and ecx, eax
and esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x740], edx
sub ecx, 0x59219eda
movsx eax, byte [0x100c3075]
cdq
and eax, ecx
mov byte [0x100c3075], al
mov ecx, dword [ebp - 0x84]
add ecx, 0x27713327
movzx eax, byte [ebp - 0x11]
cdq
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x744], esi
sub eax, edx
not eax
add ecx, eax
not ecx
mov dword [ebp - 0x44], ecx
jmp 0x1004aaf8
movsx eax, byte [0x100c3075]
not eax
mov byte [0x100c3027], al
mov ecx, dword [ebp - 0x84]
or ecx, dword [ebp - 0x80]
je 0x1004aaa2
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x12c], edx
jmp 0x1004aaad
mov eax, dword [0x100c3108]
mov dword [ebp - 0x12c], eax
mov cl, byte [ebp - 0x12c]
mov byte [0x100c303b], cl
xor edx, edx
mov dword [0x100c30b8], 0x72
mov dword [0x100c30bc], edx
movsx eax, byte [str.NDisablePerfBackoff]
imul ecx, eax, 0xf6
mov word [ebp - 0x1c], cx
movsx eax, word [0x100c30fc]
cdq
sub eax, 0x4503f6d9
sbb edx, 0xc87fa
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x130]
add edx, 0x2c7
cmp edx, dword [ebp - 0x130]
je 0x1004ac12
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movsx edx, word [0x100c3090]
test edx, edx
jne 0x1004ab3d
xor eax, eax
mov dword [ebp - 0x478], 1
mov dword [ebp - 0x474], eax
jmp 0x1004ab48
xorps xmm0, xmm0
movlpd qword [ebp - 0x478], xmm0
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x470]
or eax, dword [ebp - 0x46c]
jne 0x1004ab82
xor ecx, ecx
mov dword [ebp - 0x480], 1
mov dword [ebp - 0x47c], ecx
jmp 0x1004ab8d
xorps xmm0, xmm0
movlpd qword [ebp - 0x480], xmm0
mov ecx, dword [0x100c30b8]
sub ecx, dword [ebp - 0x478]
movsx eax, word [ebp - 0x20]
not eax
cdq
sub eax, 0x8ff2cc58
add ecx, eax
mov edx, dword [ebp - 0x480]
sub edx, dword [ebp - 0x60]
mov eax, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
mov dword [ebp - 0x748], esi
xor edx, eax
add ecx, edx
mov dword [ebp - 0x48], ecx
movzx ecx, word [0x100c30e0]
movsx edx, word [0x100c3088]
add ecx, edx
movzx eax, word [0x100c30e0]
imul eax, ecx
mov word [0x100c30e0], ax
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov eax, dword [ebp - 0x88]
mov dword [0x100c310c], eax
xor eax, eax
jmp 0x1004e526
movsx ecx, word [0x100c30fc]
test ecx, ecx
je 0x1004ac35
movsx edx, byte [0x100c3027]
test edx, edx
jne 0x1004ac35
xorps xmm0, xmm0
movlpd qword [ebp - 0x2bc], xmm0
jmp 0x1004ac47
xor eax, eax
mov dword [ebp - 0x2bc], 1
mov dword [ebp - 0x2b8], eax
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c30d4]
add eax, dword [0x100c30d0]
adc edx, ecx
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
mov edx, dword [ebp - 0x484]
cmp edx, dword [ebp - 0x2b8]
jb 0x1004ac90
ja 0x1004ac84
mov eax, dword [ebp - 0x488]
cmp eax, dword [ebp - 0x2bc]
jb 0x1004ac90
mov dword [ebp - 0x134], 1
jmp 0x1004ac9a
mov dword [ebp - 0x134], 0
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1004acdf
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1004acdf
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
not eax
not ecx
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x490]
or edx, dword [ebp - 0x48c]
jne 0x1004acdf
mov dword [ebp - 0x138], 0
jmp 0x1004ace9
mov dword [ebp - 0x138], 1
mov eax, dword [ebp - 0x134]
sub eax, dword [ebp - 0x138]
je 0x1004aef7
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
add ecx, 0xba
adc esi, 0
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x4a0], ecx
mov dword [ebp - 0x49c], esi
mov edx, dword [ebp - 0x494]
cmp edx, dword [ebp - 0x49c]
ja 0x1004ae2f
jb 0x1004ad54
mov eax, dword [ebp - 0x498]
cmp eax, dword [ebp - 0x4a0]
ja 0x1004ae2f
movsx eax, byte [0x100c3027]
add eax, 0x3405
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
movsx eax, word [0x100c30fc]
not eax
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], esi
mov edx, dword [ebp - 0x4a8]
or edx, dword [ebp - 0x4a4]
jne 0x1004ada6
mov dword [ebp - 0x13c], 1
jmp 0x1004adb0
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x48]
not eax
sub eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x13c]
mov byte [str.NDisablePerfBackoff], al
mov eax, dword [0x100c3108]
cdq
mov esi, eax
mov edi, edx
mov ecx, dword [0x100c30c4]
sub esi, dword [0x100c30c0]
sbb edi, ecx
not esi
not edi
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push eax
push edx
call fcn.1008eb70
xor esi, eax
xor edi, edx
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov word [ebp - 0x24], ax
movsx edx, word [0x100c3118]
movsx eax, word [ebp - 0x20]
imul edx, eax
mov word [0x100c3118], dx
jmp 0x1004aef2
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], edx
mov ecx, dword [0x100c3084]
cmp ecx, dword [ebp - 0x4ac]
ja 0x1004aef2
jb 0x1004ae67
mov edx, dword [0x100c3080]
cmp edx, dword [ebp - 0x4b0]
jae 0x1004aef2
movsx eax, byte [ebp - 0x12]
imul ecx, eax, 0x117e
mov word [0x100c308c], cx
mov edx, 0xd626
mov word [ebp - 0x28], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
push 0
push 0x7b
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x44]
add edx, 0x36
mov word [0x100c30fc], dx
mov ecx, dword [ebp - 0x60]
add ecx, 0x99f5
mov eax, dword [ebp - 0x7c]
cdq
add eax, ecx
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x70]
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]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
jmp 0x1004afe1
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov ecx, dword [ebp - 0x2c]
add edx, dword [ebp - 0x30]
adc eax, ecx
mov dword [0x100c30c0], edx
mov dword [0x100c30c4], eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
add edx, 0x8ec0
adc eax, 0
mov ecx, dword [ebp - 0x58]
sub ecx, edx
mov edx, dword [ebp - 0x54]
sbb edx, eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movzx eax, word [0x100c30a0]
test eax, eax
jne 0x1004af50
mov dword [ebp - 0x140], 1
jmp 0x1004af5a
mov dword [ebp - 0x140], 0
movsx ecx, word [0x100c30fc]
add ecx, 0xcc
sub ecx, dword [ebp - 0x140]
mov dword [ebp - 0x70], ecx
movsx edx, byte [str.NDisablePerfBackoff]
movsx eax, word [0x100c3088]
mov ecx, dword [ebp - 0x64]
imul ecx, eax
not ecx
lea edx, [edx + ecx - 0x2693]
test edx, edx
jne 0x1004af9d
mov dword [ebp - 0x144], 1
jmp 0x1004afa7
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov dword [0x100c3120], 8
mov dword [0x100c3124], ecx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
call fcn.10001540
add esp, 8
call eax
mov dword [ebp - 0xd8], eax
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x90]
push eax
push 0
push 0
call fcn.10001660
add esp, 8
call eax
mov dword [ebp - 0x1a0], eax
movsx eax, word [0x100c3088]
cdq
mov ecx, 0x3fa9c35
sub ecx, eax
mov byte [0x100c3075], cl
movsx eax, word [ebp - 0x20]
cdq
push edx
push eax
mov edx, dword [0x100c3084]
push edx
mov eax, dword [0x100c3080]
push eax
call fcn.1008eb70
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov ecx, dword [ebp - 0x84]
or ecx, dword [ebp - 0x80]
je 0x1004b08d
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], eax
jmp 0x1004b09d
mov eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], edx
mov cx, word [ebp - 0x2b4]
mov word [0x100c3088], cx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x74c], eax
mov byte [ebp - 0x11], dl
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x1a0], 0
jne 0x1004b892
movzx edx, word [ebp - 0x48]
push edx
movzx eax, word [ebp - 0x58]
push eax
push 0
call fcn.1004fd80
add esp, 0xc
mov byte [0x100c3063], al
movzx ecx, byte [0x100c3063]
test ecx, ecx
je 0x1004b24b
push 0
push 0
call fcn.1004e550
add esp, 8
mov byte [ebp - 0x12], al
movsx edx, byte [ebp - 0x12]
test edx, edx
jge 0x1004b17b
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x388], 0
cmp dword [ebp - 0x148], 0
je 0x1004b176
mov dword [ebp - 0x384], 1
mov eax, dword [ebp - 0x384]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x60c], eax
jmp 0x1004b24b
movzx ax, byte [0x100c3063]
mov ecx, 2
imul edx, ecx, 0x1d7
mov word [edx + 0x101241b8], ax
mov eax, 2
imul ecx, eax, 0x24
mov dx, word [ecx + 0x100c3b40]
mov word [ebp - 0x18], dx
movsx eax, byte [0x100c3075]
test eax, eax
je 0x1004b1cd
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], edx
jmp 0x1004b1e4
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp - 0x260]
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
mov ecx, dword [0x100c30b8]
add ecx, 0xfa
mov edx, dword [0x100c30bc]
adc edx, 0
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
add edx, ecx
adc eax, esi
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x4b8]
or eax, dword [ebp - 0x4b4]
je 0x1004b30d
mov ecx, dword [ebp - 0x40]
sub ecx, 0x81
mov edx, dword [ebp - 0x3c]
sbb edx, 0
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], edx
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
sub eax, 0x7f2cd963
sbb ecx, 0
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
movzx eax, byte [0x100c3063]
sub eax, 0xb395
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov edx, dword [ebp - 0x88]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call fcn.1008eb70
push edx
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, word [0x100c30a0]
movsx eax, word [ebp - 0x18]
imul edx, eax
mov word [0x100c30a0], dx
jmp 0x1004b3b0
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
add ecx, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov eax, dword [0x100c30d8]
sub eax, ecx
mov ecx, dword [0x100c30dc]
sbb ecx, edx
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], ecx
imul edx, dword [ebp - 0x48], 0x2f3a45bf
mov word [ebp - 0x1c], dx
mov eax, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov cl, 7
call fcn.1008ec80
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
push 0
push 0xd9e1
push ecx
push eax
call fcn.1008eb70
mov word [ebp - 0x18], ax
movsx edx, byte [ebp - 0x12]
xor edx, dword [ebp - 0x88]
xor eax, eax
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x12], al
jmp 0x1004b475
mov dword [ebp - 4], 0xffffffff
jmp 0x1004b485
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0x7c], 0x43
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add edx, 0x869c5c6a
adc eax, 0
mov ecx, 0xffffff23
sub ecx, edx
mov edx, 0xffffffff
sbb edx, eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movzx eax, word [0x100c30a0]
cdq
mov edx, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x610], ecx
not edx
mov ecx, dword [0x100c30d8]
sub ecx, edx
sub eax, ecx
mov word [ebp - 0x24], ax
movzx edx, word [0x100c30a0]
test edx, edx
je 0x1004b50a
mov eax, dword [0x100c310c]
mov dword [ebp - 0x14c], eax
jmp 0x1004b517
movzx ecx, word [0x100c30a0]
mov dword [ebp - 0x14c], ecx
mov dl, byte [ebp - 0x14c]
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x68]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0xc0]
add ecx, 0x85a
mov dword [ebp - 0x15c], ecx
movsx edx, byte [str.NDisablePerfBackoff]
mov eax, dword [ebp - 0x68]
add eax, edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
not ecx
not edx
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub eax, ecx
sbb esi, edx
push 0xffffffffffffffff
push 0xb68653e3
push esi
push eax
call fcn.1008eb70
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x100c30d8]
sub ecx, 0x69
mov word [ebp - 0x24], cx
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
sub edx, 1
sbb eax, 0
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
mov byte [ebp - 0x11], 0xd9
mov cl, byte [0x100c3b38]
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0xc0]
add edx, 0x656
mov dword [ebp - 0x614], edx
movzx eax, word [0x100c30e0]
cdq
push edx
push eax
push 0
push 0
movzx eax, word [0x100c30a0]
cdq
push edx
push eax
push 0
push 0
call fcn.100502f0
add esp, 0x20
mov dword [ebp - 0x70], eax
movsx eax, byte [0x100c3075]
cmp eax, dword [ebp - 0x44]
jne 0x1004b63d
cmp dword [ebp - 0x7c], 0
je 0x1004b623
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
not ecx
not edx
mov dword [ebp - 0x4c0], ecx
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4c0]
or eax, dword [ebp - 0x4bc]
je 0x1004b623
mov dword [ebp - 0x150], 1
jmp 0x1004b62d
mov dword [ebp - 0x150], 0
movsx ecx, word [ebp - 0x18]
cmp dword [ebp - 0x150], ecx
je 0x1004b70d
movzx edx, word [ebp - 0x1c]
imul eax, edx, 0xb3f0
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x618], ecx
mov byte [ebp - 0x12], al
cmp dword [ebp - 0x70], 0
jne 0x1004b674
mov dword [ebp - 0x154], 1
jmp 0x1004b67e
mov dword [ebp - 0x154], 0
movzx edx, byte [0x100c303b]
not edx
add edx, 0x587fe3a6
movzx eax, word [0x100c30a0]
sub edx, eax
mov ecx, edx
movzx eax, word [0x100c30b0]
cdq
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x61c], edx
sub esi, eax
mov eax, dword [ebp - 0x154]
sub eax, dword [ebp - 0x48]
cdq
add esi, eax
xor ecx, esi
mov byte [ebp - 0x12], cl
movzx eax, word [ebp - 0x28]
sub eax, 0x4364
mov word [0x100c3090], ax
movzx ecx, byte [0x100c3063]
mov edx, dword [ebp - 0x64]
sub edx, ecx
jne 0x1004b6e8
mov dword [ebp - 0x158], 1
jmp 0x1004b6f2
mov dword [ebp - 0x158], 0
movzx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x20]
sub eax, ecx
imul eax, dword [ebp - 0x158]
cdq
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0xc0]
add edx, 0x5b0
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x620], ecx
mov byte [0x100c303b], al
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 5
call fcn.1008ebd0
mov byte [0x100c3027], al
mov edx, dword [ebp - 0x6c]
mov eax, 1
imul ecx, eax, 0x2b
mov byte [ecx + 0x10192ba8], dl
mov edx, 2
imul eax, edx, 0xc8
movsx ecx, word [eax + 0x1017a490]
movsx edx, byte [0x100c3075]
add edx, ecx
mov byte [0x100c3075], dl
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 7
call fcn.1008ebb0
mov word [ebp - 0x28], ax
mov ax, word [ebp - 0x7c]
mov word [0x100c3088], ax
imul ecx, dword [ebp - 0xc4], 0x21a
imul ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x15c]
or edx, 0xe6
mov eax, dword [ebp - 0xc4]
sub eax, dword [ebp - 0x15c]
imul edx, eax
cmp ecx, edx
je 0x1004b892
movsx ecx, byte [0x100c3027]
and ecx, 0xfbe23346
xor edx, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], edx
mov eax, dword [ebp - 0x64]
sar eax, 4
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x88]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push ecx
push esi
push eax
call fcn.1008eb70
mov word [0x100c308c], ax
mov cx, word [0x100c3b38]
mov word [0x100c30b0], cx
movsx eax, word [0x100c3088]
movsx edx, word [0x100c3118]
add eax, edx
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x624], edx
mov edx, dword [ebp - 0x58]
sub edx, ecx
or eax, edx
mov word [0x100c3090], ax
mov eax, dword [ebp - 0xd8]
push eax
push 0
push 0
call fcn.100016c0
add esp, 8
call eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x628], eax
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x100c3098], eax
mov dword [0x100c309c], ecx
xor eax, eax
jmp 0x1004e526
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov ecx, dword [0x100c30d4]
sub edx, dword [0x100c30d0]
sbb eax, ecx
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movsx edx, word [ebp - 0x18]
imul edx, dword [ebp - 0x6c]
movsx eax, word [ebp - 0x18]
and eax, edx
mov word [ebp - 0x18], ax
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx ecx, byte [ebp - 0x13]
add ecx, 0xa6d6
mov dword [ebp - 0x6c], ecx
movzx eax, byte [ebp - 0x11]
cdq
add eax, dword [0x100c3080]
mov byte [ebp - 0x11], al
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], edx
mov dword [ebp - 0x4d0], ecx
mov dword [ebp - 0x4cc], esi
mov edx, dword [ebp - 0x4c4]
cmp edx, dword [ebp - 0x4cc]
jb 0x1004ba6a
ja 0x1004b961
mov eax, dword [ebp - 0x4c8]
cmp eax, dword [ebp - 0x4d0]
jbe 0x1004ba6a
mov dword [ebp - 0x70], 1
movzx ecx, word [ebp - 0x24]
shl ecx, 7
mov word [ebp - 0x20], cx
movsx edx, word [0x100c3090]
test edx, edx
jne 0x1004b98a
mov dword [ebp - 0x160], 1
jmp 0x1004b994
mov dword [ebp - 0x160], 0
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x1004b9a8
mov dword [ebp - 0x164], 1
jmp 0x1004b9b2
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x64], 0
jne 0x1004b9cc
xor ecx, ecx
mov dword [ebp - 0x2ac], 1
mov dword [ebp - 0x2a8], ecx
jmp 0x1004b9d7
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ac], xmm0
mov edx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x160]
mov ecx, edx
xor esi, esi
add ecx, 0x35957122
adc esi, 0x7c273
movsx eax, byte [ebp - 0x12]
sub eax, dword [ebp - 0x164]
cdq
mov edi, dword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
not edi
not ebx
sub edi, dword [ebp - 0x2ac]
sbb ebx, dword [ebp - 0x2a8]
add eax, edi
adc edx, ebx
not eax
not edx
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
movsx eax, word [ebp - 0x20]
sub eax, 0xb631
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movzx eax, word [0x100c30b0]
cdq
sub eax, 0xcd17510b
mov word [0x100c30a0], ax
movsx edx, byte [0x100c3027]
sub edx, 0x696a119a
mov dword [ebp - 0x64], edx
jmp 0x1004bb89
movsx eax, word [ebp - 0x18]
test eax, eax
je 0x1004bb0a
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [0x100c3110], ecx
mov dword [0x100c3114], edx
mov eax, dword [ebp - 0x70]
sub eax, 0xa7
xor ecx, ecx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
add ecx, eax
adc esi, edx
not ecx
not esi
movzx eax, word [ebp - 0x24]
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
mov dword [ebp - 0x64], 0x40f3
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
sub edx, dword [0x100c3080]
sbb eax, dword [0x100c3084]
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
add ecx, edx
adc esi, eax
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
jmp 0x1004bb89
movsx edx, word [0x100c3118]
test edx, edx
je 0x1004bb89
movzx eax, word [ebp - 0x28]
movzx ecx, byte [0x100c303b]
sub eax, ecx
movzx edx, word [ebp - 0x28]
add edx, eax
mov word [ebp - 0x28], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
push 0
push 0x14ca6278
push ecx
push eax
call fcn.1008eb70
mov byte [0x100c3063], al
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x62c], eax
mov word [0x100c3090], dx
movsx eax, word [ebp - 0x18]
sub eax, 0x44d779aa
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
add ecx, 0x11
adc edx, 0
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
push 4
push 0x3000
push 0x100000
push 0
push 0
push 0
call fcn.10001330
add esp, 8
call eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [0x100c3108]
ja 0x1004bbc2
mov dword [ebp - 0x16c], 1
jmp 0x1004bbcc
mov dword [ebp - 0x16c], 0
movsx eax, word [0x100c3090]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
mov dword [ebp - 0x4d8], eax
mov dword [ebp - 0x4d4], edx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x368], esi
mov edx, dword [ebp - 0x4d4]
cmp edx, dword [ebp - 0x368]
ja 0x1004bc22
jb 0x1004bc16
mov eax, dword [ebp - 0x4d8]
cmp eax, dword [ebp - 0x36c]
ja 0x1004bc22
mov dword [ebp - 0x168], 1
jmp 0x1004bc2c
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x168]
not ecx
add ecx, dword [ebp - 0x16c]
not ecx
test ecx, ecx
je 0x1004be9b
mov edx, 1
mov word [ebp - 0x20], dx
movzx eax, byte [0x100c303b]
test eax, eax
jne 0x1004bc64
mov dword [ebp - 0x170], 1
jmp 0x1004bc6e
mov dword [ebp - 0x170], 0
movzx ecx, word [ebp - 0x1c]
xor ecx, dword [ebp - 0x170]
mov dword [ebp - 0x48], ecx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov ecx, dword [0x100c30c4]
sub edx, dword [0x100c30c0]
sbb eax, ecx
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x4dc], eax
mov edx, dword [ebp - 0x4e0]
or edx, dword [ebp - 0x4dc]
jne 0x1004bcc2
xor eax, eax
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0x2a0], eax
jmp 0x1004bccd
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a4], xmm0
movzx eax, byte [ebp - 0x13]
cdq
xor eax, dword [0x100c3098]
xor edx, dword [0x100c309c]
mov ecx, dword [ebp - 0x2a0]
push ecx
mov ecx, dword [ebp - 0x2a4]
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x20], ax
mov edx, dword [0x100c3108]
sub edx, 0x274b1156
mov word [0x100c3090], dx
mov dword [ebp - 0x6c], 0x69
movzx eax, byte [0x100c3062]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
movsx edx, byte [ebp - 0x12]
mov dword [ebp - 0x7c], edx
movsx eax, word [ebp - 0x20]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 0
je 0x1004bd61
cmp dword [ebp - 0x174], 1
je 0x1004bdc0
jmp 0x1004be96
mov byte [str.NDisablePerfBackoff], 0x31
mov ecx, dword [0x100c30f0]
add ecx, 0x64
mov byte [0x100c3075], cl
mov eax, dword [0x100c3108]
cdq
sub eax, 0x18e9e0a6
mov byte [ebp - 0x13], al
mov edx, dword [0x100c30b8]
or edx, dword [0x100c30bc]
jne 0x1004bd9f
mov dword [ebp - 0x178], 1
jmp 0x1004bda9
mov dword [ebp - 0x178], 0
mov eax, 0x10650ee0
sub eax, dword [ebp - 0x178]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1004be96
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movsx eax, word [0x100c3088]
sub eax, 0x70028b53
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [ebp - 0x20]
movsx eax, word [0x100c308c]
add edx, eax
jne 0x1004be0b
xor ecx, ecx
mov dword [ebp - 0x4e8], 1
mov dword [ebp - 0x4e4], ecx
jmp 0x1004be16
xorps xmm0, xmm0
movlpd qword [ebp - 0x4e8], xmm0
movsx eax, byte [0x100c3075]
not eax
cdq
mov edx, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x630], ecx
add edx, dword [ebp - 0x4e8]
xor eax, edx
mov byte [ebp - 0x11], al
movzx edx, byte [ebp - 0x13]
mov eax, dword [ebp - 0x70]
imul eax, edx
mov dword [ebp - 0x70], eax
movzx ecx, byte [0x100c3062]
imul eax, ecx, 0xe3bf
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov edx, dword [0x100c310c]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call fcn.1008eb70
mov ecx, dword [ebp - 0x60]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
sbb eax, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
jmp 0x1004c233
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
movsx eax, word [0x100c3088]
cdq
mov dword [ebp - 0x4f0], ecx
mov dword [ebp - 0x4ec], esi
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], edx
mov edx, dword [ebp - 0x4f0]
cmp edx, dword [ebp - 0x4f8]
jne 0x1004beef
mov eax, dword [ebp - 0x4ec]
cmp eax, dword [ebp - 0x4f4]
jne 0x1004beef
mov dword [ebp - 0x17c], 1
jmp 0x1004bef9
mov dword [ebp - 0x17c], 0
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1004bf0d
mov dword [ebp - 0x180], 1
jmp 0x1004bf17
mov dword [ebp - 0x180], 0
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x180]
jne 0x1004bf31
mov dword [ebp - 0x184], 1
jmp 0x1004bf3b
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x184]
not eax
test eax, eax
je 0x1004bff7
movsx ecx, word [ebp - 0x20]
movzx edx, word [0x100c30b0]
add ecx, edx
mov word [ebp - 0x20], cx
movsx eax, byte [0x100c3075]
test eax, eax
jne 0x1004bf73
mov dword [ebp - 0x188], 1
jmp 0x1004bf7d
mov dword [ebp - 0x188], 0
movzx eax, word [ebp - 0x24]
movzx ecx, byte [ebp - 0x13]
xor eax, ecx
or eax, dword [ebp - 0x188]
movzx edx, byte [0x100c3062]
sub edx, dword [ebp - 0x64]
not edx
movzx ecx, byte [ebp - 0x11]
movsx esi, word [ebp - 0x18]
sub ecx, esi
imul edx, ecx
xor eax, edx
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x88], edx
imul eax, dword [0x100c310c], 0x3a
movsx ecx, word [0x100c308c]
sub ecx, eax
mov word [0x100c308c], cx
mov eax, dword [ebp - 0x48]
cdq
mov edx, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x634], ecx
add eax, edx
mov dword [ebp - 0x48], eax
jmp 0x1004c233
movzx edx, byte [ebp - 0x13]
test edx, edx
je 0x1004c011
cmp dword [ebp - 0x64], 0
je 0x1004c011
mov dword [ebp - 0x18c], 1
jmp 0x1004c01b
mov dword [ebp - 0x18c], 0
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c30f0]
not ecx
mov esi, dword [0x100c30f4]
not esi
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], edx
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x504], esi
mov edx, dword [ebp - 0x500]
cmp edx, dword [ebp - 0x508]
jne 0x1004c067
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x504]
je 0x1004c073
mov dword [ebp - 0x190], 1
jmp 0x1004c07d
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [ebp - 0x190]
jge 0x1004c0f3
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x638], eax
sub edx, 0x3aa4f93c
mov word [0x100c30fc], dx
mov cx, word [ebp - 0x20]
mov byte [0x100c3027], cl
movsx edx, byte [0x100c3027]
xor edx, 0x54
movzx eax, byte [ebp - 0x13]
mov ecx, dword [ebp - 0x6c]
imul ecx, eax
add edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x63c], eax
add ecx, edx
mov eax, dword [ebp - 0x44]
cdq
add eax, ecx
mov dword [ebp - 0x44], eax
jmp 0x1004c233
movzx ecx, word [0x100c30b0]
test ecx, ecx
jne 0x1004c10a
mov dword [ebp - 0x194], 1
jmp 0x1004c114
mov dword [ebp - 0x194], 0
mov edx, dword [0x100c310c]
cmp dword [0x100c3108], edx
je 0x1004c12e
mov dword [ebp - 0x198], 1
jmp 0x1004c138
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
jle 0x1004c233
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
jne 0x1004c164
mov dword [ebp - 0x19c], 1
jmp 0x1004c16e
mov dword [ebp - 0x19c], 0
movsx eax, word [ebp - 0x20]
movzx edx, word [ebp - 0x1c]
imul edx, dword [ebp - 0x19c]
imul eax, edx
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx eax, word [0x100c30b0]
cdq
mov ecx, eax
movzx eax, byte [ebp - 0x11]
cdq
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x640], esi
sub eax, edx
add ecx, eax
mov eax, dword [ebp - 0x44]
cdq
add eax, dword [ebp - 0x84]
mov edx, dword [0x100c3120]
mov esi, dword [0x100c3124]
mov dword [ebp - 0x644], esi
xor eax, edx
xor ecx, eax
mov dword [ebp - 0x70], ecx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [ebp - 0x648], ecx
and eax, 0x8d34
mov dword [ebp - 0x88], eax
push 0
push 0xd840
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x40]
push eax
call fcn.1008eb70
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x64c], edx
add ecx, 0xb8
mov eax, dword [0x100c30f8]
cdq
add eax, ecx
mov dword [0x100c30f8], eax
mov al, byte [0x100c3b38]
mov byte [0x100c3062], al
lea ecx, [ebp - 0x1c8]
push ecx
push 0x100000
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0x1a0]
push eax
push 0
push 0
call fcn.100014e0
add esp, 8
call eax
test eax, eax
je 0x1004c268
cmp dword [ebp - 0x1c8], 0
jne 0x1004c2df
movzx ecx, byte [0x100c3062]
movzx edx, byte [ebp - 0x11]
sub ecx, edx
movzx eax, byte [0x100c3062]
imul eax, ecx
mov byte [0x100c3062], al
movzx ecx, byte [0x100c3063]
movsx edx, word [0x100c30fc]
imul ecx, edx
mov dword [0x100c30f8], ecx
mov eax, dword [0x100c310c]
sub eax, 0x3da6439b
mov dword [0x100c3108], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [0x100c30d8]
mov edx, dword [ebp - 0x6c]
add edx, ecx
mov dword [ebp - 0x6c], edx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x650], ecx
mov edx, 1
imul ecx, edx, 0x2e
mov byte [ecx + 0x10118b50], al
jmp 0x1004cfc0
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x510], edx
mov dword [ebp - 0x50c], eax
mov ecx, dword [0x100c30f0]
cmp ecx, dword [ebp - 0x510]
jne 0x1004c31e
mov edx, dword [0x100c30f4]
cmp edx, dword [ebp - 0x50c]
jne 0x1004c31e
mov dword [ebp - 0x1a4], 1
jmp 0x1004c328
mov dword [ebp - 0x1a4], 0
cmp dword [0x100c30f0], 1
jne 0x1004c346
cmp dword [0x100c30f4], 0
jne 0x1004c346
mov dword [ebp - 0x1a8], 1
jmp 0x1004c350
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x1a8]
jl 0x1004c72c
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [0x100c3063]
cmp ecx, edx
jle 0x1004c37d
mov dword [ebp - 0x1ac], 1
jmp 0x1004c387
mov dword [ebp - 0x1ac], 0
movzx eax, byte [ebp - 0x13]
cmp eax, 0x10
jle 0x1004c39c
mov dword [ebp - 0x1b0], 1
jmp 0x1004c3a6
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x1b0]
jne 0x1004c477
movsx edx, word [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], ecx
mov edx, dword [ebp - 0x518]
or edx, dword [ebp - 0x514]
jne 0x1004c425
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x1004c423
mov eax, dword [ebp - 0xc8]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0xc8]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x658], eax
jmp 0x1004c472
mov eax, dword [0x100c30f8]
cdq
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x65c], ecx
add eax, edx
mov dword [0x100c30f8], eax
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, 0x56c4
mov word [0x100c30b0], dx
mov ax, word [0x100c3b38]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x70]
shl ecx, 8
xor edx, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], edx
jmp 0x1004c727
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x1004c497
movzx ecx, byte [0x100c303b]
test ecx, ecx
je 0x1004c497
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
jmp 0x1004c4a9
xor edx, edx
mov dword [ebp - 0x29c], 1
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x29c]
cmp edx, dword [ebp - 0x520]
jne 0x1004c4db
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp - 0x51c]
je 0x1004c60d
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
jne 0x1004c4f5
mov dword [ebp - 0x1b4], 1
jmp 0x1004c4ff
mov dword [ebp - 0x1b4], 0
movsx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x1b4]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x64]
cdq
mov ecx, dword [0x100c30f4]
push ecx
mov ecx, dword [0x100c30f0]
push ecx
push edx
push eax
call fcn.1008eb70
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x528], esi
mov dword [ebp - 0x524], edi
mov edx, dword [ebp - 0x528]
or edx, dword [ebp - 0x524]
jne 0x1004c559
xor eax, eax
mov dword [ebp - 0x294], 1
mov dword [ebp - 0x290], eax
jmp 0x1004c564
xorps xmm0, xmm0
movlpd qword [ebp - 0x294], xmm0
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x290]
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], edx
movzx eax, word [ebp - 0x1c]
add eax, dword [0x100c30f8]
add eax, dword [0x100c30f8]
mov dword [0x100c30f8], eax
movsx ecx, word [0x100c308c]
and ecx, 0xbedc53dd
mov byte [ebp - 0x11], cl
movsx edx, word [ebp - 0x18]
movzx eax, byte [ebp - 0x11]
sub edx, eax
mov word [ebp - 0x18], dx
movzx ecx, byte [0x100c3062]
imul edx, ecx, 0xffffff75
not edx
movsx eax, byte [0x100c3027]
add edx, eax
mov byte [0x100c303b], dl
movzx ecx, word [0x100c30b0]
movsx edx, word [0x100c308c]
add ecx, edx
jne 0x1004c5eb
mov dword [ebp - 0x1b8], 1
jmp 0x1004c5f5
mov dword [ebp - 0x1b8], 0
movsx eax, word [0x100c3088]
xor eax, dword [ebp - 0x1b8]
mov word [0x100c30b0], ax
jmp 0x1004c727
mov ecx, dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0x530], ecx
mov dword [ebp - 0x52c], edx
mov eax, dword [ebp - 0x52c]
cmp eax, dword [ebp - 0x80]
jg 0x1004c64d
jl 0x1004c639
mov ecx, dword [ebp - 0x530]
cmp ecx, dword [ebp - 0x84]
jae 0x1004c64d
xor edx, edx
mov dword [ebp - 0x28c], 1
mov dword [ebp - 0x288], edx
jmp 0x1004c658
xorps xmm0, xmm0
movlpd qword [ebp - 0x28c], xmm0
mov eax, dword [ebp - 0x28c]
or eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x288]
or ecx, dword [ebp - 0x80]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], ecx
mov edx, dword [ebp - 0x538]
or edx, dword [ebp - 0x534]
jne 0x1004c727
movsx ecx, word [0x100c3118]
movsx eax, word [0x100c3118]
imul ecx, eax
mov dx, word [0x100c3118]
sar dx, cl
mov word [0x100c3118], dx
movzx eax, byte [ebp - 0x11]
sub eax, 0xce
mov dword [ebp - 0x44], eax
movsx eax, word [0x100c308c]
cdq
mov ecx, eax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x660], eax
xor ecx, edx
movsx eax, byte [0x100c3075]
movsx edx, word [ebp - 0x18]
add eax, edx
cdq
sub ecx, eax
mov byte [str.NDisablePerfBackoff], cl
movsx eax, word [0x100c3088]
movzx ecx, byte [ebp - 0x11]
xor eax, ecx
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
mov eax, dword [ebp - 0x7c]
sub eax, 0xb409
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
jmp 0x1004ca79
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x540]
or eax, dword [ebp - 0x53c]
jne 0x1004c75e
mov dword [ebp - 0x1bc], 1
jmp 0x1004c768
mov dword [ebp - 0x1bc], 0
movzx ecx, word [ebp - 0x28]
cmp ecx, dword [ebp - 0x1bc]
jle 0x1004c8d2
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
and edx, dword [ebp - 0x50]
and eax, dword [ebp - 0x4c]
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, edx
sbb esi, eax
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx edx, word [0x100c30b0]
mov eax, dword [ebp - 0x88]
sub eax, edx
not eax
mov esi, eax
xor edi, edi
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push edx
push ecx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1008eb70
mov ecx, eax
mov ebx, edx
movsx eax, byte [0x100c3075]
cdq
add eax, 0xd7b74d33
adc edx, 0x77a3b
not eax
not edx
xor ecx, eax
xor ebx, edx
xor esi, ecx
xor edi, ebx
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], edi
cmp dword [0x100c310c], 0
je 0x1004c81a
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x250], eax
jmp 0x1004c832
mov ecx, dword [0x100c30d8]
mov edx, dword [0x100c30dc]
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x250]
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, 8
imul ecx, ecx, 0x4f
mov dword [ecx + 0x1017a1f0], eax
mov dword [ecx + 0x1017a1f4], edx
movzx eax, word [0x100c30a0]
cdq
xor eax, 0x9f94e8aa
xor edx, 0x14e1d
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x50]
adc esi, edi
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov esi, eax
mov edi, edx
mov ecx, dword [0x100c30c8]
mov ebx, dword [0x100c30cc]
not ecx
not ebx
movzx eax, word [0x100c30a0]
cdq
sub ecx, eax
sbb ebx, edx
push 0
push 0
push ebx
push ecx
call fcn.1008eb70
push edx
push eax
push edi
push esi
call fcn.1008eb70
mov word [0x100c3090], ax
jmp 0x1004ca79
movzx edx, word [0x100c30e0]
test edx, edx
jne 0x1004c8e9
mov dword [ebp - 0x1c0], 1
jmp 0x1004c8f3
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x64]
imul eax, dword [ebp - 0x1c0]
test eax, eax
je 0x1004c9d8
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x5c]
jne 0x1004c921
xor edx, edx
mov dword [ebp - 0x284], 1
mov dword [ebp - 0x280], edx
jmp 0x1004c92c
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
movzx eax, word [ebp - 0x28]
cdq
add eax, dword [ebp - 0x84]
adc edx, dword [ebp - 0x80]
not eax
not edx
add eax, dword [ebp - 0x284]
adc edx, dword [ebp - 0x280]
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
movsx eax, word [0x100c308c]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
movsx eax, word [0x100c308c]
cdq
add eax, ecx
mov word [0x100c308c], ax
mov eax, dword [ebp - 0x44]
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 [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push 0
push 0xa58136e1
push eax
push edx
call fcn.1008eb70
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
push 0
push 0x5d6b
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x28], ax
jmp 0x1004ca79
movzx eax, word [0x100c30a0]
test eax, eax
je 0x1004ca79
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov eax, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push esi
push eax
push edx
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
or ecx, eax
or esi, edx
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], esi
push 0
push 0xae
mov edx, dword [0x100c30bc]
push edx
mov eax, dword [0x100c30b8]
push eax
call fcn.1008eb70
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
sub ecx, 0xab
sbb edx, 0
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], edx
xor eax, eax
mov dword [0x100c30c0], 8
mov dword [0x100c30c4], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x38c], ecx
movsx edx, word [ebp - 0x18]
test edx, edx
jne 0x1004ca9c
movzx eax, word [0x100c30e0]
cmp eax, dword [0x100c30f8]
jg 0x1004caf7
movsx ecx, word [0x100c30fc]
mov edx, dword [ebp - 0x6c]
imul edx, ecx
mov eax, dword [ebp - 0x6c]
add eax, edx
mov dword [ebp - 0x6c], eax
movzx ecx, word [0x100c30a0]
movsx edx, word [0x100c308c]
sub ecx, edx
mov byte [str.NDisablePerfBackoff], cl
movzx eax, byte [ebp - 0x11]
sar eax, 4
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov eax, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
push esi
push eax
push edx
push ecx
call fcn.1008eb70
not eax
mov word [0x100c30b0], ax
jmp 0x1004cbff
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1004cb5d
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push 0
push 0xfb5468fc
push eax
push edx
call fcn.1008eb70
mov word [0x100c30a0], ax
mov ecx, dword [ebp - 0x6c]
xor ecx, 0xb2fd2cb6
mov byte [ebp - 0x12], cl
xor edx, edx
mov dword [0x100c3098], 8
mov dword [0x100c309c], edx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], esi
jmp 0x1004cbff
cmp dword [ebp - 0x64], 0
je 0x1004cbff
movzx edx, word [0x100c30a0]
movsx eax, word [0x100c30fc]
xor edx, eax
movzx ecx, word [0x100c30a0]
sub ecx, edx
mov word [0x100c30a0], cx
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
xor ecx, 0xcb27d2ca
xor esi, 0
movsx eax, word [0x100c30fc]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c30fc], ax
xor edx, edx
mov dword [0x100c30e8], 0x19
mov dword [0x100c30ec], edx
mov ax, word [ebp - 0x58]
mov ecx, 2
imul edx, ecx, 0x1fc4
mov word [edx + 0x1017a780], ax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edx, dword [0x100c30cc]
sub eax, dword [0x100c30c8]
sbb ecx, edx
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], esi
mov eax, dword [ebp - 0x38c]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
je 0x1004cc23
cmp dword [ebp - 0x98], 0
jne 0x1004cc23
jmp 0x1004cfc0
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1004cdc0
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
je 0x1004cd16
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x548], ecx
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x548]
or eax, dword [ebp - 0x544]
je 0x1004cc77
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], edx
jmp 0x1004cc89
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x48], eax
movzx ecx, word [0x100c30e0]
movsx edx, word [0x100c3088]
imul ecx, edx
mov word [0x100c30e0], cx
mov byte [0x100c303b], 0xb3
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [0x100c3104]
sub eax, dword [0x100c3100]
sbb ecx, edx
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], esi
cmp dword [ebp - 0x7c], 0
je 0x1004ccee
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
jmp 0x1004cd05
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], ecx
mov dl, byte [ebp - 0x274]
mov byte [0x100c3062], dl
jmp 0x1004cdbb
mov eax, dword [0x100c30d8]
not eax
mov ecx, dword [0x100c30dc]
not ecx
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], ecx
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x54c]
jb 0x1004cdbb
ja 0x1004cd49
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x550]
jb 0x1004cdbb
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
push 0
push 0x10
push edx
push ecx
call fcn.1008eb70
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x24]
sub eax, 0x7163e359
xor ecx, ecx
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
mov dl, byte [0x100c3b38]
mov byte [ebp - 0x11], dl
mov eax, dword [0x100c3108]
add eax, dword [ebp - 0x44]
mov dword [0x100c3108], eax
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x664], edx
not ecx
mov eax, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x668], edx
not eax
sub ecx, eax
mov byte [0x100c3062], cl
jmp 0x1004ce8d
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x1004ce8d
movzx ecx, word [0x100c30b0]
imul edx, ecx, 0xa5036f05
movzx eax, byte [ebp - 0x13]
add eax, edx
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x40]
add ecx, 0x21
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0x84]
or edx, dword [ebp - 0x80]
jne 0x1004ce02
mov dword [ebp - 0x1c4], 1
jmp 0x1004ce0c
mov dword [ebp - 0x1c4], 0
movzx eax, word [ebp - 0x24]
not eax
movsx ecx, word [0x100c3118]
and ecx, dword [ebp - 0x1c4]
movzx edx, word [0x100c30a0]
movzx esi, byte [ebp - 0x13]
not esi
add edx, esi
add ecx, edx
imul eax, ecx
not eax
mov word [ebp - 0x1c], ax
mov eax, 1
imul ecx, eax, 0xa21f
movsx eax, byte [ecx + 0x100dfcd8]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
add ecx, eax
adc esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
movsx eax, word [0x100c3088]
cdq
and eax, 0xf3bfb648
mov word [0x100c3088], ax
xor edx, edx
mov dword [0x100c3110], 0x96
mov dword [0x100c3114], edx
push 0
lea eax, [ebp - 0x66c]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
mov edx, dword [ebp - 0x94]
push edx
mov eax, dword [ebp - 0xd8]
push eax
push 0
push 0
call fcn.100014b0
add esp, 8
call eax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x70], ecx
movzx edx, word [0x100c30e0]
movzx eax, word [0x100c30e0]
add edx, eax
movzx ecx, word [0x100c30e0]
sub ecx, edx
mov word [0x100c30e0], cx
movzx edx, word [0x100c30b0]
test edx, edx
je 0x1004cf00
movzx eax, byte [0x100c3062]
cdq
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x318], edx
jmp 0x1004cf12
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x64], edx
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x670], edx
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x674], edx
add ecx, eax
movsx eax, word [ebp - 0x20]
cdq
mov edx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
mov dword [ebp - 0x678], esi
sub edx, eax
sub ecx, edx
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x6c], 0
jne 0x1004cf76
xor eax, eax
mov dword [ebp - 0x558], 1
mov dword [ebp - 0x554], eax
jmp 0x1004cf81
xorps xmm0, xmm0
movlpd qword [ebp - 0x558], xmm0
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x67c], edx
add ecx, eax
mov eax, dword [ebp - 0x558]
sub eax, ecx
mov byte [0x100c303b], al
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
mov edx, 1
test edx, edx
jne 0x1004b90f
mov eax, dword [ebp - 0xd8]
push eax
push 0
push 0
call fcn.100016c0
add esp, 8
call eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
push 0x8000
push 0
mov edx, dword [ebp - 0x94]
push edx
push 0
push 0
call fcn.10001360
add esp, 8
call eax
movzx eax, word [ebp - 0x24]
movzx ecx, word [0x100c30b0]
cmp eax, ecx
jl 0x1004d0c3
movsx eax, word [ebp - 0x18]
cdq
push 0x91e99
push 0xd79c7477
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movzx eax, word [0x100c30b0]
cdq
and eax, ecx
mov word [0x100c30b0], ax
imul edx, dword [ebp - 0x68], 0xf08c6708
xor eax, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x680], edx
mov eax, 2
imul edx, eax, 0x35
mov word [edx + 0x100c3b40], cx
mov byte [0x100c3027], 0x30
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
xor eax, 0x48
xor ecx, 0
mov edx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
or edx, eax
or esi, ecx
mov dword [0x100c30c8], edx
mov dword [0x100c30cc], esi
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
add eax, 0x1c5bade2
adc ecx, 0
mov dword [0x100c3110], eax
mov dword [0x100c3114], ecx
jmp 0x1004d17d
mov edx, 0xfc238f9b
or edx, 0xfff63763
je 0x1004d17d
mov eax, dword [ebp - 0x64]
add eax, 0xef
mov dword [ebp - 0x68], eax
mov ecx, 0xffff813c
mov word [ebp - 0x18], cx
mov dl, byte [0x100c3b38]
mov byte [0x100c3027], dl
movzx eax, byte [ebp - 0x13]
not eax
movsx ecx, word [0x100c308c]
add eax, ecx
jne 0x1004d119
xor edx, edx
mov dword [ebp - 0x560], 1
mov dword [ebp - 0x55c], edx
jmp 0x1004d124
xorps xmm0, xmm0
movlpd qword [ebp - 0x560], xmm0
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
add eax, dword [ebp - 0x560]
mov word [0x100c308c], ax
xor edx, edx
mov dword [ebp - 0x38], 0xaa49
mov dword [ebp - 0x34], edx
push 0xbc93d
push 0xdb1bbe21
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
mov edx, dword [ebp - 0x1cc]
imul edx, dword [ebp - 0x1cc]
imul eax, edx, 0x304
cmp eax, dword [ebp - 0x390]
je 0x1004e1a1
movsx ecx, word [0x100c30fc]
test ecx, ecx
jne 0x1004d1bb
xor edx, edx
mov dword [ebp - 0x568], 1
mov dword [ebp - 0x564], edx
jmp 0x1004d1c6
xorps xmm0, xmm0
movlpd qword [ebp - 0x568], xmm0
mov eax, dword [0x100c310c]
xor ecx, ecx
mov edx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
sub eax, dword [ebp - 0x568]
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x28]
sub eax, 0x9184
mov byte [str.NDisablePerfBackoff], al
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x1004d20e
mov dword [ebp - 0x1d0], 1
jmp 0x1004d218
mov dword [ebp - 0x1d0], 0
movzx eax, byte [0x100c303b]
sub eax, dword [ebp - 0x1d0]
cdq
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x684], edx
sub ecx, eax
movzx eax, byte [ebp - 0x11]
movsx edx, byte [str.NDisablePerfBackoff]
imul eax, edx
not eax
cdq
mov edx, dword [0x100c310c]
add edx, 0x8fa0d5a9
sub eax, edx
not eax
sub ecx, eax
mov word [0x100c30b0], cx
mov eax, dword [0x100c30f8]
cdq
push 0x83e4b
push 0x599cbe2b
push edx
push eax
call fcn.1008eb70
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor edx, edx
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
mov edx, dword [ebp - 0x570]
or edx, dword [ebp - 0x56c]
je 0x1004d682
movsx eax, word [ebp - 0x20]
cmp dword [ebp - 0x64], eax
jl 0x1004d2e8
mov dword [ebp - 0x1d4], 1
jmp 0x1004d2f2
mov dword [ebp - 0x1d4], 0
cmp dword [ebp - 0x64], 0x24
jl 0x1004d304
mov dword [ebp - 0x1d8], 1
jmp 0x1004d30e
mov dword [ebp - 0x1d8], 0
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0x1d8]
jne 0x1004d45d
movsx eax, word [ebp - 0x18]
and eax, 0x3f74b6dc
cdq
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
cmp dword [0x100c310c], 0
jne 0x1004d34a
mov dword [ebp - 0x1dc], 1
jmp 0x1004d354
mov dword [ebp - 0x1dc], 0
movsx edx, word [0x100c3090]
add edx, dword [ebp - 0x1dc]
jne 0x1004d377
xor eax, eax
mov dword [ebp - 0x578], 1
mov dword [ebp - 0x574], eax
jmp 0x1004d382
xorps xmm0, xmm0
movlpd qword [ebp - 0x578], xmm0
mov ecx, dword [0x100c310c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x688], eax
add ecx, edx
add ecx, dword [ebp - 0x578]
mov byte [ebp - 0x11], cl
movzx ecx, byte [ebp - 0x11]
not ecx
imul edx, ecx, 0xd5
test edx, edx
jne 0x1004d3bb
mov dword [ebp - 0x1e0], 1
jmp 0x1004d3c5
mov dword [ebp - 0x1e0], 0
movzx eax, byte [ebp - 0x13]
not eax
add eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x1e0]
jne 0x1004d3ea
xor ecx, ecx
mov dword [ebp - 0x314], 1
mov dword [ebp - 0x310], ecx
jmp 0x1004d3f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x314], xmm0
movsx edx, word [0x100c30fc]
imul eax, edx, 0xbbfb95d
cdq
or eax, dword [0x100c3080]
or edx, dword [0x100c3084]
sub eax, dword [ebp - 0x314]
sbb edx, dword [ebp - 0x310]
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movzx eax, word [0x100c30e0]
sub eax, 0xc
mov byte [0x100c3062], al
mov ecx, 8
mov word [0x100c3090], cx
mov edx, dword [ebp - 0x60]
and edx, 0x53
mov eax, dword [ebp - 0x5c]
and eax, 0
mov dword [0x100c3080], edx
mov dword [0x100c3084], eax
jmp 0x1004d682
movzx eax, word [0x100c30a0]
cdq
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], edx
mov ecx, dword [ebp - 0x580]
or ecx, dword [ebp - 0x57c]
je 0x1004d509
mov edx, dword [0x100c310c]
add edx, dword [ebp - 0x44]
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
movzx eax, byte [0x100c303b]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], esi
mov eax, dword [0x100c3108]
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
mov dl, byte [0x100c3027]
add dl, 1
mov byte [0x100c3027], dl
movzx eax, word [0x100c30a0]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
xor ecx, eax
xor esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
jmp 0x1004d682
cmp dword [ebp - 0x68], 0
jne 0x1004d523
xor edx, edx
mov dword [ebp - 0x30c], 1
mov dword [ebp - 0x308], edx
jmp 0x1004d52e
xorps xmm0, xmm0
movlpd qword [ebp - 0x30c], xmm0
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], ecx
mov edx, dword [ebp - 0x584]
cmp edx, dword [ebp - 0x308]
jb 0x1004d56f
ja 0x1004d563
mov eax, dword [ebp - 0x588]
cmp eax, dword [ebp - 0x30c]
jbe 0x1004d56f
mov dword [ebp - 0x1e4], 1
jmp 0x1004d579
mov dword [ebp - 0x1e4], 0
movzx ecx, byte [0x100c3062]
not ecx
cmp dword [ebp - 0x1e4], ecx
jge 0x1004d682
movzx eax, byte [0x100c303b]
cdq
add eax, dword [ebp - 0x58]
mov byte [0x100c303b], al
movzx eax, word [ebp - 0x24]
cdq
add eax, dword [0x100c30b8]
mov word [ebp - 0x24], ax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x68c], eax
xor edx, 0xb6
mov word [0x100c30fc], dx
movsx eax, word [0x100c3088]
cdq
push 0x7d353
push 0x156e6ece
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x7c], eax
movzx ecx, word [ebp - 0x1c]
movsx edx, word [0x100c3090]
not edx
add ecx, edx
jne 0x1004d604
mov dword [ebp - 0x1e8], 1
jmp 0x1004d60e
mov dword [ebp - 0x1e8], 0
movzx eax, byte [0x100c3063]
add eax, dword [ebp - 0x1e8]
movsx ecx, word [0x100c3088]
imul edx, ecx, 0x8330302
movsx ecx, word [0x100c3088]
imul ecx, ecx, 0xf9ab
or edx, ecx
sub eax, edx
jne 0x1004d64f
xor edx, edx
mov dword [ebp - 0x304], 1
mov dword [ebp - 0x300], edx
jmp 0x1004d65a
xorps xmm0, xmm0
movlpd qword [ebp - 0x304], xmm0
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x300]
mov dword [0x100c3120], eax
mov dword [0x100c3124], ecx
movsx edx, word [0x100c3090]
imul eax, edx, 0x15
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x98], 0
jne 0x1004e1a1
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1004d711
movzx ecx, word [ebp - 0x1c]
add ecx, 0x91
mov dword [ebp - 0x6c], ecx
mov dx, word [0x100c3090]
add dx, 1
mov word [0x100c3090], dx
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x590]
or edx, dword [ebp - 0x58c]
je 0x1004d6ea
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x1ec], eax
jmp 0x1004d6f7
movsx ecx, byte [0x100c3075]
mov dword [ebp - 0x1ec], ecx
mov dx, word [ebp - 0x1ec]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100c30d8]
sub eax, 0xa44c40e0
mov dword [ebp - 0x64], eax
jmp 0x1004d78c
movzx ecx, byte [0x100c3063]
test ecx, ecx
je 0x1004d730
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], edx
jmp 0x1004d742
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x7c], ecx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x690], eax
add edx, 0x9fd8
mov byte [ebp - 0x11], dl
mov ecx, dword [0x100c3b38]
mov dword [0x100c3108], ecx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov cl, 2
call fcn.1008ec80
mov dword [0x100c3108], eax
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x694], ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edx, dword [0x100c3b38]
mov dword [ebp - 0xd0], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], edx
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x59c], esi
mov edx, dword [ebp - 0x594]
cmp edx, dword [ebp - 0x59c]
ja 0x1004d8cd
jb 0x1004d7fa
mov eax, dword [ebp - 0x598]
cmp eax, dword [ebp - 0x5a0]
ja 0x1004d8cd
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1004d816
xor edx, edx
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x328], edx
jmp 0x1004d821
xorps xmm0, xmm0
movlpd qword [ebp - 0x32c], xmm0
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
not ecx
not esi
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
add edi, ecx
adc ebx, esi
push ebx
push edi
push edx
push eax
call fcn.1008eb70
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
call fcn.1008eb70
sub esi, eax
sbb edi, edx
mov dword [0x100c3080], esi
mov dword [0x100c3084], edi
xor eax, eax
mov dword [ebp - 0x40], 0xf2ddf09f
mov dword [ebp - 0x3c], eax
mov eax, dword [0x100c3108]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x40]
mov eax, dword [0x100c3108]
cdq
add eax, ecx
mov dword [0x100c3108], eax
mov edx, 4
imul eax, edx, 0x52c2
movsx ecx, byte [str.NDisablePerfBackoff]
or ecx, dword [eax + 0x10155538]
mov byte [str.NDisablePerfBackoff], cl
mov edx, dword [ebp - 0x48]
sub edx, 0x57aba72
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0xd0]
add eax, 0x4af
mov dword [ebp - 0x1fc], eax
mov ecx, 1
mov word [0x100c30fc], cx
mov edx, dword [ebp - 0x60]
sub edx, 0x56fd
mov eax, dword [ebp - 0x5c]
sbb eax, 0
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
push 0x1c688
push 0x9a07f749
push edx
push ecx
call fcn.1008eb70
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
push 0
push 0x23
push ecx
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100c303b]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [0x100c303b], al
movsx edx, word [0x100c3118]
imul eax, edx, 0x14ac47b2
mov word [0x100c30a0], ax
movsx ecx, word [0x100c30fc]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 0
je 0x1004d993
cmp dword [ebp - 0x1f0], 1
je 0x1004da08
jmp 0x1004daba
mov edx, dword [0x100c3080]
sub edx, 0x78fd
mov dword [ebp - 0x70], edx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
add eax, 0x5e02887
adc ecx, 0xc4df0
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx eax, byte [0x100c3062]
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov dword [ebp - 0x7c], 8
movsx eax, byte [0x100c3075]
cdq
mov ecx, eax
sub ecx, 0x67c6fc1a
movsx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
jmp 0x1004daba
movsx eax, word [ebp - 0x18]
cdq
add eax, 0xda9c2586
mov word [ebp - 0x1c], ax
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x60]
sub ecx, 0x825b
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30c8], edx
mov dword [0x100c30cc], eax
movzx ecx, byte [0x100c3062]
test ecx, ecx
jne 0x1004da71
mov dword [ebp - 0x1f4], 1
jmp 0x1004da7b
mov dword [ebp - 0x1f4], 0
movsx eax, word [0x100c308c]
add eax, dword [ebp - 0x1f4]
cdq
mov ecx, eax
movzx eax, word [0x100c30b0]
cdq
mov edx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
mov dword [ebp - 0x698], esi
sub edx, eax
add ecx, edx
mov word [ebp - 0x24], cx
mov eax, dword [0x100c3080]
add eax, 0x39
mov byte [0x100c303b], al
mov ecx, dword [ebp - 0xd0]
add ecx, 0x7cc
mov dword [ebp - 0x69c], ecx
mov dl, byte [0x100c3b38]
mov byte [ebp - 0x12], dl
movsx eax, byte [str.NDisablePerfBackoff]
test eax, eax
jne 0x1004daec
mov dword [ebp - 0x1f8], 1
jmp 0x1004daf6
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x44]
cdq
sub eax, 0xc19bd700
sbb edx, 0x7e614
or eax, dword [ebp - 0x58]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, 2
imul eax, edx, 0x17da
movzx ecx, word [eax + 0x1016f650]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x44], ecx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
add edx, 1
adc eax, 0
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
mov ecx, dword [ebp - 0xd0]
add ecx, 0x6ca
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x6c]
push edx
movzx eax, byte [ebp - 0x1c]
push eax
movzx ecx, byte [ebp - 0x48]
push ecx
call fcn.10052870
add esp, 0xc
movsx eax, al
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x1004dbf7
movsx eax, word [0x100c3090]
test eax, eax
je 0x1004dbf7
mov ecx, 0xffff97ce
mov word [ebp - 0x18], cx
mov dl, byte [ebp - 0x58]
mov eax, 1
imul ecx, eax, 0x47
mov byte [ecx + 0x100c3c18], dl
mov dx, word [0x100c3b38]
mov word [0x100c30e0], dx
mov eax, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov cl, 4
call fcn.1008ec80
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
jmp 0x1004dc6f
cmp dword [ebp - 0x68], 0
je 0x1004dc6f
imul edx, dword [ebp - 0x88], 0xca
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x12]
xor eax, 0x3360
mov word [ebp - 0x18], ax
mov cx, word [0x100c3b38]
mov word [0x100c30e0], cx
cmp dword [0x100c30f8], 0
je 0x1004dc43
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x330], eax
jmp 0x1004dc55
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], edx
mov ecx, dword [ebp - 0x334]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [0x100c3120], edx
mov dword [0x100c3124], eax
imul ecx, dword [ebp - 0x200], 0x1a6
mov edx, dword [ebp - 0x1fc]
and edx, dword [ebp - 0x1fc]
imul eax, dword [ebp - 0x200], 0x182
add edx, eax
cmp ecx, edx
je 0x1004e1a1
mov ecx, dword [ebp - 0x68]
add ecx, dword [0x100c30d8]
mov edx, dword [ebp - 0x68]
add edx, ecx
mov dword [ebp - 0x68], edx
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], ecx
mov edx, dword [ebp - 0x5a8]
or edx, dword [ebp - 0x5a4]
je 0x1004dcde
movsx eax, word [0x100c3088]
mov dword [ebp - 0x204], eax
jmp 0x1004dcea
mov ecx, dword [0x100c3108]
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x204]
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x48], edx
movsx eax, byte [0x100c3027]
cdq
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5b0]
or edx, dword [ebp - 0x5ac]
jne 0x1004dd4f
xor eax, eax
mov dword [ebp - 0x33c], 1
mov dword [ebp - 0x338], eax
jmp 0x1004dd5a
xorps xmm0, xmm0
movlpd qword [ebp - 0x33c], xmm0
push 0x5a3f1
push 0xf58ca8d3
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.1008eb70
mov esi, eax
mov edi, edx
sub esi, dword [ebp - 0x33c]
sbb edi, dword [ebp - 0x338]
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push edx
push eax
call fcn.1008eb70
xor esi, eax
xor edi, edx
mov dword [0x100c3080], esi
mov dword [0x100c3084], edi
mov edx, dword [ebp - 0x58]
add edx, 0x3a0e2022
mov eax, dword [ebp - 0x54]
adc eax, 0xffd6f
mov dword [0x100c30a8], edx
mov dword [0x100c30ac], eax
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b8]
or eax, dword [ebp - 0x5b4]
jne 0x1004de01
mov ecx, dword [0x100c30d8]
or ecx, dword [0x100c30dc]
jne 0x1004de01
mov dword [ebp - 0x208], 0
jmp 0x1004de0b
mov dword [ebp - 0x208], 1
mov edx, dword [ebp - 0x58]
not edx
mov eax, dword [ebp - 0x54]
not eax
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], eax
mov ecx, dword [ebp - 0x5c0]
or ecx, dword [ebp - 0x5bc]
jne 0x1004de41
cmp dword [ebp - 0x70], 0
jne 0x1004de41
mov dword [ebp - 0x20c], 1
jmp 0x1004de4b
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x208]
imul edx, dword [ebp - 0x20c]
test edx, edx
jne 0x1004deb5
movsx eax, byte [ebp - 0x12]
cdq
push 0xcc422
push 0xa9d43342
push edx
push eax
call fcn.1008eb70
mov word [0x100c3118], ax
mov ax, word [0x100c3b38]
mov word [0x100c30e0], ax
mov byte [0x100c3075], 0x9c
mov ecx, dword [0x100c3080]
add ecx, 0x8098
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x7c]
sub edx, 0x451d05f5
xor eax, eax
mov dword [0x100c3080], edx
mov dword [0x100c3084], eax
jmp 0x1004e19a
mov ecx, dword [0x100c30f0]
or ecx, dword [0x100c30f4]
je 0x1004df1c
movsx edx, byte [str.NDisablePerfBackoff]
add edx, dword [ebp - 0x6c]
mov byte [ebp - 0x12], dl
xor eax, eax
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
add ecx, dword [0x100c310c]
adc edx, eax
mov dword [0x100c3100], ecx
mov dword [0x100c3104], edx
mov eax, dword [0x100c3108]
add eax, dword [ebp - 0x7c]
mov dword [0x100c3108], eax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
add ecx, 0x31cd11a5
movsx eax, word [ebp - 0x18]
cdq
or eax, ecx
mov word [ebp - 0x18], ax
jmp 0x1004e19a
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
je 0x1004e044
mov eax, dword [0x100c30f0]
add eax, 0x8966
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
push edx
push ecx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
cdq
push 0xb021b
push 0xe996ed96
push edx
push eax
call fcn.1008eb70
mov edx, dword [ebp - 0x6c]
xor edx, eax
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x84]
not eax
mov ecx, dword [ebp - 0x80]
not ecx
push 0
push 0x6a
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], edx
mov edx, dword [ebp - 0x5c8]
or edx, dword [ebp - 0x5c4]
jne 0x1004dfb9
xor eax, eax
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x340], eax
jmp 0x1004dfc4
xorps xmm0, xmm0
movlpd qword [ebp - 0x344], xmm0
movsx ecx, word [0x100c308c]
movsx edx, word [ebp - 0x18]
sub ecx, edx
jne 0x1004dfdf
mov dword [ebp - 0x210], 1
jmp 0x1004dfe9
mov dword [ebp - 0x210], 0
movsx eax, word [0x100c30fc]
cdq
mov ecx, dword [ebp - 0x84]
sub ecx, eax
mov eax, dword [ebp - 0x80]
sbb eax, edx
add ecx, dword [ebp - 0x344]
adc eax, dword [ebp - 0x340]
not ecx
not eax
movsx edx, byte [ebp - 0x12]
mov esi, dword [ebp - 0x88]
not esi
add edx, esi
not edx
mov esi, dword [ebp - 0x210]
sub esi, edx
xor edx, edx
push edx
push esi
push eax
push ecx
call fcn.1008eb70
mov dword [0x100c3108], eax
mov eax, 8
mov word [ebp - 0x18], ax
jmp 0x1004e19a
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x5d0], ecx
mov dword [ebp - 0x5cc], edx
mov eax, dword [ebp - 0x5d0]
or eax, dword [ebp - 0x5cc]
jne 0x1004e07e
xor ecx, ecx
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x348], ecx
jmp 0x1004e089
xorps xmm0, xmm0
movlpd qword [ebp - 0x34c], xmm0
mov edx, dword [ebp - 0x348]
cmp edx, dword [0x100c30dc]
jg 0x1004e19a
jl 0x1004e0af
mov eax, dword [ebp - 0x34c]
cmp eax, dword [0x100c30d8]
jae 0x1004e19a
movsx eax, byte [0x100c3075]
shl eax, 3
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x40]
or ecx, dword [ebp - 0x3c]
je 0x1004e0e1
mov edx, dword [0x100c3080]
mov eax, dword [0x100c3084]
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x350], eax
jmp 0x1004e0f2
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], edx
mov cx, word [ebp - 0x354]
mov word [ebp - 0x1c], cx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d8]
or ecx, dword [ebp - 0x5d4]
je 0x1004e136
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x358], eax
jmp 0x1004e14e
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x7c], eax
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push edx
push eax
call fcn.1008eb70
mov byte [str.NDisablePerfBackoff], al
movzx eax, word [0x100c30e0]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
xor eax, eax
jmp 0x1004e526
mov dword [ebp - 0xb4], 0
jmp 0x1004e1bc
mov edx, dword [ebp - 0xb4]
add edx, 2
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x2b3
jge 0x1004e521
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x5e0]
cmp edx, dword [ebp - 0x58]
jne 0x1004e1f9
mov eax, dword [ebp - 0x5dc]
cmp eax, dword [ebp - 0x54]
je 0x1004e205
mov dword [ebp - 0x214], 1
jmp 0x1004e20f
mov dword [ebp - 0x214], 0
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x5e8], ecx
mov dword [ebp - 0x5e4], edx
cmp dword [ebp - 0x5e8], 0x3d
jne 0x1004e239
cmp dword [ebp - 0x5e4], 0
je 0x1004e245
mov dword [ebp - 0x218], 1
jmp 0x1004e24f
mov dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x218]
je 0x1004e4aa
cmp dword [ebp - 0x5c], 0x67d7b
ja 0x1004e281
jb 0x1004e275
cmp dword [ebp - 0x60], 0xc88b9bcf
jae 0x1004e281
mov dword [ebp - 0x21c], 1
jmp 0x1004e28b
mov dword [ebp - 0x21c], 0
mov ecx, dword [ebp - 0x21c]
not ecx
test ecx, ecx
jne 0x1004e2e7
movsx eax, word [0x100c3090]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], edx
mov dword [ebp - 0x5f8], ecx
mov dword [ebp - 0x5f4], esi
mov edx, dword [ebp - 0x5ec]
cmp edx, dword [ebp - 0x5f4]
ja 0x1004e2e7
jb 0x1004e2db
mov eax, dword [ebp - 0x5f0]
cmp eax, dword [ebp - 0x5f8]
ja 0x1004e2e7
mov dword [ebp - 0x224], 0
jmp 0x1004e2f1
mov dword [ebp - 0x224], 1
movsx ecx, word [ebp - 0x20]
cmp ecx, dword [ebp - 0x68]
jae 0x1004e306
mov dword [ebp - 0x220], 1
jmp 0x1004e310
mov dword [ebp - 0x220], 0
movsx edx, byte [0x100c3075]
cmp edx, dword [ebp - 0x220]
jge 0x1004e32b
mov dword [ebp - 0x228], 1
jmp 0x1004e335
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x228]
jle 0x1004e4a8
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
mov dword [ebp - 0x608], ecx
mov dword [ebp - 0x604], esi
mov edx, dword [ebp - 0x600]
cmp edx, dword [ebp - 0x608]
jne 0x1004e38f
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [ebp - 0x604]
je 0x1004e39b
mov dword [ebp - 0x22c], 1
jmp 0x1004e3a5
mov dword [ebp - 0x22c], 0
movzx ecx, byte [0x100c3063]
cmp ecx, 0x35
je 0x1004e3bd
mov dword [ebp - 0x230], 1
jmp 0x1004e3c7
mov dword [ebp - 0x230], 0
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ebp - 0x230]
jg 0x1004e3e3
jmp 0x1004e3de
jmp 0x1004e4a8
mov eax, 0xffff15eb
test eax, eax
je 0x1004e4a8
mov ecx, 1
imul edx, ecx, 0x479e
movsx eax, byte [edx + 0x1019d9b0]
movzx ecx, word [ebp - 0x28]
add ecx, eax
mov word [ebp - 0x28], cx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0xb86beca7
mov dword [ebp - 0x68], eax
cmp dword [0x100c3108], 0
je 0x1004e43b
mov edx, dword [0x100c30d8]
mov eax, dword [0x100c30dc]
mov dword [ebp - 0x364], edx
mov dword [ebp - 0x360], eax
jmp 0x1004e453
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x364], ecx
mov dword [ebp - 0x360], edx
mov ax, word [ebp - 0x364]
mov word [0x100c3088], ax
movsx ecx, word [ebp - 0x20]
sub ecx, 0x21
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x40]
or edx, dword [ebp - 0x3c]
jne 0x1004e47f
mov dword [ebp - 0x234], 1
jmp 0x1004e489
mov dword [ebp - 0x234], 0
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x234]
sub ecx, eax
movzx edx, word [0x100c30b0]
imul ecx, edx
mov eax, ecx
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1004e50a
mov eax, 1
imul ecx, eax, 0x1fbe
mov dl, byte [ebp - 0x88]
mov byte [ecx + 0x10120a30], dl
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c3090], ax
mov edx, dword [0x100c30b8]
add edx, 0x30bfd49f
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x7c]
sub eax, 0x7741
mov dword [ebp - 0x48], eax
movsx eax, word [ebp - 0x18]
add eax, 0x65fc0f45
cdq
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov edx, dword [ebp - 0x3c]
adc edx, 0
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
jmp 0x1004e1ad
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret