Function at 0x10042450
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a57a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x2d0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [0x100cd027]
cdq
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edx
movzx eax, word [0x100cd094]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov al, byte [0x100cd06e]
mov byte [ebp - 0x16], al
mov ecx, dword [0x100cd0ac]
mov dword [ebp - 0x30], ecx
mov edx, dword [0x100cd0f8]
mov eax, dword [0x100cd0fc]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movsx ecx, word [0x100cd108]
mov dword [ebp - 0x7c], ecx
xor edx, edx
mov dword [ebp - 0x6c], 0x26
mov dword [ebp - 0x68], edx
mov byte [ebp - 0x15], 0x99
mov al, byte [0x100cd110]
mov byte [ebp - 0x11], al
mov ecx, dword [0x100cd0f0]
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
xor eax, eax
mov dword [ebp - 0x74], 0x7f43f912
mov dword [ebp - 0x70], eax
mov ecx, 3
mov word [ebp - 0x28], cx
mov dword [ebp - 0x78], 0xba
mov dl, byte [0x100cd082]
mov byte [ebp - 0x14], dl
xor eax, eax
mov dword [ebp - 0x4c], 0xa4a7b03c
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x50], 0xcb069d08
mov dword [ebp - 0x3c], 0xcd
mov dword [ebp - 0x64], 0x4cab8604
mov cl, byte [0x100cd118]
mov byte [ebp - 0x12], cl
mov byte [ebp - 0x13], 0xa7
mov edx, 0x4a4d
mov word [ebp - 0x2c], dx
mov dword [ebp - 0x80], 0xeed6
mov eax, 0xfce6
mov word [ebp - 0x1c], ax
movsx cx, byte [0x100cd083]
mov word [ebp - 0x24], cx
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x100cd090]
mov word [ebp - 0x20], dx
xor eax, eax
mov dword [ebp - 0x2a0], 0x44
mov dword [ebp - 0x29c], eax
mov byte [ebp - 0x8d], 9
mov ecx, 0x7e06
mov word [ebp - 0x210], cx
mov edx, 0x36
mov word [ebp - 0x1a4], dx
mov eax, dword [0x100cd118]
mov dword [ebp - 0x288], eax
mov cl, byte [str.6BlockUpgradeIfDriv]
mov byte [ebp - 0x8e], cl
mov dword [ebp - 0x23c], 0xe3ca090
xor edx, edx
mov dword [ebp - 0x2a8], 0xcb78
mov dword [ebp - 0x2a4], edx
mov al, byte [0x100cd06f]
mov byte [ebp - 0x8f], al
mov dword [ebp - 0x240], 0x5a
mov byte [ebp - 0x90], 0xf
mov ecx, 0xe7
mov word [ebp - 0x218], cx
mov dword [ebp - 0x244], 0xb4c9
mov edx, dword [0x100cd0a0]
mov eax, dword [0x100cd0a4]
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], eax
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
mov ecx, 0x4030
mov word [ebp - 0x214], cx
xor edx, edx
mov word [0x100cd0e8], dx
movsx eax, word [0x100cd110]
movzx ecx, byte [ebp - 0x13]
imul eax, ecx
test eax, eax
jne 0x10042669
mov dword [ebp - 0x134], 1
jmp 0x10042673
mov dword [ebp - 0x134], 0
movzx edx, byte [ebp - 0x13]
movsx eax, byte [0x100cd083]
sub edx, eax
add edx, dword [ebp - 0x134]
jne 0x10042694
mov dword [ebp - 0x13c], 1
jmp 0x1004269e
mov dword [ebp - 0x13c], 0
cmp dword [0x100cd084], 0
jne 0x100426b3
mov dword [ebp - 0x138], 1
jmp 0x100426bd
mov dword [ebp - 0x138], 0
movsx ecx, word [0x100cd0ec]
movzx edx, byte [ebp - 0x16]
sub ecx, edx
mov eax, dword [ebp - 0x138]
sub eax, ecx
mov ecx, dword [ebp - 0x13c]
sub ecx, eax
mov byte [0x100cd06f], cl
mov esi, dword [ebp - 0x30]
xor edi, edi
mov ebx, dword [ebp - 0x4c]
sub ebx, 0x2353546c
mov eax, dword [ebp - 0x48]
sbb eax, 0
mov edx, dword [ebp - 0x78]
xor ecx, ecx
push 0x56618
push 0xb70c6561
push ecx
push edx
mov dword [ebp - 0x224], eax
call fcn.10099890
not eax
not edx
add ebx, eax
mov eax, dword [ebp - 0x224]
adc eax, edx
sub esi, ebx
sbb edi, eax
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edi
movzx edx, byte [ebp - 0x13]
not edx
movzx eax, word [ebp - 0x20]
sub edx, eax
not edx
mov dword [0x100cd0f0], edx
mov byte [0x100cd07f], 1
movsx ecx, word [0x100cd0e8]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0
je 0x1004275e
jmp 0x10042834
movzx eax, byte [ebp - 0x11]
not eax
cdq
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
push edx
push eax
push esi
push ecx
call fcn.10099890
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], edx
mov edx, dword [ebp - 0x238]
or edx, dword [ebp - 0x234]
jne 0x100427a8
xor eax, eax
mov dword [ebp - 0x170], 1
mov dword [ebp - 0x16c], eax
jmp 0x100427b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x170], xmm0
movzx eax, byte [ebp - 0x16]
cdq
push 0xe90fb
push 0x72deb7b
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100cd027]
cdq
xor ecx, eax
xor esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x170]
push eax
call fcn.10099890
mov word [ebp - 0x1c], ax
movsx eax, byte [0x100cd096]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
and edx, ecx
and eax, esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x64]
mov word [ebp - 0x24], cx
xor edx, edx
mov dword [0x100cd118], 8
mov dword [0x100cd11c], edx
mov eax, dword [ebp - 0x64]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0x98], ecx
xor edx, edx
mov word [0x100cd0ec], dx
xor eax, eax
mov dword [ebp - 0x44], 0xc3b35143
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100cd0f8]
sub ecx, 0xad1a2678
mov edx, dword [0x100cd0fc]
sbb edx, 0xdd7e6
add ecx, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 0x11]
not eax
xor ecx, ecx
sub ecx, eax
mov byte [0x100cd07f], cl
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x248], ecx
and edx, eax
mov eax, dword [ebp - 0x3c]
add eax, edx
mov dword [ebp - 0x3c], eax
movsx ecx, word [0x100cd0ec]
mov dword [ebp - 0x22c], ecx
cmp dword [ebp - 0x22c], 0
je 0x100428ba
jmp 0x10042903
movzx eax, byte [ebp - 0x13]
cdq
sub eax, dword [0x100cd0f8]
mov byte [ebp - 0x13], al
movzx edx, word [0x100cd10c]
movsx eax, word [0x100cd108]
sub edx, eax
mov word [0x100cd10c], dx
mov ecx, dword [0x100cd118]
sub ecx, 0x4b
mov byte [ebp - 0x13], cl
movsx eax, byte [ebp - 0x12]
sub eax, 6
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x78]
mov word [0x100cd0ec], dx
mov eax, dword [ebp - 0x98]
add eax, 0x377
mov dword [ebp - 0xa0], eax
movzx eax, word [0x100cd0b8]
cdq
add eax, dword [0x100cd0f8]
mov word [0x100cd0b8], ax
movsx eax, byte [0x100cd047]
cdq
mov ecx, 8
imul ecx, ecx, 0x3b17
mov dword [ecx + 0x100cdb40], eax
mov dword [ecx + 0x100cdb44], edx
mov edx, 0xbbb3
mov word [0x100cd0b8], dx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
sub eax, 1
sbb ecx, 0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
push esi
push ecx
push eax
push edx
call fcn.10099890
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x98]
add ecx, 0x290
mov dword [ebp - 0x9c], ecx
mov dl, byte [0x100cd07f]
add dl, 1
mov byte [0x100cd07f], dl
movzx eax, word [ebp - 0x1c]
cdq
add eax, 0xe536b5e1
adc edx, 0x1c0de
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x80]
add eax, 0xc846a943
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x114
mov dword [ebp - 0x24c], ecx
call dword [sym.imp.USER32.dll_GetCaretBlinkTime]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x110], eax
jmp 0x100429fd
mov dword [ebp - 0x88], 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x250], edx
add ecx, 0xc0d5
movsx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0x28]
sub eax, 0x20b36973
mov dword [0x100cd0c8], eax
movsx ecx, word [ebp - 0x2c]
movzx edx, word [ebp - 0x20]
sub ecx, edx
mov word [ebp - 0x2c], cx
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x4c]
movsx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
movsx eax, word [0x100cd0d8]
cdq
sub eax, 0xfec1bfb5
mov byte [0x100cd082], al
movsx eax, byte [ebp - 0x14]
xor eax, 0x1b1245a2
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
push 0
push 0
lea edx, [ebp - 0x88]
push edx
push 0
push 1
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
call fcn.10001450
add esp, 8
call eax
test eax, eax
jne 0x10042d31
xor edx, edx
mov dword [ebp - 0x60], 0x58c9dd19
mov dword [ebp - 0x5c], edx
movsx eax, word [0x100cd0d8]
imul ecx, eax, 0x9ed06e1b
mov dword [0x100cd100], ecx
mov edx, dword [0x100cdb38]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movsx eax, word [ebp - 0x24]
cdq
add eax, 0x2c4edc9c
mov dword [0x100cd104], eax
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0x83
movzx eax, byte [ebp - 0x11]
or eax, edx
mov byte [ebp - 0x11], al
xor ecx, ecx
mov dword [ebp - 0x58], 2
mov dword [ebp - 0x54], ecx
movsx edx, byte [0x100cd026]
imul eax, edx, 0x48
mov byte [0x100cd096], al
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x54]
je 0x10042b2a
mov dx, word [ebp - 0x28]
mov word [ebp - 0x82], dx
jmp 0x10042b35
mov ax, word [ebp - 0x24]
mov word [ebp - 0x82], ax
mov cx, word [ebp - 0x82]
mov word [0x100cd0b8], cx
mov edx, dword [0x100cd090]
add edx, 0x67a356c4
mov word [ebp - 0x28], dx
movsx eax, byte [0x100cd06f]
imul eax, dword [0x100cd0ac]
movsx ecx, byte [0x100cd06f]
sub ecx, eax
mov byte [0x100cd06f], cl
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0xb0]
or ecx, dword [ebp - 0xac]
je 0x10042bbd
cmp dword [ebp - 0xb0], 1
jne 0x10042ba2
cmp dword [ebp - 0xac], 0
je 0x10042c20
cmp dword [ebp - 0xb0], 2
jne 0x10042bb8
cmp dword [ebp - 0xac], 0
je 0x10042cce
jmp 0x10042d2a
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [0x100cd088], edx
mov dword [0x100cd08c], eax
movsx eax, byte [0x100cd047]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
movsx ecx, byte [0x100cd096]
mov edx, dword [0x100cd0e4]
imul edx, ecx
mov dword [0x100cd0e4], edx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x254], edx
sub eax, ecx
mov word [ebp - 0x20], ax
mov eax, dword [0x100cd0a0]
mov dword [ebp - 0x50], eax
jmp 0x10042d2a
mov dword [ebp - 0x78], 0xf4dfaf92
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0x64], ecx
movzx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10042c44
mov dword [ebp - 0x140], 1
jmp 0x10042c4e
mov dword [ebp - 0x140], 0
movzx eax, word [0x100cd0b8]
add eax, dword [ebp - 0x140]
cdq
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov ecx, dword [0x100cd0a4]
push ecx
mov ecx, dword [0x100cd0a0]
push ecx
push edx
push eax
call fcn.10099890
mov dword [0x100cd100], eax
mov edx, dword [0x100cd0e0]
sub edx, dword [ebp - 0x30]
add edx, dword [0x100cd0e0]
mov dword [0x100cd0e0], edx
movzx eax, byte [ebp - 0x15]
not eax
cdq
push edx
push eax
mov eax, dword [0x100cd0fc]
push eax
mov ecx, dword [0x100cd0f8]
push ecx
call fcn.10099890
movzx edx, word [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
add ecx, edx
xor eax, ecx
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0x30]
add edx, 0x1bb1819d
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
jmp 0x10042d2a
movsx eax, word [0x100cd110]
cdq
mov ecx, eax
add ecx, 0x639c7ff8
mov eax, dword [0x100cd100]
cdq
sub eax, ecx
mov dword [0x100cd100], eax
mov edx, dword [ebp - 0x7c]
add edx, 0x7d
mov word [0x100cd110], dx
mov eax, dword [ebp - 0x44]
sub eax, 0x17
mov byte [ebp - 0x16], al
mov dword [0x100cd104], 0x668ac8a1
push 0
push 0x22fd
mov ecx, dword [0x100cd0d4]
push ecx
mov edx, dword [0x100cd0d0]
push edx
call fcn.10099890
mov byte [0x100cd096], al
xor eax, eax
jmp 0x1004495f
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov eax, dword [0x100cd0b4]
cmp eax, dword [ebp - 0x1a8]
jb 0x10042d6e
ja 0x10042d62
mov ecx, dword [0x100cd0b0]
cmp ecx, dword [ebp - 0x1ac]
jbe 0x10042d6e
mov dword [ebp - 0xb4], 1
jmp 0x10042d78
mov dword [ebp - 0xb4], 0
cmp dword [0x100cd0b4], 0
ja 0x10042d8a
cmp dword [0x100cd0b0], 0x36
jbe 0x10042d96
mov dword [ebp - 0xb8], 1
jmp 0x10042da0
mov dword [ebp - 0xb8], 0
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xb8]
jl 0x10042dc6
movzx eax, word [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
xor ecx, ecx
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], ecx
mov edx, dword [ebp - 0x88]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x8c], eax
jmp 0x10042deb
jmp 0x10042e12
jmp 0x10042e2a
mov eax, dword [ebp - 0x9c]
xor eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
imul ecx, dword [ebp - 0xa0]
sub eax, ecx
mov edx, dword [ebp - 0x9c]
sub edx, 0x209
mov ecx, dword [ebp - 0xa0]
imul ecx, edx
cmp eax, ecx
je 0x10043ff9
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], edx
mov edx, dword [0x100cd0b0]
cmp edx, dword [ebp - 0x1b4]
jne 0x10042e8e
mov eax, dword [0x100cd0b4]
cmp eax, dword [ebp - 0x1b0]
je 0x10042ea1
movsx ecx, word [0x100cd0e8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10042fce
mov edx, 0x33
test edx, edx
je 0x10042f23
movsx eax, word [0x100cd108]
movsx ecx, byte [0x100cd026]
cmp eax, ecx
jne 0x10042f23
mov byte [ebp - 0x12], 0xb4
push 0
push 0xe8e
mov edx, dword [0x100cd0a4]
push edx
mov eax, dword [0x100cd0a0]
push eax
call fcn.10099890
mov dword [0x100cd0e4], eax
movsx ecx, word [0x100cd098]
imul edx, ecx, 0x7c46
mov word [ebp - 0x2c], dx
mov dword [ebp - 0x3c], 0xae
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov cl, 1
call fcn.100998d0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movsx eax, word [0x100cd098]
add eax, 0xcd
movsx ecx, byte [ebp - 0x12]
xor ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x10042fce
xor edx, edx
je 0x10042fce
movsx eax, word [0x100cd0ec]
add eax, 0x2bdd
mov word [ebp - 0x28], ax
push 0xe99ba
push 0xac36b779
mov ecx, dword [0x100cd0d4]
push ecx
mov edx, dword [0x100cd0d0]
push edx
call fcn.10099890
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
cmp dword [ebp - 0x78], 0
jne 0x10042f75
mov dword [ebp - 0xbc], 1
jmp 0x10042f7f
mov dword [ebp - 0xbc], 0
movzx eax, byte [0x100cd07f]
mov ecx, dword [ebp - 0xbc]
sub ecx, eax
mov eax, ecx
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
mov edx, dword [0x100cd0e0]
add edx, 0x3219
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x50]
sub ecx, 0x6778067b
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x3c]
sub eax, 0x66f337e9
mov byte [0x100cd083], al
push 0xf4
call fcn.1005de10
add esp, 4
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
movsx eax, byte [0x100cd026]
cdq
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov edx, dword [ebp - 0x1bc]
cmp edx, dword [ebp - 0x1c4]
jne 0x100430a9
mov eax, dword [ebp - 0x1b8]
cmp eax, dword [ebp - 0x1c0]
jne 0x100430a9
movzx eax, byte [0x100cd06e]
cdq
push edx
push eax
mov ecx, dword [0x100cd0a4]
push ecx
mov edx, dword [0x100cd0a0]
push edx
call fcn.10099890
add eax, dword [0x100cd0a0]
adc edx, dword [0x100cd0a4]
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov dword [0x100cd100], 2
movsx eax, byte [0x100cd083]
movzx ecx, word [ebp - 0x20]
sub eax, ecx
mov byte [0x100cd083], al
movzx edx, word [ebp - 0x20]
xor edx, 0xc9
mov byte [0x100cd083], dl
movsx eax, byte [0x100cd026]
add eax, 0x7d90fd83
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov eax, 0x2d
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0xa4], ecx
movsx eax, byte [0x100cd047]
cdq
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], edx
mov edx, dword [0x100cd118]
cmp edx, dword [ebp - 0x1cc]
jne 0x100430f0
mov eax, dword [0x100cd11c]
cmp eax, dword [ebp - 0x1c8]
jne 0x100430f0
mov dword [ebp - 0xc0], 1
jmp 0x100430fa
mov dword [ebp - 0xc0], 0
cmp dword [0x100cd118], 0x42
jne 0x10043118
cmp dword [0x100cd11c], 0
jne 0x10043118
mov dword [ebp - 0xc4], 1
jmp 0x10043122
mov dword [ebp - 0xc4], 0
mov ecx, dword [ebp - 0xc0]
cmp ecx, dword [ebp - 0xc4]
jne 0x10043180
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0xb1bd
push eax
push edx
call fcn.10099890
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0x523d408f
mov dword [ebp - 0x78], eax
mov eax, dword [0x100cd0c8]
cdq
add eax, dword [0x100cd0a0]
mov byte [ebp - 0x13], al
movsx ecx, word [0x100cd108]
add ecx, 0x23e7
movsx edx, byte [0x100cd096]
sub edx, ecx
mov byte [0x100cd096], dl
mov eax, dword [ebp - 0xa4]
add eax, 0xfd
mov dword [ebp - 0x188], eax
movsx ecx, word [ebp - 0x2c]
movzx edx, word [ebp - 0x1c]
cmp ecx, edx
jle 0x1004337f
push 0x48
push 0xe3
movzx ax, byte [0x100cd027]
movzx ecx, ax
push ecx
movsx dx, byte [0x100cd096]
movzx eax, dx
push eax
push 0
call fcn.1005e9c0
add esp, 0x14
cwde
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
jne 0x100431e6
mov dword [ebp - 0xc8], 1
jmp 0x100431f0
mov dword [ebp - 0xc8], 0
cmp dword [ebp - 0x4c], 0x2c
jne 0x10043208
cmp dword [ebp - 0x48], 0
jne 0x10043208
mov dword [ebp - 0xcc], 1
jmp 0x10043212
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xcc]
jne 0x1004337d
mov eax, dword [ebp - 0x50]
push eax
push 0
call fcn.1005f940
add esp, 8
mov word [ebp - 0x1c], ax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jge 0x10043311
imul edx, dword [ebp - 0x64], 0xfe239aa8
xor eax, eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
movzx eax, byte [ebp - 0x11]
sub eax, 0x85a8
mov dword [0x100cd0e4], eax
movsx eax, byte [0x100cd06f]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x50]
xor ebx, ebx
add edi, dword [0x100cd0b0]
adc ebx, dword [0x100cd0b4]
movzx eax, word [0x100cd0b8]
sub eax, dword [0x100cd100]
cdq
sub edi, eax
sbb ebx, edx
not edi
not ebx
push ebx
push edi
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], edx
mov edx, dword [ebp - 0x1d4]
or edx, dword [ebp - 0x1d0]
jne 0x100432d5
mov eax, 1
mov word [ebp - 0x84], ax
jmp 0x100432de
xor ecx, ecx
mov word [ebp - 0x84], cx
mov dx, word [ebp - 0x84]
mov word [0x100cd0b8], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add eax, dword [ebp - 0x4c]
adc ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov eax, dword [0x100cd104]
cdq
xor eax, 0x78eec711
mov word [0x100cd0ec], ax
jmp 0x1004337d
mov edx, dword [ebp - 0x4c]
not edx
mov eax, dword [ebp - 0x48]
not eax
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1d8], eax
mov ecx, dword [ebp - 0x1dc]
or ecx, dword [ebp - 0x1d8]
je 0x1004337d
movsx edx, word [ebp - 0x24]
sub edx, 0xac23
mov eax, dword [0x100cd0c8]
add eax, edx
mov dword [0x100cd0c8], eax
mov ecx, dword [0x100cd084]
sub ecx, 0x8fd62b00
mov byte [ebp - 0x11], cl
movsx edx, byte [0x100cd096]
add edx, dword [ebp - 0x64]
movsx eax, byte [0x100cd096]
sub eax, edx
mov byte [0x100cd096], al
movzx eax, byte [ebp - 0x16]
cdq
add eax, dword [ebp - 0x4c]
mov byte [ebp - 0x16], al
jmp 0x100433fe
movzx ecx, word [ebp - 0x1c]
cmp ecx, 0x6e2e4fd9
je 0x10043394
mov edx, dword [ebp - 0x30]
not edx
test edx, edx
je 0x100433fe
movsx eax, word [0x100cd098]
imul eax, eax, 0x70ba187f
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
imul edx, dword [ebp - 0x50], 0x29
xor eax, eax
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
mov eax, dword [0x100cd100]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], esi
movsx edx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x30]
sub eax, edx
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x30]
add edx, 0x34cc0c6b
mov byte [ebp - 0x13], dl
mov al, byte [0x100cd083]
mov byte [ebp - 0x14], al
mov ecx, dword [ebp - 0xa4]
add ecx, 0x7c66
mov dword [ebp - 0x18c], ecx
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x10043424
mov dword [ebp - 0xd0], 1
jmp 0x1004342e
mov dword [ebp - 0xd0], 0
movsx eax, word [ebp - 0x28]
add eax, dword [ebp - 0xd0]
mov dword [0x100cd0f0], eax
mov ecx, dword [ebp - 0x50]
sub ecx, 1
mov dword [ebp - 0x50], ecx
mov edx, dword [0x100cd104]
xor edx, 0xb3d3
mov byte [0x100cd096], dl
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x258], edx
sub eax, ecx
not eax
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x25c], edx
sub ecx, dword [0x100cd0d0]
add eax, ecx
mov dword [ebp - 0x80], eax
mov eax, dword [0x100cd100]
cdq
push 0xe2684
push 0x20bdb929
push edx
push eax
call fcn.10099890
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x260], edx
sub ecx, eax
mov dword [0x100cd100], ecx
mov eax, dword [ebp - 0xa4]
add eax, 0xdb47
mov dword [ebp - 0x264], eax
cmp dword [0x100cd0a8], 0
je 0x1004358f
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
je 0x100434f5
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], edx
jmp 0x10043507
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], eax
mov cl, byte [ebp - 0x168]
mov byte [ebp - 0x12], cl
mov edx, dword [0x100cd100]
add edx, 0xca81
mov byte [ebp - 0x12], dl
push 0xa2207
push 0x9f6b73b8
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.10099890
mov byte [ebp - 0x15], al
mov edx, dword [0x100cd0e0]
xor eax, eax
xor edx, dword [0x100cd0a0]
xor eax, dword [0x100cd0a4]
add edx, dword [0x100cd0a0]
adc eax, dword [0x100cd0a4]
mov dword [0x100cd0a0], edx
mov dword [0x100cd0a4], eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x268], edx
and ecx, 0x8ee9af83
mov byte [0x100cd07f], cl
mov eax, dword [ebp - 0x78]
add eax, 0x614e
movsx ecx, byte [ebp - 0x14]
sub ecx, eax
mov byte [ebp - 0x14], cl
jmp 0x1004360d
cmp dword [0x100cd0e4], 0
je 0x1004360d
mov edx, dword [ebp - 0x3c]
not edx
imul edx, dword [0x100cd0a8]
mov ecx, edx
xor esi, esi
add ecx, 0x59fc8065
adc esi, 0xa5dae
mov eax, dword [0x100cd100]
cdq
mov edi, 0x1c75483f
sub edi, eax
mov ebx, 0x72f5a
sbb ebx, edx
movzx eax, byte [0x100cd06e]
sub eax, dword [0x100cd0c8]
cdq
or edi, eax
or ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.10099890
not eax
mov byte [ebp - 0x16], al
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
xor ecx, eax
mov byte [ebp - 0x15], cl
movsx eax, byte [ebp - 0x12]
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x10043682
movsx eax, word [0x100cd110]
test eax, eax
je 0x10043682
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x230], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x1004367d
mov ecx, dword [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x94]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x184]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x274], eax
jmp 0x10043722
xor edx, edx
mov dword [ebp - 0x44], 0xb8f2
mov dword [ebp - 0x40], edx
movzx eax, byte [0x100cd06e]
imul eax, dword [0x100cd0e0]
mov dword [0x100cd0e0], eax
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x100436b5
mov dword [ebp - 0xd4], 1
jmp 0x100436bf
mov dword [ebp - 0xd4], 0
movzx edx, word [ebp - 0x1c]
movsx eax, word [0x100cd0dc]
movzx ecx, word [0x100cd10c]
imul eax, ecx
add edx, eax
mov eax, dword [ebp - 0xd4]
sub eax, edx
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov edx, dword [0x100cd104]
add edx, dword [ebp - 0x64]
mov dword [0x100cd104], edx
movzx eax, word [ebp - 0x1c]
imul eax, eax, 0xe3
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movsx ecx, word [0x100cd0dc]
movzx edx, byte [0x100cd06e]
sub ecx, edx
movzx eax, byte [0x100cd07f]
add ecx, eax
mov word [ebp - 0x1c], cx
mov ecx, dword [ebp - 0x188]
or ecx, dword [ebp - 0x18c]
sub ecx, 0x79ae
mov dword [ebp - 0x190], ecx
push 0x19
push 0
movzx edx, byte [ebp - 0x7c]
push edx
push 0
mov eax, dword [0x100cd0ac]
push eax
push 0xe3
call fcn.1005b9d0
add esp, 0x18
movzx cx, al
mov word [0x100cd108], cx
movsx edx, word [0x100cd108]
test edx, edx
je 0x1004377a
mov dword [ebp - 0xd8], 1
jmp 0x10043784
mov dword [ebp - 0xd8], 0
movsx eax, word [0x100cd108]
cmp eax, 0x43
je 0x1004379c
mov dword [ebp - 0xdc], 1
jmp 0x100437a6
mov dword [ebp - 0xdc], 0
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xdc]
jl 0x10043870
mov edx, dword [0x100cd118]
add edx, 0x7765
mov byte [ebp - 0x11], dl
movsx eax, byte [0x100cd06f]
not eax
mov ecx, dword [ebp - 0x3c]
imul ecx, eax
xor edx, edx
push 0x4d144
push 0xddc880f7
push edx
push ecx
call fcn.10099890
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e4]
or eax, dword [ebp - 0x1e0]
jne 0x1004380f
mov dword [ebp - 0xe0], 1
jmp 0x10043819
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xe0]
add ecx, 0xc9be
mov dword [0x100cd0e0], ecx
movsx edx, word [0x100cd0dc]
mov dword [ebp - 0x78], edx
movzx eax, word [ebp - 0x20]
movsx ecx, byte [ebp - 0x12]
imul eax, ecx
movzx edx, word [ebp - 0x20]
imul edx, eax
mov word [ebp - 0x20], dx
movzx eax, word [0x100cd094]
mov dword [ebp - 0x80], eax
movsx eax, word [ebp - 0x24]
add eax, 0x865f
cdq
xor eax, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x10043a50
mov ecx, dword [0x100cd0e0]
not ecx
test ecx, ecx
jne 0x100438b5
movsx edx, byte [0x100cd047]
test edx, edx
jne 0x100438b5
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1ec], 0x666f10f7
jne 0x100438b5
cmp dword [ebp - 0x1e8], 0xcf90a
je 0x1004398c
mov ecx, dword [ebp - 0x64]
xor esi, esi
add ecx, 0x662d7653
adc esi, 0xd69c0
movsx edx, word [0x100cd0e8]
mov eax, 0xb2
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10099890
mov word [ebp - 0x20], ax
movzx eax, word [0x100cd094]
test eax, eax
jne 0x100438f9
mov dword [ebp - 0xe4], 1
jmp 0x10043903
mov dword [ebp - 0xe4], 0
movzx ecx, word [ebp - 0x1c]
add ecx, dword [ebp - 0xe4]
movzx edx, byte [0x100cd082]
movzx eax, byte [ebp - 0x11]
sub edx, eax
sub ecx, edx
mov word [0x100cd0d8], cx
movsx ecx, word [0x100cd0d8]
test ecx, ecx
je 0x1004393c
mov edx, dword [0x100cd0e0]
mov dword [ebp - 0xe8], edx
jmp 0x10043947
mov eax, dword [0x100cd0e4]
mov dword [ebp - 0xe8], eax
mov cx, word [ebp - 0xe8]
mov word [ebp - 0x2c], cx
mov dword [0x100cd100], 0x6dd2
movsx eax, byte [ebp - 0x14]
movzx edx, word [0x100cd0b8]
not edx
imul eax, edx
movzx ecx, byte [ebp - 0x11]
movsx edx, byte [0x100cd047]
sub ecx, edx
add eax, ecx
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
jmp 0x10043a50
mov eax, 0x9514f0e5
or eax, 0xfff7e4e8
je 0x10043a25
movsx ecx, byte [0x100cd096]
movsx edx, byte [ebp - 0x12]
sub ecx, edx
movsx eax, byte [0x100cd096]
sub eax, ecx
mov byte [0x100cd096], al
mov ecx, dword [ebp - 0x7c]
sar ecx, 6
mov byte [0x100cd06e], cl
movzx edx, byte [0x100cd082]
test edx, edx
jne 0x100439da
mov dword [ebp - 0xec], 1
jmp 0x100439e4
mov dword [ebp - 0xec], 0
movzx eax, byte [ebp - 0x11]
mov ecx, dword [ebp - 0xec]
sub ecx, eax
imul edx, ecx, 0x90
mov byte [ebp - 0x16], dl
movsx eax, word [ebp - 0x28]
sub eax, 0xa365
movzx ecx, word [0x100cd094]
and ecx, eax
mov word [0x100cd094], cx
movzx edx, word [ebp - 0x20]
movsx eax, word [0x100cd0dc]
sub edx, eax
mov word [ebp - 0x20], dx
jmp 0x10043a50
cmp dword [ebp - 0x30], 0
je 0x10043a50
movsx ecx, byte [ebp - 0x14]
add ecx, 0x5a
mov word [ebp - 0x1c], cx
mov byte [ebp - 0x15], 0x98
mov byte [0x100cd083], 0x99
mov edx, dword [0x100cd0e0]
add edx, 1
mov dword [0x100cd0e0], edx
cmp dword [ebp - 0x8c], 0
jne 0x10043ff9
movzx eax, byte [ebp - 0x16]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movsx eax, word [0x100cd0dc]
cdq
push 0x7864
push 0xbcd0590a
push edx
push eax
call fcn.10099890
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov edx, dword [0x100cd0b0]
add edx, 0x1d66
mov eax, dword [0x100cd0b4]
adc eax, 0
mov dword [0x100cd0b0], edx
mov dword [0x100cd0b4], eax
push 0
push 0x44dc337f
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.10099890
mov ecx, eax
movzx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
movzx eax, byte [0x100cd07f]
cdq
and eax, 0x6cfd58
mov byte [ebp - 0x12], al
mov ecx, 9
mov esi, str.Datafilerequiredfo
lea edi, [ebp - 0x2e0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x2e0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x100cd026], al
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xa8], eax
movsx eax, byte [ebp - 0x12]
cdq
add eax, 0x700ec413
mov word [0x100cd10c], ax
mov ecx, 0x5951
mov word [0x100cd0b8], cx
movsx eax, word [0x100cd0ec]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
sub ecx, eax
sbb esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x270], eax
mov byte [ebp - 0x11], dl
mov ecx, 0xde72
mov word [ebp - 0x20], cx
cmp dword [0x100cd0e4], 0
jne 0x10043b7f
mov dword [ebp - 0xf0], 1
jmp 0x10043b89
mov dword [ebp - 0xf0], 0
movsx edx, byte [0x100cd047]
movzx eax, byte [ebp - 0x11]
sub edx, eax
movsx ecx, byte [0x100cd047]
add edx, dword [ebp - 0xf0]
add ecx, edx
movzx edx, byte [ebp - 0x11]
movsx eax, byte [0x100cd096]
xor edx, eax
mov eax, dword [0x100cd0c8]
not eax
add eax, 0xda8e
imul edx, eax
and ecx, edx
mov word [ebp - 0x1c], cx
mov ecx, dword [ebp - 0xa8]
add ecx, 0x29e
mov dword [ebp - 0x19c], ecx
jmp 0x10043bef
jmp 0x10043c00
mov edx, dword [ebp - 0x190]
add edx, dword [ebp - 0xa8]
mov dword [ebp - 0xf8], edx
jmp 0x10043c23
mov eax, dword [ebp - 0xa8]
add eax, 0x156
mov dword [ebp - 0x1a0], eax
mov ecx, dword [ebp - 0x58]
sub ecx, 0x7998
mov dword [0x100cd0c8], ecx
mov edx, dword [0x100cd0f8]
not edx
mov eax, dword [0x100cd0fc]
not eax
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, edx
adc esi, eax
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
mov edx, dword [0x100cd0e4]
add edx, 0x13f7933d
mov byte [ebp - 0x15], dl
movsx eax, byte [0x100cd047]
imul ecx, eax, 0x2d0a
mov edx, dword [0x100cd090]
add edx, ecx
mov dword [0x100cd090], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x290], ecx
add eax, 0x22cf978d
mov dword [ebp - 0x78], eax
movsx eax, byte [ebp - 0x14]
not eax
cdq
mov ecx, dword [0x100cd0d0]
sub ecx, eax
mov eax, dword [0x100cd0d4]
sbb eax, edx
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x1f4]
or ecx, dword [ebp - 0x1f0]
jne 0x10043cea
xor edx, edx
mov dword [ebp - 0x160], 1
mov dword [ebp - 0x15c], edx
jmp 0x10043cf5
xorps xmm0, xmm0
movlpd qword [ebp - 0x160], xmm0
mov ecx, dword [ebp - 0x58]
not ecx
mov esi, dword [ebp - 0x54]
not esi
mov eax, dword [0x100cd0ac]
cdq
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x15c]
push edx
mov eax, dword [ebp - 0x160]
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
not ecx
not esi
mov edi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x70]
not edi
not ebx
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x5c]
add eax, edi
adc edx, ebx
not eax
not edx
add ecx, eax
adc esi, edx
push esi
push ecx
mov edx, dword [ebp - 0x194]
push edx
mov eax, dword [ebp - 0x198]
push eax
call fcn.10099890
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], edx
mov edx, dword [ebp - 0x1fc]
or edx, dword [ebp - 0x1f8]
jne 0x10043d91
mov dword [ebp - 0xf4], 1
jmp 0x10043d9b
mov dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [0x100cd0ac], eax
mov ecx, dword [ebp - 0x19c]
sub ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf8]
sub edx, dword [ebp - 0x1a0]
cmp ecx, edx
je 0x10043ff9
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x28]
test eax, eax
jge 0x10043e47
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x64], ecx
push 0
push 0x6549
mov edx, dword [0x100cd11c]
push edx
mov eax, dword [0x100cd118]
push eax
call fcn.10099890
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx ecx, byte [0x100cd06f]
add ecx, 0x4ae8db0e
mov word [0x100cd0b8], cx
xor edx, edx
mov dword [ebp - 0x44], 2
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
push 0x12a2e
push 0xb625e6f
push ecx
push eax
call fcn.10099890
mov ecx, eax
mov eax, dword [0x100cd104]
cdq
sub eax, ecx
mov dword [0x100cd104], eax
jmp 0x10043f08
movzx eax, word [0x100cd094]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x284], ecx
sub edx, eax
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10043e82
mov dword [ebp - 0xfc], 1
jmp 0x10043e8c
mov dword [ebp - 0xfc], 0
movsx edx, byte [0x100cd047]
test edx, edx
jne 0x10043ea3
mov dword [ebp - 0x100], 1
jmp 0x10043ead
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0x100]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
xor edx, 0xd73ca0a1
xor eax, 0x743ee
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
cmp dword [ebp - 0x30], 0
je 0x10043ef5
movsx ecx, word [0x100cd108]
mov dword [ebp - 0x104], ecx
jmp 0x10043eff
movzx edx, word [ebp - 0x1c]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x28c], edx
add ecx, 0xc660
mov dword [ebp - 0x3c], ecx
movzx eax, byte [0x100cd07f]
sub eax, dword [0x100cd100]
jne 0x10043f3e
mov dword [ebp - 0x10c], 1
jmp 0x10043f48
mov dword [ebp - 0x10c], 0
cmp dword [0x100cd0c8], 0
jne 0x10043f5d
mov dword [ebp - 0x108], 1
jmp 0x10043f67
mov dword [ebp - 0x108], 0
movsx ecx, byte [0x100cd096]
add ecx, dword [ebp - 0x108]
xor ecx, dword [ebp - 0x10c]
mov dword [0x100cd0ac], ecx
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0xddd32645
xor ecx, ecx
mov edx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor edx, eax
xor esi, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], esi
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
push ecx
push eax
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.10099890
push edx
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.10099890
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
add ecx, dword [0x100cd0a0]
movzx eax, byte [ebp - 0x11]
cdq
and eax, ecx
mov byte [ebp - 0x11], al
imul edx, dword [0x100cd0a8], 0xfc3
mov dword [0x100cd0c8], edx
xor eax, eax
jmp 0x1004495f
jmp 0x10044009
push 0
push 0
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
push 1
mov edx, dword [ebp - 0x110]
push edx
mov eax, dword [ebp + 8]
push eax
push 0
push 0
call fcn.10001450
add esp, 8
call eax
test eax, eax
jne 0x100446d6
mov dword [ebp - 0x30], 1
movsx ecx, word [0x100cd0d8]
imul ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x10044068
xor edx, edx
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x21c], edx
jmp 0x10044073
xorps xmm0, xmm0
movlpd qword [ebp - 0x220], xmm0
mov eax, dword [0x100cd090]
add eax, dword [0x100cd0d0]
sub eax, dword [ebp - 0x220]
movzx ecx, byte [ebp - 0x11]
add ecx, 0xf7ff074
mov edx, dword [ebp - 0x64]
add edx, ecx
not edx
sub eax, edx
mov byte [ebp - 0x12], al
movsx eax, word [ebp - 0x28]
movsx ecx, word [0x100cd0ec]
imul eax, ecx
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0x58]
sub edx, 0xea
mov byte [0x100cd096], dl
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x204]
or edx, dword [ebp - 0x200]
jne 0x100440e7
mov dword [ebp - 0x114], 1
jmp 0x100440f1
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100cd0a0]
adc esi, dword [0x100cd0a4]
movsx edx, byte [ebp - 0x12]
mov eax, edx
imul eax, dword [ebp - 0x114]
cdq
push edx
push eax
push esi
push ecx
call fcn.10099890
movzx ecx, byte [ebp - 0x16]
xor ecx, dword [ebp - 0x50]
not ecx
xor esi, esi
add ecx, dword [0x100cd0a0]
adc esi, dword [0x100cd0a4]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
xor edx, edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x50]
sbb ecx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x118], edx
cmp dword [ebp - 0x118], 0
je 0x10044172
cmp dword [ebp - 0x118], 1
je 0x100441d3
jmp 0x10044299
movzx eax, byte [0x100cd06e]
sub eax, 0x2081
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x54]
sbb edx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov cl, 8
call fcn.100998d0
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x280], ecx
add eax, 0xfe
mov dword [0x100cd0a8], eax
movsx edx, word [ebp - 0x28]
mov dword [ebp - 0x80], edx
jmp 0x10044299
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x100441f1
movsx eax, word [0x100cd0dc]
cdq
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edx
jmp 0x10044209
mov ecx, dword [0x100cd0d0]
mov edx, dword [0x100cd0d4]
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x150]
mov dword [0x100cd0e4], eax
movsx ecx, byte [0x100cd026]
test ecx, ecx
je 0x10044238
mov edx, dword [0x100cd0b0]
mov eax, dword [0x100cd0b4]
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x154], eax
jmp 0x1004424a
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x158], ecx
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x158]
mov dword [0x100cd0f0], eax
movzx eax, byte [0x100cd06e]
cdq
sub eax, 0x3dad4a9b
sbb edx, 0x6aabc
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov ecx, dword [0x100cdb38]
mov dword [ebp - 0x50], ecx
mov byte [0x100cd096], 0xd7
movsx edx, byte [0x100cd083]
movzx eax, byte [0x100cd082]
add edx, eax
mov byte [0x100cd083], dl
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10044487
push 0xffffffffffffff82
movzx edx, byte [ebp - 0x58]
push edx
push 0
movzx eax, byte [ebp - 0x2c]
push eax
push 0x74
push 0
push 0xffffffffffffffc0
call fcn.1005c4d0
add esp, 0x1c
movsx eax, al
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
cmp dword [0x100cd0a4], 0
jl 0x100443f0
jg 0x100442ec
cmp dword [0x100cd0a0], 0
jb 0x100443f0
mov dword [ebp - 4], 0
movsx ecx, word [0x100cd0e8]
sub ecx, 0xe1f02d5
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x78]
not eax
movzx ecx, byte [ebp - 0x15]
imul eax, ecx
mov byte [ebp - 0x14], al
movsx edx, word [0x100cd0d8]
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x24]
cdq
push 0x9e026
push 0x42565e6c
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x15], al
mov eax, 8
imul ecx, eax, 0x5129
mov dx, word [ecx + 0x10419d18]
mov word [0x100cd0dc], dx
movzx eax, word [ebp - 0x1c]
shl eax, 3
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x100443db
mov dword [ebp - 4], 0xffffffff
jmp 0x100443eb
jmp 0x10044485
movzx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x10044485
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
xor ecx, 0x5145a02a
movzx eax, byte [ebp - 0x13]
cdq
sub eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [0x100cd0f0]
sub edx, 0xaa0c
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movzx eax, byte [0x100cd07f]
cdq
mov ecx, dword [0x100cd0fc]
push ecx
mov ecx, dword [0x100cd0f8]
push ecx
push edx
push eax
call fcn.10099890
mov byte [0x100cd07f], al
movsx eax, word [ebp - 0x28]
cdq
sub eax, 0x92367028
sbb edx, 0x2ba31
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
movsx edx, word [0x100cd0e8]
sub edx, 0x12238005
mov byte [0x100cd082], dl
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x100444f6
xor edx, edx
mov dword [ebp - 0x4c], 0x3b
mov dword [ebp - 0x48], edx
movsx eax, byte [ebp - 0x12]
sub eax, 0x32
mov dword [0x100cd0e0], eax
movsx ecx, byte [0x100cd096]
movsx edx, word [0x100cd0d8]
add ecx, edx
movsx eax, byte [0x100cd096]
imul eax, ecx
mov byte [0x100cd096], al
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x64]
imul edx, ecx
xor eax, eax
mov dword [0x100cd088], edx
mov dword [0x100cd08c], eax
mov ecx, dword [0x100cd084]
xor edx, edx
push 0xc4769
push 0x444ea5d3
push edx
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.1009c74a
add esp, 4
push 0x85
call fcn.1005de10
add esp, 4
mov byte [ebp - 0x13], al
movzx eax, byte [ebp - 0x13]
test eax, eax
jl 0x10044529
mov dword [ebp - 0x11c], 1
jmp 0x10044533
mov dword [ebp - 0x11c], 0
movzx ecx, byte [ebp - 0x13]
cmp ecx, 0x21
jl 0x10044548
mov dword [ebp - 0x120], 1
jmp 0x10044552
mov dword [ebp - 0x120], 0
mov edx, dword [ebp - 0x11c]
cmp edx, dword [ebp - 0x120]
jg 0x10044654
movzx eax, word [0x100cd10c]
movzx ecx, byte [ebp - 0x15]
add eax, ecx
movzx edx, word [0x100cd10c]
sub edx, eax
mov word [0x100cd10c], dx
movsx eax, byte [0x100cd083]
xor eax, 0xfbdac334
mov byte [0x100cd083], al
cmp dword [ebp - 0x3c], 0
je 0x100445ae
movsx eax, word [0x100cd0e8]
cdq
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edx
jmp 0x100445c0
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], edx
mov al, byte [ebp - 0x148]
mov byte [ebp - 0x13], al
mov ecx, 0x2b7e
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x30]
xor eax, eax
add edx, dword [0x100cd0b0]
adc eax, dword [0x100cd0b4]
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x20c]
or ecx, dword [ebp - 0x208]
jne 0x10044611
xor edx, edx
mov dword [ebp - 0x180], 1
mov dword [ebp - 0x17c], edx
jmp 0x1004461c
xorps xmm0, xmm0
movlpd qword [ebp - 0x180], xmm0
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
not eax
not ecx
mov edx, dword [0x100cd08c]
sub eax, dword [0x100cd088]
sbb ecx, edx
mov edx, dword [ebp - 0x17c]
push edx
mov edx, dword [ebp - 0x180]
push edx
push ecx
push eax
call fcn.10099890
mov word [ebp - 0x2c], ax
jmp 0x100446cf
cmp dword [0x100cd0e4], 0
je 0x100446cf
mov eax, dword [0x100cd0e0]
xor ecx, ecx
push 0x3bc21
push 0xcf7df985
push ecx
push eax
call fcn.10099890
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, byte [0x100cd06e]
movsx eax, byte [0x100cd047]
lea ecx, [eax + edx + 0x58]
mov byte [0x100cd047], cl
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x27c], eax
mov byte [0x100cd07f], dl
mov ecx, 0x53
mov word [ebp - 0x1c], cx
mov edx, dword [0x100cd0a0]
sub edx, 0x6110
mov dword [ebp - 0x64], edx
mov eax, dword [0x100cd0f0]
add eax, 1
mov dword [0x100cd0f0], eax
xor eax, eax
jmp 0x1004495f
xor ecx, ecx
mov dword [0x100cd0a0], 0x8edf
mov dword [0x100cd0a4], ecx
movsx eax, word [0x100cd0e8]
movsx edx, word [ebp - 0x24]
xor eax, edx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x20]
imul ecx, eax, 0x9489
mov byte [str.6BlockUpgradeIfDriv], cl
cmp dword [ebp - 0x80], 0
jne 0x1004471e
mov dword [ebp - 0x124], 1
jmp 0x10044728
mov dword [ebp - 0x124], 0
movzx edx, byte [0x100cd07f]
xor edx, dword [ebp - 0x124]
mov word [0x100cd10c], dx
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
jne 0x10044758
xor ecx, ecx
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], ecx
jmp 0x10044763
xorps xmm0, xmm0
movlpd qword [ebp - 0x178], xmm0
movsx edx, byte [str.6BlockUpgradeIfDriv]
test edx, edx
jne 0x1004477a
mov dword [ebp - 0x128], 1
jmp 0x10044784
mov dword [ebp - 0x128], 0
movzx eax, byte [ebp - 0x16]
movzx ecx, word [ebp - 0x1c]
not ecx
add eax, ecx
cdq
mov ecx, dword [ebp - 0x178]
add ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x174]
adc esi, dword [ebp - 0x40]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov esi, edx
mov eax, 0xffffff1e
sub eax, dword [ebp - 0x128]
movsx edx, word [ebp - 0x24]
not edx
movzx edi, word [0x100cd0b8]
not edi
imul edx, edi
or eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [0x100cd0e4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x88]
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [0x100cd098], ax
movsx edx, word [0x100cd098]
test edx, edx
jg 0x1004480c
mov dword [ebp - 0x12c], 1
jmp 0x10044816
mov dword [ebp - 0x12c], 0
movsx eax, word [0x100cd098]
cmp eax, 0x24
jg 0x1004482e
mov dword [ebp - 0x130], 1
jmp 0x10044838
mov dword [ebp - 0x130], 0
mov ecx, dword [ebp - 0x12c]
cmp ecx, dword [ebp - 0x130]
jl 0x100448e9
push 0
push 0xffffffffffffff9c
movzx edx, byte [ebp - 0x58]
push edx
push 6
movzx eax, byte [ebp - 0x50]
push eax
push 0xffffffffffffffc8
push 0
call fcn.1005c4d0
add esp, 0x1c
movsx ecx, al
mov dword [0x100cd0ac], ecx
cmp dword [0x100cd0ac], 0
je 0x100448e7
movsx edx, word [0x100cd0dc]
mov eax, dword [ebp - 0x3c]
imul eax, edx
mov dword [ebp - 0x3c], eax
movzx eax, byte [0x100cd06e]
sub eax, 0x38a6
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
add ecx, eax
adc esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
movsx edx, byte [ebp - 0x12]
imul eax, edx, 0xa5
movsx ecx, word [ebp - 0x2c]
sub ecx, eax
mov word [ebp - 0x2c], cx
movzx edx, byte [0x100cd07f]
imul eax, edx, 0xc8
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x278], edx
mov dword [0x100cd090], ecx
jmp 0x10044959
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x1c]
sub eax, ecx
not eax
mov word [0x100cd094], ax
movzx edx, word [ebp - 0x20]
imul eax, edx, 0x3996
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movsx eax, word [0x100cd0d8]
imul ecx, eax, 0xd2674756
imul ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], ecx
mov dl, byte [0x100cdb38]
mov byte [0x100cd07f], dl
movsx eax, byte [0x100cd096]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x44]
adc esi, dword [ebp - 0x40]
movsx eax, byte [0x100cd096]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [0x100cd096], al
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret