Function at 0x1002c450
Capabilities:
Check for unmoving mouse cursor
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5770
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x9b8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov ax, word [0x100cd0dc]
mov byte [ebp - 0xfc], al
mov ecx, dword [0x100cd090]
xor edx, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
mov eax, 0xffffa965
mov word [ebp - 0x20], ax
mov ecx, 0x6eec
mov word [ebp - 0x1c], cx
movsx eax, byte [0x100cd026]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100cd0f8]
mov eax, dword [0x100cd0fc]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100cd110]
mov dword [ebp - 0x64], ecx
mov eax, dword [0x100cd100]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [0x100cd0b0]
mov eax, dword [0x100cd0b4]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100cd0e0]
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0x17], 0x7b
mov dword [ebp - 0x2c], 0x3a
movsx edx, word [0x100cd0dc]
mov dword [ebp - 0x54], edx
mov byte [ebp - 0x14], 0x1f
xor eax, eax
mov dword [ebp - 0x34], 0x865d5aa4
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x44], 0xcd
mov dword [ebp - 0x40], ecx
mov edx, 0x48db1
mov dword [ebp - 0x74], 0x8080179c
mov dword [ebp - 0x70], edx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x898], ecx
mov byte [ebp - 0x16], al
mov edx, dword [0x100cd0f0]
mov byte [ebp - 0x13], dl
mov eax, 0xe6ae
mov word [ebp - 0x24], ax
mov cx, word [0x100cd098]
mov byte [ebp - 0x15], cl
mov edx, 0xfe599
mov dword [ebp - 0x50], 0x3df00df5
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x11], 0x46
mov dword [ebp - 0x48], 0x7c82
mov ax, word [0x100cd0ec]
mov byte [ebp - 0x12], al
mov cx, word [0x100cd0f8]
mov word [ebp - 0x28], cx
mov dl, byte [str.6BlockUpgradeIfDriv]
mov byte [ebp - 0xfb], dl
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8d0], ecx
mov dx, word [0x100cd10c]
mov word [ebp - 0x728], dx
mov eax, 0x6c4a
mov dword [ebp - 0x8dc], 0x34aa7b70
mov dword [ebp - 0x8d8], eax
mov ecx, 0xb458
mov word [ebp - 0x724], cx
mov byte [ebp - 0xfa], 0xd5
mov edx, dword [0x100cd0a8]
mov dword [ebp - 0x89c], edx
mov ax, word [0x100cd118]
mov word [ebp - 0x720], ax
mov ecx, 0x6d44a
mov dword [ebp - 0x8e4], 0x147412ae
mov dword [ebp - 0x8e0], ecx
mov dl, byte [0x100cd096]
mov byte [ebp - 0xf9], dl
mov eax, dword [0x100cd0e4]
mov dword [ebp - 0x8fc], eax
mov dword [ebp - 0x8c4], 0xb66ebd58
mov byte [ebp - 0xcd], 0x9c
mov byte [ebp - 0xfd], 0x65
mov ecx, dword [0x100cd0e0]
mov dword [ebp - 0x8c8], ecx
movsx dx, byte [0x100cd026]
mov word [ebp - 0x71c], dx
mov eax, 2
imul ecx, eax, 0x23
mov dx, word [0x100cd0e8]
mov word [ecx + 0x10118540], dx
movsx eax, byte [0x100cd026]
movzx ecx, byte [0x100cd06e]
sub ecx, eax
movzx edx, byte [0x100cd06e]
sub edx, ecx
mov byte [0x100cd06e], dl
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov edx, 8
imul edx, edx, 0x63
mov dword [edx + 0x101a1970], eax
mov dword [edx + 0x101a1974], ecx
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
mov eax, dword [0x100cd0b0]
mov edx, dword [0x100cd0b4]
mov cl, 5
call fcn.100998d0
mov byte [str.6BlockUpgradeIfDriv], al
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xb0], edx
movsx eax, byte [0x100cd026]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 0xb0]
add ecx, 0x135
mov dword [ebp - 0x700], ecx
jmp 0x1002c729
mov edx, dword [ebp - 0xb0]
add edx, 0x1df
mov dword [ebp - 0xc0], edx
mov dword [ebp - 4], 0
movzx eax, word [0x100cd094]
imul ecx, eax, 0xab
movsx edx, word [ebp - 0x20]
imul edx, ecx
mov word [ebp - 0x20], dx
movzx eax, byte [0x100cd082]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x84]
adc esi, dword [ebp - 0x80]
movzx eax, byte [0x100cd082]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [0x100cd082], al
mov dword [ebp - 0x64], 0x796
mov dl, byte [ebp - 0x11]
mov byte [ebp - 0x11], dl
mov eax, dword [0x100cd0e4]
xor eax, 0x8081
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100cd11c]
push edx
mov eax, dword [0x100cd118]
push eax
call fcn.10099890
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov ecx, dword [ebp - 0x80]
push ecx
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.10099890
mov ecx, eax
movzx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov edx, dword [ebp - 0x54]
xor edx, 0xffffff49
xor edx, dword [0x100cd118]
xor edx, eax
mov byte [str.6BlockUpgradeIfDriv], dl
jmp 0x1002c875
mov dword [ebp - 4], 0xffffffff
jmp 0x1002c885
mov ecx, dword [ebp - 0xb0]
add ecx, 0x2da
mov dword [ebp - 0x8cc], ecx
mov dl, byte [ebp - 0x2c]
mov byte [0x100cd026], dl
mov dword [0x100cd0ac], 0x9655
imul eax, dword [ebp - 0x48], 0xd3c
mov dword [0x100cd0c8], eax
movsx ecx, word [0x100cd0ec]
movsx edx, word [ebp - 0x28]
add edx, ecx
movsx eax, word [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0xed
push edx
push ecx
call fcn.10099890
mov word [0x100cd108], ax
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xb4], eax
mov ecx, dword [str.Failedtoquery_ws]
mov dword [ebp - 0x7a8], ecx
mov edx, dword [0x100a631c]
mov dword [ebp - 0x7a4], edx
mov eax, dword [0x100a6320]
mov dword [ebp - 0x7a0], eax
mov ecx, dword [0x100a6324]
mov dword [ebp - 0x79c], ecx
mov dl, byte [0x100a6328]
mov byte [ebp - 0x798], dl
xor eax, eax
mov word [ebp - 0x797], ax
lea ecx, [ebp - 0x7a8]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0xb4]
add edx, 0x36e
mov dword [ebp - 0x914], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x1002c97a
mov ecx, dword [0x100cd0e0]
xor edx, edx
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x358], edx
jmp 0x1002c98c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x35c]
mov dword [0x100cd0e4], edx
movsx eax, word [0x100cd110]
sub eax, 0x100f809f
mov ecx, dword [0x100cd0ac]
add ecx, eax
mov dword [0x100cd0ac], ecx
mov dl, byte [0x100cdb38]
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x74]
sub eax, dword [0x100cd0d0]
mov ecx, dword [ebp - 0x70]
sbb ecx, dword [0x100cd0d4]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov dl, byte [ebp - 0x11]
mov byte [ebp - 0x16], dl
mov dword [ebp - 0x54], 0x3a
mov eax, dword [ebp - 0xb4]
add eax, 0x265
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
push 0
push 0xa458
push edx
push ecx
call fcn.10099890
mov dword [ebp - 0x58], eax
movsx eax, byte [0x100cd096]
test eax, eax
je 0x1002ca20
mov cx, word [ebp - 0x28]
mov word [ebp - 0x94], cx
jmp 0x1002ca2b
mov dx, word [ebp - 0x20]
mov word [ebp - 0x94], dx
mov al, byte [ebp - 0x94]
mov byte [0x100cd026], al
mov ecx, dword [ebp - 0x54]
sub ecx, 0x7d79
mov edx, dword [0x100cd100]
imul edx, ecx
mov dword [0x100cd100], edx
mov dword [0x100cd104], 0x19
mov eax, dword [0x100cd0a0]
sub eax, 0x59854a14
mov word [0x100cd10c], ax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x399
mov dword [ebp - 0x6f8], ecx
movzx eax, word [ebp - 0x1c]
cdq
push 0x77054
push 0xda208c1f
push edx
push eax
call fcn.10099890
mov word [ebp - 0x1c], ax
movsx eax, word [0x100cd0ec]
sub eax, 0x8dbe
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov byte [ebp - 0x13], 4
movzx eax, byte [0x100cd082]
cdq
push edx
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.10099890
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
movzx ecx, byte [ebp - 0x13]
sub ecx, 0x5f8c992e
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov ecx, 8
imul ecx, ecx, 0x166d
mov dword [ecx + 0x101a1e18], edx
mov dword [ecx + 0x101a1e1c], eax
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
add eax, 0xb26d5976
adc ecx, 0
mov edx, dword [ebp - 0x3c]
sub edx, eax
mov eax, dword [ebp - 0x38]
sbb eax, ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov eax, dword [0x100cd104]
cdq
push 0x93a5a
push 0x354b248c
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x15], al
movsx ecx, byte [0x100cd026]
xor ecx, 0xe5
mov dword [0x100cd0e4], ecx
imul edx, dword [0x100cd0f0], 0x63
mov dword [ebp - 0x48], edx
mov eax, dword [0x100cd0ac]
add eax, dword [ebp - 0x58]
mov dword [0x100cd0ac], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2bb
mov dword [ebp - 0x6bc], ecx
cmp dword [0x100cd084], 0
jne 0x1002cb92
mov dword [ebp - 0x308], 1
jmp 0x1002cb9c
mov dword [ebp - 0x308], 0
movsx edx, word [0x100cd108]
cmp edx, dword [ebp - 0x308]
jl 0x1002cbb7
mov dword [ebp - 0x30c], 1
jmp 0x1002cbc1
mov dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x80]
jb 0x1002cbe2
ja 0x1002cbd6
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x84]
jb 0x1002cbe2
mov dword [ebp - 0x310], 1
jmp 0x1002cbec
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x30c]
cmp edx, dword [ebp - 0x310]
jle 0x1002cc91
mov eax, dword [0x100cd084]
add eax, 1
mov dword [0x100cd084], eax
movzx eax, word [0x100cd10c]
cdq
mov ecx, dword [0x100cd0f8]
sub ecx, eax
mov eax, dword [0x100cd0fc]
sbb eax, edx
push eax
push ecx
mov ecx, dword [0x100cd0fc]
push ecx
mov edx, dword [0x100cd0f8]
push edx
call fcn.10099890
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push ecx
push eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.10099890
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx ecx, word [0x100cd10c]
movzx edx, byte [ebp - 0x14]
add edx, ecx
mov byte [ebp - 0x14], dl
movsx eax, byte [0x100cd026]
cdq
push 0x410e7
push 0x154b07db
push edx
push eax
call fcn.10099890
mov word [0x100cd108], ax
jmp 0x1002cd15
mov eax, dword [0x100cd090]
xor ecx, ecx
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x75c]
cmp edx, dword [0x100cd118]
jne 0x1002ccc0
mov eax, dword [ebp - 0x758]
cmp eax, dword [0x100cd11c]
je 0x1002cd15
mov eax, dword [ebp - 0x64]
sub eax, 0x12395d7
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x8a4], edx
mov dword [0x100cd0e0], ecx
xor eax, eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x54]
adc edx, eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
imul eax, dword [0x100cd090], 0x2bb15bcd
movsx ecx, word [0x100cd110]
imul ecx, eax
mov word [0x100cd110], cx
mov edx, dword [ebp - 0xb8]
add edx, 0x27d
mov dword [ebp - 0x6b8], edx
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x718], eax
mov dword [ebp - 0x714], 0
cmp dword [ebp - 0x718], 0
je 0x1002cd59
mov eax, dword [ebp - 0x714]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x29d
mov dword [ebp - 0x8ac], ecx
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, 0xf9
adc esi, 0
movsx eax, byte [ebp - 0x17]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x17], al
movzx edx, word [ebp - 0x1c]
sub edx, 0xcc
mov word [0x100cd098], dx
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0x551e5666
sbb edx, 0x80680
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [0x100cd0b0]
xor eax, 0xd2
mov dword [0x100cd0e4], eax
mov byte [ebp - 0x15], 0xf6
movzx ecx, byte [0x100cd06e]
push ecx
movsx edx, word [0x100cd0dc]
push edx
call fcn.1005f940
add esp, 8
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x764]
or edx, dword [ebp - 0x760]
jne 0x1002ce10
mov dword [ebp - 0x314], 1
jmp 0x1002ce1a
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x76c], eax
mov dword [ebp - 0x768], ecx
cmp dword [ebp - 0x76c], 0x41
jne 0x1002ce4a
cmp dword [ebp - 0x768], 0
jne 0x1002ce4a
mov dword [ebp - 0x318], 1
jmp 0x1002ce54
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x314]
cmp edx, dword [ebp - 0x318]
jge 0x1002d001
movzx eax, byte [ebp - 0x13]
push eax
movsx ecx, word [0x100cd0e8]
push ecx
push 0
mov edx, dword [ebp - 0x2c]
push edx
push 0x79
push 0x54
push 0x8f
call fcn.1005d580
add esp, 0x1c
mov byte [ebp - 0x16], al
movsx eax, byte [ebp - 0x16]
test eax, eax
je 0x1002cf3b
movsx ecx, byte [ebp - 0x17]
mov edx, dword [0x100cd090]
sub edx, ecx
movzx eax, word [0x100cd094]
movzx ecx, byte [ebp - 0x11]
and ecx, eax
add ecx, edx
mov byte [ebp - 0x13], cl
mov edx, dword [0x100cdb38]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x8b0], ecx
mov edx, 4
imul ecx, edx, 0x43
mov dword [ecx + 0x1023d5a0], eax
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
push 0
push 0xe05e3de3
push eax
push edx
call fcn.10099890
mov dword [0x100cd090], eax
mov ecx, dword [0x100cd090]
sub ecx, dword [ebp - 0x64]
mov word [ebp - 0x20], cx
movsx edx, word [0x100cd0e8]
test edx, edx
je 0x1002cf1d
mov eax, dword [0x100cd0ac]
mov dword [ebp - 0x31c], eax
jmp 0x1002cf2a
movsx ecx, word [0x100cd0e8]
mov dword [ebp - 0x31c], ecx
mov dl, byte [ebp - 0x31c]
mov byte [0x100cd06f], dl
jmp 0x1002cfff
cmp dword [0x100cd104], 0
je 0x1002cfff
mov byte [ebp - 0x16], 1
movsx eax, byte [ebp - 0x17]
cdq
push edx
push eax
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.10099890
mov ecx, eax
mov esi, edx
not ecx
not esi
movzx eax, byte [ebp - 0x13]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x770], edx
mov edx, dword [ebp - 0x774]
or edx, dword [ebp - 0x770]
jne 0x1002cf94
mov byte [ebp - 0x85], 1
jmp 0x1002cf9b
mov byte [ebp - 0x85], 0
mov al, byte [ebp - 0x85]
mov byte [str.6BlockUpgradeIfDriv], al
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x8b8], edx
mov eax, dword [0x100cd0ac]
cdq
sub eax, ecx
mov dword [0x100cd0ac], eax
mov eax, dword [ebp - 0x48]
mov ecx, 2
imul edx, ecx, 0x2c
mov word [edx + 0x1045f6c8], ax
movzx eax, word [0x100cd0b8]
sub eax, 0xace7
mov dword [ebp - 0x54], eax
movsx ecx, word [0x100cd0dc]
movsx eax, byte [0x100cd096]
not eax
sub eax, ecx
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1002d064
movsx eax, byte [0x100cd047]
cdq
add eax, dword [ebp - 0x3c]
adc edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100cd0e4]
sub edx, 0x1931a556
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x58]
sar edx, 3
mov byte [0x100cd027], dl
mov eax, 2
imul ecx, eax, 0x4e
movzx eax, word [ecx + 0x1024d098]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x710], 1
mov edx, dword [ebp - 0x710]
push edx
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
mov dword [ebp - 0x70c], eax
mov eax, dword [ebp - 0x70c]
push eax
call dword [sym.imp.USER32.dll_EndDeferWindowPos]
mov dword [ebp - 0x8bc], eax
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1002d0e7
mov edx, dword [str.WicaRun]
mov dword [ebp - 0x7d0], edx
mov eax, dword [0x100a6330]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [0x100a6334]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [0x100a6338]
mov dword [ebp - 0x7c4], edx
lea eax, [ebp - 0x7d0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x100cd026], al
mov dword [ebp - 0x8f8], 0
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x77c], eax
mov dword [ebp - 0x778], edx
mov ecx, dword [ebp - 0x77c]
cmp ecx, dword [ebp - 0x50]
jne 0x1002d12c
mov edx, dword [ebp - 0x778]
cmp edx, dword [ebp - 0x4c]
jne 0x1002d12c
xor eax, eax
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x348], eax
jmp 0x1002d137
xorps xmm0, xmm0
movlpd qword [ebp - 0x34c], xmm0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x348]
cmp eax, dword [ebp - 0x780]
jb 0x1002d173
ja 0x1002d167
mov ecx, dword [ebp - 0x34c]
cmp ecx, dword [ebp - 0x784]
jbe 0x1002d173
mov dword [ebp - 0x10c], 1
jmp 0x1002d17d
mov dword [ebp - 0x10c], 0
movsx edx, word [0x100cd0e8]
test edx, edx
je 0x1002d19e
movsx eax, byte [ebp - 0x17]
not eax
test eax, eax
je 0x1002d19e
mov dword [ebp - 0x108], 1
jmp 0x1002d1a8
mov dword [ebp - 0x108], 0
movsx ecx, byte [ebp - 0x16]
cmp ecx, dword [ebp - 0x108]
jne 0x1002d1c0
mov dword [ebp - 0x110], 1
jmp 0x1002d1ca
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x110]
jne 0x1002d403
mov byte [0x100cd027], 2
mov eax, 0xe7b2
mov word [0x100cd094], ax
mov byte [ebp - 0x16], 0xeb
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
push edx
push ecx
push esi
push eax
call fcn.10099890
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
and ecx, eax
and esi, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], esi
movsx edx, byte [0x100cd06f]
movsx eax, word [0x100cd0ec]
add eax, edx
movsx ecx, word [0x100cd0ec]
sub ecx, eax
mov word [0x100cd0ec], cx
movzx edx, word [ebp - 0x24]
add edx, 0xb3
mov dword [0x100cd0a8], edx
movzx eax, byte [ebp - 0x14]
imul ecx, eax, 0x23ec
movsx edx, word [0x100cd0d8]
sub edx, ecx
mov word [0x100cd0d8], dx
mov al, byte [0x100cd027]
mov byte [ebp - 0xbc], al
cmp byte [ebp - 0xbc], 0
je 0x1002d290
cmp byte [ebp - 0xbc], 1
je 0x1002d2c5
cmp byte [ebp - 0xbc], 2
je 0x1002d360
jmp 0x1002d3fe
movzx ecx, word [0x100cd094]
sar ecx, 2
mov dword [0x100cd084], ecx
mov dword [0x100cd0e0], 0x6213086b
mov edx, dword [ebp - 0x48]
xor edx, dword [0x100cd0ac]
mov dword [ebp - 0x48], edx
mov dword [0x100cd0e0], 0x4898f9fa
jmp 0x1002d3fe
movzx eax, byte [ebp - 0x11]
add eax, dword [0x100cd090]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x50]
add ecx, 0xc148
mov byte [ebp - 0x11], cl
movzx edx, word [ebp - 0x1c]
mov eax, 4
imul ecx, eax, 0xd5e
add edx, dword [ecx + 0x10446f78]
mov word [ebp - 0x1c], dx
mov ecx, dword [0x100cd118]
not ecx
mov esi, dword [0x100cd11c]
not esi
mov eax, dword [ebp - 0x58]
cdq
mov edi, eax
mov ebx, edx
or edi, ecx
or ebx, esi
movsx edx, byte [str.6BlockUpgradeIfDriv]
mov eax, dword [ebp - 0x58]
xor eax, edx
cdq
push ebx
push edi
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
add edi, dword [0x100cd0b0]
adc ebx, dword [0x100cd0b4]
not edi
not ebx
movzx eax, byte [ebp - 0x14]
cdq
add eax, edi
adc edx, ebx
sub eax, ecx
sbb edx, esi
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
jmp 0x1002d3fe
mov edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
je 0x1002d37c
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], ecx
jmp 0x1002d38c
mov eax, dword [ebp - 0x58]
cdq
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], edx
mov dl, byte [ebp - 0x334]
mov byte [ebp - 0x11], dl
mov eax, 0x6ed3e
mov dword [ebp - 0x3c], 0x8ea4f419
mov dword [ebp - 0x38], eax
movsx eax, word [0x100cd0e8]
cdq
add eax, dword [ebp - 0x3c]
mov word [0x100cd0e8], ax
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 0x15]
imul edx, ecx
movsx eax, byte [ebp - 0x15]
add eax, edx
mov byte [ebp - 0x15], al
movzx eax, byte [0x100cd082]
cdq
mov ecx, dword [0x100cd0f8]
sub ecx, eax
mov eax, dword [0x100cd0fc]
sbb eax, edx
mov dword [0x100cd0f8], ecx
mov dword [0x100cd0fc], eax
movsx eax, byte [0x100cd026]
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
jmp 0x1002d5aa
xor ecx, ecx
jne 0x1002d413
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1002d5aa
cmp dword [ebp - 0x2c], 0
je 0x1002d5aa
movzx eax, byte [ebp - 0x11]
imul eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x78c], edx
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x78c]
or ecx, dword [ebp - 0x788]
jne 0x1002d45e
mov dword [ebp - 0x114], 1
jmp 0x1002d468
mov dword [ebp - 0x114], 0
movsx edx, word [ebp - 0x28]
sub edx, dword [ebp - 0x114]
jne 0x1002d47d
mov byte [ebp - 0x86], 1
jmp 0x1002d484
mov byte [ebp - 0x86], 0
mov al, byte [ebp - 0x86]
mov byte [0x100cd06e], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x11]
imul edx, ecx
mov eax, dword [0x100cd100]
sub eax, 0x12b8
movsx ecx, byte [ebp - 0x17]
imul ecx, eax
xor ecx, edx
not ecx
mov eax, ecx
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x100cd0d0]
or edx, dword [0x100cd0d4]
jne 0x1002d4d2
mov dword [ebp - 0x118], 1
jmp 0x1002d4dc
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
movsx eax, word [0x100cd0e8]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
movsx edx, byte [ebp - 0x15]
mov eax, dword [ebp - 0x118]
sub eax, edx
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x794], eax
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x794]
or eax, dword [ebp - 0x790]
jne 0x1002d530
mov ecx, 1
mov word [ebp - 0x96], cx
jmp 0x1002d539
xor edx, edx
mov word [ebp - 0x96], dx
mov ax, word [ebp - 0x96]
mov word [0x100cd110], ax
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x70]
sbb edx, dword [ebp - 0x38]
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x508]
or eax, dword [ebp - 0x504]
jne 0x1002d580
xor ecx, ecx
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x328], ecx
jmp 0x1002d58b
xorps xmm0, xmm0
movlpd qword [ebp - 0x32c], xmm0
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movsx eax, byte [ebp - 0x15]
cdq
add eax, 0xd9c1fe35
mov byte [ebp - 0x13], al
mov dword [ebp - 0x90c], 0
push 0
push 0xf9
mov ecx, dword [ebp - 0x80]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call fcn.10099890
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [0x100cd0ac]
shl eax, 5
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
movsx eax, byte [ebp - 0x16]
cdq
push edx
push eax
mov eax, dword [0x100cd11c]
push eax
mov ecx, dword [0x100cd118]
push ecx
call fcn.10099890
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
imul edx, dword [0x100cd0e4], 0x465f
mov byte [0x100cd096], dl
mov eax, dword [ebp - 0x54]
and eax, 0x6f78
mov dword [0x100cd104], eax
movsx ecx, word [0x100cd108]
imul edx, ecx, 0x3b
movsx eax, byte [ebp - 0x15]
sub eax, edx
mov byte [ebp - 0x15], al
mov ecx, 0x68
mov word [ebp - 0x470], cx
mov edx, 0x74
mov word [ebp - 0x46e], dx
mov eax, 0x74
mov word [ebp - 0x46c], ax
mov ecx, 0x70
mov word [ebp - 0x46a], cx
mov edx, 0x73
mov word [ebp - 0x468], dx
mov eax, 0x3a
mov word [ebp - 0x466], ax
mov ecx, 0x2f
mov word [ebp - 0x464], cx
mov edx, 0x2f
mov word [ebp - 0x462], dx
mov eax, 0x62
mov word [ebp - 0x460], ax
mov ecx, 0x79
mov word [ebp - 0x45e], cx
mov edx, 0x6d
mov word [ebp - 0x45c], dx
mov eax, 0x65
mov word [ebp - 0x45a], ax
mov ecx, 0x74
mov word [ebp - 0x458], cx
mov edx, 0x74
mov word [ebp - 0x456], dx
mov eax, 0x2e
mov word [ebp - 0x454], ax
mov ecx, 0x63
mov word [ebp - 0x452], cx
mov edx, 0x6f
mov word [ebp - 0x450], dx
mov eax, 0x6d
mov word [ebp - 0x44e], ax
mov ecx, 0x2f
mov word [ebp - 0x44c], cx
mov edx, 0x64
mov word [ebp - 0x44a], dx
mov eax, 0x61
mov word [ebp - 0x448], ax
mov ecx, 0x74
mov word [ebp - 0x446], cx
mov edx, 0x61
mov word [ebp - 0x444], dx
mov eax, 0x2f
mov word [ebp - 0x442], ax
mov ecx, 0x69
mov word [ebp - 0x440], cx
mov edx, 0x6e
mov word [ebp - 0x43e], dx
mov eax, 0x64
mov word [ebp - 0x43c], ax
mov ecx, 0x65
mov word [ebp - 0x43a], cx
mov edx, 0x78
mov word [ebp - 0x438], dx
mov eax, 0x2e
mov word [ebp - 0x436], ax
mov ecx, 0x61
mov word [ebp - 0x434], cx
mov edx, 0x73
mov word [ebp - 0x432], dx
mov eax, 0x70
mov word [ebp - 0x430], ax
mov ecx, 0x78
mov word [ebp - 0x42e], cx
xor edx, edx
mov word [ebp - 0x42c], dx
mov dword [0x100cd0e0], 0
movsx eax, byte [ebp - 0x17]
movsx ecx, byte [ebp - 0x16]
add ecx, eax
mov byte [ebp - 0x16], cl
movsx edx, byte [ebp - 0x15]
movzx eax, byte [0x100cd06e]
sub eax, edx
movzx ecx, byte [0x100cd06e]
add ecx, eax
mov byte [0x100cd06e], cl
mov edx, 8
imul eax, edx, 0x54
mov ecx, dword [eax + 0x10419500]
mov edx, dword [eax + 0x10419504]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x28]
movzx ecx, word [0x100cd0b8]
add ecx, eax
movzx edx, word [0x100cd0b8]
sub edx, ecx
mov word [0x100cd0b8], dx
mov eax, dword [0x100cd100]
add eax, dword [0x100cd100]
mov dword [0x100cd100], eax
mov ecx, dword [0x100cd118]
sub ecx, 0xe747
mov dword [0x100cd090], ecx
mov edx, dword [0x100cd0e0]
mov dword [ebp - 0x708], edx
cmp dword [ebp - 0x708], 0
je 0x1002d880
jmp 0x1002d902
mov eax, dword [ebp - 0x48]
sar eax, 8
mov byte [str.6BlockUpgradeIfDriv], al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0x57ef6
push 0x4652aec2
push edx
push ecx
call fcn.10099890
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 0x12]
shl eax, 3
mov dword [ebp - 0x48], eax
mov byte [0x100cd083], 5
mov ecx, dword [0x100cd0b0]
xor ecx, dword [0x100cd0b0]
mov edx, dword [0x100cd0b4]
xor edx, dword [0x100cd0b4]
mov eax, dword [0x100cd0b0]
sub eax, ecx
mov ecx, dword [0x100cd0b4]
sbb ecx, edx
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], ecx
mov edx, 1
imul eax, edx, 0x2a
movsx ecx, byte [eax + 0x1023d490]
movsx edx, byte [ebp - 0x16]
imul edx, ecx
mov byte [ebp - 0x16], dl
mov eax, 0x68
mov word [ebp - 0x500], ax
mov ecx, 0x74
mov word [ebp - 0x4fe], cx
mov edx, 0x74
mov word [ebp - 0x4fc], dx
mov eax, 0x70
mov word [ebp - 0x4fa], ax
mov ecx, 0x73
mov word [ebp - 0x4f8], cx
mov edx, 0x3a
mov word [ebp - 0x4f6], dx
mov eax, 0x2f
mov word [ebp - 0x4f4], ax
mov ecx, 0x2f
mov word [ebp - 0x4f2], cx
mov edx, 0x62
mov word [ebp - 0x4f0], dx
mov eax, 0x79
mov word [ebp - 0x4ee], ax
mov ecx, 0x6d
mov word [ebp - 0x4ec], cx
mov edx, 0x65
mov word [ebp - 0x4ea], dx
mov eax, 0x74
mov word [ebp - 0x4e8], ax
mov ecx, 0x74
mov word [ebp - 0x4e6], cx
mov edx, 0x74
mov word [ebp - 0x4e4], dx
mov eax, 0x2e
mov word [ebp - 0x4e2], ax
mov ecx, 0x63
mov word [ebp - 0x4e0], cx
mov edx, 0x6f
mov word [ebp - 0x4de], dx
mov eax, 0x6d
mov word [ebp - 0x4dc], ax
mov ecx, 0x2f
mov word [ebp - 0x4da], cx
mov edx, 0x64
mov word [ebp - 0x4d8], dx
mov eax, 0x61
mov word [ebp - 0x4d6], ax
mov ecx, 0x74
mov word [ebp - 0x4d4], cx
mov edx, 0x61
mov word [ebp - 0x4d2], dx
mov eax, 0x2f
mov word [ebp - 0x4d0], ax
mov ecx, 0x69
mov word [ebp - 0x4ce], cx
mov edx, 0x6e
mov word [ebp - 0x4cc], dx
mov eax, 0x64
mov word [ebp - 0x4ca], ax
mov ecx, 0x65
mov word [ebp - 0x4c8], cx
mov edx, 0x78
mov word [ebp - 0x4c6], dx
mov eax, 0x2e
mov word [ebp - 0x4c4], ax
mov ecx, 0x61
mov word [ebp - 0x4c2], cx
mov edx, 0x73
mov word [ebp - 0x4c0], dx
mov eax, 0x70
mov word [ebp - 0x4be], ax
mov ecx, 0x78
mov word [ebp - 0x4bc], cx
xor edx, edx
mov word [ebp - 0x4ba], dx
movzx eax, byte [0x100cd07f]
mov ecx, dword [0x100cd0a8]
add ecx, eax
mov edx, dword [0x100cd0a8]
imul edx, ecx
mov dword [0x100cd0a8], edx
movsx eax, byte [0x100cd047]
test eax, eax
je 0x1002daea
mov eax, dword [ebp - 0x58]
cdq
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], edx
jmp 0x1002dafc
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x320], edx
mov ax, word [ebp - 0x324]
mov word [0x100cd0ec], ax
mov ecx, dword [0x100cd090]
sub ecx, 0x217252
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
add edx, 0xf3c3
adc eax, 0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov esi, dword [ebp - 0x50]
sub esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x4c]
sbb edi, ecx
not esi
not edi
mov eax, dword [0x100cd0ac]
cdq
push edi
push esi
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], edx
mov edx, dword [ebp - 0x510]
or edx, dword [ebp - 0x50c]
jne 0x1002db73
mov dword [ebp - 0x120], 1
jmp 0x1002db7d
mov dword [ebp - 0x120], 0
cmp dword [0x100cd0ac], 0
jne 0x1002db92
mov dword [ebp - 0x11c], 1
jmp 0x1002db9c
mov dword [ebp - 0x11c], 0
movzx eax, byte [ebp - 0x13]
add eax, dword [ebp - 0x11c]
movsx ecx, word [0x100cd0dc]
movzx edx, byte [0x100cd06e]
add edx, ecx
sub edx, eax
add edx, dword [ebp - 0x120]
not edx
mov dword [0x100cd090], edx
mov eax, dword [ebp - 0x74]
sub eax, 0x93beb767
mov word [0x100cd10c], ax
mov ecx, 0x68
mov word [ebp - 0x4b8], cx
mov edx, 0x74
mov word [ebp - 0x4b6], dx
mov eax, 0x74
mov word [ebp - 0x4b4], ax
mov ecx, 0x70
mov word [ebp - 0x4b2], cx
mov edx, 0x73
mov word [ebp - 0x4b0], dx
mov eax, 0x3a
mov word [ebp - 0x4ae], ax
mov ecx, 0x2f
mov word [ebp - 0x4ac], cx
mov edx, 0x2f
mov word [ebp - 0x4aa], dx
mov eax, 0x62
mov word [ebp - 0x4a8], ax
mov ecx, 0x79
mov word [ebp - 0x4a6], cx
mov edx, 0x6d
mov word [ebp - 0x4a4], dx
mov eax, 0x65
mov word [ebp - 0x4a2], ax
mov ecx, 0x74
mov word [ebp - 0x4a0], cx
mov edx, 0x74
mov word [ebp - 0x49e], dx
mov eax, 0x74
mov word [ebp - 0x49c], ax
mov ecx, 0x2e
mov word [ebp - 0x49a], cx
mov edx, 0x63
mov word [ebp - 0x498], dx
mov eax, 0x6f
mov word [ebp - 0x496], ax
mov ecx, 0x6d
mov word [ebp - 0x494], cx
mov edx, 0x2f
mov word [ebp - 0x492], dx
mov eax, 0x64
mov word [ebp - 0x490], ax
mov ecx, 0x61
mov word [ebp - 0x48e], cx
mov edx, 0x74
mov word [ebp - 0x48c], dx
mov eax, 0x61
mov word [ebp - 0x48a], ax
mov ecx, 0x2f
mov word [ebp - 0x488], cx
mov edx, 0x69
mov word [ebp - 0x486], dx
mov eax, 0x6e
mov word [ebp - 0x484], ax
mov ecx, 0x64
mov word [ebp - 0x482], cx
mov edx, 0x65
mov word [ebp - 0x480], dx
mov eax, 0x78
mov word [ebp - 0x47e], ax
mov ecx, 0x2e
mov word [ebp - 0x47c], cx
mov edx, 0x61
mov word [ebp - 0x47a], dx
mov eax, 0x73
mov word [ebp - 0x478], ax
mov ecx, 0x70
mov word [ebp - 0x476], cx
mov edx, 0x78
mov word [ebp - 0x474], dx
xor eax, eax
mov word [ebp - 0x472], ax
movsx ecx, word [ebp - 0x28]
add ecx, 0x1f49
mov byte [ebp - 0x16], cl
movzx edx, byte [ebp - 0x13]
imul edx, dword [0x100cd0ac]
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x64]
add eax, 0x17
mov word [0x100cd10c], ax
movzx eax, word [0x100cd0b8]
cdq
push 0x36ac0
push 0x39a43286
push edx
push eax
call fcn.10099890
mov word [0x100cd0ec], ax
mov ecx, dword [0x100cd104]
sub ecx, 1
mov dword [0x100cd104], ecx
lea edx, [ebp - 0x470]
mov dword [ebp - 0x7c0], edx
lea eax, [ebp - 0x500]
mov dword [ebp - 0x7bc], eax
lea ecx, [ebp - 0x4b8]
mov dword [ebp - 0x7b8], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x910], eax
push edx
push 0xc2
call fcn.1005f940
add esp, 8
mov dword [ebp - 0x704], eax
mov cx, word [ebp - 0x704]
mov word [0x100cd0ec], cx
movsx edx, word [ebp - 0x28]
movzx eax, word [ebp - 0x1c]
cmp eax, edx
jle 0x1002de4f
xor ecx, ecx
mov dword [ebp - 0x384], 1
mov dword [ebp - 0x380], ecx
jmp 0x1002de5a
xorps xmm0, xmm0
movlpd qword [ebp - 0x384], xmm0
mov edx, dword [0x100cd0b0]
xor edx, dword [ebp - 0x384]
mov eax, dword [0x100cd0b4]
xor eax, dword [ebp - 0x380]
mov dword [ebp - 0x518], edx
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x518]
or ecx, dword [ebp - 0x514]
je 0x1002dedb
mov edx, dword [0x100cd104]
sub edx, 1
mov dword [0x100cd104], edx
xor eax, eax
mov dword [0x100cd0d0], 1
mov dword [0x100cd0d4], eax
movsx ecx, word [0x100cd0ec]
and ecx, 0x2786
mov word [0x100cd094], cx
mov edx, dword [0x100cd0a8]
xor eax, eax
push 0x6024c
push 0x5791793b
push eax
push edx
call fcn.10099890
mov dword [ebp - 0x48], eax
jmp 0x1002df4f
mov dword [ebp - 4], 0xffffffff
jmp 0x1002df5f
mov dword [ebp - 0x428], 0
xor ecx, ecx
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x420], ecx
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x5bc], ecx
mov dword [ebp - 0x5b8], esi
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
mov edx, dword [ebp - 0x5b8]
cmp edx, dword [ebp - 0x51c]
jb 0x1002dfcd
ja 0x1002dfb8
mov eax, dword [ebp - 0x5bc]
cmp eax, dword [ebp - 0x520]
jbe 0x1002dfcd
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1002e061
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push ecx
push esi
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
movzx ecx, byte [0x100cd027]
imul ecx, dword [0x100cd090]
mov byte [0x100cd027], cl
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov cl, 2
call fcn.100999a0
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
movzx edx, byte [ebp - 0x12]
movzx eax, word [0x100cd094]
xor eax, edx
movzx ecx, word [0x100cd094]
add ecx, eax
mov word [0x100cd094], cx
mov edx, dword [ebp - 0x30]
mov eax, dword [0x100cd090]
xor ecx, ecx
add eax, dword [ebp - 0x34]
adc ecx, edx
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
movsx edx, word [0x100cd0d8]
or edx, 0xe4d4a323
movzx eax, byte [ebp - 0x12]
sub eax, dword [ebp - 0x64]
sub eax, edx
mov dword [0x100cd0ac], eax
xor ecx, ecx
mov dword [ebp - 0x7b4], ecx
mov dword [ebp - 0x7b0], ecx
mov dword [ebp - 0x7ac], ecx
mov ecx, 9
mov esi, str.InitOnceExecuteOnc
lea edi, [ebp - 0x960]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x960]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100cd108], ax
mov eax, dword [ebp - 0xc0]
imul eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0xc0]
add ecx, dword [ebp - 0xc0]
cmp ecx, eax
je 0x10034029
movzx edx, word [0x100cd094]
not edx
cmp edx, 0xffffff9a
jl 0x1002e334
mov eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x70]
je 0x1002e26b
movzx ecx, byte [ebp - 0x12]
cmp dword [ebp - 0x48], ecx
jl 0x1002e0f0
mov dword [ebp - 0x124], 1
jmp 0x1002e0fa
mov dword [ebp - 0x124], 0
cmp dword [ebp - 0x48], 0x1f
jl 0x1002e10c
mov dword [ebp - 0x128], 1
jmp 0x1002e116
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x128]
jl 0x1002e266
movzx eax, word [0x100cd0b8]
not eax
movzx ecx, byte [0x100cd07f]
cmp ecx, eax
jg 0x1002e148
mov dword [ebp - 0x130], 1
jmp 0x1002e152
mov dword [ebp - 0x130], 0
movzx edx, word [0x100cd0b8]
test edx, edx
jne 0x1002e169
mov dword [ebp - 0x12c], 1
jmp 0x1002e173
mov dword [ebp - 0x12c], 0
cmp dword [ebp - 0x12c], 0x730a909b
je 0x1002e18b
mov dword [ebp - 0x134], 1
jmp 0x1002e195
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x134]
jge 0x1002e1f5
cmp dword [0x100cd104], 0
je 0x1002e1f3
movzx ecx, word [0x100cd0b8]
sub ecx, dword [0x100cd0e0]
mov word [0x100cd0b8], cx
movzx edx, byte [ebp - 0x12]
add edx, 0x328
mov word [ebp - 0x20], dx
mov eax, dword [0x100cd0f0]
not eax
mov byte [ebp - 0x14], al
mov ecx, dword [ebp - 0x2c]
add ecx, 0x779cdae9
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov dword [0x100cd090], 0x21bf
jmp 0x1002e266
mov byte [ebp - 0x16], 0x37
movzx eax, word [0x100cd10c]
add eax, 0x7243fee4
mov word [0x100cd0b8], ax
cmp dword [ebp - 0x64], 0
jne 0x1002e21a
mov byte [ebp - 0x87], 1
jmp 0x1002e221
mov byte [ebp - 0x87], 0
mov cl, byte [ebp - 0x87]
mov byte [ebp - 0x16], cl
movsx edx, byte [ebp - 0x17]
movsx eax, byte [0x100cd06f]
sub eax, edx
movsx ecx, byte [0x100cd06f]
sub ecx, eax
mov byte [0x100cd06f], cl
movsx edx, word [0x100cd0d8]
movsx eax, word [0x100cd0e8]
xor eax, edx
movsx ecx, word [0x100cd0e8]
sub ecx, eax
mov word [0x100cd0e8], cx
jmp 0x1002e334
mov eax, dword [0x100cd104]
cdq
mov ecx, dword [ebp - 0x74]
not ecx
mov esi, dword [ebp - 0x70]
not esi
mov dword [ebp - 0x528], ecx
mov dword [ebp - 0x524], esi
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], edx
mov edx, dword [ebp - 0x528]
cmp edx, dword [ebp - 0x530]
jne 0x1002e2b3
mov eax, dword [ebp - 0x524]
cmp eax, dword [ebp - 0x52c]
je 0x1002e334
movsx ecx, word [ebp - 0x28]
movsx edx, byte [0x100cd083]
cmp edx, ecx
jl 0x1002e334
mov eax, dword [ebp - 0x84]
sub eax, 0xb9d86970
mov ecx, dword [ebp - 0x80]
sbb ecx, 0x43317
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
movsx edx, word [0x100cd0d8]
mov eax, dword [ebp - 0x64]
add eax, edx
mov ecx, dword [ebp - 0x64]
add ecx, eax
mov dword [ebp - 0x64], ecx
movzx eax, word [ebp - 0x24]
cdq
push 0x51cde
push 0x2f8ae56b
push edx
push eax
call fcn.10099890
mov word [0x100cd0dc], ax
movsx edx, word [0x100cd110]
movsx eax, word [ebp - 0x28]
add eax, edx
movsx ecx, word [ebp - 0x28]
imul ecx, eax
mov word [ebp - 0x28], cx
mov edx, dword [0x100cd0d0]
add edx, 0xab1f77e1
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0x14]
cmp ecx, eax
je 0x1002e413
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov cl, 2
call fcn.100999a0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, byte [ebp - 0x15]
sar eax, 6
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x8c0], eax
add edx, 0x17b4
mov word [0x100cd10c], dx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x538], ecx
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x538]
or eax, dword [ebp - 0x534]
jne 0x1002e3b4
mov dword [ebp - 0x138], 1
jmp 0x1002e3be
mov dword [ebp - 0x138], 0
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1002e3d2
mov dword [ebp - 0x13c], 1
jmp 0x1002e3dc
mov dword [ebp - 0x13c], 0
movzx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x138]
add eax, dword [ebp - 0x13c]
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
movsx edx, byte [ebp - 0x17]
add edx, 0xc7
mov eax, dword [0x100cd0e4]
or eax, edx
mov dword [0x100cd0e4], eax
jmp 0x1002e4e0
movzx eax, byte [ebp - 0x11]
cdq
add eax, dword [0x100cd118]
adc edx, dword [0x100cd11c]
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, eax
mov esi, edx
not ecx
not esi
movzx edx, byte [ebp - 0x11]
not edx
imul eax, edx, 0x128d3a4d
movzx edx, word [ebp - 0x1c]
mov edi, 0xffffacc7
sub edi, edx
add eax, edi
cdq
sub eax, ecx
sbb edx, esi
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov ax, word [0x100cdb38]
mov word [ebp - 0x1c], ax
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x1002e48a
xor edx, edx
mov dword [ebp - 0x540], 1
mov dword [ebp - 0x53c], edx
jmp 0x1002e495
xorps xmm0, xmm0
movlpd qword [ebp - 0x540], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x900], ecx
sub eax, dword [ebp - 0x540]
mov byte [ebp - 0x13], al
movsx edx, word [ebp - 0x28]
movzx eax, word [ebp - 0x1c]
sub eax, edx
movzx ecx, word [ebp - 0x1c]
xor ecx, eax
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 0xb5a7aaa6
sbb eax, 0x559a8
mov ecx, dword [ebp - 0x54]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x90], 0
jmp 0x1002e4fb
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x90], 3
jge 0x10034029
mov dword [ebp - 0x54], 0x79
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x1002e52b
xor ecx, ecx
mov dword [ebp - 0x37c], 1
mov dword [ebp - 0x378], ecx
jmp 0x1002e536
xorps xmm0, xmm0
movlpd qword [ebp - 0x37c], xmm0
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x378]
push ecx
mov ecx, dword [ebp - 0x37c]
push ecx
push eax
push edx
call fcn.10099890
mov edx, dword [0x100cd118]
xor edx, 0xc1933d3
add edx, eax
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x58]
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0xe1
mov byte [0x100cd096], al
cmp dword [0x100cd090], 0
jne 0x1002e59b
xor ecx, ecx
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x370], ecx
jmp 0x1002e5a6
xorps xmm0, xmm0
movlpd qword [ebp - 0x374], xmm0
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x904], edx
mov eax, dword [0x100cd104]
cdq
mov esi, eax
add esi, ecx
push 0x9c918
push 0x7a796de5
mov eax, dword [ebp - 0x370]
push eax
mov ecx, dword [ebp - 0x374]
push ecx
call fcn.10099890
mov ecx, eax
mov edi, edx
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
not ebx
not eax
movzx edx, byte [0x100cd082]
mov dword [ebp - 0x6fc], eax
mov eax, edx
cdq
sub eax, ebx
mov ebx, dword [ebp - 0x6fc]
sbb edx, ebx
push edi
push ecx
push edx
push eax
call fcn.10099890
xor eax, esi
mov dword [ebp - 0x54], eax
movzx eax, word [0x100cd10c]
sub eax, dword [0x100cd104]
sub eax, dword [ebp - 0x54]
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x908], edx
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x90]
lea ecx, [ebp + eax*4 - 0x7b4]
push ecx
mov edx, dword [ebp - 0x90]
lea eax, [ebp + edx*4 - 0x428]
push eax
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp + ecx*4 - 0x7c0]
push edx
call fcn.1000c2b0
add esp, 0xc
mov byte [ebp - 0x15], 1
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
imul edx, dword [ebp - 0x54], 0x28d6
mov byte [0x100cd082], dl
movsx eax, word [ebp - 0x20]
cdq
sub eax, 0x255a4e43
mov byte [ebp - 0x11], al
cmp dword [0x100cd0e0], 0
jne 0x1002e6b1
mov dword [ebp - 0x140], 1
jmp 0x1002e6bb
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
add eax, 0x1e87
cdq
and eax, dword [ebp - 0x50]
mov word [0x100cd0b8], ax
mov eax, dword [0x100cd0a0]
mov edx, dword [0x100cd0a4]
mov cl, 4
call fcn.100998d0
mov word [ebp - 0x1c], ax
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x144], al
cmp byte [ebp - 0x144], 0
je 0x1002e70a
cmp byte [ebp - 0x144], 1
je 0x1002e794
jmp 0x1002e8d6
imul ecx, dword [ebp - 0x48], 0x6596
mov dword [ebp - 0x2c], ecx
movsx eax, byte [0x100cd026]
shl eax, 5
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx edx, byte [0x100cd027]
test edx, edx
jne 0x1002e73c
mov dword [ebp - 0x148], 1
jmp 0x1002e746
mov dword [ebp - 0x148], 0
movsx eax, word [0x100cd110]
add eax, dword [ebp - 0x54]
imul ecx, dword [ebp - 0x148], 0
imul ecx, eax
xor edx, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x7d4], ecx
sub eax, 0x7f7f7c02
mov word [ebp - 0x1c], ax
movsx edx, byte [ebp - 0x17]
movzx eax, byte [0x100cd082]
add eax, edx
mov byte [0x100cd082], al
jmp 0x1002e8d6
movsx eax, word [0x100cd0e8]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
cmp dword [0x100cd100], 0
jne 0x1002e7cb
mov dword [ebp - 0x14c], 1
jmp 0x1002e7d5
mov dword [ebp - 0x14c], 0
movsx eax, word [0x100cd108]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x100cd0f8]
not edi
mov ebx, dword [0x100cd0fc]
not ebx
movzx eax, word [0x100cd10c]
add eax, dword [ebp - 0x14c]
not eax
cdq
sub eax, edi
sbb edx, ebx
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
cmp dword [0x100cd0f0], 0
jne 0x1002e824
mov dword [ebp - 0x150], 1
jmp 0x1002e82e
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
sub eax, 0x3fd4
not eax
cdq
mov esi, eax
mov eax, dword [ebp - 0x64]
cdq
push edx
push eax
mov edx, dword [0x100cd0d4]
push edx
mov eax, dword [0x100cd0d0]
push eax
call fcn.10099890
mov edi, eax
not edi
sub edi, esi
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x91f4ee02
sbb esi, 0x7b820
mov edx, dword [0x100cd100]
not edx
movzx eax, byte [ebp - 0x14]
add eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
add eax, edi
mov byte [0x100cd047], al
push 0
push 0xff
mov eax, dword [0x100cd0a4]
push eax
mov ecx, dword [0x100cd0a0]
push ecx
call fcn.10099890
mov dword [ebp - 0x54], eax
xor edx, edx
mov eax, dword [0x100cd0d0]
sub eax, dword [0x100cd0e0]
mov ecx, dword [0x100cd0d4]
sbb ecx, edx
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], ecx
mov dword [0x100cd0a8], 1
lea edx, [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp + eax*4 - 0x428]
push ecx
call fcn.10042450
add esp, 8
mov dword [ebp - 0xf0], eax
jmp 0x1002e905
mov edx, dword [ebp - 0x154]
push edx
mov eax, dword [ebp - 0xf0]
push eax
push 8
push str.breeding
call fcn.10037690
add esp, 0x10
mov ecx, 9
mov esi, str.Errorreadingtable_
lea edi, [ebp - 0x988]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x988]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [0x100cd100], eax
mov ecx, 0x10
mov esi, dword [ebp - 0xf0]
lea edi, [ebp - 0x9c8]
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [ebp - 0x12]
cdq
add eax, 0xe8452057
adc edx, 0x33474
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movsx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x54]
movsx eax, word [ebp - 0x20]
imul eax, edx
mov word [ebp - 0x20], ax
movzx ecx, byte [0x100cd027]
movsx edx, word [ebp - 0x28]
imul edx, ecx
add edx, dword [0x100cd0a8]
mov word [ebp - 0x20], dx
movzx eax, word [ebp - 0x1c]
mov ecx, dword [0x100cd0ac]
add ecx, eax
mov edx, dword [0x100cd0ac]
and edx, ecx
mov dword [0x100cd0ac], edx
movsx eax, byte [0x100cd047]
imul ecx, eax, 0xfcce
mov word [0x100cd0d8], cx
movsx edx, word [0x100cd0ec]
imul eax, edx, 0x5615
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
cmp dword [ebp - 0x6f8], 0xc6
je 0x10033598
movzx eax, byte [0x100cd027]
cmp dword [ebp - 0x48], eax
jl 0x1002ebe9
xor ecx, ecx
mov dword [ebp - 0x50], 1
mov dword [ebp - 0x4c], ecx
movsx eax, byte [0x100cd06f]
cdq
mov edx, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x7d8], ecx
sub edx, eax
mov eax, dword [0x100cd0f0]
add eax, edx
mov byte [0x100cd07f], al
mov ecx, dword [0x100cd118]
sub ecx, 0x1b591cd
mov edx, dword [0x100cd11c]
sbb edx, 0xe7484
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov eax, dword [0x100cdb38]
mov dword [0x100cd0a8], eax
mov ecx, dword [ebp - 0x64]
movsx edx, byte [0x100cd047]
lea eax, [edx + ecx + 0xac7]
mov byte [0x100cd047], al
movzx ecx, byte [0x100cd027]
imul edx, ecx, 0xddb5f1fc
mov eax, dword [0x100cd0ac]
imul eax, edx
mov dword [0x100cd0ac], eax
movsx ecx, word [0x100cd108]
mov dword [0x100cd0a8], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x300]
or ecx, dword [ebp - 0x2fc]
je 0x1002eadf
cmp dword [ebp - 0x300], 1
jne 0x1002eada
cmp dword [ebp - 0x2fc], 0
je 0x1002eb60
jmp 0x1002ebe4
mov eax, dword [0x100cd0c8]
xor eax, 0x64a3082b
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movzx edx, word [ebp - 0x1c]
movzx eax, byte [0x100cd027]
imul eax, edx
mov byte [0x100cd027], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x74]
adc edx, dword [ebp - 0x70]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
movzx eax, word [ebp - 0x1c]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
jmp 0x1002ebe4
mov eax, dword [ebp - 0x50]
add eax, 1
mov ecx, dword [ebp - 0x4c]
adc ecx, 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x7dc], eax
add edx, 0xd9
mov dword [0x100cd090], edx
movsx ecx, word [0x100cd0dc]
movzx edx, byte [ebp - 0x12]
add edx, ecx
jne 0x1002eba7
mov eax, 1
mov word [ebp - 0x98], ax
jmp 0x1002ebb0
xor ecx, ecx
mov word [ebp - 0x98], cx
mov dx, word [ebp - 0x98]
mov word [0x100cd098], dx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov cl, 2
call fcn.100999a0
mov dword [ebp - 0x64], eax
movsx eax, byte [0x100cd026]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
movzx edx, byte [ebp - 0x12]
or edx, ecx
mov byte [ebp - 0x12], dl
jmp 0x1002ed7e
cmp dword [0x100cd0f0], 0
jne 0x1002ecad
movsx eax, word [0x100cd0ec]
sub eax, 0xf7
mov dword [0x100cd100], eax
mov ecx, 0xf6
mov word [ebp - 0x20], cx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x7e0], edx
movzx eax, byte [ebp - 0x11]
cdq
mov esi, eax
add esi, ecx
movzx eax, byte [ebp - 0x11]
cdq
or eax, esi
mov byte [ebp - 0x11], al
mov eax, dword [0x100cd118]
add eax, 0xd9
mov ecx, dword [0x100cd11c]
adc ecx, 0
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], ecx
movzx eax, word [0x100cd094]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx edx, byte [0x100cd096]
test edx, edx
je 0x1002ec7f
mov eax, dword [0x100cd118]
mov ecx, dword [0x100cd11c]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], ecx
jmp 0x1002ec90
mov edx, dword [ebp - 0x54]
xor eax, eax
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x2f4]
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
jmp 0x1002ed7e
mov eax, dword [0x100cd0a0]
not eax
mov ecx, dword [0x100cd0a4]
not ecx
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], ecx
mov edx, dword [ebp - 0x548]
or edx, dword [ebp - 0x544]
je 0x1002ed7e
push 0xe815c
push 0xf155aba5
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.10099890
mov word [ebp - 0x1c], ax
mov edx, dword [0x100cdb38]
mov dword [0x100cd100], edx
movsx eax, byte [ebp - 0x16]
test eax, eax
je 0x1002ed1f
movsx eax, byte [0x100cd047]
cdq
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], edx
jmp 0x1002ed31
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2ec]
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], ecx
mov dword [0x100cd084], 0x52
movsx eax, byte [ebp - 0x17]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x11cefca6
adc esi, 0x400c3
movsx eax, word [0x100cd0dc]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov word [0x100cd0dc], ax
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x58]
jge 0x1002ede9
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [0x100cd118], eax
mov dword [0x100cd11c], ecx
xor edx, edx
mov dword [ebp - 0x50], 0xf1fa6663
mov dword [ebp - 0x4c], edx
movsx eax, byte [ebp - 0x17]
movzx ecx, byte [0x100cd07f]
add ecx, eax
movzx edx, byte [0x100cd07f]
sub edx, ecx
mov byte [0x100cd07f], dl
mov eax, dword [ebp - 0x54]
xor ecx, ecx
push 0x8f09b
push 0x695e05c
push ecx
push eax
call fcn.10099890
mov word [0x100cd0d8], ax
movsx edx, word [0x100cd0e8]
sar edx, 4
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x9c8]
cmp eax, 0x5a4d
jne 0x10033598
mov dword [ebp - 0xc4], 0x1ca
mov cx, word [0x100cdb38]
mov word [0x100cd0e8], cx
mov edx, 1
imul eax, edx, 0x294
movzx ecx, byte [eax + 0x101276a0]
mov dword [ebp - 0x54], ecx
movzx eax, word [ebp - 0x1c]
cdq
push 0xaa246
push 0x4402ae84
push edx
push eax
call fcn.10099890
mov dword [0x100cd084], eax
movsx eax, byte [0x100cd083]
not eax
xor eax, 0xffffcaf7
xor eax, dword [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x84]
add ecx, 0x5e
mov esi, dword [ebp - 0x80]
adc esi, 0
mov edi, dword [0x100cd090]
not edi
xor ebx, ebx
mov dword [ebp - 0x6f0], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x6f4], eax
mov eax, dword [ebp - 0x5c]
not edx
not eax
sub edx, edi
sbb eax, ebx
and edx, ecx
and eax, esi
mov dword [ebp - 0x6ec], eax
mov eax, dword [ebp - 0x6f4]
sub edx, eax
mov dword [ebp - 0x6e8], edx
mov edx, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6ec]
sbb ecx, edx
mov esi, dword [ebp - 0x6e8]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], ecx
movsx edx, word [0x100cd0e8]
movsx eax, byte [ebp - 0x15]
sub eax, edx
movsx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
cmp dword [ebp - 0xc4], 0xd0
jle 0x1002ef86
movsx edx, word [0x100cd110]
test edx, edx
je 0x1002eeff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], ecx
jmp 0x1002ef13
movsx eax, word [0x100cd110]
cdq
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
mov dword [0x100cd0b0], edx
mov dword [0x100cd0b4], eax
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x11]
sub edx, ecx
mov byte [ebp - 0x11], dl
mov eax, dword [0x100cd118]
add eax, 0x98
mov byte [ebp - 0x17], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x7e4], edx
mov eax, dword [ebp - 0x58]
cdq
and eax, ecx
mov dword [ebp - 0x58], eax
movsx eax, byte [ebp - 0x17]
imul ecx, eax, 0x85cf
movzx edx, byte [0x100cd027]
add edx, ecx
mov byte [0x100cd027], dl
mov eax, dword [ebp - 0xc4]
sub eax, 1
mov dword [ebp - 0xc4], eax
jmp 0x1002eed0
movsx ecx, byte [0x100cd06f]
cmp ecx, dword [ebp - 0x58]
jle 0x1002ef9e
mov dword [ebp - 0x158], 1
jmp 0x1002efa8
mov dword [ebp - 0x158], 0
movsx edx, byte [0x100cd06f]
cmp edx, 0x2d
jle 0x1002efc0
mov dword [ebp - 0x15c], 1
jmp 0x1002efca
mov dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x158]
cmp eax, dword [ebp - 0x15c]
jle 0x1002efef
mov ecx, dword [ebp - 0x74]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x1002f110
movsx eax, word [ebp - 0x28]
cmp dword [ebp - 0x2c], eax
jge 0x1002f004
mov dword [ebp - 0x160], 1
jmp 0x1002f00e
mov dword [ebp - 0x160], 0
movzx ecx, byte [ebp - 0x12]
cmp dword [ebp - 0x160], ecx
jle 0x1002f110
movzx eax, byte [ebp - 0x13]
add eax, 0x9c4d
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
push 0
push 0x6112f2bf
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.10099890
mov ecx, eax
movsx eax, word [0x100cd0dc]
cdq
sub eax, ecx
mov word [0x100cd0dc], ax
mov edx, 8
imul eax, edx, 0xce
mov cl, byte [eax + 0x102d2270]
mov byte [0x100cd06f], cl
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1002f08c
xor eax, eax
mov dword [ebp - 0x36c], 1
mov dword [ebp - 0x368], eax
jmp 0x1002f097
xorps xmm0, xmm0
movlpd qword [ebp - 0x36c], xmm0
mov ecx, dword [ebp - 0x36c]
add ecx, 0x7ac7090f
mov edx, dword [ebp - 0x368]
adc edx, 0x211a8
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], edx
mov eax, dword [ebp - 0x550]
or eax, dword [ebp - 0x54c]
jne 0x1002f0dd
xor ecx, ecx
mov dword [ebp - 0x364], 1
mov dword [ebp - 0x360], ecx
jmp 0x1002f0e8
xorps xmm0, xmm0
movlpd qword [ebp - 0x364], xmm0
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x360]
mov dword [0x100cd0b0], edx
mov dword [0x100cd0b4], eax
movzx eax, word [0x100cd0b8]
shl eax, 3
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], 0x3d5
jmp 0x1002f137
mov edx, dword [ebp - 0xc8]
sub edx, 1
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
jle 0x1002f3c7
movsx eax, word [0x100cd098]
test eax, eax
je 0x1002f167
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ecx, ecx
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], ecx
jmp 0x1002f3b0
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1002f17b
mov dword [ebp - 0x164], 1
jmp 0x1002f185
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x164], 0x9f3
jne 0x1002f19d
mov dword [ebp - 0x168], 1
jmp 0x1002f1a7
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x558], ecx
mov dword [ebp - 0x554], esi
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], edx
mov edx, dword [ebp - 0x554]
cmp edx, dword [ebp - 0x55c]
ja 0x1002f1f3
jb 0x1002f1e7
mov eax, dword [ebp - 0x558]
cmp eax, dword [ebp - 0x560]
jae 0x1002f1f3
mov dword [ebp - 0x16c], 1
jmp 0x1002f1fd
mov dword [ebp - 0x16c], 0
mov ecx, dword [ebp - 0x168]
sub ecx, dword [ebp - 0x16c]
jne 0x1002f2e3
movzx edx, word [0x100cd10c]
test edx, edx
je 0x1002f233
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], ecx
jmp 0x1002f244
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2dc]
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x80]
je 0x1002f28b
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], edx
jmp 0x1002f29d
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0x338], edx
mov al, byte [ebp - 0x33c]
mov byte [0x100cd027], al
mov cx, word [0x100cd0b8]
add cx, 1
mov word [0x100cd0b8], cx
movzx edx, byte [0x100cd07f]
mov eax, dword [ebp - 0x58]
add eax, edx
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x58], ecx
movzx edx, byte [ebp - 0x12]
sub edx, 0x664d3906
mov dword [0x100cd0a8], edx
jmp 0x1002f3b0
movzx eax, byte [ebp - 0x11]
movzx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x48]
and edx, ecx
cmp edx, eax
jg 0x1002f33f
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
mov ecx, dword [0x100cd0c8]
sub ecx, dword [0x100cd0a8]
mov dword [0x100cd0c8], ecx
mov edx, 0x59f8b
mov dword [ebp - 0x74], 0xa4117064
mov dword [ebp - 0x70], edx
mov eax, 0x3ba8
mov word [ebp - 0x28], ax
jmp 0x1002f3b0
xor ecx, ecx
je 0x1002f3b0
mov edx, dword [0x100cd0a8]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x7e8], eax
not ecx
sub ecx, edx
movzx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x28]
not eax
add eax, edx
cdq
sub eax, ecx
mov byte [0x100cd07f], al
xor eax, eax
mov dword [0x100cd0b0], 2
mov dword [0x100cd0b4], eax
movzx ecx, word [0x100cd0b8]
imul ecx, dword [ebp - 0x54]
movzx edx, word [0x100cd0b8]
add edx, ecx
mov word [0x100cd0b8], dx
mov eax, dword [ebp - 0x48]
sub eax, 0x62
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov al, byte [0x100cdb38]
mov byte [0x100cd06e], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
jmp 0x1002f128
mov eax, dword [ebp - 0xcc]
add eax, 0x2ee
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 4], 4
movzx ecx, byte [ebp - 0x12]
cmp dword [0x100cd0a8], ecx
jne 0x1002f3f7
mov dword [ebp - 0x170], 1
jmp 0x1002f401
mov dword [ebp - 0x170], 0
cmp dword [0x100cd0a8], 0x56
jne 0x1002f416
mov dword [ebp - 0x174], 1
jmp 0x1002f420
mov dword [ebp - 0x174], 0
mov edx, dword [ebp - 0x170]
cmp edx, dword [ebp - 0x174]
jg 0x1002f92b
push 0
push 0xc9
push 0xec
push 0
push 0
push 0x93
call fcn.1005b9d0
add esp, 0x18
mov byte [ebp - 0x91], al
movzx eax, byte [ebp - 0x91]
mov dword [0x100cd084], eax
cmp dword [0x100cd084], 0
jae 0x1002f476
mov dword [ebp - 0x178], 1
jmp 0x1002f480
mov dword [ebp - 0x178], 0
cmp dword [0x100cd084], 0x40
jae 0x1002f495
mov dword [ebp - 0x17c], 1
jmp 0x1002f49f
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x178]
cmp ecx, dword [ebp - 0x17c]
je 0x1002f8a8
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x568], edx
mov dword [ebp - 0x564], eax
mov ecx, dword [0x100cd0b4]
cmp ecx, dword [ebp - 0x564]
ja 0x1002f4ed
jb 0x1002f4e1
mov edx, dword [0x100cd0b0]
cmp edx, dword [ebp - 0x568]
jae 0x1002f4ed
mov dword [ebp - 0x180], 1
jmp 0x1002f4f7
mov dword [ebp - 0x180], 0
cmp dword [0x100cd0b4], 0
ja 0x1002f517
jb 0x1002f50b
cmp dword [0x100cd0b0], 0x3e
jae 0x1002f517
mov dword [ebp - 0x184], 1
jmp 0x1002f521
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x184]
jl 0x1002f59d
mov ecx, dword [0x100cd0c8]
sub ecx, dword [ebp - 0x64]
mov dword [0x100cd0c8], ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 7
call fcn.100998d0
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
movzx ecx, word [ebp - 0x1c]
sub ecx, 0xdce6
mov eax, dword [0x100cd088]
mov edx, dword [0x100cd08c]
call fcn.100998d0
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
imul edx, dword [ebp - 0x64], 0x8ec945d7
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x1c]
movsx ecx, byte [str.6BlockUpgradeIfDriv]
sub ecx, eax
mov byte [str.6BlockUpgradeIfDriv], cl
jmp 0x1002f8a6
movsx edx, byte [str.6BlockUpgradeIfDriv]
test edx, edx
jne 0x1002f6e2
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
not ecx
not esi
movzx eax, byte [ebp - 0x12]
cdq
or eax, ecx
or edx, esi
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
mov edx, dword [ebp - 0x570]
or edx, dword [ebp - 0x56c]
jne 0x1002f5e5
mov dword [ebp - 0x188], 1
jmp 0x1002f5ef
mov dword [ebp - 0x188], 0
movsx eax, word [ebp - 0x20]
imul ecx, eax, 0x3d
or ecx, dword [ebp - 0x188]
jne 0x1002f60a
mov dword [ebp - 0x18c], 1
jmp 0x1002f614
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x1c]
cdq
xor eax, 0x43e3d8d9
xor edx, 0xfff97f6b
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x578]
or eax, dword [ebp - 0x574]
jne 0x1002f65b
xor ecx, ecx
mov dword [ebp - 0x580], 1
mov dword [ebp - 0x57c], ecx
jmp 0x1002f666
xorps xmm0, xmm0
movlpd qword [ebp - 0x580], xmm0
mov esi, dword [ebp - 0x580]
add esi, dword [ebp - 0x50]
movzx eax, word [0x100cd094]
cdq
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
push edx
push eax
push edi
push ecx
call fcn.10099890
mov ecx, eax
movzx edx, byte [ebp - 0x11]
mov eax, edx
imul eax, dword [ebp - 0x2c]
cdq
sub eax, ecx
add eax, esi
mov byte [0x100cd096], al
mov eax, 8
mov word [ebp - 0x24], ax
mov ecx, dword [0x100cd0c8]
sub ecx, 0x61
mov word [ebp - 0x24], cx
mov eax, dword [ebp - 0x2c]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x2c]
cdq
or eax, ecx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x54]
add ecx, edx
mov edx, dword [ebp - 0x54]
add edx, ecx
mov dword [ebp - 0x54], edx
jmp 0x1002f8a6
mov eax, dword [ebp - 0x74]
or eax, dword [ebp - 0x70]
jne 0x1002f797
movzx ecx, word [ebp - 0x1c]
mov edx, dword [ebp - 0x64]
and edx, ecx
mov eax, dword [ebp - 0x64]
sub eax, edx
mov dword [ebp - 0x64], eax
mov dword [0x100cd0c8], 8
mov ecx, 1
imul edx, ecx, 0x22aa
movzx eax, byte [edx + 0x102cfc58]
cdq
add eax, dword [0x100cd0a0]
adc edx, dword [0x100cd0a4]
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov ecx, dword [0x100cd0e0]
movzx eax, byte [ebp - 0x13]
add eax, dword [0x100cd104]
cdq
mov esi, eax
mov edi, dword [ebp - 0x74]
not edi
movsx eax, byte [ebp - 0x16]
cdq
sub eax, edi
xor eax, esi
and eax, ecx
mov dword [0x100cd0a8], eax
mov edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
je 0x1002f76f
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x190], eax
jmp 0x1002f77b
mov ecx, dword [0x100cd0f0]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
xor eax, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x54]
and ecx, dword [ebp - 0x74]
mov dword [ebp - 0x54], ecx
jmp 0x1002f8a6
mov edx, dword [0x100cd0e0]
xor eax, eax
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x70]
cmp ecx, dword [ebp - 0x584]
jb 0x1002f7cf
ja 0x1002f7c3
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp - 0x588]
jb 0x1002f7cf
mov dword [ebp - 0x194], 1
jmp 0x1002f7d9
mov dword [ebp - 0x194], 0
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov esi, dword [0x100cd0a4]
sbb esi, edx
mov eax, dword [ebp - 0x194]
not eax
cdq
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], esi
mov edx, dword [ebp - 0x58c]
cmp edx, dword [ebp - 0x594]
jg 0x1002f8a6
jl 0x1002f831
mov eax, dword [ebp - 0x590]
cmp eax, dword [ebp - 0x598]
ja 0x1002f8a6
mov ecx, dword [0x100cd0e4]
add ecx, 0x1d8c63e1
movzx edx, byte [ebp - 0x14]
or edx, ecx
mov byte [ebp - 0x14], dl
mov eax, dword [0x100cdb38]
mov dword [0x100cd0a8], eax
movzx ecx, byte [ebp - 0x14]
xor ecx, 0xdbc06164
mov dword [0x100cd084], ecx
movzx edx, byte [ebp - 0x12]
not edx
movsx eax, byte [ebp - 0x17]
add eax, edx
movzx ecx, word [0x100cd094]
movsx edx, word [0x100cd108]
add edx, ecx
imul edx, eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x100cd0d0]
sub ecx, dword [ebp - 0x34]
mov edx, dword [0x100cd0d4]
sbb edx, eax
not ecx
not edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], edx
jmp 0x1002f926
mov eax, dword [ebp - 0x64]
sub eax, 0x5259cbc9
mov byte [0x100cd096], al
cmp dword [0x100cd084], 0
je 0x1002f8ca
movzx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x198], ecx
jmp 0x1002f8d6
mov edx, dword [0x100cd0e0]
mov dword [ebp - 0x198], edx
mov ax, word [ebp - 0x198]
mov word [0x100cd098], ax
mov byte [0x100cd096], 8
push 0
push 0xc6095e21
mov ecx, dword [0x100cd0a4]
push ecx
mov edx, dword [0x100cd0a0]
push edx
call fcn.10099890
mov dword [0x100cd090], eax
movzx eax, word [0x100cd10c]
mov ecx, dword [0x100cd0ac]
sub ecx, eax
mov edx, dword [0x100cd0ac]
sub edx, ecx
mov dword [0x100cd0ac], edx
jmp 0x1002f9f0
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x64]
jg 0x1002f9f0
movsx ecx, byte [0x100cd096]
mov edx, dword [0x100cd0e0]
lea eax, [edx + ecx + 0x1f232bf6]
mov dword [0x100cd0e0], eax
movzx ecx, word [0x100cd0b8]
movzx eax, byte [ebp - 0x14]
add eax, ecx
cdq
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x7f0], ecx
xor ecx, ecx
sub ecx, edx
add ecx, eax
mov byte [ebp - 0x13], cl
mov edx, dword [0x100cd0c4]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
add eax, dword [0x100cd0c0]
adc ecx, edx
mov edx, dword [ebp - 0x74]
not edx
mov esi, dword [ebp - 0x70]
not esi
mov edi, 0x1e3a
sub edi, edx
mov edx, 0
sbb edx, esi
push ecx
push eax
push edx
push edi
call fcn.10099890
mov ecx, eax
not ecx
movsx eax, word [0x100cd108]
not eax
cdq
add eax, ecx
mov dword [ebp - 0x2c], eax
cmp dword [0x100cd0e4], 0
je 0x1002f9d0
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x19c], edx
jmp 0x1002f9dd
movzx eax, byte [0x100cd06e]
mov dword [ebp - 0x19c], eax
mov cl, byte [ebp - 0x19c]
mov byte [ebp - 0x16], cl
mov dword [0x100cd0f0], 0x6a
jmp 0x1002fa58
mov dword [ebp - 4], 0xffffffff
jmp 0x1002fa68
mov eax, dword [ebp - 0xcc]
add eax, 0xb7
mov dword [ebp - 0x6cc], eax
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x7f4], edx
sub ecx, 0xba
mov byte [ebp - 0x14], cl
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
movsx eax, byte [ebp - 0x17]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x17]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x17], al
mov dl, byte [ebp - 0x14]
sub dl, 1
mov byte [ebp - 0x14], dl
mov ecx, dword [ebp - 0x3c]
not ecx
mov esi, dword [0x100cd0a0]
sub esi, dword [ebp - 0x3c]
movzx eax, word [ebp - 0x1c]
not eax
cdq
sub eax, esi
xor eax, ecx
mov byte [0x100cd047], al
mov edx, 0xffff87a9
mov word [0x100cd0d8], dx
movsx eax, byte [ebp - 0x16]
test eax, eax
je 0x1002fb06
mov ecx, dword [0x100cd0ac]
mov dword [ebp - 0x1a0], ecx
jmp 0x1002fb10
movzx edx, byte [ebp - 0x14]
mov dword [ebp - 0x1a0], edx
mov al, byte [ebp - 0x1a0]
mov byte [0x100cd096], al
mov ecx, dword [ebp - 0xcc]
add ecx, 0x1b5
mov dword [ebp - 0x6c8], ecx
mov ecx, 8
mov esi, str.WindowsAppCompat
lea edi, [ebp - 0x938]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x938]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x100cd026], al
mov eax, dword [ebp - 0xf0]
push eax
call fcn.1001cb70
mov dword [ebp - 0xa4], eax
movzx ecx, word [ebp - 0x1c]
push ecx
call dword [sym.imp.USER32.dll_OpenIcon]
xor edx, edx
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
cmp dword [ebp - 0xa4], 0
je 0x10033598
movsx eax, word [0x100cd0dc]
test eax, eax
jne 0x1002fba1
mov dword [ebp - 0x1a4], 1
jmp 0x1002fbab
mov dword [ebp - 0x1a4], 0
movzx ecx, byte [0x100cd07f]
not ecx
movsx edx, byte [0x100cd06f]
not edx
cmp edx, ecx
jl 0x1002fbcd
mov dword [ebp - 0x1a8], 1
jmp 0x1002fbd7
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x1a8]
jge 0x1002fbf1
mov dword [ebp - 0x1b0], 1
jmp 0x1002fbfb
mov dword [ebp - 0x1b0], 0
movsx ecx, byte [ebp - 0x17]
cmp ecx, dword [0x100cd084]
jbe 0x1002fc13
mov dword [ebp - 0x1ac], 1
jmp 0x1002fc1d
mov dword [ebp - 0x1ac], 0
mov edx, 1
sub edx, dword [ebp - 0x1ac]
cmp dword [ebp - 0x1b0], edx
jl 0x1002fc5b
jmp 0x1002fc37
jmp 0x1002fc43
jmp 0x1002fc59
jmp 0x1002fcc5
movsx eax, byte [0x100cd06f]
not eax
cmp eax, 0x8229bec
jl 0x1002fcc5
mov byte [ebp - 0x12], 0x6b
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
push 0
push 0x66
push edx
push ecx
call fcn.10099890
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x1002fc9e
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x1b4], ecx
jmp 0x1002fca8
movsx edx, byte [ebp - 0x15]
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x54], eax
movsx ecx, word [ebp - 0x20]
movzx edx, byte [ebp - 0x14]
imul edx, ecx
movzx eax, byte [ebp - 0x14]
sub eax, edx
mov byte [ebp - 0x14], al
mov ecx, 3
mov word [ebp - 0x1c], cx
movsx edx, byte [0x100cd047]
test edx, edx
jne 0x1002fce5
mov dword [ebp - 0x1c0], 1
jmp 0x1002fcef
mov dword [ebp - 0x1c0], 0
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1002fd03
mov dword [ebp - 0x1b8], 1
jmp 0x1002fd0d
mov dword [ebp - 0x1b8], 0
cmp dword [ebp - 0x54], 0
jne 0x1002fd1f
mov dword [ebp - 0x1bc], 1
jmp 0x1002fd29
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1b8]
imul ecx, dword [ebp - 0x1bc]
movzx edx, word [0x100cd094]
mov esi, dword [ebp - 0x54]
add esi, edx
imul esi, ecx
movsx eax, byte [0x100cd06f]
imul eax, dword [ebp - 0x1c0]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.10099890
add eax, esi
mov byte [ebp - 0x13], al
movsx edx, byte [ebp - 0x15]
imul edx, dword [0x100cd0ac]
movsx eax, byte [ebp - 0x15]
imul eax, edx
mov byte [ebp - 0x15], al
mov ecx, dword [0x100cd0e4]
mov dword [0x100cd0e0], ecx
cmp dword [0x100cd100], 0
jne 0x1002fd9e
mov dword [ebp - 0x1c4], 1
jmp 0x1002fda8
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x1c4]
mov dword [0x100cd104], edx
mov ax, word [0x100cd0f8]
mov word [0x100cd098], ax
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [0x100cd118], ecx
mov dword [0x100cd11c], edx
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 3
ja case.default.0x1002fdf1
mov ecx, dword [ebp - 0x1c8]
jmp dword [ecx*4 + 0x10034514]
imul edx, dword [ebp - 0x2c], 0x32d9
mov byte [ebp - 0x16], dl
mov eax, 0xad2a
mov word [0x100cd094], ax
movsx ecx, byte [ebp - 0x16]
mov dword [0x100cd0a8], ecx
movsx eax, byte [ebp - 0x16]
cdq
sub eax, 0x93e61808
sbb edx, 0xc1098
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movzx edx, byte [0x100cd07f]
sub edx, 0x2ed10279
mov byte [0x100cd07f], dl
jmp case.default.0x1002fdf1
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
push 0
push 0xe
push ecx
push eax
call fcn.10099890
mov edx, dword [0x100cd0f0]
sub edx, eax
mov dword [0x100cd0f0], edx
movsx eax, word [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
not ecx
xor ecx, eax
jne 0x1002fe8a
xor edx, edx
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x340], edx
jmp 0x1002fe95
xorps xmm0, xmm0
movlpd qword [ebp - 0x344], xmm0
cmp dword [0x100cd0c8], 0
jne 0x1002feaa
mov dword [ebp - 0x1cc], 1
jmp 0x1002feb4
mov dword [ebp - 0x1cc], 0
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x1cc]
not eax
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
sub eax, dword [ebp - 0x60]
sbb ecx, edx
mov edx, dword [ebp - 0x340]
push edx
mov edx, dword [ebp - 0x344]
push edx
push ecx
push eax
call fcn.10099890
sub eax, edi
sbb edx, ebx
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], edx
mov eax, dword [ebp - 0x5a0]
or eax, dword [ebp - 0x59c]
jne 0x1002ff2c
xor ecx, ecx
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x350], ecx
jmp 0x1002ff37
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
mov edx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x350]
mov dword [0x100cd0a0], edx
mov dword [0x100cd0a4], eax
mov cx, word [0x100cd0b8]
sub cx, 1
mov word [0x100cd0b8], cx
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100cd0ec]
not eax
cdq
mov edi, eax
mov ebx, edx
xor edi, dword [ebp - 0x50]
xor ebx, dword [ebp - 0x4c]
sub edi, ecx
sbb ebx, esi
mov edx, dword [ebp - 0x64]
and edx, dword [0x100cd0a8]
xor eax, eax
mov ecx, dword [0x100cd0b4]
push ecx
mov ecx, dword [0x100cd0b0]
push ecx
push eax
push edx
call fcn.10099890
add eax, edi
adc edx, ebx
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov edx, 1
imul eax, edx, 0x3d
mov cl, byte [eax + 0x1026d160]
mov byte [ebp - 0x14], cl
movsx edx, word [0x100cd0e8]
add edx, dword [0x100cd084]
mov word [0x100cd0dc], dx
jmp case.default.0x1002fdf1
mov ax, word [ebp - 0x24]
add ax, 1
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
add edx, dword [ebp - 0x6c]
adc eax, ecx
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
movsx eax, byte [ebp - 0x15]
add eax, 0x604a212c
not eax
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov byte [ebp - 0x14], 0x5f
mov eax, dword [ebp - 0x64]
sar eax, 6
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov edx, 0x4b
mov word [ebp - 0x1c], dx
jmp case.default.0x1002fdf1
movsx eax, word [0x100cd098]
test eax, eax
je 0x10030058
mov ecx, dword [0x100cd0f0]
mov dword [ebp - 0x1d0], ecx
jmp 0x10030065
movsx edx, byte [str.6BlockUpgradeIfDriv]
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x1d0]
xor ecx, ecx
mov dword [0x100cd088], eax
mov dword [0x100cd08c], ecx
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x7f8], edx
movsx eax, byte [0x100cd026]
cdq
sub eax, ecx
mov byte [0x100cd026], al
mov eax, dword [0x100cd0e0]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x7fc], edx
add ecx, eax
mov byte [0x100cd082], cl
movsx eax, word [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
imul ecx, eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x74c], edx
mov dword [ebp - 0x748], eax
mov ecx, dword [ebp - 0x74c]
or ecx, dword [ebp - 0x748]
je 0x100300ef
movsx eax, byte [0x100cd083]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
jmp 0x10030106
mov edx, dword [0x100cd118]
mov eax, dword [0x100cd11c]
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2d4], eax
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0x14], 1
mov ecx, dword [ebp - 0x58]
xor ecx, 0xd0f329b7
jne 0x1003013e
mov dword [ebp - 0x1d4], 1
jmp 0x10030148
mov dword [ebp - 0x1d4], 0
imul edx, dword [ebp - 0x2c], 0
movzx eax, word [0x100cd10c]
sub eax, 0x63dc73de
xor eax, edx
jne 0x10030168
mov dword [ebp - 0x1d8], 1
jmp 0x10030172
mov dword [ebp - 0x1d8], 0
mov ecx, dword [ebp - 0x1d4]
add ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x64], ecx
movzx eax, byte [ebp - 0x14]
shl eax, 5
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
movzx edx, byte [ebp - 0x11]
movzx eax, byte [0x100cd06e]
sub eax, edx
movzx ecx, byte [0x100cd06e]
add ecx, eax
mov byte [0x100cd06e], cl
movzx edx, byte [ebp - 0x14]
movzx eax, word [0x100cd094]
not eax
imul eax, edx
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100cd0a8]
sub eax, dword [ebp - 0x54]
xor ecx, ecx
mov edx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x5c]
push ecx
push eax
push ebx
push edx
call fcn.10099890
push edi
push esi
push edx
push eax
call fcn.10099890
mov word [0x100cd10c], ax
mov al, byte [ebp - 0x14]
mov byte [ebp - 0x1dc], al
cmp byte [ebp - 0x1dc], 0
je 0x10030211
cmp byte [ebp - 0x1dc], 1
je 0x100302cb
jmp 0x1003030d
mov ecx, dword [0x100cd0e4]
mov word [ebp - 0x24], cx
mov edx, dword [0x100cd0a8]
shr edx, 3
mov word [0x100cd10c], dx
movzx eax, byte [ebp - 0x13]
cdq
xor eax, dword [0x100cd0d0]
xor edx, dword [0x100cd0d4]
mov ecx, dword [0x100cd0e0]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.10099890
movsx ecx, byte [0x100cd06f]
mov esi, dword [ebp - 0x54]
imul esi, ecx
movsx ecx, byte [0x100cd026]
add ecx, esi
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], edx
mov edx, dword [ebp - 0x5ac]
or edx, dword [ebp - 0x5a8]
jne 0x10030291
mov byte [ebp - 0x88], 1
jmp 0x10030298
mov byte [ebp - 0x88], 0
mov al, byte [ebp - 0x88]
mov byte [0x100cd096], al
mov eax, dword [0x100cd0c8]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
sub ecx, eax
sbb esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
mov byte [ebp - 0x12], 0x89
jmp 0x1003030d
mov edx, dword [ebp - 0x74]
and edx, 0x64fb3ea5
mov word [ebp - 0x24], dx
movsx eax, byte [0x100cd026]
not eax
add eax, 0x6217e15a
mov word [0x100cd0ec], ax
movzx ecx, byte [ebp - 0x11]
movsx edx, word [0x100cd108]
add edx, ecx
mov word [0x100cd108], dx
mov eax, dword [0x100cd0a8]
sub eax, 1
mov dword [0x100cd0a8], eax
mov ecx, dword [ebp - 0xd4]
add ecx, 0x2d5
mov dword [ebp - 0x1f4], ecx
movsx eax, word [0x100cd0d8]
cdq
sub eax, 0xc7364765
sbb edx, 0xef51c
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx eax, word [0x100cd0dc]
shl eax, 1
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x800], edx
sub ecx, 0xb2ebe0c7
movzx eax, byte [0x100cd07f]
cdq
add eax, ecx
mov byte [0x100cd07f], al
movsx eax, word [ebp - 0x20]
add eax, 0xef
mov ecx, dword [0x100cd0e4]
or ecx, eax
mov dword [0x100cd0e4], ecx
mov edx, dword [ebp - 0xd4]
add edx, 0x143
mov dword [ebp - 0x804], edx
movzx eax, byte [ebp - 0x11]
imul ecx, eax, 0x54
mov dword [0x100cd0c8], ecx
movzx eax, byte [0x100cd06e]
sub eax, 0x81f3
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movzx edx, byte [0x100cd07f]
xor eax, eax
sub eax, edx
jne 0x100303d0
mov dword [ebp - 0x1e0], 1
jmp 0x100303da
mov dword [ebp - 0x1e0], 0
mov ecx, dword [0x100cd0e0]
sub ecx, dword [0x100cd0e4]
sub ecx, dword [ebp - 0x1e0]
mov word [0x100cd0e8], cx
movzx edx, byte [ebp - 0x12]
movzx eax, byte [ebp - 0x11]
movsx ecx, byte [ebp - 0x17]
sub ecx, eax
add ecx, edx
jne 0x10030413
mov edx, 1
mov word [ebp - 0x9a], dx
jmp 0x1003041c
xor eax, eax
mov word [ebp - 0x9a], ax
mov cx, word [ebp - 0x9a]
mov word [0x100cd110], cx
movsx edx, word [0x100cd0ec]
test edx, edx
jne 0x10030441
mov dword [ebp - 0x1e4], 1
jmp 0x1003044b
mov dword [ebp - 0x1e4], 0
mov eax, dword [0x100cd0c8]
add eax, dword [ebp - 0x1e4]
jne 0x1003046c
xor ecx, ecx
mov dword [ebp - 0x38c], 1
mov dword [ebp - 0x388], ecx
jmp 0x10030477
xorps xmm0, xmm0
movlpd qword [ebp - 0x38c], xmm0
movsx eax, byte [0x100cd083]
cdq
mov esi, eax
mov edi, edx
add esi, dword [0x100cd0f8]
adc edi, dword [0x100cd0fc]
push 0
push 0xda0d30b
mov edx, dword [ebp - 0x80]
push edx
mov eax, dword [ebp - 0x84]
push eax
call fcn.10099890
mov ecx, eax
mov ebx, edx
sub ecx, esi
sbb ebx, edi
movzx eax, byte [ebp - 0x12]
cdq
mov esi, dword [0x100cd118]
sub esi, eax
mov eax, dword [0x100cd11c]
sbb eax, edx
mov edx, dword [ebp - 0x38c]
sub edx, esi
mov esi, dword [ebp - 0x388]
sbb esi, eax
push ebx
push ecx
push esi
push edx
call fcn.10099890
mov dword [0x100cd090], eax
mov byte [str.6BlockUpgradeIfDriv], 0x75
mov eax, dword [ebp - 0xd4]
add eax, 0x24e
mov dword [ebp - 0x6e4], eax
push 0x12
movsx ecx, word [0x100cd0dc]
push ecx
push 0xfd
push 0xf3
push 0
movzx edx, byte [0x100cd082]
push edx
push 0x5c
call fcn.1005d580
add esp, 0x1c
xor ecx, ecx
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], ecx
cmp dword [0x100cd0c8], 0
je case.default.0x10030613
mov edx, 3
mov word [0x100cd098], dx
mov eax, dword [ebp - 0x48]
shl eax, 1
mov word [ebp - 0x28], ax
mov dword [ebp - 0x2c], 0xed09ad05
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [0x100cd0d0], ecx
mov dword [0x100cd0d4], edx
movsx eax, byte [0x100cd026]
add eax, dword [ebp - 0x64]
mov byte [0x100cd026], al
movsx ecx, word [0x100cd098]
test ecx, ecx
jne 0x1003058e
mov dword [ebp - 0x1e8], 1
jmp 0x10030598
mov dword [ebp - 0x1e8], 0
mov esi, dword [0x100cd0e4]
add esi, dword [ebp - 0x1e8]
movzx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov edx, dword [0x100cd0fc]
push edx
mov eax, dword [0x100cd0f8]
push eax
call fcn.10099890
not eax
sub eax, esi
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0xca
push edx
push ecx
call fcn.10099890
mov ecx, eax
mov esi, edx
movsx eax, word [0x100cd0dc]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov word [0x100cd0dc], ax
movsx edx, word [0x100cd098]
mov dword [ebp - 0x1ec], edx
cmp dword [ebp - 0x1ec], 3
ja case.default.0x10030613
mov eax, dword [ebp - 0x1ec]
jmp dword [eax*4 + 0x10034524]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov cl, 5
call fcn.100999a0
mov word [0x100cd0dc], ax
movzx ecx, word [0x100cd0b8]
movzx edx, byte [ebp - 0x12]
add edx, ecx
movzx eax, byte [ebp - 0x12]
sub eax, edx
mov byte [ebp - 0x12], al
imul ecx, dword [0x100cd100], 0x54
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
add edx, 1
adc eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movzx ecx, word [0x100cd094]
test ecx, ecx
jne 0x10030677
mov dword [ebp - 0x1f0], 1
jmp 0x10030681
mov dword [ebp - 0x1f0], 0
movzx edx, byte [0x100cd06e]
sub edx, dword [ebp - 0x1f0]
mov word [0x100cd098], dx
movsx eax, word [0x100cd0ec]
add eax, 0x93ac
mov byte [ebp - 0x12], al
jmp case.default.0x10030613
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x12]
imul edx, ecx
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x50]
xor ecx, 0xc4ed
movsx eax, byte [0x100cd083]
cdq
sub eax, ecx
mov byte [0x100cd083], al
movsx edx, word [0x100cd0dc]
movzx eax, word [ebp - 0x1c]
not eax
xor eax, edx
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, byte [0x100cd07f]
imul ecx, eax, 0xa0f01ef2
mov byte [0x100cd083], cl
jmp case.default.0x10030613
movsx eax, byte [ebp - 0x16]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
xor edx, edx
mov word [0x100cd094], dx
mov eax, dword [0x100cd0f8]
and eax, 0xdd
mov word [0x100cd10c], ax
mov dword [0x100cd0a8], 0xcaceb69f
mov ecx, dword [ebp - 0x74]
add ecx, 0xd16d
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x808], eax
mov esi, dword [0x100cd084]
sub esi, edx
sub esi, ecx
movsx ecx, byte [ebp - 0x15]
movzx eax, byte [0x100cd027]
sub eax, ecx
cdq
mov ecx, eax
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x80c], edx
movsx eax, byte [ebp - 0x16]
cdq
sub eax, edi
add eax, ecx
sub eax, esi
mov byte [str.6BlockUpgradeIfDriv], al
jmp case.default.0x10030613
mov eax, dword [0x100cd0e4]
add eax, 0x7c503a52
mov byte [0x100cd047], al
movsx ecx, word [ebp - 0x20]
sar ecx, 1
mov dword [ebp - 0x48], ecx
xor edx, edx
mov dword [ebp - 0x50], 2
mov dword [ebp - 0x4c], edx
movzx eax, word [0x100cd094]
sar eax, 4
mov word [0x100cd0b8], ax
imul eax, dword [ebp - 0x48], 0x531d
cdq
add eax, dword [0x100cd0a0]
adc edx, dword [0x100cd0a4]
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov cl, byte [0x100cdb38]
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x1f4]
add edx, 0x370
sub edx, dword [ebp - 0x1f4]
imul eax, dword [ebp - 0x6e4], 0x3a0
cmp eax, edx
je 0x10033598
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], 0
cmp dword [ebp - 0x6e0], 0
je 0x10030835
mov ecx, dword [ebp - 0x6dc]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x810], eax
movzx edx, word [0x100cd10c]
test edx, edx
je 0x100308cd
movsx eax, word [0x100cd108]
cdq
sub eax, 0xf1465596
sbb edx, 0x2c06
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], ecx
movsx eax, byte [ebp - 0x16]
cdq
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov eax, dword [ebp - 0x38]
sbb eax, edx
mov edx, dword [ebp - 0x3c]
sub edx, ecx
mov ecx, dword [ebp - 0x38]
sbb ecx, eax
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov cl, 5
call fcn.100998d0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x814], eax
mov ecx, dword [0x100cd0a8]
sub ecx, edx
mov edx, dword [0x100cd0a8]
sub edx, ecx
mov dword [0x100cd0a8], edx
mov eax, dword [ebp - 0x48]
cdq
add eax, dword [0x100cd0a0]
adc edx, dword [0x100cd0a4]
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov eax, dword [0x100cd0a4]
sbb eax, edx
mov dword [0x100cd0a0], ecx
mov dword [0x100cd0a4], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x818], edx
sub ecx, 0xf2b3
mov dword [0x100cd090], ecx
movzx eax, word [0x100cd10c]
cdq
add eax, 0x848672b0
adc edx, 0x6c160
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, 1
imul eax, edx, 0x7f5
mov cl, byte [0x100cd110]
mov byte [eax + 0x102f9f80], cl
mov edx, dword [ebp - 0x2c]
sub edx, 0x4e0295cf
mov word [0x100cd0d8], dx
mov eax, dword [ebp - 0x64]
mov dword [0x100cd0ac], eax
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0xd8], ecx
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x10030981
mov dword [ebp - 0x1f8], 1
jmp 0x1003098b
mov dword [ebp - 0x1f8], 0
mov eax, dword [0x100cd0ac]
cdq
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp - 0x5b0]
cmp eax, dword [0x100cd0b4]
ja 0x100309c7
jb 0x100309bb
mov ecx, dword [ebp - 0x5b4]
cmp ecx, dword [0x100cd0b0]
ja 0x100309c7
mov dword [ebp - 0x1fc], 1
jmp 0x100309d1
mov dword [ebp - 0x1fc], 0
mov edx, dword [0x100cd0ac]
imul edx, dword [ebp - 0x1f8]
add edx, dword [ebp - 0x1fc]
je 0x10030b64
mov eax, dword [ebp - 0x48]
push eax
push 0x25
push 0x44
movzx ecx, byte [0x100cd098]
push ecx
push 0
push 0
call fcn.1005b9d0
add esp, 0x18
movzx dx, al
mov word [0x100cd108], dx
movsx eax, word [0x100cd108]
test eax, eax
jl 0x10030b5f
movsx eax, byte [ebp - 0x17]
cdq
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 0x5c0], edx
mov ecx, dword [0x100cd0a4]
cmp ecx, dword [ebp - 0x5c0]
jl 0x10030a5b
jg 0x10030a4f
mov edx, dword [0x100cd0a0]
cmp edx, dword [ebp - 0x5c4]
jbe 0x10030a5b
mov dword [ebp - 0x200], 1
jmp 0x10030a65
mov dword [ebp - 0x200], 0
cmp dword [0x100cd0a4], 0
jl 0x10030a85
jg 0x10030a79
cmp dword [0x100cd0a0], 0x4b
jbe 0x10030a85
mov dword [ebp - 0x204], 1
jmp 0x10030a8f
mov dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x200]
cmp eax, dword [ebp - 0x204]
jl 0x10030ae8
mov ecx, dword [0x100cd090]
mov word [0x100cd0dc], cx
mov byte [ebp - 0x16], 0x31
mov dx, word [0x100cd0d0]
mov word [0x100cd108], dx
movzx eax, word [ebp - 0x24]
cdq
push 0x67ee2
push 0x479bda7d
push edx
push eax
call fcn.10099890
mov word [0x100cd098], ax
movsx eax, byte [ebp - 0x15]
add eax, 0x29
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10030b5f
cmp dword [ebp - 0x58], 0
jne 0x10030af6
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x10030b5f
movzx ecx, byte [ebp - 0x11]
movsx edx, byte [0x100cd047]
imul edx, ecx
movsx eax, byte [0x100cd047]
add eax, edx
mov byte [0x100cd047], al
mov ecx, dword [0x100cd104]
add ecx, 0x7e61a54d
mov byte [ebp - 0x11], cl
mov edx, 4
imul eax, edx, 0x41
mov ecx, dword [eax + 0x1023d5a0]
mov dword [0x100cd084], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x81c], eax
add edx, 0x629fff20
mov byte [ebp - 0x14], dl
movzx eax, byte [ebp - 0x12]
sub eax, 0xcfdc
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
jmp 0x10030c91
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10030c91
movzx edx, word [ebp - 0x24]
movsx eax, word [0x100cd110]
imul eax, edx
mov word [0x100cd110], ax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x5cc], ecx
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x5cc]
or eax, dword [ebp - 0x5c8]
jne 0x10030bb0
mov dword [ebp - 0x208], 1
jmp 0x10030bba
mov dword [ebp - 0x208], 0
mov ecx, dword [ebp - 0x208]
imul ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x10030bdc
xor edx, edx
mov dword [ebp - 0x5d4], 1
mov dword [ebp - 0x5d0], edx
jmp 0x10030be7
xorps xmm0, xmm0
movlpd qword [ebp - 0x5d4], xmm0
mov eax, dword [0x100cd0c8]
not eax
imul eax, dword [0x100cd0ac]
test eax, eax
jne 0x10030c05
mov dword [ebp - 0x20c], 1
jmp 0x10030c0f
mov dword [ebp - 0x20c], 0
movsx ecx, word [0x100cd110]
add ecx, dword [ebp - 0x20c]
add ecx, dword [0x100cd0f0]
movzx eax, byte [ebp - 0x12]
cdq
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x8b4], esi
add edx, eax
sub edx, dword [ebp - 0x5d4]
add edx, ecx
mov dword [0x100cd0e4], edx
movzx eax, byte [ebp - 0x13]
and eax, dword [0x100cd100]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x100cd0ac]
cdq
add eax, dword [ebp - 0x84]
adc edx, dword [ebp - 0x80]
and eax, ecx
and edx, esi
movsx ecx, word [0x100cd0dc]
not ecx
movzx esi, word [0x100cd0b8]
add esi, ecx
not esi
add esi, dword [0x100cd084]
not esi
xor ecx, ecx
add esi, eax
adc ecx, edx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x15], 0x83
mov edx, dword [ebp - 0xd8]
add edx, 0x3cd
mov dword [ebp - 0x6c0], edx
movsx eax, byte [ebp - 0x15]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
not eax
not ecx
push 0
push 0x8b
push ecx
push eax
call fcn.10099890
add eax, esi
adc edx, edi
mov dword [ebp - 0x5dc], eax
mov dword [ebp - 0x5d8], edx
mov edx, dword [ebp - 0x5dc]
or edx, dword [ebp - 0x5d8]
jne 0x10030cfb
xor eax, eax
mov dword [ebp - 0x394], 1
mov dword [ebp - 0x390], eax
jmp 0x10030d06
xorps xmm0, xmm0
movlpd qword [ebp - 0x394], xmm0
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
add esi, 0xd07b8f2c
adc edi, 0xcb173
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x30]
movsx eax, byte [ebp - 0x17]
cdq
push ebx
push ecx
push edx
push eax
call fcn.10099890
push edi
push esi
push edx
push eax
call fcn.10099890
sub eax, dword [ebp - 0x394]
sbb edx, dword [ebp - 0x390]
not eax
not edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, word [0x100cd110]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100cd0d0]
adc esi, dword [0x100cd0d4]
mov eax, dword [0x100cd100]
not eax
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov edx, dword [ebp - 0x5e4]
or edx, dword [ebp - 0x5e0]
jne 0x10030d9d
xor eax, eax
mov dword [ebp - 0x5ec], 1
mov dword [ebp - 0x5e8], eax
jmp 0x10030da8
xorps xmm0, xmm0
movlpd qword [ebp - 0x5ec], xmm0
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10030dbc
mov dword [ebp - 0x210], 1
jmp 0x10030dc6
mov dword [ebp - 0x210], 0
movzx eax, byte [0x100cd07f]
add eax, dword [ebp - 0x210]
cdq
mov ecx, eax
movsx eax, word [0x100cd0e8]
cdq
sub eax, dword [ebp - 0x50]
xor eax, ecx
mov edx, dword [ebp - 0x5ec]
sub edx, eax
mov byte [ebp - 0x14], dl
movsx eax, word [0x100cd108]
not eax
movsx ecx, word [0x100cd108]
not ecx
mov edx, dword [ebp - 0x2c]
sub edx, ecx
imul edx, eax
movzx eax, word [ebp - 0x24]
not eax
movzx ecx, byte [ebp - 0x11]
not ecx
xor ecx, eax
movsx eax, byte [0x100cd026]
mov ebx, dword [0x100cd0a8]
add ebx, eax
imul ebx, ecx
imul ebx, edx
mov byte [ebp - 0x17], bl
mov eax, dword [ebp - 0x2c]
cdq
add eax, 0x3ad25e55
mov byte [0x100cd026], al
imul ecx, dword [ebp - 0x2c], 0x45b166e3
mov word [ebp - 0x1c], cx
movzx edx, byte [0x100cd082]
movzx eax, byte [0x100cd07f]
sub eax, edx
movzx ecx, byte [0x100cd07f]
sub ecx, eax
mov byte [0x100cd07f], cl
mov edx, dword [ebp - 0xd8]
add edx, 0x225
mov dword [ebp - 0x820], edx
mov dword [ebp - 0x54], 0xc115108b
movsx eax, word [0x100cd0d8]
cdq
push 0x2a639
push 0x6ec4e6da
push edx
push eax
call fcn.10099890
mov word [0x100cd094], ax
movsx eax, word [0x100cd0dc]
test eax, eax
jne 0x10030ebd
xor ecx, ecx
mov dword [ebp - 0x5f4], 1
mov dword [ebp - 0x5f0], ecx
jmp 0x10030ec8
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f4], xmm0
movsx edx, word [0x100cd0e8]
sub edx, dword [ebp - 0x54]
movzx eax, byte [0x100cd027]
movzx ecx, word [ebp - 0x1c]
xor ecx, eax
sub ecx, edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x824], eax
add edx, dword [ebp - 0x5f4]
sub edx, ecx
mov byte [ebp - 0x17], dl
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
add eax, 0x9bb7d281
adc edx, 0x8900
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx eax, word [ebp - 0x20]
cdq
push 0xaf687
push 0xec593cb6
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0xd8]
add edx, 0x69
mov dword [ebp - 0x26c], edx
movsx eax, byte [ebp - 0x15]
sub eax, dword [ebp - 0x48]
movsx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov ecx, dword [0x100cd0f0]
not ecx
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, 0x3e
adc esi, 0
sub ecx, eax
sbb esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
movzx eax, byte [ebp - 0x14]
not eax
cdq
mov ecx, eax
sub ecx, 0x761e1a5
movsx eax, byte [0x100cd06f]
cdq
or eax, dword [ebp - 0x50]
not eax
sub eax, ecx
mov byte [0x100cd07f], al
movsx edx, byte [0x100cd083]
movsx eax, word [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x28], ax
movzx ecx, byte [ebp - 0x12]
movzx edx, word [0x100cd0b8]
sub edx, ecx
movsx eax, byte [ebp - 0x17]
sub eax, edx
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
movsx eax, word [ebp - 0x20]
sub eax, 0x71
movsx ecx, word [0x100cd0d8]
sub ecx, eax
mov word [0x100cd0d8], cx
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xdc], edx
movsx eax, word [0x100cd0ec]
movzx ecx, word [ebp - 0x1c]
add ecx, eax
movzx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 0x11]
sub eax, 0xc8
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x15], 0x9b
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x828], edx
movsx eax, byte [0x100cd083]
cdq
mov esi, eax
add esi, ecx
movsx eax, byte [0x100cd083]
cdq
sub eax, esi
mov byte [0x100cd083], al
mov al, byte [0x100cdb38]
mov byte [0x100cd06f], al
mov ecx, dword [ebp - 0xdc]
add ecx, 0x20
mov dword [ebp - 0x82c], ecx
mov dx, word [0x100cdb38]
mov word [ebp - 0x24], dx
movzx eax, byte [ebp - 0x11]
movsx ecx, word [0x100cd110]
sub ecx, eax
mov word [0x100cd110], cx
movsx edx, byte [0x100cd026]
imul edx, dword [0x100cd104]
movsx eax, byte [0x100cd026]
sub eax, edx
mov byte [0x100cd026], al
movsx eax, word [0x100cd0ec]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
movsx eax, word [0x100cd0ec]
cdq
sub eax, ecx
mov word [0x100cd0ec], ax
mov edx, 8
imul eax, edx, 0x7b
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10419500], ecx
mov dword [eax + 0x10419504], edx
mov eax, dword [ebp - 0xdc]
add eax, 0x3c6
mov dword [ebp - 0x6d8], eax
movsx ecx, byte [0x100cd096]
cmp dword [0x100cd100], ecx
jge 0x10031134
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
mov byte [0x100cd06e], al
jmp 0x100312d7
xor edx, edx
je 0x10031197
movsx eax, word [0x100cd0ec]
mov ecx, dword [ebp - 0x58]
add ecx, eax
mov dword [ebp - 0x58], ecx
mov edx, dword [0x100cd0a8]
add edx, 1
mov dword [0x100cd0a8], edx
mov ecx, dword [ebp - 0x74]
add ecx, dword [0x100cd0d0]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
call fcn.100999a0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [0x100cd0f8]
sub eax, 0x8e7dc1de
mov ecx, dword [0x100cd0fc]
sbb ecx, 0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, 0x1777
mov word [ebp - 0x24], dx
jmp 0x100312d7
mov eax, dword [0x100cd0ac]
sub eax, dword [ebp - 0x64]
je 0x10031263
movzx ecx, byte [0x100cd082]
add ecx, 0xf940
mov edx, dword [0x100cd100]
sub edx, ecx
mov dword [0x100cd100], edx
movsx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x24]
imul ecx, eax
movsx eax, byte [0x100cd047]
sub eax, ecx
cdq
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
mov esi, dword [0x100cd118]
not esi
add esi, eax
mov eax, dword [ebp - 0x48]
cdq
xor eax, esi
xor eax, ecx
mov dword [0x100cd0ac], eax
movsx eax, word [0x100cd098]
cdq
sub eax, 0x14837c32
mov dword [ebp - 0x48], eax
mov edx, dword [0x100cd08c]
mov eax, dword [0x100cd0d0]
sub eax, dword [0x100cd088]
mov ecx, dword [0x100cd0d4]
sbb ecx, edx
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x5f8], ecx
mov edx, dword [ebp - 0x5fc]
or edx, dword [ebp - 0x5f8]
jne 0x1003123f
mov byte [ebp - 0x89], 1
jmp 0x10031246
mov byte [ebp - 0x89], 0
mov al, byte [ebp - 0x89]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x64]
sar eax, 5
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
jmp 0x100312d7
mov ecx, 0x5ecf7530
or ecx, 0x57a9
je 0x100312d7
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 8
call fcn.100999a0
mov dword [0x100cd0c8], eax
mov edx, dword [0x100cd0f0]
mov dword [0x100cd100], edx
mov dword [0x100cd100], 0xb3277b44
cmp dword [ebp - 0x54], 0
jne 0x100312aa
mov dword [ebp - 0x214], 1
jmp 0x100312b4
mov dword [ebp - 0x214], 0
movsx eax, byte [0x100cd096]
xor eax, dword [ebp - 0x214]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x830], edx
mov word [0x100cd108], cx
mov eax, dword [ebp - 0xdc]
add eax, 0xef
mov dword [ebp - 0x6d4], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [0x100cd0e4], eax
movsx eax, byte [ebp - 0x16]
not eax
cdq
mov ecx, dword [0x100cd0f8]
not ecx
mov esi, dword [0x100cd0fc]
not esi
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x600], esi
mov dword [ebp - 0x60c], eax
mov dword [ebp - 0x608], edx
mov edx, dword [ebp - 0x604]
cmp edx, dword [ebp - 0x60c]
jne 0x1003134a
mov eax, dword [ebp - 0x600]
cmp eax, dword [ebp - 0x608]
jne 0x1003134a
mov dword [ebp - 0x218], 1
jmp 0x10031354
mov dword [ebp - 0x218], 0
movsx ecx, word [0x100cd0ec]
not ecx
test ecx, ecx
jne 0x10031375
movzx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10031375
mov dword [ebp - 0x21c], 0
jmp 0x1003137f
mov dword [ebp - 0x21c], 1
mov eax, dword [ebp - 0x218]
cmp eax, dword [ebp - 0x21c]
jl 0x100313a1
xor ecx, ecx
mov dword [ebp - 0x39c], 1
mov dword [ebp - 0x398], ecx
jmp 0x100313ac
xorps xmm0, xmm0
movlpd qword [ebp - 0x39c], xmm0
mov edx, dword [0x100cd0f8]
not edx
mov eax, dword [0x100cd0fc]
not eax
mov dword [ebp - 0x614], edx
mov dword [ebp - 0x610], eax
mov ecx, dword [ebp - 0x398]
cmp ecx, dword [ebp - 0x610]
jg 0x1003144a
jl 0x100313e5
mov edx, dword [ebp - 0x39c]
cmp edx, dword [ebp - 0x614]
ja 0x1003144a
movsx eax, word [0x100cd0dc]
add eax, 0x4a
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x38]
sbb edx, dword [ebp - 0x70]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
push 0
push 0xc97e
push ecx
push eax
call fcn.10099890
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movzx edx, byte [ebp - 0x12]
movzx eax, byte [0x100cd07f]
sub eax, edx
mov byte [0x100cd07f], al
movsx ecx, byte [str.6BlockUpgradeIfDriv]
movzx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
jmp 0x1003166d
movsx eax, byte [0x100cd06f]
test eax, eax
je 0x100314fc
movsx ecx, byte [ebp - 0x17]
imul eax, ecx, 0x57c1
cdq
and eax, dword [0x100cd0b0]
and edx, dword [0x100cd0b4]
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov edx, 4
imul eax, edx, 0x24c7
mov ecx, dword [eax + 0x10225518]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov ecx, dword [0x100cd0f0]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.10099890
mov edx, dword [0x100cd0a0]
add edx, 0x1111
xor edx, eax
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
je 0x100314ce
movsx ecx, word [0x100cd110]
mov dword [ebp - 0x220], ecx
jmp 0x100314d7
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x220], edx
mov ax, word [ebp - 0x220]
mov word [0x100cd098], ax
movsx eax, word [0x100cd0e8]
sub eax, 0x5c570ec5
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1003166d
movsx ecx, byte [ebp - 0x17]
test ecx, ecx
je 0x10031579
mov edx, 8
imul eax, edx, 0x66
mov ecx, dword [eax + 0x10419500]
mov edx, dword [eax + 0x10419504]
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
movsx eax, word [0x100cd108]
shl eax, 2
mov dword [0x100cd104], eax
movzx ecx, word [0x100cd094]
sub ecx, 0xb838
mov byte [0x100cd026], cl
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0x70]
sbb eax, edx
and ecx, dword [ebp - 0x74]
and eax, dword [ebp - 0x70]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
movzx ecx, byte [ebp - 0x13]
mov edx, dword [0x100cd0c8]
imul edx, ecx
mov dword [0x100cd0c8], edx
jmp 0x1003166d
movsx eax, byte [0x100cd083]
cdq
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], edx
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x618]
ja 0x1003166d
jb 0x100315ad
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x61c]
jae 0x1003166d
movsx edx, word [0x100cd0e8]
test edx, edx
jne 0x100315c4
mov dword [ebp - 0x224], 1
jmp 0x100315ce
mov dword [ebp - 0x224], 0
movzx eax, word [ebp - 0x24]
not eax
cmp dword [ebp - 0x224], eax
jg 0x1003166d
movzx ecx, byte [ebp - 0x14]
sub ecx, 0x409c07a4
mov dl, byte [ebp - 0x17]
shl dl, cl
mov byte [ebp - 0x17], dl
mov eax, 0x54599
mov dword [ebp - 0x7c], 0x9913ecc3
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, dword [0x100cd0a8]
adc eax, ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
push 0x9e0a4
push 0x79856627
push edx
push ecx
call fcn.10099890
mov word [0x100cd0b8], ax
movsx eax, word [0x100cd108]
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax + 0x709c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x84]
sub eax, 0xa508707d
mov ecx, dword [ebp - 0x80]
sbb ecx, 0xcb2a1
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], ecx
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [ebp - 0x6d4]
je 0x10033598
movzx eax, byte [0x100cd07f]
sub eax, 0x96
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov dword [ebp - 0x2c], ecx
movzx edx, byte [ebp - 0x13]
imul edx, dword [0x100cd0a8]
movzx eax, byte [ebp - 0x13]
sub eax, edx
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 0x84]
add ecx, 0xf136b77d
mov byte [ebp - 0x16], cl
cmp dword [ebp - 0x58], 0
jne 0x100316d0
xor edx, edx
mov dword [ebp - 0x624], 1
mov dword [ebp - 0x620], edx
jmp 0x100316db
xorps xmm0, xmm0
movlpd qword [ebp - 0x624], xmm0
mov eax, dword [0x100cd0f8]
not eax
add eax, 0x188dfe37
not eax
xor eax, dword [ebp - 0x624]
mov byte [ebp - 0x12], al
xor ecx, ecx
mov dword [ebp - 0x50], 0x76b86db8
mov dword [ebp - 0x4c], ecx
mov dword [0x100cd084], 4
mov byte [ebp - 0x12], 3
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x48]
cdq
mov edi, eax
mov ebx, edx
sub edi, ecx
sbb ebx, esi
mov eax, dword [ebp - 0x48]
cdq
push ebx
push edi
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x48], eax
movsx edx, byte [0x100cd06f]
add edx, dword [ebp - 0x64]
mov byte [0x100cd06f], dl
movsx eax, word [0x100cd0ec]
xor eax, 0x1246
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
imul eax, dword [0x100cd0c8], 0x1c
mov dword [0x100cd0f0], eax
imul ecx, dword [0x100cd0c8], 0xedd39421
test ecx, ecx
jne 0x1003177f
xor edx, edx
mov dword [ebp - 0x62c], 1
mov dword [ebp - 0x628], edx
jmp 0x1003178a
xorps xmm0, xmm0
movlpd qword [ebp - 0x62c], xmm0
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
not ecx
mov edx, dword [ebp - 0x62c]
sub edx, ecx
mov word [0x100cd0ec], dx
movzx eax, word [0x100cd10c]
imul ecx, eax, 0x16
movsx edx, byte [ebp - 0x16]
sub edx, ecx
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x12]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 3
ja case.default.0x100317d4
mov ecx, dword [ebp - 0x228]
jmp dword [ecx*4 + 0x10034534]
movzx eax, byte [ebp - 0x13]
cdq
add eax, 0xbb16f98f
mov dword [0x100cd084], eax
mov edx, 1
imul eax, edx, 0x1b92
movzx eax, byte [eax + 0x10413d50]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, byte [ebp - 0x15]
cdq
add eax, dword [0x100cd0d0]
mov byte [ebp - 0x15], al
cmp dword [ebp - 0x64], 0
je 0x1003182b
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3a4], ecx
mov dword [ebp - 0x3a0], edx
jmp 0x1003183d
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x58], edx
movsx eax, byte [0x100cd026]
mov ecx, dword [0x100cd0c8]
add ecx, eax
mov edx, dword [0x100cd0c8]
add edx, ecx
mov dword [0x100cd0c8], edx
jmp case.default.0x100317d4
movsx eax, byte [0x100cd047]
cdq
sub eax, 0x552dc506
mov dword [0x100cd100], eax
movsx eax, word [ebp - 0x20]
cdq
push 0x65046
push 0x188a88f5
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x48], eax
movsx eax, word [ebp - 0x20]
shl eax, 5
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
movzx eax, byte [0x100cd027]
cdq
sub eax, 0xae131d3
sbb edx, 0x7cd24
push edx
push eax
mov eax, dword [0x100cd11c]
push eax
mov ecx, dword [0x100cd118]
push ecx
call fcn.10099890
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
not edx
not eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x38]
sbb edi, ecx
sub esi, edx
sbb edi, eax
mov dword [0x100cd0c0], esi
mov dword [0x100cd0c4], edi
jmp case.default.0x100317d4
mov edx, dword [0x100cd0e0]
xor eax, eax
add edx, dword [0x100cd0f8]
adc eax, dword [0x100cd0fc]
add edx, dword [0x100cd0f8]
adc eax, dword [0x100cd0fc]
mov dword [0x100cd0f8], edx
mov dword [0x100cd0fc], eax
movzx eax, byte [ebp - 0x12]
cdq
or eax, dword [0x100cd0f8]
mov byte [0x100cd096], al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x48]
and eax, 0x65
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push 0
push 0xb9
push ecx
push eax
call fcn.10099890
mov dword [ebp - 0x48], eax
jmp case.default.0x100317d4
movsx eax, word [0x100cd0e8]
cdq
push 0x3e686
push 0x8a2b4a87
push edx
push eax
call fcn.10099890
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
cmp dword [ebp - 0x58], 0
jne 0x100319b1
mov dword [ebp - 0x22c], 1
jmp 0x100319bb
mov dword [ebp - 0x22c], 0
movzx edx, word [0x100cd0b8]
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x22c]
imul eax, edx
not eax
mov ecx, dword [0x100cd100]
add ecx, eax
mov dword [0x100cd0c8], ecx
xor edx, edx
mov eax, dword [ebp - 0x50]
sub eax, dword [0x100cd090]
mov ecx, dword [ebp - 0x4c]
sbb ecx, edx
push 0
push 0x5e200a76
push ecx
push eax
call fcn.10099890
mov ecx, eax
mov eax, dword [ebp - 0x48]
cdq
mov edx, dword [0x100cd118]
add edx, 0x6478
xor edx, eax
not edx
add edx, ecx
mov byte [0x100cd06f], dl
movzx eax, word [0x100cd0b8]
movzx ecx, byte [ebp - 0x14]
add ecx, eax
movzx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x100cd10c]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [0x100cd0e4]
xor edi, edi
add esi, dword [ebp - 0x34]
adc edi, ecx
push edx
push eax
push edi
push esi
call fcn.10099890
add eax, dword [0x100cd0b0]
mov word [0x100cd110], ax
mov edx, dword [0x1048e1d0]
push edx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.10012240
mov dword [ebp - 0x260], eax
push 0
push 0
push 0x19
movzx ecx, byte [ebp - 0x28]
push ecx
push 0
push 0x80
call fcn.1005b9d0
add esp, 0x18
movzx eax, al
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
je 0x10031b32
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
sub eax, 0x5e8a8aa6
sbb ecx, 0xea682
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], ecx
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xceda4ec2
movsx ecx, word [ebp - 0x28]
xor ecx, eax
mov word [ebp - 0x28], cx
mov edx, 2
imul eax, edx, 0x3733
movzx eax, word [eax + 0x1023d6b0]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
sub ecx, eax
sbb esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
mov byte [ebp - 0x17], 0xc2
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
jmp 0x10031bad
mov dword [ebp - 0x2c], 0x63c49aaf
movzx ecx, word [ebp - 0x24]
mov edx, dword [0x100cd0ac]
sub edx, ecx
movsx eax, word [0x100cd0ec]
sub eax, edx
cdq
mov esi, eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [0x100cd088]
mov edi, dword [0x100cd08c]
push ecx
push eax
push edi
push edx
call fcn.10099890
mov ecx, eax
movzx eax, byte [0x100cd07f]
not eax
cdq
add eax, ecx
not eax
sub eax, esi
mov byte [0x100cd06e], al
movzx edx, byte [ebp - 0x14]
shl edx, 6
mov word [ebp - 0x20], dx
movsx eax, byte [str.6BlockUpgradeIfDriv]
add eax, 0x3461
mov byte [ebp - 0x12], al
movzx ecx, byte [0x100cd06e]
imul edx, ecx, 0x717a
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x6d0]
add eax, 0x62
mov ecx, dword [ebp - 0x6cc]
imul ecx, dword [ebp - 0x6c8]
cmp ecx, eax
je 0x1003357c
mov dword [ebp - 4], 6
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [0x100cd0ac], eax
jmp 0x10031cd3
mov dword [ebp - 4], 0xffffffff
jmp 0x10031ce3
movzx ecx, byte [0x100cd082]
cmp dword [0x100cd0a8], ecx
je 0x10031cfe
mov dword [ebp - 0x230], 1
jmp 0x10031d08
mov dword [ebp - 0x230], 0
cmp dword [0x100cd0a8], 0x38
je 0x10031d1d
mov dword [ebp - 0x234], 1
jmp 0x10031d27
mov dword [ebp - 0x234], 0
mov edx, dword [ebp - 0x230]
cmp edx, dword [ebp - 0x234]
jg 0x10031daf
mov dword [0x100cd090], 0x77ac
movzx eax, byte [ebp - 0x13]
sub eax, 0x1bb
movsx ecx, byte [0x100cd06f]
sub ecx, eax
mov byte [0x100cd06f], cl
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, byte [0x100cd096]
test edx, edx
je 0x10031d84
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], ecx
jmp 0x10031d96
mov eax, dword [0x100cd0c8]
cdq
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3b0], edx
mov edx, dword [ebp - 0x3b4]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x58]
cdq
add eax, 0x36e54ab7
mov dword [0x100cd0c8], eax
jmp 0x10031e11
movzx eax, byte [0x100cd06e]
movsx ecx, byte [0x100cd047]
add ecx, eax
mov byte [0x100cd047], cl
mov edx, dword [ebp - 0x2c]
sar edx, 2
mov dword [ebp - 0x48], edx
movsx eax, word [0x100cd0e8]
mov ecx, dword [0x100cd0c8]
imul ecx, eax
mov dword [0x100cd0c8], ecx
mov byte [0x100cd047], 4
mov dx, word [0x100cdb38]
mov word [0x100cd0dc], dx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
add eax, dword [0x100cd0b0]
adc ecx, dword [0x100cd0b4]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x260], 0
je 0x1003357c
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x83c], eax
mov byte [0x100cd083], dl
mov ecx, 1
imul edx, ecx, 0x32
movsx ax, byte [edx + 0x1026d160]
mov word [0x100cd0ec], ax
movsx ecx, word [0x100cd110]
sub ecx, 0x62fe8c78
xor edx, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], edx
mov al, byte [0x100cdb38]
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x54]
sub ecx, dword [0x100cd0f0]
mov edx, dword [ebp - 0x54]
add edx, ecx
mov dword [ebp - 0x54], edx
jmp 0x10031e86
jmp 0x10031ea7
jmp 0x10031eb3
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe0], 0
jmp 0x10031ed9
cmp dword [ebp - 0xe0], 0x261
jge 0x100321e9
mov dword [ebp - 4], 8
movzx edx, word [ebp - 0x24]
not edx
test edx, edx
je 0x10031f13
movsx eax, byte [0x100cd096]
not eax
test eax, eax
je 0x10031f13
mov dword [ebp - 0x23c], 1
jmp 0x10031f1d
mov dword [ebp - 0x23c], 0
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10031f31
mov dword [ebp - 0x238], 1
jmp 0x10031f3b
mov dword [ebp - 0x238], 0
movsx edx, byte [0x100cd083]
add edx, dword [ebp - 0x238]
not edx
cmp dword [ebp - 0x23c], edx
jl 0x10032049
mov edx, dword [ebp - 0xec]
add edx, 0xfb
mov dword [ebp - 0x84c], edx
mov dword [ebp - 0xe8], 0x2464
movsx eax, word [0x100cd108]
add eax, 0x28
mov byte [0x100cd047], al
mov ecx, 0xcca9e
mov dword [0x100cd0d0], 0xb7d3ae8b
mov dword [0x100cd0d4], ecx
mov edx, dword [0x100cd0e0]
sub edx, dword [0x100cd0f8]
mov dword [0x100cd0e0], edx
mov eax, 0x2416
mov word [0x100cd108], ax
mov byte [0x100cd07f], 2
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
push 0
push 0x20fe
push edx
push ecx
call fcn.10099890
mov dword [0x100cd100], eax
cmp dword [ebp - 0xe8], 0x23e9
jle 0x100325bd
xor eax, eax
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xbd
mov edx, dword [ebp - 0x38]
sbb edx, 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, 8
mov word [0x100cd098], ax
movsx ecx, word [0x100cd0dc]
imul edx, ecx, 0x10d3f6a3
mov dword [ebp - 0x58], edx
movzx eax, byte [0x100cd082]
test eax, eax
je 0x100322c9
movzx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x248], ecx
jmp 0x100322d3
movsx edx, byte [ebp - 0x17]
mov dword [ebp - 0x248], edx
mov al, byte [ebp - 0x248]
mov byte [ebp - 0x17], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], edx
cmp dword [ebp - 0x3c0], 0
ja 0x100325a9
mov eax, dword [ebp - 0xec]
add eax, 0x2ed
mov dword [ebp - 0x6c4], eax
mov byte [0x100cd083], 1
movsx eax, word [0x100cd098]
shl eax, 7
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, byte [ebp - 0x12]
sub eax, 0x96
cdq
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], edx
mov ecx, dword [0x100cdb38]
mov dword [0x100cd0c8], ecx
movsx edx, byte [0x100cd026]
movzx eax, byte [ebp - 0x12]
imul eax, edx
mov byte [0x100cd07f], al
movzx ecx, word [0x100cd10c]
add ecx, 0x612
mov word [ebp - 0x20], cx
mov dl, byte [0x100cd083]
mov byte [ebp - 0x250], dl
cmp byte [ebp - 0x250], 0
je 0x10032650
cmp byte [ebp - 0x250], 1
je 0x100326e8
movzx eax, byte [0x100cd082]
not eax
movsx ecx, byte [0x100cd083]
sub ecx, eax
mov eax, ecx
cdq
xor ecx, ecx
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x5c]
sub esi, dword [0x100cd0a8]
sbb edi, ecx
push edx
push eax
push edi
push esi
call fcn.10099890
mov dword [ebp - 0x48], eax
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10032694
movzx edx, word [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x100cd090], eax
mov eax, dword [ebp - 0xa4]
push eax
call fcn.10010c00
movsx ecx, word [ebp - 0x28]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
xor edx, edx
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov eax, dword [ebp - 0x6bc]
sub eax, dword [ebp - 0x6b8]
cmp eax, 0x12c
je 0x10034024
movsx eax, word [0x100cd0d8]
cdq
and eax, 0x48115894
and edx, 0x5deeb
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, 1
imul edx, ecx, 0x60a3
movzx eax, byte [edx + 0x103784f0]
movzx ecx, byte [0x100cd027]
sub ecx, eax
mov byte [0x100cd027], cl
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movzx edx, byte [0x100cd06e]
sub edx, 1
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 0x13]
sar eax, 8
mov byte [0x100cd083], al
imul eax, dword [0x100cd0c8], 0xbd51707
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x100cd11c]
push ecx
mov ecx, dword [0x100cd118]
push ecx
push edx
push eax
call fcn.10099890
mov byte [0x100cd06f], al
movzx edx, word [0x100cd094]
and edx, 0x87ac
movsx eax, byte [ebp - 0x16]
sub eax, edx
mov byte [ebp - 0x16], al
mov ecx, dword [0x100cd0e4]
sub ecx, dword [0x100cd0a0]
mov edx, dword [0x100cd0e4]
or edx, ecx
mov dword [0x100cd0e4], edx
movsx eax, word [0x100cd0e8]
sub eax, 0xda
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x90]
cmp dword [ebp + ecx*4 - 0x428], 0
je 0x10034024
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
adc ecx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov dword [0x100cd0a8], 0x8ee09643
movzx edx, byte [ebp - 0x14]
test edx, edx
jne 0x1003370e
mov dword [ebp - 0x27c], 1
jmp 0x10033718
mov dword [ebp - 0x27c], 0
movzx eax, byte [0x100cd06e]
sub eax, dword [ebp - 0x27c]
jne 0x10033735
mov ecx, 1
mov word [ebp - 0x9e], cx
jmp 0x1003373e
xor edx, edx
mov word [ebp - 0x9e], dx
mov ax, word [ebp - 0x9e]
mov word [0x100cd094], ax
cmp dword [ebp - 0x64], 0
je 0x10033760
movsx ecx, word [0x100cd0ec]
mov dword [ebp - 0x280], ecx
jmp 0x1003376d
movsx edx, byte [0x100cd06f]
mov dword [ebp - 0x280], edx
mov al, byte [ebp - 0x280]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x870], edx
add ecx, 0xdf4b3af8
mov word [ebp - 0x28], cx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], ecx
mov edx, dword [ebp - 0x65c]
or edx, dword [ebp - 0x658]
je 0x100337ae
jmp 0x10033815
movzx eax, byte [ebp - 0x13]
sub eax, 0x25ed
mov dword [0x100cd084], eax
movsx ecx, byte [ebp - 0x16]
sub ecx, 0x7edf
movzx edx, word [ebp - 0x24]
sub edx, ecx
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x15]
add eax, 0xe
movzx ecx, byte [0x100cd06e]
imul ecx, eax
mov byte [0x100cd06e], cl
movzx eax, word [0x100cd094]
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x874], edx
movzx eax, word [0x100cd094]
cdq
add eax, ecx
mov dword [0x100cd0f0], eax
movzx eax, byte [ebp - 0x13]
movzx ecx, word [0x100cd094]
imul ecx, eax
movzx edx, word [0x100cd094]
add edx, ecx
mov word [0x100cd094], dx
movsx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
mov eax, dword [0x100cd100]
cdq
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
push esi
push ecx
push eax
push edx
call fcn.10099890
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx eax, byte [0x100cd096]
cdq
add eax, 0xd4124df
mov byte [ebp - 0x13], al
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0xf4], ecx
push 0x100a63bc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x100cd100], eax
mov edx, dword [ebp - 0xf4]
add edx, 0x1aa
mov dword [ebp - 0x72c], edx
push 0xffffffffffffffff
movzx eax, byte [ebp - 0x15]
push eax
push 0
push 0x52
movzx ecx, byte [ebp - 0x84]
push ecx
push 0
movzx edx, byte [0x100cd0a0]
push edx
call fcn.1005c4d0
add esp, 0x1c
movsx eax, al
mov dword [0x100cd0c8], eax
cmp dword [0x100cd0c8], 0
je 0x10033b6c
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x664], ecx
mov dword [ebp - 0x660], edx
mov eax, dword [ebp - 0x664]
or eax, dword [ebp - 0x660]
jne 0x1003390a
mov dword [ebp - 0x284], 1
jmp 0x10033914
mov dword [ebp - 0x284], 0
movsx ecx, word [ebp - 0x28]
cmp dword [ebp - 0x284], ecx
jl 0x10033934
xor edx, edx
mov dword [ebp - 0x40c], 1
mov dword [ebp - 0x408], edx
jmp 0x1003393f
xorps xmm0, xmm0
movlpd qword [ebp - 0x40c], xmm0
movzx eax, word [ebp - 0x24]
not eax
cdq
sub eax, dword [ebp - 0x84]
sbb edx, dword [ebp - 0x80]
add eax, dword [ebp - 0x40c]
adc edx, dword [ebp - 0x408]
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x668], edx
mov eax, dword [ebp - 0x66c]
or eax, dword [ebp - 0x668]
je 0x100339eb
movsx ecx, word [ebp - 0x20]
imul eax, ecx, 0x72
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
movsx eax, byte [0x100cd096]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
mov edi, dword [0x100cd0a0]
sub edi, eax
mov ebx, dword [0x100cd0a4]
sbb ebx, edx
movzx eax, word [0x100cd094]
cdq
add eax, edi
adc edx, ebx
add eax, ecx
adc edx, esi
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movsx edx, word [0x100cd0ec]
add edx, 0x59fb
mov word [0x100cd0dc], dx
movsx eax, byte [0x100cd047]
add eax, 0xb827
mov byte [ebp - 0x12], al
jmp 0x10033b6a
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
not ecx
not edx
mov dword [ebp - 0x674], ecx
mov dword [ebp - 0x670], edx
mov eax, dword [0x100cd0b0]
cmp eax, dword [ebp - 0x674]
jne 0x10033a2e
mov ecx, dword [0x100cd0b4]
cmp ecx, dword [ebp - 0x670]
jne 0x10033a2e
mov dword [ebp - 0x288], 1
jmp 0x10033a38
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x288]
not edx
test edx, edx
je 0x10033a98
mov al, byte [0x100cdb38]
mov byte [0x100cd06e], al
xor ecx, ecx
mov dword [0x100cd088], 0xf0
mov dword [0x100cd08c], ecx
mov dx, word [0x100cdb38]
mov word [0x100cd098], dx
mov eax, dword [ebp - 0x84]
add eax, 0x38
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x2c]
sub eax, 0xccdfc2e
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
jmp 0x10033b6a
mov eax, dword [0x100cd104]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x678], esi
mov dword [ebp - 0x684], eax
mov dword [ebp - 0x680], edx
mov edx, dword [ebp - 0x678]
cmp edx, dword [ebp - 0x680]
jb 0x10033aee
ja 0x10033ada
mov eax, dword [ebp - 0x67c]
cmp eax, dword [ebp - 0x684]
jb 0x10033aee
xor ecx, ecx
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x410], ecx
jmp 0x10033af9
xorps xmm0, xmm0
movlpd qword [ebp - 0x414], xmm0
push 0
push 0xce34
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call fcn.10099890
not eax
not edx
mov dword [ebp - 0x754], eax
mov dword [ebp - 0x750], edx
mov ecx, dword [ebp - 0x750]
cmp ecx, dword [ebp - 0x410]
jb 0x10033b6a
ja 0x10033b3b
mov edx, dword [ebp - 0x754]
cmp edx, dword [ebp - 0x414]
jbe 0x10033b6a
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
movzx edx, byte [ebp - 0x12]
mov eax, dword [0x100cd0e4]
not eax
xor eax, edx
not eax
xor ecx, ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov byte [str.6BlockUpgradeIfDriv], 0x80
mov byte [ebp - 0x17], 4
jmp 0x10033bc7
mov edx, 0xec45
test edx, edx
je 0x10033bc7
mov eax, dword [0x100cd0a8]
xor ecx, ecx
push 0x2049e
push 0x879be641
push ecx
push eax
call fcn.10099890
mov word [0x100cd108], ax
mov edx, dword [0x100cd0a8]
sub edx, dword [ebp - 0x74]
mov dword [0x100cd0a8], edx
mov eax, dword [ebp - 0x54]
sub eax, dword [0x100cd0b0]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x16], 0xd9
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x878], edx
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0xf4]
add eax, 0xe3
mov dword [ebp - 0x5a4], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x6b0], 0
cmp dword [ebp - 0x28c], 0
je 0x10033c22
mov dword [ebp - 0x6b4], 1
mov ecx, dword [ebp - 0x6b4]
push ecx
mov edx, dword [ebp - 0x6b0]
push edx
mov eax, dword [ebp - 0x28c]
push eax
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x87c], eax
movsx ecx, word [0x100cd0e8]
test ecx, ecx
je 0x10033c48
movsx edx, word [0x100cd0e8]
movzx eax, byte [ebp - 0x14]
cmp eax, edx
jge 0x10033c48
mov dword [ebp - 0x290], 0
jmp 0x10033c52
mov dword [ebp - 0x290], 1
movzx ecx, word [ebp - 0x24]
cmp dword [ebp - 0x290], ecx
jne 0x10033d12
movsx eax, byte [0x100cd096]
add eax, 0x6801
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov edx, dword [0x100cd0b0]
add edx, 0x495c33be
mov word [0x100cd0b8], dx
mov eax, 0x3d543
mov dword [ebp - 0x7c], 0xa35717cb
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x68c], ecx
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x68c]
or eax, dword [ebp - 0x688]
je 0x10033cc3
movzx ecx, byte [ebp - 0x12]
mov dword [ebp - 0x294], ecx
jmp 0x10033cd0
movsx edx, byte [0x100cd047]
mov dword [ebp - 0x294], edx
mov al, byte [ebp - 0x294]
mov byte [0x100cd047], al
movzx ecx, byte [0x100cd027]
test ecx, ecx
je 0x10033cf5
movsx edx, byte [0x100cd06f]
mov dword [ebp - 0x298], edx
jmp 0x10033d02
movsx eax, word [0x100cd0d8]
mov dword [ebp - 0x298], eax
mov cx, word [ebp - 0x298]
mov word [0x100cd0ec], cx
jmp 0x10033d51
mov edx, dword [0x100cdb38]
mov dword [0x100cd084], edx
movzx eax, byte [ebp - 0x12]
imul ecx, eax, 5
mov byte [0x100cd026], cl
movzx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x15]
sub eax, edx
movsx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
movzx edx, byte [ebp - 0x11]
add edx, dword [0x100cd0f0]
movzx eax, byte [ebp - 0x11]
add eax, edx
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0xf4]
add ecx, 0x13c
mov dword [ebp - 0x730], ecx
mov eax, dword [0x100cd0ac]
cdq
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], edx
mov edx, dword [ebp - 0x690]
cmp edx, dword [ebp - 0x70]
ja 0x10033d99
jb 0x10033d8d
mov eax, dword [ebp - 0x694]
cmp eax, dword [ebp - 0x74]
ja 0x10033d99
mov dword [ebp - 0x29c], 1
jmp 0x10033da3
mov dword [ebp - 0x29c], 0
cmp dword [0x100cd0ac], 0x24
jg 0x10033db8
mov dword [ebp - 0x2a0], 1
jmp 0x10033dc2
mov dword [ebp - 0x2a0], 0
mov ecx, dword [ebp - 0x29c]
cmp ecx, dword [ebp - 0x2a0]
jle 0x10033ec8
xorps xmm0, xmm0
movlpd qword [ebp - 0x84], xmm0
mov byte [ebp - 0x11], 0x5e
mov edx, dword [ebp - 0x58]
sar edx, 1
mov byte [0x100cd047], dl
movzx eax, byte [ebp - 0x14]
add eax, dword [ebp - 0x58]
mov word [0x100cd0e8], ax
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x2c]
cdq
sub eax, ecx
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x13]
imul ecx, eax, 0x556
movsx edx, word [0x100cd0d8]
add edx, ecx
mov word [0x100cd0d8], dx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x69c]
or edx, dword [ebp - 0x698]
je 0x10033e55
jmp 0x10033ec3
movsx eax, byte [0x100cd096]
shl eax, 3
mov dword [ebp - 0x58], eax
movsx ecx, byte [0x100cd026]
mov edx, dword [ebp - 0x64]
sub edx, ecx
mov dword [ebp - 0x64], edx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x884], ecx
sub eax, 0x4d
mov word [ebp - 0x1c], ax
mov edx, 1
imul eax, edx, 0x8b6a
movsx ecx, byte [eax + 0x10118650]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], ecx
mov eax, dword [0x100cd0a0]
mov edx, dword [0x100cd0a4]
mov cl, 1
call fcn.100998f0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov dword [0x100cd084], 0x90
jmp 0x10033f5e
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x80]
mov cl, 6
call fcn.100999a0
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movzx edx, byte [ebp - 0x11]
xor edx, dword [0x100cd084]
xor eax, eax
add edx, dword [ebp - 0x74]
adc eax, dword [ebp - 0x70]
movsx ecx, byte [0x100cd026]
mov esi, 0xffffddf1
sub esi, ecx
mov ecx, 0xbb83cb56
sub ecx, dword [0x100cd0f0]
sub ecx, esi
xor esi, esi
add ecx, edx
adc esi, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movsx eax, byte [ebp - 0x15]
cdq
push 0xdfc7f
push 0x3ed466d7
push edx
push eax
call fcn.10099890
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, dword [0x100cd0b0]
sub edx, 1
mov eax, dword [0x100cd0b4]
sbb eax, 0
mov dword [0x100cd0b0], edx
mov dword [0x100cd0b4], eax
mov ecx, dword [ebp - 0x5a4]
or ecx, 0x72d
mov edx, dword [ebp - 0x72c]
or edx, dword [ebp - 0x730]
add edx, 0x15e2c
cmp edx, ecx
je 0x10034024
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
sub ecx, 0x468ee18c
movzx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
movsx edx, word [0x100cd0e8]
shl edx, 4
mov dword [0x100cd0ac], edx
movzx eax, byte [0x100cd082]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movsx eax, byte [0x100cd083]
cdq
xor eax, dword [0x100cd0d0]
xor edx, dword [0x100cd0d4]
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a0], edx
mov edx, dword [ebp - 0x6a4]
or edx, dword [ebp - 0x6a0]
jne 0x10033fff
mov eax, 1
mov word [ebp - 0xa0], ax
jmp 0x10034008
xor ecx, ecx
mov word [ebp - 0xa0], cx
mov dx, word [ebp - 0xa0]
mov word [0x100cd0d8], dx
movzx eax, byte [ebp - 0x12]
movzx ecx, byte [ebp - 0x11]
imul ecx, eax
mov byte [ebp - 0x11], cl
jmp 0x1002e4ec
mov edx, dword [0x100cd100]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x1003404b
mov dword [ebp - 0x304], 1
jmp 0x10034055
mov dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
jne 0x10034069
mov dword [ebp - 0x2a4], 1
jmp 0x10034073
mov dword [ebp - 0x2a4], 0
mov ecx, dword [ebp - 0x304]
cmp ecx, dword [ebp - 0x2a4]
jne 0x1003408d
mov dword [ebp - 0x2ac], 1
jmp 0x10034097
mov dword [ebp - 0x2ac], 0
movzx edx, byte [0x100cd027]
test edx, edx
jne 0x100340ae
mov dword [ebp - 0x2a8], 1
jmp 0x100340b8
mov dword [ebp - 0x2a8], 0
mov eax, 0x5c7b
sub eax, dword [ebp - 0x2a8]
jne 0x100340d1
mov dword [ebp - 0x2b0], 1
jmp 0x100340db
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, dword [ebp - 0x2b0]
jge 0x100343ba
mov edx, 2
mov word [ebp - 0x1c], dx
movsx eax, word [0x100cd0ec]
test eax, eax
je 0x1003410d
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x2b4], ecx
jmp 0x1003411a
movsx edx, byte [0x100cd026]
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x2b4]
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movzx eax, byte [0x100cd06e]
add eax, 0x697c12a3
cdq
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov eax, dword [ebp - 0x38]
sbb eax, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], eax
mov cl, byte [0x100cdb38]
mov byte [0x100cd027], cl
mov edx, dword [0x100cd0e4]
not edx
xor edx, 0x4326a4ba
mov eax, dword [0x100cd0a0]
add eax, 0x14
sub eax, edx
mov word [0x100cd098], ax
movzx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x2435857b
mov word [0x100cd108], dx
movzx eax, word [0x100cd10c]
and eax, 0x7069
mov dword [ebp - 0x2c], eax
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0
je 0x100341c5
cmp dword [ebp - 0xf8], 1
je 0x100342b1
cmp dword [ebp - 0xf8], 2
je 0x1003431a
jmp 0x100343b5
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x888], edx
movzx eax, byte [0x100cd06e]
cdq
sub eax, ecx
mov byte [0x100cd06e], al
movsx eax, word [0x100cd0dc]
imul ecx, eax, 0x709b6c08
mov word [0x100cd108], cx
mov edx, dword [ebp - 0x54]
add edx, 1
mov dword [ebp - 0x54], edx
movsx eax, word [0x100cd0dc]
test eax, eax
jne 0x10034222
xor ecx, ecx
mov dword [ebp - 0x41c], 1
mov dword [ebp - 0x418], ecx
jmp 0x1003422d
xorps xmm0, xmm0
movlpd qword [ebp - 0x41c], xmm0
mov ecx, dword [ebp - 0x41c]
add ecx, dword [0x100cd0f8]
mov esi, dword [ebp - 0x418]
adc esi, dword [0x100cd0fc]
movzx eax, word [ebp - 0x24]
add eax, 0x12
cdq
mov edi, eax
mov ebx, edx
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x734], eax
mov eax, dword [0x100cd100]
mov dword [ebp - 0x738], edx
cdq
mov dword [ebp - 0x73c], esi
mov esi, dword [ebp - 0x734]
add eax, esi
mov esi, dword [ebp - 0x738]
adc edx, esi
sub eax, edi
sbb edx, ebx
sub eax, ecx
mov ecx, dword [ebp - 0x73c]
sbb edx, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movzx edx, word [ebp - 0x1c]
mov eax, dword [0x100cd100]
add eax, edx
mov ecx, dword [0x100cd100]
sub ecx, eax
mov dword [0x100cd100], ecx
jmp 0x100343b5
xor edx, edx
mov dword [0x100cd118], 1
mov dword [0x100cd11c], edx
mov eax, dword [0x100cdb38]
mov dword [0x100cd0c8], eax
movzx ecx, byte [ebp - 0x11]
sub ecx, 0x7a23
mov dword [ebp - 0x48], ecx
movzx edx, byte [0x100cd082]
add edx, dword [ebp - 0x2c]
movzx eax, byte [0x100cd082]
sub eax, edx
mov byte [0x100cd082], al
movzx ecx, word [ebp - 0x1c]
movsx edx, word [ebp - 0x28]
imul edx, ecx
movsx eax, word [ebp - 0x28]
add eax, edx
mov word [ebp - 0x28], ax
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
jmp 0x100343b5
movsx eax, word [0x100cd0ec]
movzx ecx, byte [0x100cd07f]
add ecx, eax
mov byte [0x100cd07f], cl
push 0xd77fb
push 0x26fbf3a
mov edx, dword [0x100cd0d4]
push edx
mov eax, dword [0x100cd0d0]
push eax
call fcn.10099890
mov byte [ebp - 0x13], al
mov cl, byte [0x100cd026]
mov byte [ebp - 0x17], cl
mov eax, dword [ebp - 0x48]
add eax, 0x51
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x88c], edx
movsx eax, word [0x100cd0ec]
cdq
mov esi, eax
add esi, ecx
not esi
add esi, 0x5fe1dcda
mov eax, dword [0x100cd100]
imul eax, dword [ebp - 0x2c]
cdq
add eax, esi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x890], ecx
add eax, 0x7fd4
mov byte [str.6BlockUpgradeIfDriv], al
jmp 0x10034501
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6ac], edx
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6ac]
or ecx, dword [ebp - 0x6a8]
je 0x10034501
movzx eax, word [0x100cd0b8]
cdq
add eax, 0xd9daec02
mov word [0x100cd0ec], ax
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x894], eax
mov ecx, 2
imul eax, ecx, 0x28
mov word [eax + 0x1045f6c8], dx
mov ecx, dword [ebp - 0x84]
mov dword [0x100cd0ac], ecx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
sub edx, 0x88712fc7
sbb eax, 0xe1bf1
mov dword [0x100cd0d0], edx
mov dword [0x100cd0d4], eax
movzx eax, word [0x100cd094]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x744], edx
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x744]
or ecx, dword [ebp - 0x740]
jne 0x10034487
mov dword [ebp - 0x2c0], 1
jmp 0x10034491
mov dword [ebp - 0x2c0], 0
cmp dword [0x100cd104], 0
jne 0x100344a6
mov dword [ebp - 0x2b8], 1
jmp 0x100344b0
mov dword [ebp - 0x2b8], 0
movsx edx, word [0x100cd098]
test edx, edx
jne 0x100344c7
mov dword [ebp - 0x2bc], 1
jmp 0x100344d1
mov dword [ebp - 0x2bc], 0
movsx eax, byte [0x100cd096]
sub eax, 0x1832452c
mov ecx, dword [ebp - 0x2b8]
sub ecx, dword [ebp - 0x2bc]
sub ecx, eax
mov edx, dword [ebp - 0x2c]
not edx
xor edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x2c0]
add edx, ecx
mov dword [0x100cd0c8], edx
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