Function at 0x10025cd0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aa70
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x728
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0xffff9173
mov word [ebp - 0x3b4], ax
mov dword [ebp - 0x4c], 0xbf6be6e5
mov cx, word [0x100c3118]
mov word [ebp - 0x20], cx
movzx dx, byte [0x100c3063]
mov word [ebp - 0x30], dx
mov dword [ebp - 0x78], 0xc2d6
mov eax, 0x2df2
mov word [ebp - 0x44], ax
mov ecx, 0x8c5c
mov word [ebp - 0x2c], cx
mov edx, 0x3bf8
mov word [ebp - 0x3c], dx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x68c], ecx
mov word [ebp - 0x40], ax
mov dx, word [0x100c30d8]
mov word [ebp - 0x28], dx
xor eax, eax
mov dword [ebp - 0x54], 0x4af9
mov dword [ebp - 0x50], eax
movsx cx, byte [0x100c3027]
mov word [ebp - 0x1c], cx
movzx dx, byte [0x100c3062]
mov word [ebp - 0x48], dx
mov eax, 0xed3
mov word [ebp - 0x24], ax
mov ecx, 0x23c01
mov dword [ebp - 0x60], 0x344868f1
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x688], eax
mov dword [ebp - 0x74], edx
mov ecx, 0xb1
mov word [ebp - 0x38], cx
mov dl, byte [0x100c3108]
mov byte [ebp - 0x12], dl
mov al, byte [0x100c3062]
mov byte [ebp - 0x13], al
mov dword [ebp - 0x58], 0xc83eff82
mov ecx, 0x74
mov word [ebp - 0x18], cx
mov byte [ebp - 0x11], 0xcd
mov edx, 0x2b0b9
mov dword [ebp - 0x68], 0x66f5f124
mov dword [ebp - 0x64], edx
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x684], ecx
mov word [ebp - 0x34], ax
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov ecx, 0x9a48
mov word [ebp - 0x5a0], cx
mov edx, 0x31708
mov dword [ebp - 0x6c4], 0xfbf09ab2
mov dword [ebp - 0x6c0], edx
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x680], eax
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x67c], edx
mov byte [ebp - 0x9d], cl
xor eax, eax
mov dword [ebp - 0x6cc], 0xf81a
mov dword [ebp - 0x6c8], eax
movzx eax, word [0x100c30b0]
cdq
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], edx
mov ecx, 0x9672
mov word [ebp - 0x5a4], cx
mov dword [ebp - 0x678], 0xb62ef986
mov byte [ebp - 0xa0], 0x30
movsx edx, word [0x100c30fc]
mov dword [ebp - 0x674], edx
mov eax, 0xcb
mov word [ebp - 0x5a8], ax
mov ecx, 0xf1d1
mov word [ebp - 0x5ac], cx
xor edx, edx
mov dword [ebp - 0x6dc], 2
mov dword [ebp - 0x6d8], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [ebp - 0x670], ecx
mov byte [ebp - 0x9f], al
mov edx, 0xbb
mov word [ebp - 0x390], dx
mov eax, 0xb2
mov word [ebp - 0x394], ax
mov cl, byte [0x100c3080]
mov byte [ebp - 0x9e], cl
jmp 0x10025f1b
jmp 0x10025f22
jmp 0x10025f36
mov dword [ebp - 0x39c], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x398], 0
je 0x10025f68
mov edx, dword [ebp - 0x39c]
push edx
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x4c], 0
je 0x10025f9a
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3bc]
or edx, dword [ebp - 0x3b8]
je 0x10025f9a
mov dword [ebp - 0xd0], 1
jmp 0x10025fa4
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
not eax
test eax, eax
je 0x10026046
movsx ecx, word [ebp - 0x38]
test ecx, ecx
je 0x10025fcf
movsx eax, word [ebp - 0x3c]
cdq
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], edx
jmp 0x10025fe6
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], eax
mov cl, byte [ebp - 0x248]
mov byte [0x100c303b], cl
movzx eax, word [ebp - 0x44]
cdq
push 0xf5493
push 0xc65bf41c
push edx
push eax
call fcn.1008eb70
or eax, dword [0x100c30b8]
or edx, dword [0x100c30bc]
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
mov edx, 1
imul eax, edx, 0x447
movsx cx, byte [eax + 0x10194c78]
mov word [0x100c308c], cx
movsx edx, word [ebp - 0x40]
add edx, 0x1d
mov byte [0x100c303b], dl
mov dword [ebp - 0x144], 0
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], esi
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c8], edx
mov edx, dword [ebp - 0x3c4]
cmp edx, dword [ebp - 0x3cc]
jne 0x100260a1
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [ebp - 0x3c8]
jne 0x100260a1
mov dword [ebp - 0xd4], 1
jmp 0x100260ab
mov dword [ebp - 0xd4], 0
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x3d4], ecx
mov dword [ebp - 0x3d0], edx
cmp dword [ebp - 0x3d4], 0x3e
jne 0x100260e1
cmp dword [ebp - 0x3d0], 0
jne 0x100260e1
mov dword [ebp - 0xd8], 1
jmp 0x100260eb
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0xd8]
je 0x10026225
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x3dc], ecx
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3dc]
or eax, dword [ebp - 0x3d8]
jne 0x10026129
mov dword [ebp - 0xdc], 1
jmp 0x10026133
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x3e4], ecx
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3e4]
or eax, dword [ebp - 0x3e0]
jne 0x1002615f
mov dword [ebp - 0xe0], 1
jmp 0x10026169
mov dword [ebp - 0xe0], 0
movzx ecx, word [0x100c30e0]
add ecx, dword [ebp - 0xdc]
movsx eax, word [0x100c30fc]
not eax
add ecx, dword [ebp - 0xe0]
add eax, ecx
cdq
mov ecx, eax
movsx eax, word [ebp - 0x40]
movzx edx, word [ebp - 0x48]
add eax, edx
cdq
sub eax, 0xbbf55500
xor ecx, eax
mov dword [0x100c30f8], ecx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov edx, dword [0x100c3084]
push edx
mov edx, dword [0x100c3080]
push edx
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov byte [ebp - 0x12], 0xe1
movzx eax, word [ebp - 0x30]
cdq
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x668], edx
add eax, ecx
mov word [ebp - 0x30], ax
movzx eax, word [0x100c30a0]
add eax, 0xd3
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
movsx eax, word [ebp - 0x24]
cdq
push edx
push eax
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
jmp 0x100262e4
movzx ecx, word [0x100c30a0]
test ecx, ecx
jne 0x1002623c
mov dword [ebp - 0xe4], 1
jmp 0x10026246
mov dword [ebp - 0xe4], 0
movsx edx, word [0x100c3118]
movsx eax, word [0x100c3090]
imul edx, eax
cmp edx, dword [ebp - 0xe4]
jg 0x100262e4
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
add ecx, eax
adc esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
push 0
push 0x2c1f4e35
push eax
push edx
call fcn.1008eb70
mov byte [0x100c3075], al
movsx ecx, word [ebp - 0x20]
xor ecx, 0x83da826
mov dword [ebp - 0x74], ecx
movsx edx, word [ebp - 0x40]
xor edx, dword [ebp - 0x78]
mov word [ebp - 0x40], dx
movzx eax, word [ebp - 0x48]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
add edx, ecx
adc eax, esi
mov dword [0x100c3098], edx
mov dword [0x100c309c], eax
mov dword [ebp - 0x664], 0
push 0xffffffffffffffe3
push 0xffffffffffffffef
push 0xffffffffffffffbd
call fcn.10052870
add esp, 0xc
mov byte [str.NDisablePerfBackoff], al
movsx ecx, byte [str.NDisablePerfBackoff]
test ecx, ecx
je 0x1002640a
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x10026324
movsx eax, word [ebp - 0x38]
test eax, eax
jne 0x100263a8
mov ecx, 0xc32c1
mov dword [0x100c3120], 0x3321dcf9
mov dword [0x100c3124], ecx
mov edx, 0xffffd78e
mov word [0x100c3088], dx
xor eax, eax
mov dword [0x100c3080], 2
mov dword [0x100c3084], eax
mov cx, word [0x100c30e0]
sub cx, 1
mov word [0x100c30e0], cx
movzx edx, byte [0x100c3062]
shl edx, 6
mov byte [0x100c3063], dl
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x1002638c
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0xe8], ecx
jmp 0x10026399
movsx edx, byte [0x100c3027]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xe8]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10026408
movsx eax, word [0x100c3090]
test eax, eax
je 0x10026408
movsx eax, word [ebp - 0x3c]
sub eax, 0xab
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], edx
mov eax, dword [0x100c3080]
xor eax, 0x9990e327
mov byte [ebp - 0x11], al
movsx ecx, byte [str.NDisablePerfBackoff]
xor ecx, 0xbebe6fbd
mov dword [0x100c3108], ecx
mov dl, byte [0x100c3b38]
mov byte [0x100c3063], dl
jmp 0x10026458
mov eax, dword [0x100c3080]
or eax, dword [0x100c3084]
je 0x10026458
movsx cx, byte [ebp - 0x13]
mov word [ebp - 0x2c], cx
mov dx, word [ebp - 0x18]
sub dx, 1
mov word [ebp - 0x18], dx
movsx eax, word [0x100c3088]
sar eax, 3
mov word [ebp - 0x30], ax
mov byte [0x100c3075], 2
movzx ecx, byte [0x100c3063]
imul edx, ecx, 0x416b09ef
movzx eax, word [ebp - 0x48]
add eax, edx
mov word [ebp - 0x48], ax
mov dword [ebp - 0x660], 0
mov ecx, dword [0x100c3084]
push ecx
mov edx, dword [0x100c3080]
push edx
call fcn.1004e550
add esp, 8
mov dword [0x100c30f8], eax
mov ecx, dword [0x100c30f0]
not ecx
mov esi, dword [0x100c30f4]
not esi
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], esi
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], edx
mov edx, dword [ebp - 0x3ec]
cmp edx, dword [ebp - 0x3f4]
jne 0x100264d5
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x3f0]
jne 0x100264d5
mov dword [ebp - 0xec], 1
jmp 0x100264df
mov dword [ebp - 0xec], 0
movsx ecx, word [0x100c3090]
not ecx
cmp ecx, 0xff
jl 0x100264fc
mov dword [ebp - 0xf0], 1
jmp 0x10026506
mov dword [ebp - 0xf0], 0
mov edx, dword [ebp - 0xec]
cmp edx, dword [ebp - 0xf0]
je 0x10026591
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
sub ecx, dword [0x100c30b8]
movzx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
mov word [ebp - 0x2c], ax
xor edx, edx
mov dword [0x100c3110], 0x86aefca
mov dword [0x100c3114], edx
mov eax, dword [0x100c3b38]
xor ecx, ecx
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x65c], eax
add edx, 0x2fbb2d39
mov dword [ebp - 0x74], edx
movsx ecx, word [ebp - 0x40]
movzx edx, byte [ebp - 0x12]
sub ecx, edx
movsx eax, word [ebp - 0x40]
add eax, ecx
mov word [ebp - 0x40], ax
movzx eax, word [ebp - 0x44]
cdq
sub eax, 0x7ab0eb64
mov word [ebp - 0x28], ax
jmp 0x10026723
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x3fc]
or eax, dword [ebp - 0x3f8]
jne 0x100265cb
xor ecx, ecx
mov dword [ebp - 0x230], 1
mov dword [ebp - 0x22c], ecx
jmp 0x100265d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x230], xmm0
movsx eax, word [ebp - 0x20]
cdq
xor eax, dword [0x100c3098]
xor edx, dword [0x100c309c]
add eax, dword [ebp - 0x230]
adc edx, dword [ebp - 0x22c]
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x400], edx
mov edx, dword [ebp - 0x404]
or edx, dword [ebp - 0x400]
jne 0x10026619
mov dword [ebp - 0xf4], 1
jmp 0x10026623
mov dword [ebp - 0xf4], 0
movsx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x12]
imul eax, ecx
cdq
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
add ecx, 0x2c65bd77
adc esi, 0x1a069
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x40c], eax
mov dword [ebp - 0x408], edx
mov edx, dword [ebp - 0x40c]
or edx, dword [ebp - 0x408]
jne 0x10026671
mov dword [ebp - 0xf8], 1
jmp 0x1002667b
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf4]
add eax, dword [ebp - 0xf8]
mov word [ebp - 0x24], ax
movzx ecx, byte [0x100c303b]
sub ecx, 0x676c112c
mov word [ebp - 0x3c], cx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x414], edx
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x414]
or ecx, dword [ebp - 0x410]
jne 0x100266cd
mov dword [ebp - 0xfc], 1
jmp 0x100266d7
mov dword [ebp - 0xfc], 0
movzx edx, byte [0x100c3062]
add edx, dword [ebp - 0xfc]
mov word [ebp - 0x44], dx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
push 0
push 0x6acc
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, 0x68
mov word [ebp - 0x30c], dx
mov eax, 0x74
mov word [ebp - 0x30a], ax
mov ecx, 0x74
mov word [ebp - 0x308], cx
mov edx, 0x70
mov word [ebp - 0x306], dx
mov eax, 0x73
mov word [ebp - 0x304], ax
mov ecx, 0x3a
mov word [ebp - 0x302], cx
mov edx, 0x2f
mov word [ebp - 0x300], dx
mov eax, 0x2f
mov word [ebp - 0x2fe], ax
mov ecx, 0x62
mov word [ebp - 0x2fc], cx
mov edx, 0x61
mov word [ebp - 0x2fa], dx
mov eax, 0x6e
mov word [ebp - 0x2f8], ax
mov ecx, 0x79
mov word [ebp - 0x2f6], cx
mov edx, 0x64
mov word [ebp - 0x2f4], dx
mov eax, 0x6f
mov word [ebp - 0x2f2], ax
mov ecx, 0x78
mov word [ebp - 0x2f0], cx
mov edx, 0x2e
mov word [ebp - 0x2ee], dx
mov eax, 0x63
mov word [ebp - 0x2ec], ax
mov ecx, 0x6f
mov word [ebp - 0x2ea], cx
mov edx, 0x6d
mov word [ebp - 0x2e8], dx
mov eax, 0x2f
mov word [ebp - 0x2e6], ax
mov ecx, 0x69
mov word [ebp - 0x2e4], cx
mov edx, 0x6e
mov word [ebp - 0x2e2], dx
mov eax, 0x64
mov word [ebp - 0x2e0], ax
mov ecx, 0x65
mov word [ebp - 0x2de], cx
mov edx, 0x78
mov word [ebp - 0x2dc], dx
mov eax, 0x2e
mov word [ebp - 0x2da], ax
mov ecx, 0x61
mov word [ebp - 0x2d8], cx
mov edx, 0x73
mov word [ebp - 0x2d6], dx
mov eax, 0x70
mov word [ebp - 0x2d4], ax
mov ecx, 0x78
mov word [ebp - 0x2d2], cx
xor edx, edx
mov word [ebp - 0x2d0], dx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov word [ebp - 0x20], ax
mov eax, 0x68
mov word [ebp - 0x34c], ax
mov ecx, 0x74
mov word [ebp - 0x34a], cx
mov edx, 0x74
mov word [ebp - 0x348], dx
mov eax, 0x70
mov word [ebp - 0x346], ax
mov ecx, 0x73
mov word [ebp - 0x344], cx
mov edx, 0x3a
mov word [ebp - 0x342], dx
mov eax, 0x2f
mov word [ebp - 0x340], ax
mov ecx, 0x2f
mov word [ebp - 0x33e], cx
mov edx, 0x62
mov word [ebp - 0x33c], dx
mov eax, 0x61
mov word [ebp - 0x33a], ax
mov ecx, 0x6e
mov word [ebp - 0x338], cx
mov edx, 0x79
mov word [ebp - 0x336], dx
mov eax, 0x64
mov word [ebp - 0x334], ax
mov ecx, 0x6f
mov word [ebp - 0x332], cx
mov edx, 0x78
mov word [ebp - 0x330], dx
mov eax, 0x2e
mov word [ebp - 0x32e], ax
mov ecx, 0x63
mov word [ebp - 0x32c], cx
mov edx, 0x6f
mov word [ebp - 0x32a], dx
mov eax, 0x6d
mov word [ebp - 0x328], ax
mov ecx, 0x2f
mov word [ebp - 0x326], cx
mov edx, 0x69
mov word [ebp - 0x324], dx
mov eax, 0x6e
mov word [ebp - 0x322], ax
mov ecx, 0x64
mov word [ebp - 0x320], cx
mov edx, 0x65
mov word [ebp - 0x31e], dx
mov eax, 0x78
mov word [ebp - 0x31c], ax
mov ecx, 0x2e
mov word [ebp - 0x31a], cx
mov edx, 0x61
mov word [ebp - 0x318], dx
mov eax, 0x73
mov word [ebp - 0x316], ax
mov ecx, 0x70
mov word [ebp - 0x314], cx
mov edx, 0x78
mov word [ebp - 0x312], dx
xor eax, eax
mov word [ebp - 0x310], ax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov eax, dword [0x100c3110]
mov esi, dword [0x100c3114]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], esi
mov ecx, dword [ebp - 0x41c]
cmp ecx, dword [ebp - 0x424]
jne 0x10026a5a
mov edx, dword [ebp - 0x418]
cmp edx, dword [ebp - 0x420]
je 0x10026a6b
jmp 0x10026a6b
mov eax, 0x68
mov word [ebp - 0x38c], ax
mov ecx, 0x74
mov word [ebp - 0x38a], cx
mov edx, 0x74
mov word [ebp - 0x388], dx
mov eax, 0x70
mov word [ebp - 0x386], ax
mov ecx, 0x73
mov word [ebp - 0x384], cx
mov edx, 0x3a
mov word [ebp - 0x382], dx
mov eax, 0x2f
mov word [ebp - 0x380], ax
mov ecx, 0x2f
mov word [ebp - 0x37e], cx
mov edx, 0x62
mov word [ebp - 0x37c], dx
mov eax, 0x61
mov word [ebp - 0x37a], ax
mov ecx, 0x6e
mov word [ebp - 0x378], cx
mov edx, 0x79
mov word [ebp - 0x376], dx
mov eax, 0x64
mov word [ebp - 0x374], ax
mov ecx, 0x6f
mov word [ebp - 0x372], cx
mov edx, 0x78
mov word [ebp - 0x370], dx
mov eax, 0x2e
mov word [ebp - 0x36e], ax
mov ecx, 0x63
mov word [ebp - 0x36c], cx
mov edx, 0x6f
mov word [ebp - 0x36a], dx
mov eax, 0x6d
mov word [ebp - 0x368], ax
mov ecx, 0x2f
mov word [ebp - 0x366], cx
mov edx, 0x69
mov word [ebp - 0x364], dx
mov eax, 0x6e
mov word [ebp - 0x362], ax
mov ecx, 0x64
mov word [ebp - 0x360], cx
mov edx, 0x65
mov word [ebp - 0x35e], dx
mov eax, 0x78
mov word [ebp - 0x35c], ax
mov ecx, 0x2e
mov word [ebp - 0x35a], cx
mov edx, 0x61
mov word [ebp - 0x358], dx
mov eax, 0x73
mov word [ebp - 0x356], ax
mov ecx, 0x70
mov word [ebp - 0x354], cx
mov edx, 0x78
mov word [ebp - 0x352], dx
xor eax, eax
mov word [ebp - 0x350], ax
push 0
push 0x99
push 0
push 0xee
push 0
push 0
push 0
push 0
call fcn.100502f0
add esp, 0x20
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], edx
cmp dword [ebp - 0x428], 0
ja 0x10026c2f
cmp dword [ebp - 0x42c], 0
jb 0x10026c3b
mov dword [ebp - 0x100], 1
jmp 0x10026c45
mov dword [ebp - 0x100], 0
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], ecx
cmp dword [ebp - 0x430], 0
ja 0x10026c6e
cmp dword [ebp - 0x434], 0x61
jb 0x10026c7a
mov dword [ebp - 0x104], 1
jmp 0x10026c84
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x104]
je 0x10026cf9
movsx eax, byte [0x100c3075]
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov edx, dword [ebp - 0x4c]
sub edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x654], ecx
mov word [0x100c30fc], ax
mov eax, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov cl, 6
call fcn.1008ebb0
mov word [ebp - 0x48], ax
mov edx, 4
imul eax, edx, 0x76
mov cx, word [eax + 0x10192958]
mov word [0x100c3118], cx
movsx eax, word [ebp - 0x3c]
add eax, 0x6ad2
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
lea edx, [ebp - 0x30c]
mov dword [ebp - 0x5c4], edx
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x5c0], eax
lea ecx, [ebp - 0x38c]
mov dword [ebp - 0x5bc], ecx
jmp 0x10026d2e
jmp 0x10026d46
jmp 0x10026d77
jmp 0x10026da3
jmp 0x10026dce
mov dword [ebp - 0x2cc], 0
xor edx, edx
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c4], edx
movsx eax, word [ebp - 0x24]
test eax, eax
je 0x10026e9c
xor ecx, ecx
mov dword [0x100c30e8], 8
mov dword [0x100c30ec], ecx
xor edx, edx
mov dword [ebp - 0x54], 0xb9e0
mov dword [ebp - 0x50], edx
mov eax, 0x38880
mov dword [ebp - 0x60], 0x2af80e18
mov dword [ebp - 0x5c], eax
movsx eax, word [ebp - 0x3c]
cdq
mov ecx, dword [0x100c30c4]
add eax, dword [0x100c30c0]
adc edx, ecx
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], edx
mov edx, dword [ebp - 0x43c]
or edx, dword [ebp - 0x438]
jne 0x10026e5a
mov eax, 1
mov word [ebp - 0x84], ax
jmp 0x10026e63
xor ecx, ecx
mov word [ebp - 0x84], cx
mov dx, word [ebp - 0x84]
mov word [ebp - 0x28], dx
mov al, byte [ebp - 0x11]
mov ecx, 1
imul edx, ecx, 0x6e
mov byte [edx + 0x10118be8], al
mov eax, dword [ebp - 0x78]
cdq
push 0x9d416
push 0x4b906deb
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x78], eax
jmp 0x10026f8c
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
push 0
push 0x636e8f7f
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x444]
or ecx, dword [ebp - 0x440]
jne 0x10026ef1
mov dword [ebp - 0x108], 1
jmp 0x10026efb
mov dword [ebp - 0x108], 0
movsx edx, byte [str.NDisablePerfBackoff]
movzx eax, word [ebp - 0x48]
imul edx, eax
not edx
mov ecx, dword [ebp - 0x78]
sub ecx, edx
movzx edx, byte [0x100c3062]
mov eax, dword [ebp - 0x108]
sub eax, edx
or eax, 0xc1
add ecx, eax
not ecx
mov word [ebp - 0x38], cx
movzx ecx, word [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
sub edx, ecx
xor eax, eax
mov ecx, dword [ebp - 0x54]
sub ecx, dword [0x100c30d8]
mov esi, dword [ebp - 0x50]
sbb esi, dword [0x100c30dc]
add edx, ecx
adc eax, esi
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
mov edx, dword [0x100c30ac]
mov eax, dword [ebp - 0x70]
sub eax, dword [0x100c30a8]
mov ecx, dword [ebp - 0x6c]
sbb ecx, edx
push ecx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.1008eb70
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov cx, word [ebp - 0x1c]
mov word [0x100c3118], cx
xor edx, edx
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], edx
mov dword [ebp - 0x5b0], edx
jmp 0x10026fb1
jmp 0x10026fe5
jmp 0x10027014
jmp 0x1002702f
mov dword [ebp - 0x80], 0
jmp 0x10027041
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x1002b2d3
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x690], edx
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
movzx eax, word [0x100c30e0]
cdq
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], edx
mov edx, dword [ebp - 0x448]
cmp edx, dword [0x100c30f4]
ja 0x100271e1
jb 0x100270a6
mov eax, dword [ebp - 0x44c]
cmp eax, dword [0x100c30f0]
ja 0x100271e1
movsx ecx, word [ebp - 0x18]
movsx edx, word [ebp - 0x38]
cmp ecx, edx
jne 0x10027118
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x694], ecx
mov edx, 1
imul ecx, edx, 0x249e
mov byte [ecx + 0x100f8c58], al
movsx edx, word [ebp - 0x20]
shl edx, 2
mov byte [0x100c3062], dl
mov eax, dword [ebp - 0x58]
shl eax, 2
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov byte [0x100c3062], 8
movsx eax, byte [ebp - 0x13]
cdq
push 0xe7094
push 0x9486f135
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
jmp 0x100271dc
mov eax, 1
shl eax, 0
movsx eax, byte [eax + 0x10118b3c]
cdq
or eax, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x100c3062]
sub eax, 0xf1a5
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
jne 0x10027161
mov dword [ebp - 0x10c], 1
jmp 0x1002716b
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x698], edx
mov eax, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x69c], edx
sub ecx, eax
movzx eax, word [0x100c30b0]
imul eax, dword [ebp - 0x10c]
cdq
add ecx, eax
mov byte [str.NDisablePerfBackoff], cl
movsx ecx, word [ebp - 0x3c]
add ecx, 0x3fb15680
mov word [ebp - 0x24], cx
mov edx, dword [0x100c3080]
xor edx, 0x51c99461
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x6a0], ecx
sub eax, 0x7d4c
add edx, eax
not edx
mov word [0x100c30fc], dx
jmp 0x10027291
movsx eax, byte [str.NDisablePerfBackoff]
cdq
or eax, dword [0x100c3080]
mov word [0x100c30a0], ax
movsx edx, byte [0x100c3027]
and edx, 0x62b4
mov byte [ebp - 0x11], dl
movsx eax, byte [str.NDisablePerfBackoff]
cdq
push 0xe5db0
push 0x1c725518
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [0x100c3080]
mov edx, dword [0x100c3084]
call fcn.1008ec80
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x1002724f
movzx eax, word [ebp - 0x48]
mov dword [ebp - 0x110], eax
jmp 0x1002725c
movsx ecx, byte [0x100c3027]
mov dword [ebp - 0x110], ecx
mov dx, word [ebp - 0x110]
mov word [ebp - 0x3c], dx
mov eax, 0xf1b8
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
xor ecx, eax
xor esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
mov edx, dword [0x100c3b38]
mov dword [ebp - 0xa4], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
xor ecx, ecx
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], ecx
mov edx, dword [ebp - 0xa4]
add edx, 0x6c5
mov dword [ebp - 0x6a4], edx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov edx, dword [0x100c3110]
mov esi, dword [0x100c3114]
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], esi
mov eax, dword [ebp - 0x450]
cmp eax, dword [ebp - 0x458]
jb 0x10027391
ja 0x10027313
mov ecx, dword [ebp - 0x454]
cmp ecx, dword [ebp - 0x45c]
jb 0x10027391
movzx edx, byte [0x100c3062]
cmp dword [0x100c310c], edx
ja 0x1002738c
mov eax, 0xdd6a3
mov dword [0x100c30a8], 0xe807af7f
mov dword [0x100c30ac], eax
movsx ecx, word [0x100c30fc]
imul ecx, dword [ebp - 0x58]
imul ecx, dword [ebp - 0x58]
mov dword [ebp - 0x58], ecx
movsx eax, word [0x100c3088]
cdq
sub eax, 0x30645046
sbb edx, 0xb651d
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
movsx eax, word [ebp - 0x18]
sub eax, 0x4eb93ccc
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
jmp 0x1002752b
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x50]
je 0x10027442
xor eax, eax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
and ecx, dword [ebp - 0x74]
and edx, eax
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], edx
mov eax, dword [0x100c30f8]
sub eax, 0x6413
mov word [ebp - 0x18], ax
movzx ecx, byte [0x100c303b]
test ecx, ecx
je 0x100273e4
movzx edx, byte [0x100c303b]
mov dword [ebp - 0x114], edx
jmp 0x100273f1
movsx eax, word [0x100c30fc]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movsx eax, word [ebp - 0x40]
cdq
mov ecx, eax
add ecx, 0x6ad14d30
movsx eax, byte [str.NDisablePerfBackoff]
cdq
add eax, ecx
mov byte [str.NDisablePerfBackoff], al
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [0x100c3110], edx
mov dword [0x100c3114], eax
mov cx, word [ebp - 0x28]
mov word [ebp - 0x30], cx
jmp 0x1002752b
movzx edx, word [ebp - 0x44]
movzx eax, word [ebp - 0x30]
not eax
imul edx, eax
test edx, edx
je 0x1002752b
movzx eax, word [ebp - 0x1c]
cdq
add eax, 0x57f83bb
mov byte [0x100c3027], al
movsx ecx, word [0x100c3090]
movsx edx, word [ebp - 0x3c]
sub ecx, edx
jne 0x10027489
xor eax, eax
mov dword [ebp - 0x238], 1
mov dword [ebp - 0x234], eax
jmp 0x10027494
xorps xmm0, xmm0
movlpd qword [ebp - 0x238], xmm0
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
add ecx, dword [ebp - 0x238]
adc esi, dword [ebp - 0x234]
movsx eax, word [ebp - 0x18]
add eax, dword [0x100c3108]
cdq
mov edi, dword [0x100c30e8]
mov ebx, dword [0x100c30ec]
and edi, 0xfffff2b5
sub eax, edi
sbb edx, ebx
sub ecx, eax
sbb esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
movsx eax, byte [ebp - 0x11]
cdq
add eax, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
mov edx, 4
imul eax, edx, 0x659d
mov ecx, dword [0x100c3108]
mov dword [eax + 0x10155538], ecx
movzx edx, word [ebp - 0x44]
movsx eax, word [ebp - 0x28]
imul edx, eax
mov word [ebp - 0x44], dx
mov ecx, 0xffffd2e1
mov word [0x100c30fc], cx
mov edx, dword [ebp - 0xa4]
add edx, 0x665
mov dword [ebp - 0x130], edx
mov dword [ebp - 4], 0
mov byte [0x100c303b], 0xf9
movsx eax, word [ebp - 0x18]
not eax
cdq
mov ecx, dword [0x100c30ac]
sub eax, dword [0x100c30a8]
sbb edx, ecx
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
mov edx, dword [ebp - 0x464]
or edx, dword [ebp - 0x460]
jne 0x10027588
mov eax, 1
mov word [ebp - 0x86], ax
jmp 0x10027591
xor ecx, ecx
mov word [ebp - 0x86], cx
mov dx, word [ebp - 0x86]
mov word [ebp - 0x20], dx
push 0
push 0x13a4
mov eax, dword [0x100c30f4]
push eax
mov ecx, dword [0x100c30f0]
push ecx
call fcn.1008eb70
mov byte [0x100c3063], al
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x6a8], edx
sub ecx, 0xc36a6f98
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x78]
shl eax, 4
cdq
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
jmp 0x100276d5
mov dword [ebp - 4], 0xffffffff
jmp 0x100276e5
mov edx, dword [ebp - 0xa4]
add edx, 0x87f
mov dword [ebp - 0x12c], edx
mov ecx, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x468], esi
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov edx, dword [ebp - 0x468]
cmp edx, dword [ebp - 0x470]
ja 0x100279ee
jb 0x10027749
mov eax, dword [ebp - 0x46c]
cmp eax, dword [ebp - 0x474]
jae 0x100279ee
mov dword [ebp - 0xa8], 0x2e
movzx ecx, byte [ebp - 0x12]
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0x78], ecx
mov edx, dword [0x100c3124]
mov eax, dword [0x100c30b8]
sub eax, dword [0x100c3120]
mov ecx, dword [0x100c30bc]
sbb ecx, edx
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], ecx
movzx eax, word [ebp - 0x44]
cdq
push 0x44a45
push 0x27b3023
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x1c], ax
movsx edx, byte [0x100c3027]
mov eax, 4
imul ecx, eax, 0x27
mov dword [ecx + 0x1013f080], edx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1008eb70
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x54]
push eax
call fcn.1004f040
add esp, 4
movzx eax, ax
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x478], edx
cmp dword [ebp - 0x478], 0
ja 0x10027826
jb 0x1002781a
cmp dword [ebp - 0x47c], 0x695e
jae 0x10027826
mov dword [ebp - 0x11c], 1
jmp 0x10027830
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x11c]
not eax
test eax, eax
je 0x10027894
mov cx, word [0x100c3b38]
mov word [0x100c30e0], cx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
movsx ecx, byte [ebp - 0x11]
xor ecx, dword [0x100c3108]
movsx edx, byte [ebp - 0x11]
add edx, ecx
mov byte [ebp - 0x11], dl
mov eax, 0xffffbe61
mov word [ebp - 0x20], ax
movzx ecx, byte [0x100c3063]
add ecx, 0x5193db6b
movsx edx, word [ebp - 0x20]
sub edx, ecx
mov word [ebp - 0x20], dx
jmp 0x100279ca
mov eax, dword [0x100c30b8]
or eax, dword [0x100c30bc]
je 0x100278f9
xor ecx, ecx
mov dword [ebp - 0x70], 0x6a
mov dword [ebp - 0x6c], ecx
movzx edx, word [ebp - 0x1c]
sar edx, 3
mov word [ebp - 0x28], dx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
sub eax, 0xcfe3ce48
mov word [ebp - 0x38], ax
movsx eax, byte [str.NDisablePerfBackoff]
movzx ecx, byte [0x100c3063]
sub eax, ecx
mov byte [str.NDisablePerfBackoff], al
movzx edx, word [0x100c30a0]
movzx eax, word [ebp - 0x1c]
lea ecx, [eax + edx + 0xa4]
mov word [ebp - 0x1c], cx
jmp 0x100279ca
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x488], esi
mov edx, dword [ebp - 0x480]
cmp edx, dword [ebp - 0x488]
ja 0x10027952
jb 0x10027946
mov eax, dword [ebp - 0x484]
cmp eax, dword [ebp - 0x48c]
jae 0x10027952
mov dword [ebp - 0x120], 1
jmp 0x1002795c
mov dword [ebp - 0x120], 0
mov ecx, dword [ebp - 0x120]
not ecx
test ecx, ecx
je 0x100279ca
movzx edx, word [ebp - 0x2c]
mov dword [ebp - 0x58], edx
movzx eax, byte [0x100c3062]
test eax, eax
je 0x1002798a
mov cx, word [0x100c308c]
mov word [ebp - 0x88], cx
jmp 0x10027995
mov dx, word [ebp - 0x20]
mov word [ebp - 0x88], dx
mov ax, word [ebp - 0x88]
mov word [0x100c308c], ax
movsx ecx, word [ebp - 0x40]
movzx edx, byte [0x100c3062]
sub ecx, edx
movsx eax, word [ebp - 0x40]
sub eax, ecx
mov word [ebp - 0x40], ax
movsx ecx, byte [ebp - 0x11]
mov edx, dword [ebp - 0x4c]
add edx, ecx
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 1
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0x1441
jl 0x100277d4
jmp 0x10027c55
movzx edx, word [ebp - 0x1c]
sub edx, 0xd
not edx
test edx, edx
je 0x10027a8b
movzx eax, word [ebp - 0x30]
sub eax, 0xd3
mov byte [ebp - 0x13], al
movsx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x10027a1f
movsx edx, word [ebp - 0x18]
mov dword [ebp - 0x124], edx
jmp 0x10027a2c
movzx eax, byte [0x100c3062]
mov dword [ebp - 0x124], eax
mov cx, word [ebp - 0x124]
mov word [ebp - 0x38], cx
movzx eax, byte [0x100c303b]
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov edx, dword [ebp - 0x54]
sub edx, 0xbf9e7def
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100c30fc]
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov edx, dword [ebp - 0x58]
sub edx, ecx
mov dword [ebp - 0x58], edx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x6ac], edx
xor eax, ecx
mov byte [ebp - 0x12], al
jmp 0x10027c55
movsx eax, word [ebp - 0x38]
test eax, eax
je 0x10027b56
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
mov eax, dword [ebp - 0x494]
or eax, dword [ebp - 0x490]
je 0x10027ad7
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], edx
jmp 0x10027ae8
movzx eax, word [ebp - 0x34]
cdq
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], ecx
movzx eax, word [0x100c30e0]
cdq
xor eax, dword [0x100c30f0]
xor edx, dword [0x100c30f4]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx eax, word [0x100c30fc]
cdq
mov edx, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x6b0], ecx
add edx, eax
mov word [ebp - 0x28], dx
movsx edx, word [ebp - 0x18]
add edx, 0x2a
mov word [ebp - 0x38], dx
movzx eax, word [0x100c30e0]
sar eax, 8
mov byte [ebp - 0x11], al
jmp 0x10027c55
mov ecx, 0x9c
test ecx, ecx
je 0x10027c55
mov edx, 2
imul eax, edx, 0xade7
movzx ecx, word [eax + 0x100c3c88]
movsx edx, byte [ebp - 0x11]
xor edx, ecx
mov byte [ebp - 0x11], dl
mov ax, word [0x100c3b38]
mov word [ebp - 0x2c], ax
movzx ecx, byte [0x100c303b]
test ecx, ecx
jne 0x10027b9f
mov dword [ebp - 0x128], 1
jmp 0x10027ba9
mov dword [ebp - 0x128], 0
movzx edx, word [0x100c30e0]
imul edx, dword [ebp - 0x128]
test edx, edx
jne 0x10027bcf
xor eax, eax
mov dword [ebp - 0x240], 1
mov dword [ebp - 0x23c], eax
jmp 0x10027bda
xorps xmm0, xmm0
movlpd qword [ebp - 0x240], xmm0
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov eax, dword [0x100c3084]
push eax
mov eax, dword [0x100c3080]
push eax
push edx
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x23c]
push ecx
mov ecx, dword [ebp - 0x240]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x12]
cdq
mov edi, eax
mov ebx, edx
mov edx, dword [ebp - 0x5c]
sub edi, dword [ebp - 0x60]
sbb ebx, edx
movzx eax, byte [0x100c303b]
not eax
cdq
add edi, eax
adc ebx, edx
add ecx, edi
adc esi, ebx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movsx eax, byte [0x100c3075]
imul eax, eax, 0x44fd
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x12c]
or ecx, 0x3bb
mov edx, dword [ebp - 0x12c]
add edx, dword [ebp - 0x130]
add ecx, edx
cmp ecx, dword [ebp - 0x130]
je 0x1002b2ce
movsx eax, word [ebp - 0x40]
test eax, eax
je 0x10027f5f
push 0
push 0
movzx ecx, byte [ebp - 0x20]
push ecx
call fcn.10052870
add esp, 0xc
movsx dx, al
mov word [0x100c3090], dx
movsx eax, word [0x100c3090]
test eax, eax
jg 0x10027cba
mov dword [ebp - 0x134], 1
jmp 0x10027cc4
mov dword [ebp - 0x134], 0
movsx ecx, word [0x100c3090]
cmp ecx, 0x40
jg 0x10027cdc
mov dword [ebp - 0x138], 1
jmp 0x10027ce6
mov dword [ebp - 0x138], 0
mov edx, dword [ebp - 0x134]
cmp edx, dword [ebp - 0x138]
je 0x10027ed8
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x49c]
or edx, dword [ebp - 0x498]
je 0x10027dc5
movsx eax, word [ebp - 0x18]
cdq
xor eax, 0xe24652a6
mov word [ebp - 0x1c], ax
mov eax, dword [0x100c30d8]
mov edx, dword [0x100c30dc]
mov cl, 3
call fcn.1008ebd0
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
not ecx
not esi
movsx eax, word [ebp - 0x38]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4a4], ecx
mov dword [ebp - 0x4a0], esi
mov edx, dword [ebp - 0x4a4]
or edx, dword [ebp - 0x4a0]
jne 0x10027d86
mov dword [ebp - 0x13c], 1
jmp 0x10027d90
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x74]
not eax
add eax, dword [ebp - 0x13c]
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x6b4], edx
xor ecx, eax
not ecx
mov word [ebp - 0x38], cx
mov eax, 8
mov word [0x100c30a0], ax
jmp 0x10027ed3
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10027e56
mov dword [0x100c3108], 0x3d11
movsx edx, word [0x100c308c]
test edx, edx
je 0x10027dff
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], ecx
jmp 0x10027e16
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x224], eax
mov cl, byte [ebp - 0x228]
mov byte [str.NDisablePerfBackoff], cl
movsx edx, word [ebp - 0x3c]
movzx eax, word [ebp - 0x48]
xor edx, eax
mov word [ebp - 0x3c], dx
mov byte [0x100c3027], 2
mov eax, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov cl, 4
call fcn.1008ebb0
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
jmp 0x10027ed3
movzx ecx, word [ebp - 0x30]
not ecx
cmp ecx, 0xffffffef
jne 0x10027ed3
movzx edx, word [0x100c30a0]
and edx, 0x9e79
movzx eax, word [ebp - 0x34]
add eax, edx
mov word [ebp - 0x34], ax
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
mov edx, 0x59
mov word [0x100c30e0], dx
movsx eax, byte [0x100c3027]
cdq
mov ecx, eax
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x6b8], eax
add ecx, edx
movsx eax, byte [0x100c3027]
cdq
or eax, ecx
mov byte [0x100c3027], al
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x6bc], edx
add eax, ecx
mov word [ebp - 0x20], ax
jmp 0x10027f5a
movsx eax, word [ebp - 0x20]
movzx ecx, byte [ebp - 0x12]
imul eax, ecx
mov word [ebp - 0x20], ax
movsx edx, byte [ebp - 0x11]
movzx eax, byte [ebp - 0x12]
add edx, eax
movsx ecx, byte [ebp - 0x11]
add ecx, edx
mov byte [ebp - 0x11], cl
movsx eax, byte [0x100c3027]
movzx edx, word [ebp - 0x1c]
sub eax, edx
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
cmp dword [ebp - 0x4c], 0
je 0x10027f32
mov eax, dword [0x100c30d8]
mov ecx, dword [0x100c30dc]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ecx
jmp 0x10027f43
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], edx
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov dword [0x100c30c8], edx
mov dword [0x100c30cc], eax
jmp 0x10028028
movzx eax, word [ebp - 0x44]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
movsx edx, word [ebp - 0x38]
imul eax, edx
cdq
sub ecx, eax
sbb esi, edx
not ecx
not esi
movsx eax, word [ebp - 0x24]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movzx eax, word [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
push 0
push 0x3f9d
mov edx, dword [0x100c30bc]
push edx
mov eax, dword [0x100c30b8]
push eax
call fcn.1008eb70
mov word [0x100c308c], ax
movzx eax, word [ebp - 0x30]
cdq
mov ecx, eax
add ecx, dword [0x100c30f0]
movsx eax, word [ebp - 0x3c]
cdq
sub ecx, eax
mov word [ebp - 0x38], cx
movsx edx, word [ebp - 0x20]
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [ebp - 0x4c], eax
push 0
push 0x98fb
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c30fc]
cdq
sub eax, ecx
mov word [0x100c30fc], ax
mov dword [ebp - 4], 2
movzx edx, word [ebp - 0x30]
test edx, edx
je 0x10028207
mov byte [ebp - 4], 3
push 0xbddbb
push 0xce3d7436
mov eax, dword [0x100c30dc]
push eax
mov ecx, dword [0x100c30d8]
push ecx
call fcn.1008eb70
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movsx edx, word [ebp - 0x28]
mov eax, dword [0x100c310c]
imul eax, edx
mov ecx, dword [0x100c310c]
add ecx, eax
mov dword [0x100c310c], ecx
mov dword [0x100c30f8], 0xa3dae655
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dl, byte [ebp - 0x2c]
mov byte [0x100c3062], dl
mov ax, word [0x100c30a0]
mov word [ebp - 0x44], ax
jmp 0x100281f7
mov dword [ebp - 4], 2
jmp 0x10028207
jmp 0x100282c5
mov dword [ebp - 4], 0xffffffff
jmp 0x100282d5
mov ecx, dword [ebp - 0x80]
lea edx, [ebp + ecx*4 - 0x5b8]
push edx
mov eax, dword [ebp - 0x80]
lea ecx, [ebp + eax*4 - 0x2cc]
push ecx
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp + edx*4 - 0x5c4]
push eax
call fcn.10008c20
add esp, 0xc
mov dword [ebp - 0xac], 0
jmp 0x10028319
mov ecx, dword [ebp - 0xac]
add ecx, 2
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], 0x232
jge 0x10028345
mov edx, dword [ebp - 0x4c]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
mov word [ebp - 0x24], ax
mov ax, word [0x100c308c]
add ax, 1
mov word [0x100c308c], ax
jmp 0x1002830a
lea ecx, [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp + edx*4 - 0x2cc]
push eax
call fcn.10036490
add esp, 8
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0x13], 0x9c
movsx eax, word [ebp - 0x18]
xor eax, 0x7b95
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movzx ecx, byte [0x100c303b]
movzx edx, word [ebp - 0x48]
add ecx, edx
mov byte [0x100c303b], cl
mov eax, dword [0x100c30d8]
or eax, dword [0x100c30dc]
je 0x100283b4
movzx eax, byte [0x100c303b]
cdq
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x254], edx
jmp 0x100283cc
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], edx
mov ax, word [ebp - 0x258]
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0xb0]
push edx
push 8
push str.breeding
call fcn.1002e7a0
add esp, 0x10
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov word [0x100c3088], ax
mov ecx, 0x10
mov esi, dword [ebp - 0xb0]
lea edi, [ebp - 0x738]
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [0x100c3063]
test eax, eax
jne 0x10028432
xor ecx, ecx
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x25c], ecx
jmp 0x1002843d
xorps xmm0, xmm0
movlpd qword [ebp - 0x260], xmm0
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x25c]
push ecx
mov ecx, dword [ebp - 0x260]
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30f8], eax
mov edx, dword [0x100c310c]
add edx, 0x12
mov dword [ebp - 0x58], edx
movzx eax, word [ebp - 0x1c]
mov ecx, dword [0x100c310c]
imul ecx, eax
add ecx, 0x2158
jne 0x100284a4
xor edx, edx
mov dword [ebp - 0x4bc], 1
mov dword [ebp - 0x4b8], edx
jmp 0x100284af
xorps xmm0, xmm0
movlpd qword [ebp - 0x4bc], xmm0
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x6f0], ecx
xor eax, dword [ebp - 0x4bc]
mov word [0x100c30fc], ax
movsx eax, word [ebp - 0x20]
cdq
mov ecx, eax
sub ecx, 0xf95bd7e4
movzx eax, word [ebp - 0x34]
cdq
add eax, ecx
mov word [ebp - 0x34], ax
movzx edx, word [ebp - 0x738]
cmp edx, 0x5a4d
jne 0x1002adcf
movzx eax, word [0x100c30b0]
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov edx, dword [ebp - 0x74]
sub edx, ecx
mov dword [ebp - 0x74], edx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
add eax, 0xbff21c12
adc ecx, 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, 0x6e
mov word [ebp - 0x1c], dx
movsx eax, byte [0x100c3075]
cdq
sub eax, 0xd76a49b4
mov word [0x100c3118], ax
movsx eax, byte [ebp - 0x11]
movzx ecx, word [0x100c30b0]
xor eax, ecx
mov byte [ebp - 0x11], al
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x10028564
mov dword [ebp - 0x148], 1
jmp 0x1002856e
mov dword [ebp - 0x148], 0
movsx eax, word [0x100c308c]
mov ecx, dword [ebp - 0x148]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov edi, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
sbb edx, edi
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x4c0], esi
mov edx, dword [ebp - 0x4c4]
or edx, dword [ebp - 0x4c0]
jne 0x100285c6
xor eax, eax
mov dword [ebp - 0x268], 1
mov dword [ebp - 0x264], eax
jmp 0x100285d1
xorps xmm0, xmm0
movlpd qword [ebp - 0x268], xmm0
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x264]
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], edx
cmp dword [0x100c310c], 0
je 0x1002867d
mov eax, dword [ebp - 0x4c]
not eax
mov word [0x100c30b0], ax
movzx ecx, word [ebp - 0x2c]
imul edx, ecx, 0x1bf10ea7
mov dword [0x100c310c], edx
movsx eax, word [ebp - 0x18]
movsx ecx, word [ebp - 0x40]
sub eax, ecx
movsx edx, word [ebp - 0x18]
sub edx, eax
mov word [ebp - 0x18], dx
mov eax, dword [0x100c3120]
mov ecx, dword [0x100c3124]
push ecx
push eax
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1008eb70
mov word [0x100c30e0], ax
cmp dword [ebp - 0x74], 0
jne 0x10028657
mov dword [ebp - 0x14c], 1
jmp 0x10028661
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x14c]
not ecx
mov byte [ebp - 0x11], cl
mov dx, word [0x100c30e0]
mov word [0x100c3090], dx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.10019de0
mov dword [ebp - 0x90], eax
push 0x4a
push 0xa5
call fcn.10051570
add esp, 8
cwde
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x54]
or ecx, dword [ebp - 0x50]
jne 0x100286ba
mov dword [ebp - 0x150], 1
jmp 0x100286c4
mov dword [ebp - 0x150], 0
cmp dword [ebp - 0x54], 0x34
jne 0x100286dc
cmp dword [ebp - 0x50], 0
jne 0x100286dc
mov dword [ebp - 0x154], 1
jmp 0x100286e6
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x154]
jg 0x10028a18
mov dword [ebp - 0x78], 2
movzx eax, byte [0x100c303b]
sub eax, 0x91
movzx ecx, word [0x100c30a0]
imul ecx, eax
mov word [0x100c30a0], cx
movzx eax, word [0x100c30b0]
cdq
mov ecx, eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x6f4], eax
add ecx, edx
movzx eax, word [0x100c30b0]
cdq
and eax, ecx
mov word [0x100c30b0], ax
movsx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [0x100c3080]
or eax, dword [0x100c3084]
je 0x10028775
movsx ecx, word [0x100c308c]
mov dword [ebp - 0x158], ecx
jmp 0x1002877f
movzx edx, word [ebp - 0x44]
mov dword [ebp - 0x158], edx
mov al, byte [ebp - 0x158]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0
je 0x100287b9
cmp dword [ebp - 0xb4], 1
je 0x10028845
cmp dword [ebp - 0xb4], 2
je 0x10028921
jmp 0x10028a13
movsx eax, word [0x100c3090]
add eax, 0x24
cdq
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
and ecx, eax
and esi, edx
mov dword [0x100c30e8], ecx
mov dword [0x100c30ec], esi
movzx edx, byte [0x100c303b]
movzx eax, byte [0x100c3063]
add edx, eax
movzx ecx, byte [0x100c303b]
add ecx, edx
mov byte [0x100c303b], cl
movsx edx, word [0x100c3088]
movzx eax, word [0x100c30a0]
xor edx, eax
movsx ecx, word [0x100c3088]
and ecx, edx
mov word [0x100c3088], cx
movzx edx, word [0x100c30a0]
imul eax, edx, 0xac25bac2
mov word [ebp - 0x28], ax
movsx ecx, word [0x100c3090]
add ecx, 0xa3
mov byte [ebp - 0x11], cl
jmp 0x10028a13
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c3090]
cdq
mov edx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
mov dword [ebp - 0x6f8], esi
sub edx, eax
mov eax, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
mov dword [ebp - 0x6e4], esi
xor eax, edx
not eax
add ecx, eax
not ecx
mov dword [ebp - 0x78], ecx
mov ecx, 2
mov word [ebp - 0x30], cx
movsx edx, word [ebp - 0x28]
movsx eax, word [ebp - 0x28]
sub edx, eax
mov word [ebp - 0x28], dx
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x4cc], ecx
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x4cc]
or eax, dword [ebp - 0x4c8]
je 0x100288ee
mov eax, dword [ebp - 0x78]
cdq
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], edx
jmp 0x10028906
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0x26c], edx
mov al, byte [ebp - 0x270]
mov byte [ebp - 0x13], al
movsx ecx, byte [ebp - 0x13]
add ecx, 0x9d
mov byte [ebp - 0x13], cl
jmp 0x10028a13
mov eax, dword [0x100c3108]
cdq
mov ecx, dword [0x100c30f4]
push ecx
mov ecx, dword [0x100c30f0]
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
mov eax, dword [0x100c3108]
cdq
sub eax, ecx
mov dword [0x100c3108], eax
movsx edx, byte [0x100c3027]
mov eax, dword [ebp - 0x4c]
imul eax, edx
mov ecx, dword [ebp - 0x4c]
imul ecx, eax
mov dword [ebp - 0x4c], ecx
movzx edx, word [0x100c30b0]
imul eax, edx, 0xf0
movzx ecx, word [ebp - 0x2c]
add ecx, eax
mov word [ebp - 0x2c], cx
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10028994
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
jmp 0x100289a8
movzx eax, word [0x100c30b0]
cdq
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], edx
mov dl, byte [ebp - 0x278]
mov byte [0x100c3027], dl
movsx eax, byte [0x100c3027]
test eax, eax
je 0x100289d9
mov ecx, dword [0x100c30f0]
mov edx, dword [0x100c30f4]
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], edx
jmp 0x100289f0
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], ecx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x74], edx
movzx eax, byte [ebp - 0x12]
mov ecx, dword [0x100c30f8]
sub ecx, eax
mov edx, dword [0x100c30f8]
sub edx, ecx
mov dword [0x100c30f8], edx
jmp 0x10028ae3
movsx eax, word [ebp - 0x3c]
movzx ecx, word [ebp - 0x1c]
add eax, ecx
mov word [ebp - 0x3c], ax
movsx edx, word [ebp - 0x24]
imul eax, edx, 0
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x10028a50
xor ecx, ecx
mov dword [ebp - 0x3b0], 1
mov dword [ebp - 0x3ac], ecx
jmp 0x10028a5b
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b0], xmm0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6e8], eax
not edx
mov ecx, 0xa9d9
sub ecx, edx
movzx eax, byte [ebp - 0x12]
movsx edx, word [0x100c3118]
xor eax, edx
not eax
cdq
or ecx, eax
mov esi, dword [ebp - 0x3b0]
sub esi, dword [0x100c3080]
movsx eax, word [ebp - 0x40]
cdq
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x6ec], edi
sub edx, eax
sub esi, edx
sub ecx, esi
mov word [0x100c3090], cx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5dc], ecx
mov dword [ebp - 0x4c], eax
movsx eax, word [ebp - 0x24]
cdq
mov ecx, eax
add ecx, dword [0x100c30f0]
movsx eax, word [ebp - 0x24]
cdq
and eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [0x100c3080]
sub edx, 0xc02090e
mov word [ebp - 0x48], dx
cmp dword [ebp - 0x90], 0
je 0x1002adcf
movsx eax, byte [ebp - 0x13]
mov ecx, dword [ebp - 0x4c]
not ecx
imul eax, ecx
mov byte [str.NDisablePerfBackoff], al
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100c3114]
sub ecx, dword [0x100c3110]
sbb esi, edx
movzx eax, word [ebp - 0x2c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x2c], ax
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x5e0], ecx
mov word [ebp - 0x18], ax
movsx edx, byte [ebp - 0x13]
imul eax, edx, 0xdc6f
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movzx eax, byte [0x100c3062]
cdq
sub eax, 0x2dff27b0
mov byte [0x100c3063], al
mov eax, dword [str.Metadata]
mov dword [ebp - 0x5d8], eax
mov ecx, dword [0x1009b508]
mov dword [ebp - 0x5d4], ecx
mov edx, dword [0x1009b50c]
mov dword [ebp - 0x5d0], edx
mov eax, dword [0x1009b510]
mov dword [ebp - 0x5cc], eax
mov cx, word [0x1009b514]
mov word [ebp - 0x5c8], cx
lea edx, [ebp - 0x5d8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [ebp - 0x12], al
mov eax, dword [0x100c3b38]
mov dword [ebp - 0xb8], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov word [0x100c30a0], ax
movzx ecx, word [0x100c30a0]
test ecx, ecx
jge 0x10028c2b
mov edx, 2
imul eax, edx, 0x21
mov cx, word [0x100c30a0]
mov word [eax + 0x1017a648], cx
movzx edx, word [ebp - 0x2c]
sub edx, dword [ebp - 0x78]
movzx eax, word [ebp - 0x2c]
add eax, edx
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100c3120]
mov edx, dword [0x100c3124]
mov dword [ebp - 0x5e4], edx
sub ecx, 0x684a
mov word [ebp - 0x28], cx
mov eax, 0xffffbf6a
mov word [ebp - 0x40], ax
mov dword [0x100c30f8], 0x9d
mov ecx, dword [ebp - 0xb8]
add ecx, 0x4ed
mov dword [ebp - 0x5e8], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5ec], eax
mov ecx, 4
imul eax, ecx, 0xe
mov dword [eax + 0x100dfc18], edx
imul ecx, dword [ebp - 0x4c], 0xe0
mov word [0x100c3088], cx
mov edx, dword [0x100c3108]
add edx, 0x82
mov word [ebp - 0x2c], dx
mov eax, dword [0x100c30c0]
mov ecx, dword [0x100c30c4]
mov dword [ebp - 0x5f0], ecx
add eax, 0xb6
mov word [ebp - 0x18], ax
movzx edx, word [ebp - 0x30]
add edx, dword [0x100c30f8]
jne 0x10028ca9
mov eax, 1
mov word [ebp - 0x8c], ax
jmp 0x10028cb2
xor ecx, ecx
mov word [ebp - 0x8c], cx
mov dx, word [ebp - 0x8c]
mov word [0x100c308c], dx
mov eax, dword [ebp - 0xb8]
add eax, 0x62f
mov dword [ebp - 0x5f4], eax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
mov dword [ebp - 0x5f8], edx
add ecx, 0x6f9973b5
mov byte [0x100c303b], cl
movzx eax, word [ebp - 0x34]
cdq
mov ecx, dword [0x100c3114]
add eax, dword [0x100c3110]
adc edx, ecx
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], edx
mov edx, dword [ebp - 0x4d4]
or edx, dword [ebp - 0x4d0]
jne 0x10028d30
xor eax, eax
mov dword [ebp - 0x288], 1
mov dword [ebp - 0x284], eax
jmp 0x10028d3b
xorps xmm0, xmm0
movlpd qword [ebp - 0x288], xmm0
movzx eax, word [ebp - 0x34]
cdq
push 0xb9468
push 0x460f5028
push edx
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x288]
sub ecx, eax
mov eax, dword [ebp - 0x284]
sbb eax, edx
not ecx
not eax
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], eax
push 0x98525
push 0x59be1b82
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.1008eb70
mov word [ebp - 0x1c], ax
mov eax, dword [0x100c3108]
cdq
add eax, dword [0x100c3080]
adc edx, dword [0x100c3084]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp - 0x4dc]
or eax, dword [ebp - 0x4d8]
jne 0x10028dc3
mov dword [ebp - 0x15c], 1
jmp 0x10028dcd
mov dword [ebp - 0x15c], 0
movzx ecx, byte [0x100c3062]
not ecx
movsx edx, word [ebp - 0x38]
imul ecx, edx
add ecx, dword [ebp - 0x15c]
not ecx
movzx eax, word [0x100c30b0]
movsx edx, byte [0x100c3027]
not edx
imul eax, edx
movsx edx, word [ebp - 0x20]
add edx, dword [0x100c3108]
imul eax, edx
add ecx, eax
mov word [ebp - 0x40], cx
movzx eax, word [0x100c30b0]
cdq
xor eax, 0xc043dce
mov word [ebp - 0x30], ax
mov eax, dword [ebp - 0xb8]
add eax, 0x854
mov dword [ebp - 0x3a8], eax
mov ecx, 1
imul edx, ecx, 0x3eb3
movsx eax, byte [edx + 0x100dfcd8]
movsx ecx, word [0x100c3088]
imul ecx, eax
mov word [0x100c3088], cx
movsx edx, word [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
imul eax, edx
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov dword [ebp - 0x4c], ecx
movzx eax, word [0x100c30e0]
cdq
and eax, 0xf0b69e35
mov word [0x100c308c], ax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
add edx, dword [0x100c30f0]
adc eax, dword [0x100c30f4]
mov dword [0x100c30f0], edx
mov dword [0x100c30f4], eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
push 0x4a953
push 0x40aa9cda
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x18], ax
movzx eax, word [ebp - 0x30]
cdq
add eax, dword [ebp - 0x54]
not eax
mov byte [0x100c3027], al
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x9c], eax
mov ecx, dword [0x100c30f8]
sar ecx, 7
mov byte [0x100c3027], cl
movsx edx, word [0x100c3088]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov word [0x100c3088], dx
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5fc], edx
sub ecx, 0xfe
movsx eax, word [ebp - 0x18]
cdq
add eax, ecx
mov word [ebp - 0x18], ax
movsx eax, byte [str.NDisablePerfBackoff]
sub eax, dword [ebp - 0x58]
mov byte [str.NDisablePerfBackoff], al
movsx eax, byte [ebp - 0x13]
cdq
mov dword [0x100c30d8], eax
mov dword [0x100c30dc], edx
movsx ecx, word [0x100c30fc]
movsx edx, byte [0x100c3075]
not edx
add ecx, edx
mov word [0x100c30e0], cx
mov eax, dword [ebp - 0x9c]
add eax, 0x81c
mov dword [ebp - 0x3a4], eax
movsx ecx, word [0x100c3088]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x4c], eax
movsx edx, byte [0x100c3075]
test edx, edx
jne 0x10028f90
mov eax, dword [0x100c30f0]
or eax, dword [0x100c30f4]
jne 0x10028f90
mov dword [ebp - 0x160], 0
jmp 0x10028f9a
mov dword [ebp - 0x160], 1
movsx ecx, word [0x100c30fc]
test ecx, ecx
je 0x10028fd6
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
mov dword [ebp - 0x4e4], edx
mov dword [ebp - 0x4e0], eax
mov ecx, dword [ebp - 0x4e4]
or ecx, dword [ebp - 0x4e0]
jne 0x10028fd6
mov dword [ebp - 0x164], 1
jmp 0x10028fe0
mov dword [ebp - 0x164], 0
mov edx, dword [ebp - 0x160]
cmp edx, dword [ebp - 0x164]
je 0x100293d3
mov eax, 4
mov word [ebp - 0x20], ax
movsx ecx, word [ebp - 0x38]
sub ecx, dword [ebp - 0x78]
jne 0x10029018
xor edx, edx
mov dword [ebp - 0x4ec], 1
mov dword [ebp - 0x4e8], edx
jmp 0x10029023
xorps xmm0, xmm0
movlpd qword [ebp - 0x4ec], xmm0
movzx eax, word [ebp - 0x48]
cdq
mov ecx, dword [0x100c30b8]
sub ecx, eax
movsx eax, word [0x100c3118]
not eax
cdq
add eax, dword [0x100c3080]
sub ecx, eax
not ecx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov dword [ebp - 0x600], eax
xor edx, dword [ebp - 0x4ec]
xor ecx, edx
mov word [ebp - 0x20], cx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x604], eax
xor ecx, edx
movsx eax, word [ebp - 0x20]
cdq
add eax, ecx
mov word [ebp - 0x20], ax
mov ecx, 0x2441
mov word [ebp - 0x2c], cx
push 0
push 0x113f
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1008eb70
mov word [ebp - 0x20], ax
cmp dword [ebp - 0x74], 0
jne 0x100290b4
mov dword [ebp - 0x168], 1
jmp 0x100290be
mov dword [ebp - 0x168], 0
movzx eax, byte [0x100c303b]
cdq
push edx
push eax
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, word [0x100c30e0]
add eax, dword [ebp - 0x168]
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov word [ebp - 0x20], ax
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x16c], edx
cmp dword [ebp - 0x16c], 4
ja case.default.0x10029117
mov eax, dword [ebp - 0x16c]
jmp dword [eax*4 + 0x1002b4f0]
movsx ecx, word [0x100c3118]
imul edx, ecx, 0x51d9359c
mov word [ebp - 0x18], dx
movsx eax, word [ebp - 0x28]
imul ecx, eax, 0x8d
mov byte [0x100c3027], cl
mov edx, dword [ebp - 0x58]
sub edx, 0xf9
mov eax, dword [ebp - 0x58]
sub eax, edx
mov dword [ebp - 0x58], eax
movsx eax, byte [ebp - 0x11]
add eax, 0x1a11324f
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, 0x1c7
mov word [ebp - 0x18], cx
mov edx, 0x20ab7
mov dword [ebp - 0x68], 0x35bc466c
mov dword [ebp - 0x64], edx
jmp case.default.0x10029117
cmp dword [0x100c310c], 0
jne 0x10029192
mov dword [ebp - 0x170], 1
jmp 0x1002919c
mov dword [ebp - 0x170], 0
movzx eax, word [ebp - 0x44]
add eax, dword [ebp - 0x170]
jne 0x100291b4
mov dword [ebp - 0x174], 1
jmp 0x100291be
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, dword [0x100c30f0]
adc esi, dword [0x100c30f4]
not ecx
not esi
movzx eax, word [ebp - 0x2c]
cdq
xor ecx, eax
xor esi, edx
movzx edx, word [ebp - 0x2c]
sub edx, 0x3c96
mov eax, edx
imul eax, dword [ebp - 0x174]
cdq
add ecx, eax
adc esi, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], esi
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x608], ecx
add eax, 0xd503e6d6
mov word [ebp - 0x34], ax
mov edx, dword [ebp - 0x74]
sub edx, 0xd064
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x24]
add eax, 0xd68d
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov eax, dword [0x100c30b8]
sub eax, 0x31c0
mov word [ebp - 0x38], ax
jmp case.default.0x10029117
mov ecx, 4
mov word [ebp - 0x38], cx
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
xor edx, dword [0x100c30e8]
xor eax, dword [0x100c30ec]
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], eax
movsx eax, word [0x100c308c]
movsx ecx, word [0x100c30fc]
add eax, ecx
cdq
mov ecx, eax
movsx eax, word [ebp - 0x3c]
not eax
cdq
sub eax, dword [0x100c30b8]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
xor edx, edx
mov dword [0x100c3080], 0x37b1c7d7
mov dword [0x100c3084], edx
jmp case.default.0x10029117
mov eax, dword [ebp - 0x58]
shl eax, 3
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
movsx eax, word [ebp - 0x18]
mov dword [ebp - 0x4c], eax
movzx ecx, word [ebp - 0x34]
imul edx, ecx, 0x8a6931c4
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x74]
xor ecx, ecx
push 0xde945
push 0xd6f59dd5
push ecx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [0x100c30fc]
cdq
add eax, ecx
mov word [0x100c30fc], ax
movzx eax, word [ebp - 0x48]
cdq
mov ecx, eax
add ecx, 0xffff7f0
movzx eax, word [0x100c30a0]
cdq
add eax, ecx
mov word [0x100c30a0], ax
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [0x100c30e8], edx
mov dword [0x100c30ec], eax
jmp case.default.0x10029117
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov eax, dword [0x100c30c0]
mov esi, dword [0x100c30c4]
push esi
push eax
push edx
push ecx
call fcn.1008eb70
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 [0x100c3098]
mov eax, dword [0x100c309c]
add edx, 0x639d
adc eax, 0
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
movsx eax, word [ebp - 0x20]
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
movzx eax, word [0x100c30a0]
cdq
push 0x4e02c
push 0xfe496bb8
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], 0x4764
jmp 0x10029648
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x4f4]
or eax, dword [ebp - 0x4f0]
jne 0x1002941f
mov ecx, dword [0x100c30c0]
mov edx, dword [0x100c30c4]
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], edx
mov eax, dword [ebp - 0x4fc]
or eax, dword [ebp - 0x4f8]
je 0x10029494
movsx ecx, word [ebp - 0x18]
imul edx, ecx, 0xd205
mov dword [0x100c310c], edx
movzx eax, byte [0x100c3062]
cdq
push 0x72b0b
push 0x19766d07
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x24]
cdq
sub ecx, eax
mov dword [ebp - 0x78], ecx
imul edx, dword [ebp - 0x58], 0xc025
mov word [ebp - 0x38], dx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
push 0
push 0xe3
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x4c], eax
mov edx, 0xe466
mov word [ebp - 0x2c], dx
movsx eax, byte [0x100c3075]
cdq
sub eax, 0x2a82a1b
mov byte [ebp - 0x12], al
jmp 0x10029648
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x504]
or edx, dword [ebp - 0x500]
jne 0x1002959f
movsx eax, word [ebp - 0x24]
imul eax, dword [0x100c3108]
or eax, dword [0x100c3108]
mov dword [0x100c3108], eax
mov ecx, 4
imul edx, ecx, 0x3e0
movzx eax, word [ebp - 0x30]
or eax, dword [edx + 0x10155538]
mov word [ebp - 0x30], ax
mov ecx, 1
imul edx, ecx, 0x52
movzx eax, byte [edx + 0x100c3c18]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x50c]
or edx, dword [ebp - 0x508]
jne 0x10029541
xor eax, eax
mov dword [ebp - 0x514], 1
mov dword [ebp - 0x510], eax
jmp 0x1002954c
xorps xmm0, xmm0
movlpd qword [ebp - 0x514], xmm0
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x60c], edx
xor ecx, dword [0x100c30f0]
movzx eax, word [0x100c30b0]
cdq
add ecx, eax
not ecx
movsx eax, word [ebp - 0x38]
cdq
add eax, dword [ebp - 0x54]
sub eax, dword [ebp - 0x514]
not eax
sub ecx, eax
not ecx
mov byte [0x100c3063], cl
movzx eax, byte [0x100c3062]
sub eax, 0x64
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
jmp 0x10029648
movzx eax, byte [0x100c303b]
test eax, eax
je 0x10029648
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x100295c9
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], edx
jmp 0x100295e0
mov edx, dword [0x100c30d8]
mov eax, dword [0x100c30dc]
mov dword [ebp - 0x290], edx
mov dword [ebp - 0x28c], eax
mov cx, word [ebp - 0x290]
mov word [0x100c3090], cx
movsx edx, word [0x100c30fc]
shl edx, 6
mov byte [ebp - 0x12], dl
movsx eax, byte [0x100c3075]
test eax, eax
jne 0x10029612
mov dword [ebp - 0x178], 1
jmp 0x1002961c
mov dword [ebp - 0x178], 0
movzx eax, word [ebp - 0x34]
sub eax, dword [ebp - 0x178]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x24]
cdq
mov edi, dword [ebp - 0x64]
sub eax, dword [ebp - 0x68]
sbb edx, edi
sub ecx, eax
sbb esi, edx
mov dword [0x100c30f0], ecx
mov dword [0x100c30f4], esi
mov edx, dword [ebp - 0x9c]
add edx, 0x7d2
mov dword [ebp - 0x610], edx
movzx eax, byte [0x100c3062]
cdq
xor eax, 0x9d500382
xor edx, 0xc167d
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x51c]
or eax, dword [ebp - 0x518]
jne 0x10029693
mov dword [ebp - 0x17c], 1
jmp 0x1002969d
mov dword [ebp - 0x17c], 0
movzx ecx, byte [0x100c303b]
test ecx, ecx
jne 0x100296b4
mov dword [ebp - 0x180], 1
jmp 0x100296be
mov dword [ebp - 0x180], 0
mov ecx, dword [0x100c30d8]
not ecx
mov esi, dword [0x100c30dc]
not esi
mov eax, dword [ebp - 0x17c]
sub eax, dword [ebp - 0x180]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov byte [0x100c3063], al
mov edx, 0xf12f
mov word [ebp - 0x48], dx
movsx eax, byte [0x100c3027]
shl eax, 6
mov byte [0x100c3062], al
mov cl, byte [ebp - 0x70]
mov byte [0x100c3062], cl
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
push 0
push 0x77d2
push eax
push edx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov cx, word [0x100c3b38]
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x9c]
add edx, 0x6d0
mov dword [ebp - 0x3a0], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
je 0x10029775
mov eax, dword [ebp - 0x184]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x614], eax
mov ecx, dword [ebp - 0x3a0]
add ecx, 0x154
cmp dword [ebp - 0x3a4], ecx
je 0x1002adcf
mov byte [str.NDisablePerfBackoff], 2
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x618], edx
add ecx, 0xd7
mov eax, dword [ebp - 0x58]
cdq
sub eax, ecx
mov dword [ebp - 0x58], eax
mov eax, 1
imul ecx, eax, 0x141
mov dl, byte [ecx + 0x10192df0]
mov byte [0x100c3075], dl
movzx eax, word [ebp - 0x1c]
movzx ecx, word [0x100c30e0]
add eax, ecx
movzx edx, word [ebp - 0x1c]
sub edx, eax
mov word [ebp - 0x1c], dx
movsx ecx, byte [ebp - 0x13]
sub ecx, 0xeb0b
mov eax, dword [ebp - 0x74]
shr eax, cl
mov dword [ebp - 0x74], eax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x520], edx
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x528], esi
mov edx, dword [ebp - 0x520]
cmp edx, dword [ebp - 0x528]
ja 0x10029923
jb 0x10029844
mov eax, dword [ebp - 0x524]
cmp eax, dword [ebp - 0x52c]
ja 0x10029923
movzx eax, word [ebp - 0x30]
cdq
push edx
push eax
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
call fcn.1008eb70
push edx
push eax
mov eax, dword [0x100c30f4]
push eax
mov ecx, dword [0x100c30f0]
push ecx
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
push 0
push 0xd95c88
push eax
push edx
call fcn.1008eb70
mov ecx, eax
movzx eax, byte [0x100c3062]
cdq
add eax, ecx
mov byte [0x100c3062], al
movsx edx, word [ebp - 0x28]
movsx eax, word [ebp - 0x18]
add edx, eax
mov word [ebp - 0x28], dx
movsx eax, word [ebp - 0x24]
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, dword [0x100c3100]
mov eax, dword [0x100c3104]
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
sub ecx, eax
sbb esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx edx, word [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
and eax, edx
mov ecx, dword [ebp - 0x4c]
or ecx, eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x101a2630]
push edx
mov eax, dword [ebp - 0x90]
push eax
call fcn.1000f8f0
mov dword [ebp - 0x1a4], eax
push 0xb2
call fcn.1004f040
add esp, 4
mov byte [0x100c3075], al
movsx ecx, word [0x100c3118]
movsx edx, byte [ebp - 0x11]
cmp ecx, edx
jge 0x10029969
mov dword [ebp - 0x188], 1
jmp 0x10029973
mov dword [ebp - 0x188], 0
movsx eax, byte [ebp - 0x11]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
jge 0x1002998b
mov dword [ebp - 0x18c], 1
jmp 0x10029995
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x18c]
jne 0x100299af
mov dword [ebp - 0x190], 1
jmp 0x100299b9
mov dword [ebp - 0x190], 0
movzx eax, word [ebp - 0x2c]
test eax, eax
je 0x100299e0
movsx ecx, word [0x100c3088]
test ecx, ecx
jne 0x100299e0
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x100299e0
mov dword [ebp - 0x194], 0
jmp 0x100299ea
mov dword [ebp - 0x194], 1
mov eax, dword [ebp - 0x190]
not eax
cmp eax, dword [ebp - 0x194]
jge 0x10029a6a
movsx eax, word [ebp - 0x38]
shl eax, 8
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov cx, word [ebp - 0x30]
add cx, 1
mov word [ebp - 0x30], cx
movsx eax, word [ebp - 0x24]
and eax, 0xf9
cdq
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30d0], ecx
mov dword [0x100c30d4], esi
movsx eax, word [ebp - 0x18]
cdq
sub eax, 0xa7b9cf7f
mov word [ebp - 0x24], ax
mov edx, 1
imul eax, edx, 0xb0f
movzx cx, byte [eax + 0x10192df0]
mov word [ebp - 0x18], cx
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x13], dl
jmp 0x10029bee
xor eax, eax
je 0x10029b01
mov eax, dword [0x100c3080]
mov edx, dword [0x100c3084]
mov cl, 6
call fcn.1008ec80
mov word [ebp - 0x30], ax
push 0
push 0xa5d5
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x70]
push edx
call fcn.1008eb70
mov word [ebp - 0x48], ax
mov al, byte [0x100c3b38]
mov byte [str.NDisablePerfBackoff], al
mov ecx, dword [ebp - 0x54]
sub ecx, 0x938b
movzx eax, word [ebp - 0x1c]
cdq
or eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x54]
add edx, 0xc2734999
mov word [ebp - 0x34], dx
movsx eax, word [0x100c308c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100c30ac]
add ecx, dword [0x100c30a8]
adc esi, edx
movsx eax, word [0x100c308c]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [0x100c308c], ax
jmp 0x10029bee
movsx eax, word [0x100c30fc]
test eax, eax
je 0x10029b75
movsx ecx, word [0x100c3088]
add ecx, 0xf2
mov dword [0x100c310c], ecx
mov edx, 2
mov word [ebp - 0x40], dx
imul eax, dword [0x100c30f8], 0x9d65
mov word [0x100c3118], ax
movzx ecx, word [0x100c30a0]
add ecx, 0x3f84
mov byte [0x100c3063], cl
mov edx, dword [0x100c3108]
sub edx, 0xc2c4
mov byte [0x100c303b], dl
mov ax, word [ebp - 0x28]
mov ecx, 2
imul edx, ecx, 0xe2
mov word [edx + 0x10192bf0], ax
jmp 0x10029bee
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x534], eax
mov dword [ebp - 0x530], ecx
mov edx, dword [ebp - 0x534]
or edx, dword [ebp - 0x530]
je 0x10029bee
movsx eax, word [ebp - 0x40]
cdq
push 0xc2fae
push 0xd08248cf
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x58], eax
movsx ecx, word [0x100c3090]
movzx edx, word [0x100c30e0]
lea eax, [edx + ecx + 0x82]
mov word [0x100c30e0], ax
movsx eax, word [0x100c3090]
sar eax, 6
cdq
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
cmp dword [ebp - 0x1a4], 0
je 0x1002ad44
push 0
push 0xf
call fcn.1004e550
add esp, 8
mov word [0x100c308c], ax
movsx ecx, word [0x100c308c]
test ecx, ecx
jle 0x10029c24
mov dword [ebp - 0x198], 1
jmp 0x10029c2e
mov dword [ebp - 0x198], 0
movsx edx, word [0x100c308c]
cmp edx, 0x14
jle 0x10029c46
mov dword [ebp - 0x19c], 1
jmp 0x10029c50
mov dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x198]
cmp eax, dword [ebp - 0x19c]
je 0x10029d39
mov dword [ebp - 0x94], 0
jmp 0x10029c7d
mov ecx, dword [ebp - 0x94]
add ecx, 2
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0x10b
jge 0x10029d34
mov edx, 4
imul eax, edx, 0x59c2
movsx ecx, word [ebp - 0x38]
sub ecx, dword [eax + 0x10155538]
mov word [ebp - 0x38], cx
mov edx, dword [0x100c30f0]
sub edx, 0x711299c3
mov eax, dword [0x100c30f4]
sbb eax, 0x91c08
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx eax, byte [0x100c3062]
add eax, 3
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x48]
cdq
add eax, dword [0x100c30d8]
adc edx, dword [0x100c30dc]
mov ecx, dword [0x100c30d8]
sub ecx, eax
mov eax, dword [0x100c30dc]
sbb eax, edx
mov dword [0x100c30d8], ecx
mov dword [0x100c30dc], eax
movzx ecx, word [ebp - 0x44]
movsx edx, word [ebp - 0x24]
lea eax, [edx + ecx + 0xcb]
mov word [ebp - 0x24], ax
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
add ecx, 1
adc edx, 0
mov dword [0x100c30a8], ecx
mov dword [0x100c30ac], edx
jmp 0x10029c6e
jmp 0x10029e2f
movsx eax, word [ebp - 0x24]
test eax, eax
je 0x10029e2f
cmp dword [0x100c30f8], 0
je 0x10029d68
mov ecx, dword [0x100c30b8]
mov edx, dword [0x100c30bc]
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xc0], edx
jmp 0x10029d7a
mov eax, dword [0x100c30f8]
cdq
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc0]
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], ecx
mov dword [0x100c3108], 8
movzx edx, byte [0x100c3063]
movzx eax, word [ebp - 0x2c]
add edx, eax
jne 0x10029db6
mov dword [ebp - 0x1a0], 1
jmp 0x10029dc0
mov dword [ebp - 0x1a0], 0
movsx eax, byte [ebp - 0x13]
movzx ecx, word [ebp - 0x44]
xor eax, ecx
not eax
add eax, dword [ebp - 0x1a0]
cdq
sub eax, dword [0x100c3080]
mov word [ebp - 0x1c], ax
mov edx, dword [0x100c310c]
xor eax, eax
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, dword [0x100c310c]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c310c], eax
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x61c], eax
mov ecx, 4
imul eax, ecx, 0xa
mov dword [eax + 0x10118848], edx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov word [ebp - 0x38], ax
call dword [ebp - 0x1a4]
mov dword [ebp - 4], 6
movsx ecx, word [0x100c3088]
movsx edx, byte [0x100c3027]
cmp ecx, edx
jg 0x10029e64
mov dword [ebp - 0x1a8], 1
jmp 0x10029e6e
mov dword [ebp - 0x1a8], 0
movzx eax, word [ebp - 0x34]
test eax, eax
je 0x10029e8a
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x10029e8a
mov dword [ebp - 0x1ac], 1
jmp 0x10029e94
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
je 0x10029f6a
movzx eax, byte [0x100c3062]
shl eax, 6
mov dword [0x100c3108], eax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x538], edx
mov eax, dword [ebp - 0x53c]
or eax, dword [ebp - 0x538]
je 0x10029eee
movzx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edx
jmp 0x10029f06
mov ecx, dword [0x100c30b8]
mov edx, dword [0x100c30bc]
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], edx
mov ax, word [ebp - 0x298]
mov word [0x100c30e0], ax
movzx eax, word [0x100c30a0]
sub eax, 0xa2
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
movsx ecx, word [0x100c3118]
movzx edx, word [ebp - 0x2c]
add ecx, edx
movsx eax, word [0x100c3118]
sub eax, ecx
mov word [0x100c3118], ax
movzx ecx, word [ebp - 0x48]
movsx edx, word [0x100c3090]
sub ecx, edx
movsx eax, byte [ebp - 0x11]
not eax
sub eax, dword [ebp - 0x78]
imul ecx, eax
sub ecx, 0x538
mov word [ebp - 0x40], cx
jmp 0x1002a069
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
not ecx
not esi
movzx eax, word [ebp - 0x34]
cdq
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x540], esi
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], edx
mov edx, dword [ebp - 0x540]
cmp edx, dword [ebp - 0x548]
ja 0x10029fc1
jb 0x10029fb5
mov eax, dword [ebp - 0x544]
cmp eax, dword [ebp - 0x54c]
ja 0x10029fc1
mov dword [ebp - 0x1b0], 1
jmp 0x10029fcb
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x1b0]
not ecx
test ecx, ecx
je 0x1002a069
mov edx, dword [ebp - 0x70]
add edx, 0x7667ee47
mov eax, dword [ebp - 0x6c]
adc eax, 0x6f58c
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov dx, word [ebp - 0x1c]
add dx, 1
mov word [ebp - 0x1c], dx
mov eax, 2
imul ecx, eax, 0xfc9
movsx edx, word [ecx + 0x1013f1e8]
add edx, dword [0x100c3108]
mov dword [0x100c3108], edx
push 0
push 0x729b
mov eax, dword [0x100c30f4]
push eax
mov ecx, dword [0x100c30f0]
push ecx
call fcn.1008eb70
mov byte [0x100c3062], al
mov edx, 0xf9445
mov dword [0x100c30b8], 0x8cfd22d0
mov dword [0x100c30bc], edx
jmp 0x1002a0fc
mov dword [ebp - 4], 0xffffffff
jmp 0x1002a10c
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.1000e4c0
mov eax, dword [ebp - 0x78]
cdq
mov edx, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x620], ecx
xor eax, edx
mov dword [ebp - 0x78], eax
movzx edx, byte [0x100c303b]
imul eax, edx, 0x662f
mov word [ebp - 0x34], ax
movsx eax, word [ebp - 0x28]
add eax, 0x8e
cdq
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movzx eax, word [0x100c30a0]
cdq
add eax, 0x1e4f5775
mov word [ebp - 0x18], ax
mov edx, 0x60b1
mov word [ebp - 0x34], dx
mov eax, dword [ebp - 0x3a8]
sub eax, 0xb4
cmp eax, 0x17e
je 0x1002aad6
push 0
push 0
call fcn.1004e550
add esp, 8
mov word [0x100c3090], ax
movsx ecx, word [0x100c3090]
test ecx, ecx
jne 0x1002a1d7
mov dword [ebp - 0x1b8], 1
jmp 0x1002a1e1
mov dword [ebp - 0x1b8], 0
movsx edx, word [0x100c3090]
cmp edx, 0x5a
jne 0x1002a1f9
mov dword [ebp - 0x1bc], 1
jmp 0x1002a203
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1bc]
je 0x1002a290
movsx ecx, byte [ebp - 0x11]
sub ecx, dword [ebp - 0x4c]
mov byte [ebp - 0x11], cl
mov byte [0x100c3063], 0x4f
mov edx, 4
imul eax, edx, 0x2a
mov eax, dword [eax + 0x100dfc18]
cdq
mov ecx, dword [ebp - 0x54]
sub ecx, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], eax
xor ecx, ecx
mov dword [0x100c3120], 8
mov dword [0x100c3124], ecx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x624], eax
add edx, 0x27c7c59f
mov dword [ebp - 0x58], edx
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
push 0
push 0x53ca
push edx
push ecx
call fcn.1008eb70
mov word [ebp - 0x3c], ax
jmp 0x1002a387
push 0
push 0x5417
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
movsx edx, word [ebp - 0x18]
movsx eax, word [0x100c3088]
imul eax, dword [ebp - 0x74]
and edx, eax
mov byte [0x100c3063], dl
movzx ecx, word [0x100c30e0]
imul eax, ecx, 0x126b03f5
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movzx eax, word [ebp - 0x44]
cdq
sub eax, 0xef15b31a
sbb edx, 0x6b437
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1002a318
xor eax, eax
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x29c], eax
jmp 0x1002a323
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a0], xmm0
mov ecx, dword [ebp - 0x2a0]
xor ecx, 0x628672f8
mov edx, dword [ebp - 0x29c]
xor edx, 0x9e0a0
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x554]
or eax, dword [ebp - 0x550]
jne 0x1002a361
mov dword [ebp - 0x1c0], 1
jmp 0x1002a36b
mov dword [ebp - 0x1c0], 0
movsx ecx, word [ebp - 0x38]
mov edx, dword [0x100c310c]
sub edx, ecx
not edx
xor edx, dword [ebp - 0x1c0]
not edx
mov byte [0x100c3063], dl
movzx eax, word [ebp - 0x44]
cdq
add eax, dword [0x100c30f0]
mov word [ebp - 0x44], ax
mov eax, dword [0x100c30b8]
or eax, dword [0x100c30bc]
jne 0x1002a3af
mov dword [ebp - 0x1c4], 1
jmp 0x1002a3b9
mov dword [ebp - 0x1c4], 0
movsx eax, byte [0x100c3075]
xor eax, dword [ebp - 0x1c4]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100c3075]
cdq
mov edi, dword [0x100c30a8]
mov ebx, dword [0x100c30ac]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100c3063]
movzx edx, byte [0x100c3063]
add edx, 0xa8ee
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x55c]
or eax, dword [ebp - 0x558]
jne 0x1002a431
mov byte [ebp - 0x7a], 1
jmp 0x1002a435
mov byte [ebp - 0x7a], 0
mov cl, byte [ebp - 0x7a]
mov byte [ebp - 0x11], cl
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov edx, 2
mov word [0x100c30a0], dx
movzx eax, word [ebp - 0x2c]
add eax, 0x761f
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov eax, dword [ebp - 0x80]
cmp dword [ebp + eax*4 - 0x2cc], 0
je 0x1002aad6
push 0xd1
push 0
call fcn.10051570
add esp, 8
movsx ecx, ax
mov dword [ebp - 0x74], ecx
movzx edx, word [ebp - 0x44]
test edx, edx
jne 0x1002a4a1
mov dword [ebp - 0x1c8], 1
jmp 0x1002a4ab
mov dword [ebp - 0x1c8], 0
movsx eax, word [0x100c30fc]
test eax, eax
jne 0x1002a4c2
mov dword [ebp - 0x1cc], 1
jmp 0x1002a4cc
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jl 0x1002a4e6
mov dword [ebp - 0x1d0], 1
jmp 0x1002a4f0
mov dword [ebp - 0x1d0], 0
movzx edx, word [ebp - 0x48]
cmp edx, dword [ebp - 0x1d0]
jne 0x1002a50b
mov eax, dword [ebp - 0x74]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [0x100c303b], al
movsx ecx, word [ebp - 0x38]
test ecx, ecx
jne 0x1002a51f
mov dword [ebp - 0x1d4], 1
jmp 0x1002a529
mov dword [ebp - 0x1d4], 0
movsx edx, byte [ebp - 0x13]
add edx, dword [ebp - 0x1d4]
movzx eax, word [ebp - 0x34]
not eax
imul edx, eax
test edx, edx
jne 0x1002a554
xor ecx, ecx
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], ecx
jmp 0x1002a55f
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
imul ecx, dword [ebp - 0x58], 0xb1
mov word [0x100c30fc], cx
movsx edx, byte [0x100c3027]
movzx eax, byte [0x100c3062]
imul edx, eax
movsx ecx, byte [0x100c3027]
sub ecx, edx
mov byte [0x100c3027], cl
movsx eax, word [ebp - 0x3c]
cdq
mov edx, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x628], ecx
add edx, eax
mov word [ebp - 0x24], dx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100c30ec]
sub ecx, dword [0x100c30e8]
sbb esi, edx
movsx eax, word [ebp - 0x18]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov word [ebp - 0x18], ax
xor eax, eax
mov dword [0x100c30b8], 1
mov dword [0x100c30bc], eax
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x98], ecx
cmp dword [ebp - 0x78], 0
je 0x1002a6c4
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx ecx, word [0x100c30fc]
add ecx, 0x62d5f13c
movzx edx, word [ebp - 0x34]
sub edx, ecx
mov word [ebp - 0x34], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x62c], ecx
mov edx, 2
imul ecx, edx, 0x57d5
mov word [ecx + 0x100c3c88], ax
movsx dx, byte [str.NDisablePerfBackoff]
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100c30b8]
sub ecx, eax
mov eax, dword [0x100c30bc]
sbb eax, edx
mov dword [0x100c30b8], ecx
mov dword [0x100c30bc], eax
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
add edx, ecx
adc eax, esi
mov dword [0x100c3100], edx
mov dword [0x100c3104], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x57e
mov dword [ebp - 0x630], ecx
movsx edx, word [ebp - 0x40]
test edx, edx
je 0x1002a7fb
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
not eax
not ecx
push 0
push 0x622d7ed2
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], edx
mov edx, dword [ebp - 0x564]
or edx, dword [ebp - 0x560]
jne 0x1002a725
mov dword [ebp - 0x1d8], 1
jmp 0x1002a72f
mov dword [ebp - 0x1d8], 0
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c3120]
mov esi, dword [0x100c3124]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x568], esi
mov edx, dword [ebp - 0x56c]
or edx, dword [ebp - 0x568]
jne 0x1002a76a
mov dword [ebp - 0x1dc], 1
jmp 0x1002a774
mov dword [ebp - 0x1dc], 0
movsx eax, word [ebp - 0x24]
movzx ecx, byte [0x100c3062]
xor eax, ecx
xor eax, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1dc]
xor edx, 0x89dc
sub eax, edx
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x30]
sub eax, 0x632e529
xor ecx, ecx
mov edx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
add edx, eax
adc esi, ecx
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], esi
xor eax, eax
mov dword [0x100c3120], 2
mov dword [0x100c3124], eax
movzx ecx, word [ebp - 0x30]
movsx edx, word [ebp - 0x20]
and ecx, edx
movzx eax, word [ebp - 0x30]
sub eax, ecx
mov word [ebp - 0x30], ax
mov ecx, dword [0x100c3b38]
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
jmp 0x1002a8af
movsx eax, word [ebp - 0x18]
test eax, eax
je 0x1002a8af
mov ecx, dword [ebp - 0x70]
or ecx, dword [ebp - 0x6c]
jne 0x1002a81b
mov dword [ebp - 0x1e0], 1
jmp 0x1002a825
mov dword [ebp - 0x1e0], 0
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100c30b8]
sbb esi, dword [0x100c30bc]
movzx eax, word [ebp - 0x48]
xor eax, dword [ebp - 0x1e0]
movzx edx, word [0x100c30e0]
movzx edi, word [ebp - 0x30]
imul edx, edi
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov word [ebp - 0x34], ax
mov eax, dword [0x100c310c]
xor ecx, ecx
push 0xcc2f2
push 0xb1f45cbe
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c3108], eax
mov edx, dword [0x100c30f8]
add edx, 1
mov dword [0x100c30f8], edx
movzx eax, byte [ebp - 0x12]
sub eax, 0x12bb
mov word [0x100c3118], ax
movzx ecx, word [0x100c30b0]
sub ecx, 7
mov word [0x100c3088], cx
mov edx, dword [ebp - 0x98]
add edx, 0x6cc
mov dword [ebp - 0x634], edx
movzx eax, word [ebp - 0x34]
imul eax, dword [ebp - 0x4c]
movzx ecx, word [ebp - 0x34]
add ecx, eax
mov word [ebp - 0x34], cx
movzx eax, word [0x100c30b0]
cdq
add eax, 0x9a47a8f3
adc edx, 0xf6363
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov eax, dword [0x100c30f8]
cdq
add eax, 0x19647604
mov word [0x100c3118], ax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
sub edx, 0x66f6269c
sbb eax, 0
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov dx, word [0x100c3b38]
mov word [0x100c30e0], dx
mov eax, dword [ebp - 0x98]
add eax, 0x50a
mov dword [ebp - 0xbc], eax
movsx eax, byte [0x100c3075]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x1c]
cdq
mov edi, dword [0x100c30b8]
sub edi, eax
mov eax, dword [0x100c30bc]
sbb eax, edx
sub ecx, edi
sbb esi, eax
xor edx, edx
xor ecx, dword [0x100c310c]
xor esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
movzx eax, byte [0x100c303b]
imul ecx, eax, 0xb490ef0e
mov byte [str.NDisablePerfBackoff], cl
mov edx, dword [0x100c3b38]
xor eax, eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x70]
add ecx, 0x3a31bcde
mov edx, dword [ebp - 0x6c]
adc edx, 0x8fbcb
mov eax, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
and eax, ecx
and esi, edx
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], esi
movsx ecx, byte [0x100c3027]
mov edx, dword [ebp - 0x74]
sub edx, ecx
add edx, dword [ebp - 0x74]
mov dword [ebp - 0x74], edx
movsx eax, word [ebp - 0x3c]
test eax, eax
je 0x1002a9fa
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2ac], edx
jmp 0x1002aa11
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], ecx
mov dl, byte [ebp - 0x2b0]
mov byte [0x100c303b], dl
mov eax, dword [ebp - 0xbc]
and eax, dword [ebp - 0xbc]
cmp eax, 0xd6
je 0x1002aad6
mov eax, dword [ebp - 0x58]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x68]
xor esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x58]
cdq
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x58], eax
movsx edx, word [ebp - 0x40]
add edx, 0x48
mov byte [str.NDisablePerfBackoff], dl
mov eax, 8
imul ecx, eax, 0x413
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
or edx, dword [ecx + 0x10118ca8]
or eax, dword [ecx + 0x10118cac]
mov dword [0x100c30d0], edx
mov dword [0x100c30d4], eax
movzx ecx, word [0x100c30e0]
sub ecx, dword [0x100c310c]
movzx edx, word [0x100c30e0]
sub edx, ecx
mov word [0x100c30e0], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x638], ecx
add eax, 0x79
mov word [0x100c3088], ax
movsx edx, byte [str.NDisablePerfBackoff]
add edx, dword [0x100c3108]
mov dword [0x100c3108], edx
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x70]
cmp edx, dword [ebp - 0x574]
jne 0x1002ab03
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x570]
je 0x1002ab0f
mov dword [ebp - 0x1e4], 1
jmp 0x1002ab19
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x70], 0x21
jne 0x1002ab25
cmp dword [ebp - 0x6c], 0
je 0x1002ab31
mov dword [ebp - 0x1e8], 1
jmp 0x1002ab3b
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x1e4]
cmp ecx, dword [ebp - 0x1e8]
jg 0x1002ac90
movzx edx, byte [0x100c3062]
cmp edx, dword [ebp - 0x58]
jg 0x1002abaa
mov dword [0x100c30f8], 0x48a3
mov eax, dword [0x100c3108]
cdq
xor eax, 0x2eff190a
mov dword [0x100c30f8], eax
movsx eax, word [ebp - 0x20]
cdq
add eax, 0xaa2dbb54
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x58]
add eax, 0x55b1
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movsx eax, word [ebp - 0x24]
imul ecx, eax, 0x45
movzx edx, word [ebp - 0x1c]
add edx, ecx
mov word [ebp - 0x1c], dx
jmp 0x1002ac8b
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], ecx
cmp dword [ebp - 0x57c], 0x58f1
jne 0x1002abd6
cmp dword [ebp - 0x578], 0
je 0x1002abe2
mov dword [ebp - 0x1ec], 1
jmp 0x1002abec
mov dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x1ec], 0x59
jg 0x1002ac8b
mov edx, dword [0x100c3080]
add edx, 0x68d6
mov eax, dword [0x100c3084]
adc eax, 0
mov dword [0x100c30e8], edx
mov dword [0x100c30ec], eax
imul ecx, dword [ebp - 0x58], 0xfd
mov word [ebp - 0x20], cx
mov edx, 1
shl edx, 0
movsx eax, byte [edx + 0x10118b3c]
movsx ecx, byte [0x100c3075]
imul ecx, eax
mov byte [0x100c3075], cl
movsx edx, word [ebp - 0x18]
add edx, 0x974e7fc
mov word [ebp - 0x48], dx
movsx eax, word [0x100c308c]
test eax, eax
je 0x1002ac6f
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x2b4], edx
jmp 0x1002ac80
movzx eax, word [ebp - 0x48]
cdq
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
mov ax, word [ebp - 0x2b8]
mov word [ebp - 0x34], ax
jmp 0x1002ad3a
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
je 0x1002ad3a
mov edx, dword [0x100c30b8]
sub edx, 0xeb291bce
mov word [0x100c3118], dx
mov ax, word [0x100c3b38]
mov word [ebp - 0x1c], ax
movsx eax, byte [ebp - 0x13]
cdq
push edx
push eax
mov ecx, dword [0x100c30f4]
push ecx
mov edx, dword [0x100c30f0]
push edx
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
mov eax, 1
imul ecx, eax, 0x4929
movsx edx, byte [ecx + 0x1019d9b0]
movsx eax, word [ebp - 0x28]
add eax, edx
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x18]
cdq
add eax, dword [0x100c30b8]
adc edx, dword [0x100c30bc]
add eax, dword [0x100c30b8]
adc edx, dword [0x100c30bc]
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
mov cx, word [0x100c3118]
add cx, 1
mov word [0x100c3118], cx
mov eax, 1
jmp 0x1002b4dd
movsx eax, byte [ebp - 0x13]
cdq
mov edx, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x63c], ecx
add eax, edx
mov word [0x100c30fc], ax
movsx edx, word [ebp - 0x3c]
add edx, dword [0x100c3108]
movsx eax, word [ebp - 0x3c]
and eax, edx
mov word [ebp - 0x3c], ax
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x640], edx
sub ecx, 0x1ad9
mov dword [0x100c3108], ecx
mov ax, word [0x100c3b38]
mov word [ebp - 0x30], ax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
sub ecx, 0xf5f9
sbb edx, 0
mov dword [0x100c3080], ecx
mov dword [0x100c3084], edx
mov eax, 8
mov word [ebp - 0x38], ax
mov ecx, dword [ebp - 0x90]
push ecx
call fcn.1000e4c0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x644], eax
movzx ecx, dx
push ecx
push 0
movzx edx, word [0x100c30d8]
push edx
call fcn.1004fd80
add esp, 0xc
mov byte [str.NDisablePerfBackoff], al
movsx eax, byte [str.NDisablePerfBackoff]
test eax, eax
jl 0x1002ae0d
mov dword [ebp - 0x1f0], 1
jmp 0x1002ae17
mov dword [ebp - 0x1f0], 0
movsx ecx, byte [str.NDisablePerfBackoff]
cmp ecx, 0x3e
jl 0x1002ae2f
mov dword [ebp - 0x1f4], 1
jmp 0x1002ae39
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f0]
cmp edx, dword [ebp - 0x1f4]
jle 0x1002b0ec
movsx eax, word [ebp - 0x3c]
cmp dword [ebp - 0x74], eax
jbe 0x1002af10
movzx eax, word [0x100c30e0]
add eax, 0x2dd5
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx edx, word [0x100c30e0]
test edx, edx
jne 0x1002ae98
mov dword [ebp - 0x1f8], 1
jmp 0x1002aea2
mov dword [ebp - 0x1f8], 0
movsx eax, word [0x100c308c]
movsx ecx, word [ebp - 0x38]
movsx edx, byte [0x100c3027]
add ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x74]
sub ecx, 0x76
and ecx, dword [ebp - 0x1f8]
xor eax, ecx
not eax
xor edx, edx
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov eax, dword [ebp - 0x58]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x648], eax
add ecx, edx
mov eax, dword [ebp - 0x58]
cdq
sub eax, ecx
mov dword [ebp - 0x58], eax
mov ecx, 0x134
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x70]
add edx, 0x5037
mov word [0x100c3090], dx
jmp 0x1002b0e7
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x1002afdb
movzx ecx, word [0x100c30e0]
add ecx, dword [0x100c310c]
movzx edx, word [0x100c30e0]
add edx, ecx
mov word [0x100c30e0], dx
movsx eax, word [ebp - 0x38]
test eax, eax
je 0x1002af4d
movsx ecx, word [ebp - 0x24]
mov dword [ebp - 0x1fc], ecx
jmp 0x1002af5a
movsx edx, byte [0x100c3027]
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
cdq
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
mov eax, 2
imul ecx, eax, 0x709c
mov dx, word [ebp - 0x1c]
mov word [ecx + 0x100c3c88], dx
mov dword [0x100c3108], 0x40
mov eax, dword [0x100c30f8]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100c30c0]
xor esi, dword [0x100c30c4]
movsx eax, word [0x100c3088]
cdq
mov edi, dword [0x100c30ec]
add eax, dword [0x100c30e8]
adc edx, edi
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov word [0x100c30a0], ax
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0xb43388e0
mov byte [0x100c303b], al
jmp 0x1002b0e7
movsx edx, byte [ebp - 0x13]
movsx eax, byte [0x100c3027]
cmp edx, eax
jne 0x1002aff6
mov dword [ebp - 0x200], 1
jmp 0x1002b000
mov dword [ebp - 0x200], 0
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], edx
mov ecx, dword [ebp - 0x580]
cmp ecx, dword [ebp - 0x6c]
ja 0x1002b035
jb 0x1002b029
mov edx, dword [ebp - 0x584]
cmp edx, dword [ebp - 0x70]
ja 0x1002b035
mov dword [ebp - 0x204], 1
jmp 0x1002b03f
mov dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0x204]
jl 0x1002b059
mov dword [ebp - 0x208], 1
jmp 0x1002b063
mov dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x208]
not ecx
test ecx, ecx
je 0x1002b0e7
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movzx edx, byte [0x100c3062]
sub edx, 0xb072
mov dword [0x100c30f8], edx
mov byte [0x100c3075], 0x4c
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
push esi
push ecx
push edx
push eax
call fcn.1008eb70
mov ecx, eax
movsx eax, word [ebp - 0x28]
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
mov edx, 0x48
mov word [ebp - 0x18], dx
mov eax, 0x2ea8
mov word [ebp - 0x40], ax
jmp 0x1002b17c
mov ecx, dword [ebp - 0x70]
or ecx, dword [ebp - 0x6c]
je 0x1002b17c
movzx eax, word [ebp - 0x48]
cdq
mov edx, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x64c], ecx
sub eax, edx
mov word [ebp - 0x48], ax
push 0
push 0x8e
mov edx, dword [0x100c30dc]
push edx
mov eax, dword [0x100c30d8]
push eax
call fcn.1008eb70
mov word [ebp - 0x30], ax
movsx ecx, byte [ebp - 0x11]
add ecx, 0x5a
mov dword [ebp - 0x78], ecx
movsx eax, word [ebp - 0x24]
cdq
mov edx, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x650], ecx
sub edx, eax
not edx
mov word [0x100c30fc], dx
movzx edx, word [0x100c30b0]
add edx, 0x3a6a8de7
mov dword [ebp - 0x4c], edx
movsx eax, byte [0x100c3027]
sar eax, 6
mov word [ebp - 0x40], ax
mov ecx, dword [ebp - 0x80]
cmp dword [ebp + ecx*4 - 0x2cc], 0
je 0x1002b2ce
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x588], eax
mov ecx, dword [ebp - 0x58c]
cmp ecx, dword [ebp - 0x54]
jne 0x1002b1b5
mov edx, dword [ebp - 0x588]
cmp edx, dword [ebp - 0x50]
je 0x1002b1c1
mov dword [ebp - 0x20c], 1
jmp 0x1002b1cb
mov dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], ecx
cmp dword [ebp - 0x594], 0x25
jne 0x1002b1ef
cmp dword [ebp - 0x590], 0
je 0x1002b1fb
mov dword [ebp - 0x210], 1
jmp 0x1002b205
mov dword [ebp - 0x210], 0
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x210]
jne 0x1002b228
mov eax, dword [0x100c30f0]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov word [ebp - 0x44], ax
jmp 0x1002b2ce
movzx ecx, byte [0x100c303b]
cmp ecx, 1
je 0x1002b2ce
movsx eax, byte [0x100c3027]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x20]
cdq
mov edi, dword [0x100c30c8]
mov ebx, dword [0x100c30cc]
xor edi, eax
xor ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.1008eb70
mov byte [0x100c3063], al
mov edx, dword [0x100c3100]
mov eax, dword [0x100c3104]
sub edx, dword [0x100c30f0]
sbb eax, dword [0x100c30f4]
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push eax
push edx
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
movzx edx, word [ebp - 0x1c]
sub edx, dword [0x100c30f8]
mov word [ebp - 0x1c], dx
movsx eax, byte [0x100c3075]
sub eax, 0x117744e7
mov dword [0x100c30f8], eax
movsx ecx, word [0x100c3118]
sub ecx, 0xac
mov word [ebp - 0x44], cx
jmp 0x10027038
movzx edx, byte [0x100c303b]
test edx, edx
je 0x1002b4db
mov dword [ebp - 4], 8
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0x598], edx
mov eax, dword [ebp - 0x598]
cmp eax, dword [0x100c3084]
jb 0x1002b324
ja 0x1002b318
mov ecx, dword [ebp - 0x59c]
cmp ecx, dword [0x100c3080]
jb 0x1002b324
mov dword [ebp - 0x214], 1
jmp 0x1002b32e
mov dword [ebp - 0x214], 0
movsx edx, word [ebp - 0x24]
cmp edx, 0x4d
jl 0x1002b343
mov dword [ebp - 0x218], 1
jmp 0x1002b34d
mov dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x218]
jne 0x1002b3e8
mov ecx, 0xefc7
mov word [0x100c30b0], cx
movsx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov edx, dword [0x100c30f4]
push edx
mov eax, dword [0x100c30f0]
push eax
call fcn.1008eb70
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], edx
movzx eax, byte [0x100c3063]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
xor ecx, eax
xor esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movsx edx, word [0x100c3088]
movsx eax, word [ebp - 0x3c]
add edx, eax
mov word [0x100c3088], dx
mov ecx, dword [ebp - 0x54]
mov edx, 4
imul eax, edx, 0x6f
mov dword [eax + 0x10192958], ecx
movsx ecx, word [ebp - 0x24]
sub ecx, 0x4ebe6df2
mov dword [0x100c310c], ecx
jmp 0x1002b4cb
mov dword [ebp - 4], 0xffffffff
jmp 0x1002b4db
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret