Function at 0x1000c2b0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5740
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x14ec
call fcn.100999c0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp - 0x468], 0xa398d99a
mov dword [ebp - 0x464], eax
movzx ecx, byte [0x100cd082]
mov dword [ebp - 0x38], ecx
mov byte [ebp - 0x11], 0xdb
mov edx, dword [0x100cd0a0]
mov dword [ebp - 0x7c], edx
mov eax, 0xde
mov word [ebp - 0x2c], ax
movzx ecx, byte [0x100cd06e]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x4c], 0xded3fa75
xor edx, edx
mov dword [ebp - 0x60], 0xc0d2d66a
mov dword [ebp - 0x5c], edx
movsx eax, word [0x100cd0dc]
mov dword [ebp - 0x28], eax
mov cx, word [0x100cd118]
mov word [ebp - 0x24], cx
movzx edx, byte [0x100cd082]
mov dword [ebp - 0x50], edx
mov ax, word [0x100cd10c]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x48], 0xa900
movzx ecx, word [0x100cd0b8]
mov dword [ebp - 0x54], ecx
movsx eax, word [0x100cd0ec]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x58], edx
mov byte [ebp - 0x12], 0x29
mov ecx, dword [0x100cd0c8]
mov word [ebp - 0x30], cx
mov dx, word [0x100cd0dc]
mov byte [ebp - 0x13], dl
mov eax, dword [0x100cd0a8]
mov word [ebp - 0x18], ax
mov dword [ebp - 0x6c], 0xe0
movsx eax, word [0x100cd110]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov ecx, 0xcbca
mov word [ebp - 0x20], cx
movsx eax, word [0x100cd110]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x34], 0x43076f32
mov edx, dword [0x100cd104]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x3e8], 0x52a196f6
mov byte [ebp - 0x95], 0x44
mov eax, 0x4a00
mov word [ebp - 0x2d4], ax
mov byte [ebp - 0x9f], 0xe2
movzx ecx, byte [0x100cd06e]
mov dword [ebp - 0x3ec], ecx
mov edx, 0x4c3b
mov word [ebp - 0x3a8], dx
movsx ax, byte [0x100cd096]
mov word [ebp - 0x3a4], ax
movsx eax, byte [0x100cd096]
cdq
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x3f0], 0xbe9ec7a
mov cl, byte [0x100cd0a0]
mov byte [ebp - 0x9e], cl
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f8], edx
mov ecx, 0x89b9
mov word [ebp - 0x3a0], cx
mov byte [ebp - 0x9d], 0xe8
movzx edx, byte [0x100cd06e]
mov dword [ebp - 0x3fc], edx
movzx ax, byte [0x100cd06e]
mov word [ebp - 0x39c], ax
xor ecx, ecx
mov dword [ebp - 0x478], 0x2006
mov dword [ebp - 0x474], ecx
movzx edx, byte [ebp - 0x12]
push edx
push 0x20
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x400], ecx
push eax
push 0
push 0
push 0
push 0x37
call fcn.1005d580
add esp, 0x1c
mov byte [0x100cd096], al
movsx edx, byte [0x100cd096]
test edx, edx
jne 0x1000c4ef
mov dword [ebp - 0xc4], 1
jmp 0x1000c4f9
mov dword [ebp - 0xc4], 0
movsx eax, byte [0x100cd096]
cmp eax, 0x26
jne 0x1000c511
mov dword [ebp - 0xc8], 1
jmp 0x1000c51b
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc4]
cmp ecx, dword [ebp - 0xc8]
jl 0x1000c616
push 0xbe
call fcn.1005de10
add esp, 4
mov dword [ebp - 0x58], eax
movsx edx, byte [0x100cd047]
test edx, edx
je 0x1000c616
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x6c], eax
movzx edx, word [ebp - 0x20]
imul eax, edx, 0x7a
movsx ecx, word [ebp - 0x1c]
sub ecx, eax
mov word [ebp - 0x1c], cx
movzx edx, word [ebp - 0x18]
test edx, edx
jne 0x1000c580
mov dword [ebp - 0xcc], 1
jmp 0x1000c58a
mov dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0x50]
jne 0x1000c5a9
xor ecx, ecx
mov dword [ebp - 0x3c0], 1
mov dword [ebp - 0x3bc], ecx
jmp 0x1000c5b4
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c0], xmm0
mov edx, dword [0x100cd0e4]
add edx, dword [0x100cd0d0]
sub edx, dword [ebp - 0x3c0]
not edx
mov dword [ebp - 0x54], edx
movsx eax, word [ebp - 0x1c]
movsx ecx, byte [0x100cd047]
movsx edx, word [0x100cd0dc]
or ecx, edx
sub eax, ecx
cdq
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
movzx eax, word [0x100cd10c]
imul ecx, eax, 0x56
mov dword [0x100cd0f0], ecx
movsx eax, word [0x100cd0ec]
cdq
add eax, 0x2575c67b
adc edx, 0xf2a7f
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x268], 0
mov dword [ebp - 0xa4], 0x1c6
jmp 0x1000c63b
mov edx, dword [ebp - 0xa4]
sub edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0
jle 0x1000c706
movsx eax, byte [0x100cd06f]
test eax, eax
jne 0x1000c65f
mov dword [ebp - 0xd0], 1
jmp 0x1000c669
mov dword [ebp - 0xd0], 0
movzx ecx, word [0x100cd10c]
movsx edx, byte [0x100cd083]
add edx, dword [ebp - 0xd0]
sub ecx, edx
movsx eax, word [0x100cd108]
xor ecx, eax
not ecx
mov byte [0x100cd047], cl
movzx ecx, word [ebp - 0x18]
mov edx, dword [ebp - 0x50]
lea eax, [edx + ecx - 0x96]
mov dword [ebp - 0x50], eax
mov ecx, 1
imul edx, ecx, 0x93
movzx eax, byte [edx + 0x1029ca10]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [0x100cd10c]
add edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x54]
sub eax, edx
mov dword [ebp - 0x54], eax
imul eax, dword [ebp - 0x28], 0xdfdb
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov ecx, 1
shl ecx, 4
mov dl, byte [0x100cd026]
mov byte [ecx + 0x10127a2c], dl
mov eax, dword [0x100cd084]
add eax, 1
mov dword [0x100cd084], eax
jmp 0x1000c62c
mov dword [ebp - 0x90], 0
movsx ecx, word [ebp - 0x24]
add ecx, dword [ebp - 0x34]
mov word [ebp - 0x24], cx
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
sub ecx, eax
sbb esi, edx
sub ecx, dword [0x100cd0f8]
sbb esi, dword [0x100cd0fc]
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], esi
mov edx, dword [ebp - 0x3c8]
or edx, dword [ebp - 0x3c4]
jne 0x1000c76b
mov dword [ebp - 0xd4], 1
jmp 0x1000c775
mov dword [ebp - 0xd4], 0
movzx eax, word [0x100cd0b8]
movzx ecx, word [ebp - 0x30]
not ecx
imul ecx, dword [0x100cd0e0]
imul eax, ecx
sub eax, dword [ebp - 0xd4]
xor edx, edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, 2
mov word [0x100cd0e8], ax
mov ecx, dword [ebp - 0x50]
add ecx, 0x55
mov dword [0x100cd0e0], ecx
mov dword [ebp - 0x94], 0
jmp 0x1000c7cc
jmp 0x1000c7e2
movsx eax, word [0x100cd0dc]
cdq
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x3d0]
jne 0x1000c80c
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x3cc]
je 0x1000c819
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov byte [0x100cd027], al
jmp 0x1000c86a
movsx ecx, word [0x100cd110]
not ecx
test ecx, ecx
je 0x1000c86a
mov byte [ebp - 0x12], 0x24
imul edx, dword [ebp - 0x4c], 0xeecc
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x38]
add eax, 0x8a8e
cdq
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
movzx eax, word [0x100cd094]
add eax, 0xa0
mov dword [0x100cd0c8], eax
movzx ecx, word [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
add edx, ecx
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov byte [ebp - 0x80], cl
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x4fc]
push edx
lea ecx, [ebp - 0x80]
call fcn.10002890
mov ecx, eax
call fcn.10055630
push eax
push 0
push 0
call fcn.100015a0
add esp, 8
call eax
mov dword [ebp - 0x90], eax
push 0xd9
push 0
movzx eax, word [0x100cd098]
push eax
push 0
push 0
call fcn.1005e9c0
add esp, 0x14
cwde
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x324], edx
cmp dword [ebp - 0x324], 0
jg 0x1000cc9b
jl 0x1000c8fe
cmp dword [ebp - 0x328], 0
ja 0x1000cc9b
xor eax, eax
mov dword [ebp - 0x68], 4
mov dword [ebp - 0x64], eax
movsx ecx, word [0x100cd0e8]
imul edx, ecx, 0xe4
mov dword [0x100cd100], edx
movsx eax, byte [str.6BlockUpgradeIfDriv]
sub eax, 0x6709d8c0
mov ecx, dword [0x100cd0e4]
add ecx, eax
mov dword [0x100cd0e4], ecx
movzx edx, byte [ebp - 0x11]
sar edx, 4
mov word [ebp - 0x20], dx
movzx eax, word [0x100cd094]
add eax, 0x3e
mov word [ebp - 0x30], ax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x1000c964
mov dword [ebp - 0xd8], 1
jmp 0x1000c96e
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x4c], edx
movsx eax, word [0x100cd108]
test eax, eax
je 0x1000c98d
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xdc], ecx
jmp 0x1000c997
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
mov dword [0x100cd084], eax
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0
ja 0x1000cc96
jb 0x1000c9d0
cmp dword [ebp - 0x278], 4
ja 0x1000cc96
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
jmp dword [ecx*4 + 0x10010b28]
jmp 0x1000cd6f
movzx eax, byte [ebp - 0x12]
cmp eax, dword [ebp - 0x50]
jae 0x1000ccb0
mov dword [ebp - 0xe8], 1
jmp 0x1000ccba
mov dword [ebp - 0xe8], 0
movsx ecx, word [0x100cd098]
mov edx, dword [ebp - 0xe8]
sub edx, ecx
je 0x1000cd6f
mov eax, dword [ebp - 0x38]
sub eax, 1
mov dword [ebp - 0x38], eax
movsx ecx, byte [0x100cd06f]
sub ecx, dword [0x100cd0f0]
mov byte [0x100cd06f], cl
movzx edx, byte [0x100cd06e]
mov eax, dword [ebp - 0x34]
sub eax, edx
mov ecx, dword [ebp - 0x34]
and ecx, eax
mov dword [ebp - 0x34], ecx
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x1000cd13
movsx eax, word [ebp - 0x24]
mov dword [ebp - 0xec], eax
jmp 0x1000cd1f
mov ecx, dword [0x100cd0ac]
mov dword [ebp - 0xec], ecx
mov dx, word [ebp - 0xec]
mov word [0x100cd0ec], dx
movsx eax, word [ebp - 0x1c]
add eax, 0x6d7bdd7a
mov dword [ebp - 0x28], eax
movzx ecx, byte [0x100cd07f]
test ecx, ecx
jne 0x1000cd50
mov dword [ebp - 0xf0], 1
jmp 0x1000cd5a
mov dword [ebp - 0xf0], 0
movzx edx, word [ebp - 0x30]
add edx, dword [ebp - 0xf0]
imul edx, dword [ebp - 0x38]
mov word [0x100cd110], dx
cmp dword [ebp - 0x90], 0
jne 0x1000d09c
mov byte [str.6BlockUpgradeIfDriv], 3
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
mov edx, 0xffff81f7
mov word [ebp - 0x24], dx
movzx eax, word [0x100cd10c]
mov ecx, dword [0x100cd0ac]
add ecx, eax
jne 0x1000cdce
xor edx, edx
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], edx
jmp 0x1000cdd9
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
mov esi, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x410], eax
xor esi, 0x96a9
mov ecx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0x54]
sub esi, ecx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100cd0d0]
sub ecx, eax
mov eax, dword [0x100cd0d4]
sbb eax, edx
mov edx, dword [ebp - 0x2c4]
push edx
mov edx, dword [ebp - 0x2c8]
push edx
push eax
push ecx
call fcn.10099890
sub esi, eax
not esi
mov dword [ebp - 0x48], esi
movzx eax, word [0x100cd0b8]
cdq
sub eax, 0xe2ba5115
mov dword [ebp - 0x38], eax
movzx ecx, word [ebp - 0x20]
add ecx, 0xb5
mov eax, dword [ebp - 0x38]
sar eax, cl
mov dword [ebp - 0x38], eax
movsx ecx, byte [str.6BlockUpgradeIfDriv]
mov dword [ebp - 0xf4], ecx
cmp dword [ebp - 0xf4], 3
ja case.default.0x1000ce6a
mov edx, dword [ebp - 0xf4]
jmp dword [edx*4 + 0x10010b3c]
movzx eax, word [0x100cd0b8]
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 [ebp - 0x34]
not eax
xor eax, dword [ebp - 0x6c]
cdq
sub ecx, eax
not ecx
mov word [0x100cd0ec], cx
movzx edx, byte [ebp - 0x12]
xor edx, dword [ebp - 0x34]
mov byte [ebp - 0x12], dl
mov eax, 1
imul ecx, eax, 0x2888
movsx edx, byte [ecx + 0x103dba78]
mov dword [0x100cd084], edx
mov eax, dword [ebp - 0x70]
cdq
mov ecx, 0xbede27fd
sub ecx, eax
mov word [0x100cd0d8], cx
mov edx, dword [ebp - 0x4c]
mov dword [0x100cd100], edx
jmp case.default.0x1000ce6a
mov eax, dword [0x100cd104]
sub eax, dword [ebp - 0x58]
mov ecx, dword [0x100cd104]
add ecx, eax
mov dword [0x100cd104], ecx
mov dword [ebp - 0x54], 4
movsx eax, word [0x100cd0d8]
cdq
push 0x444de
push 0xd055e7f4
push edx
push eax
call fcn.10099890
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], edx
mov edx, dword [0x100cd084]
not edx
mov eax, dword [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x1c], ax
mov byte [0x100cd047], 0x19
jmp case.default.0x1000ce6a
mov ecx, 2
imul edx, ecx, 0x29
mov ax, word [0x100cd084]
mov word [edx + 0x103db9d0], ax
mov dword [ebp - 0x50], 0x233b21bf
movsx ecx, word [0x100cd0dc]
sub ecx, 0x7f
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x28]
add edx, dword [0x100cd084]
jne 0x1000cf84
mov dword [ebp - 0xf8], 1
jmp 0x1000cf8e
mov dword [ebp - 0xf8], 0
movsx eax, byte [str.6BlockUpgradeIfDriv]
sub eax, dword [0x100cd0e0]
mov ecx, dword [ebp - 0xf8]
sub ecx, eax
mov dword [ebp - 0x48], ecx
movsx edx, byte [0x100cd096]
movsx eax, word [ebp - 0x24]
add edx, eax
movsx ecx, byte [0x100cd096]
sub ecx, edx
mov byte [0x100cd096], cl
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov ecx, dword [0x100cd08c]
sub edx, dword [0x100cd088]
sbb eax, ecx
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], eax
mov edx, dword [ebp - 0x398]
or edx, dword [ebp - 0x394]
jne 0x1000cffb
mov dword [ebp - 0xfc], 1
jmp 0x1000d005
mov dword [ebp - 0xfc], 0
movzx eax, word [ebp - 0x30]
imul eax, dword [ebp - 0x58]
not eax
add eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x48]
not ecx
movsx edx, word [ebp - 0x1c]
movzx esi, word [0x100cd0b8]
xor edx, esi
sub ecx, edx
xor eax, ecx
mov word [0x100cd0b8], ax
jmp case.default.0x1000ce6a
cmp dword [0x100cd0e0], 0
jne 0x1000d048
mov dword [ebp - 0x100], 1
jmp 0x1000d052
mov dword [ebp - 0x100], 0
mov eax, dword [0x100cd104]
add eax, dword [ebp - 0x100]
mov word [0x100cd0e8], ax
movsx ecx, word [0x100cd0d8]
movsx edx, word [0x100cd098]
sub ecx, edx
mov dword [ebp - 0x54], ecx
movzx eax, byte [0x100cd082]
imul eax, dword [ebp - 0x70]
add eax, dword [ebp - 0x70]
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100cd0d0]
sub ecx, 0x72
mov word [0x100cd0ec], cx
jmp 0x1000f5b6
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x90]
push eax
push 0
push 0
call fcn.10001600
add esp, 8
call eax
mov dword [ebp - 0x94], eax
push 0x56
movzx ecx, word [0x100cd110]
push ecx
push 0xbf
movzx edx, word [ebp - 0x50]
push edx
movzx eax, word [0x100cd0dc]
push eax
call fcn.1005e9c0
add esp, 0x14
cwde
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x68]
or ecx, dword [ebp - 0x64]
je 0x1000d2c2
mov dword [ebp - 0x7c], 1
movsx eax, word [ebp - 0x1c]
cdq
push 0x6a6a1
push 0x5dcd31d9
push edx
push eax
call fcn.10099890
mov ecx, eax
movsx eax, byte [0x100cd026]
cdq
and eax, ecx
mov byte [0x100cd026], al
mov edx, dword [ebp - 0x4c]
sub edx, 0xf2
mov byte [0x100cd082], dl
push 0x440f3
push 0x181f01b4
mov eax, dword [0x100cd0b4]
push eax
mov ecx, dword [0x100cd0b0]
push ecx
call fcn.10099890
mov byte [0x100cd027], al
cmp dword [0x100cd090], 0
je 0x1000d170
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x104], edx
jmp 0x1000d17a
movsx eax, word [ebp - 0x1c]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x28], ecx
push 0
push 0x1a1e7692
mov edx, dword [0x100cd0fc]
push edx
mov eax, dword [0x100cd0f8]
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x108], ecx
cmp dword [ebp - 0x108], 0
je 0x1000d1c3
cmp dword [ebp - 0x108], 1
je 0x1000d246
jmp 0x1000d2c0
mov edx, dword [0x100cd084]
shl edx, 7
xor eax, eax
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov ecx, dword [0x100cd118]
add ecx, 1
mov edx, dword [0x100cd11c]
adc edx, 0
mov dword [0x100cd118], ecx
mov dword [0x100cd11c], edx
mov eax, dword [0x100cd0c8]
add eax, 0x20
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movsx eax, word [ebp - 0x1c]
add eax, 0x8b
mov dword [ebp - 0x48], eax
movsx ecx, word [0x100cd0d8]
xor ecx, 0xda63216b
mov word [ebp - 0x1c], cx
movsx eax, byte [0x100cd096]
cdq
push 0x83853
push 0xdfd69fa0
push edx
push eax
call fcn.10099890
mov ecx, eax
movzx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
mov word [ebp - 0x2c], ax
jmp 0x1000d2c0
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
add ecx, dword [0x100cd118]
movzx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
movzx edx, byte [0x100cd082]
movsx eax, word [0x100cd0ec]
xor edx, eax
movzx ecx, byte [0x100cd082]
sub ecx, edx
mov byte [0x100cd082], cl
mov edx, dword [ebp - 0x48]
add edx, 0x1dcd
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x34]
shl eax, 5
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov eax, dword [0x100cd0ac]
add eax, 0xa2
mov dword [0x100cd0c8], eax
mov ecx, dword [ebp - 0x48]
sub ecx, 0xe7
xor edx, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
jmp 0x1000d32f
mov ax, word [0x100cdb38]
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x3c]
and ecx, 0x35
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
movzx eax, byte [ebp - 0x11]
cdq
sub eax, 0xa7d1641b
mov word [ebp - 0x30], ax
mov eax, dword [ebp - 0x68]
xor eax, 0x91
mov ecx, dword [ebp - 0x64]
xor ecx, 0
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2f0]
or edx, dword [ebp - 0x2ec]
jne 0x1000d31c
mov dword [ebp - 0x10c], 1
jmp 0x1000d326
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x94], 0
jne 0x1000d3bf
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
sub ecx, 1
sbb edx, 0
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x50]
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
mov ecx, dword [0x100cd0c8]
sub ecx, 1
mov dword [0x100cd0c8], ecx
cmp dword [ebp - 0x4c], 0
jne 0x1000d388
mov dword [ebp - 0x110], 1
jmp 0x1000d392
mov dword [ebp - 0x110], 0
movsx edx, word [0x100cd108]
imul edx, dword [ebp - 0x110]
mov word [0x100cd0b8], dx
movsx eax, byte [0x100cd083]
imul eax, dword [0x100cd100]
mov byte [0x100cd083], al
jmp 0x1000f5b6
mov dword [ebp - 0xa8], 0x27b
movsx ecx, word [0x100cd0d8]
test ecx, ecx
jne 0x1000d3e0
mov dword [ebp - 0x114], 1
jmp 0x1000d3ea
mov dword [ebp - 0x114], 0
movzx edx, byte [0x100cd06e]
mov eax, dword [ebp - 0x114]
add eax, 0x36c0eba
imul edx, eax
test edx, edx
jne 0x1000d40f
mov dword [ebp - 0x118], 1
jmp 0x1000d419
mov dword [ebp - 0x118], 0
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100cd084]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100cd11c]
push ecx
mov edx, dword [0x100cd118]
push edx
call fcn.10099890
mov dword [0x100cd118], eax
mov dword [0x100cd11c], edx
mov eax, dword [ebp - 0x3c]
add eax, 0xd9
mov dword [0x100cd104], eax
movsx ecx, word [0x100cd110]
movzx edx, word [0x100cd10c]
add ecx, edx
movsx eax, word [0x100cd110]
xor eax, ecx
mov word [0x100cd110], ax
cmp dword [ebp - 0xa8], 0xbf
jle 0x1000d8b4
movsx ecx, byte [str.6BlockUpgradeIfDriv]
cmp ecx, dword [ebp - 0x7c]
jle 0x1000d49e
mov dword [ebp - 0x11c], 1
jmp 0x1000d4a8
mov dword [ebp - 0x11c], 0
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x1000d4c7
movsx eax, word [0x100cd0e8]
test eax, eax
jne 0x1000d4c7
mov dword [ebp - 0x120], 0
jmp 0x1000d4d1
mov dword [ebp - 0x120], 1
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x120]
jle 0x1000d4eb
mov dword [ebp - 0x124], 1
jmp 0x1000d4f5
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x124]
not edx
test edx, edx
je 0x1000d8a0
movzx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x2f8]
cmp eax, dword [ebp - 0x68]
jne 0x1000d52c
mov ecx, dword [ebp - 0x2f4]
cmp ecx, dword [ebp - 0x64]
je 0x1000d538
mov dword [ebp - 0x128], 1
jmp 0x1000d542
mov dword [ebp - 0x128], 0
movzx edx, word [ebp - 0x18]
cmp edx, 0x11
je 0x1000d557
mov dword [ebp - 0x12c], 1
jmp 0x1000d561
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x12c]
jl 0x1000d6cf
push 0xc7
mov ecx, dword [0x100cd090]
push ecx
call fcn.1005f940
add esp, 8
mov word [ebp - 0x18], ax
movzx edx, word [ebp - 0x18]
test edx, edx
jge 0x1000d59f
mov dword [ebp - 0x130], 1
jmp 0x1000d5a9
mov dword [ebp - 0x130], 0
movzx eax, word [ebp - 0x18]
cmp eax, 0x2c
jge 0x1000d5be
mov dword [ebp - 0x134], 1
jmp 0x1000d5c8
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebp - 0x134]
jle 0x1000d655
mov dword [0x100cd0a8], 0xc57d554e
movzx edx, word [ebp - 0x18]
add edx, 0x5b69
mov dword [0x100cd0f0], edx
imul eax, dword [0x100cd0ac], 0x8502
mov word [ebp - 0x20], ax
movsx ecx, word [0x100cd108]
mov edx, dword [ebp - 0x34]
or edx, ecx
mov eax, dword [0x100cd0e0]
xor eax, dword [ebp - 0x38]
sub edx, eax
jne 0x1000d61c
mov byte [ebp - 0x7f], 1
jmp 0x1000d620
mov byte [ebp - 0x7f], 0
mov cl, byte [ebp - 0x7f]
mov byte [ebp - 0x13], cl
movzx edx, word [ebp - 0x30]
mov eax, dword [0x100cd084]
sub eax, edx
mov ecx, dword [0x100cd084]
sub ecx, eax
mov dword [0x100cd084], ecx
mov edx, dword [0x100cd0d0]
xor edx, 0x99ca0340
mov eax, dword [ebp - 0x48]
add eax, edx
mov dword [ebp - 0x48], eax
jmp 0x1000d6ca
movsx ecx, word [0x100cd108]
xor ecx, 0xf5
mov word [0x100cd0dc], cx
movzx edx, byte [ebp - 0x12]
shl edx, 5
mov dword [0x100cd0a8], edx
mov eax, dword [0x100cd0f0]
add eax, dword [ebp - 0x68]
mov ecx, dword [0x100cd0f0]
add ecx, eax
mov dword [0x100cd0f0], ecx
movzx edx, word [ebp - 0x20]
test edx, edx
je 0x1000d6a3
movsx eax, byte [str.6BlockUpgradeIfDriv]
mov dword [ebp - 0x138], eax
jmp 0x1000d6af
mov ecx, dword [0x100cd0e4]
mov dword [ebp - 0x138], ecx
mov dl, byte [ebp - 0x138]
mov byte [0x100cd07f], dl
movzx eax, word [ebp - 0x20]
add eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
jmp 0x1000d8a0
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x1000d6dd
cmp dword [ebp - 0x70], 0
jne 0x1000d73b
movzx ax, byte [ebp - 0x12]
mov ecx, 2
imul edx, ecx, 0xad
mov word [edx + 0x10118388], ax
movsx eax, word [0x100cd0e8]
mov ecx, dword [ebp - 0x6c]
not ecx
and eax, ecx
imul edx, dword [ebp - 0x38], 0x66f9
add eax, edx
mov byte [0x100cd083], al
movzx eax, byte [ebp - 0x13]
mov ecx, dword [0x100cd0c8]
sub ecx, eax
mov dword [0x100cd0c8], ecx
imul edx, dword [ebp - 0x48], 0x655d
xor eax, eax
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
jmp 0x1000d8a0
cmp dword [ebp - 0x6c], 0
jne 0x1000d74d
mov dword [ebp - 0x13c], 1
jmp 0x1000d757
mov dword [ebp - 0x13c], 0
mov eax, dword [0x100cd0c8]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x304], esi
mov edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x304]
jl 0x1000d7a5
jg 0x1000d799
mov eax, dword [ebp - 0x300]
cmp eax, dword [ebp - 0x308]
jb 0x1000d7a5
mov dword [ebp - 0x140], 1
jmp 0x1000d7af
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0x140]
jle 0x1000d828
movsx eax, word [0x100cd098]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
movsx eax, word [0x100cd098]
cdq
or eax, ecx
mov word [0x100cd098], ax
mov edx, dword [ebp - 0x70]
add edx, 0x7bb8
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 0x12]
mov ecx, dword [ebp - 0x28]
xor eax, ecx
cdq
mov edx, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
mov dword [ebp - 0x414], ecx
add eax, edx
mov word [ebp - 0x18], ax
movsx edx, word [0x100cd098]
imul eax, edx, 0x6e0a46f0
mov byte [0x100cd027], al
jmp 0x1000d8a0
movsx ecx, word [0x100cd098]
cmp dword [ebp - 0x7c], ecx
jne 0x1000d8a0
mov edx, dword [0x100cd104]
add edx, 0x6fce9c26
mov eax, dword [ebp - 0x48]
imul eax, edx
mov dword [ebp - 0x48], eax
mov ecx, 3
mov word [0x100cd0b8], cx
movzx edx, word [0x100cd094]
imul eax, edx, 0x43c3e74b
mov ecx, dword [0x100cd0e4]
or ecx, eax
mov dword [0x100cd0e4], ecx
movsx eax, byte [0x100cd096]
add eax, 0xff11
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
movzx edx, byte [0x100cd027]
mov eax, 4
imul ecx, eax, 0x24b4
mov dword [ecx + 0x10446f78], edx
mov edx, dword [ebp - 0xa8]
sub edx, 1
mov dword [ebp - 0xa8], edx
jmp 0x1000d476
mov dword [ebp - 0x8c], 0
mov eax, dword [0x100cd0b4]
cmp eax, dword [0x100cd0fc]
jb 0x1000d8e7
ja 0x1000d8db
mov ecx, dword [0x100cd0b0]
cmp ecx, dword [0x100cd0f8]
jbe 0x1000d8e7
mov dword [ebp - 0x144], 1
jmp 0x1000d8f1
mov dword [ebp - 0x144], 0
cmp dword [0x100cd0b4], 0
ja 0x1000d903
cmp dword [0x100cd0b0], 0x15
jbe 0x1000d90f
mov dword [ebp - 0x148], 1
jmp 0x1000d919
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x148]
jg 0x1000dd47
movsx eax, byte [0x100cd047]
cmp eax, dword [ebp - 0x58]
jge 0x1000dc42
movsx ecx, word [0x100cd108]
cmp dword [0x100cd0f0], ecx
jb 0x1000db4f
cmp dword [ebp - 0x54], 0
je 0x1000d997
movzx edx, byte [ebp - 0x13]
test edx, edx
je 0x1000d992
movsx eax, byte [0x100cd083]
imul eax, dword [0x100cd0a8]
mov dword [0x100cd100], eax
mov byte [str.6BlockUpgradeIfDriv], 0xf5
mov ecx, dword [0x100cd090]
shl ecx, 3
mov dword [0x100cd0e4], ecx
movzx edx, byte [ebp - 0x12]
and edx, 0xa4cc
mov dword [ebp - 0x58], edx
jmp 0x1000db4a
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x310]
jne 0x1000db4a
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x30c]
jne 0x1000db4a
mov ecx, dword [0x100cd104]
not ecx
mov dword [ebp - 0x50], ecx
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x1000d9e5
mov dword [ebp - 0x14c], 1
jmp 0x1000d9ef
mov dword [ebp - 0x14c], 0
movzx eax, word [0x100cd0b8]
mov ecx, dword [ebp - 0x4c]
xor ecx, dword [ebp - 0x14c]
add eax, ecx
movsx edx, byte [str.6BlockUpgradeIfDriv]
movsx ecx, word [0x100cd098]
add edx, ecx
sub eax, edx
mov dword [ebp - 0x54], eax
movzx edx, word [0x100cd094]
movsx eax, byte [str.6BlockUpgradeIfDriv]
imul eax, dword [0x100cd0e0]
sub edx, eax
jne 0x1000da3b
mov dword [ebp - 0x158], 1
jmp 0x1000da45
mov dword [ebp - 0x158], 0
movzx ecx, byte [ebp - 0x12]
sub ecx, dword [ebp - 0x3c]
jne 0x1000da5a
mov dword [ebp - 0x150], 1
jmp 0x1000da64
mov dword [ebp - 0x150], 0
movzx edx, word [0x100cd10c]
movsx eax, word [ebp - 0x24]
add edx, eax
jne 0x1000da7f
mov dword [ebp - 0x154], 1
jmp 0x1000da89
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x150]
sub ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0x158]
mov word [0x100cd098], cx
movsx eax, word [ebp - 0x24]
cdq
mov esi, eax
mov edi, edx
push 0
push 0x5a06
mov edx, dword [0x100cd0b4]
push edx
mov eax, dword [0x100cd0b0]
push eax
call fcn.10099890
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x314], edi
mov ecx, dword [ebp - 0x318]
or ecx, dword [ebp - 0x314]
jne 0x1000daee
mov dword [ebp - 0x15c], 1
jmp 0x1000daf8
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x6c]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movzx edx, byte [0x100cd07f]
sar edx, 3
mov dword [0x100cd0a8], edx
jmp 0x1000dc3d
movsx eax, byte [0x100cd06f]
cmp eax, 0x15
jge 0x1000db67
mov dword [ebp - 0x160], 1
jmp 0x1000db71
mov dword [ebp - 0x160], 0
cmp dword [ebp - 0x160], 0x5950
jl 0x1000dc3d
mov ecx, 4
imul edx, ecx, 0x1c9d
mov ax, word [edx + 0x10225518]
mov word [0x100cd10c], ax
mov eax, dword [ebp - 0x28]
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
movsx ecx, word [0x100cd108]
not ecx
imul ecx, dword [ebp - 0x38]
test ecx, ecx
jne 0x1000dbcd
xor edx, edx
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], edx
jmp 0x1000dbd8
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov ecx, dword [0x100cd0a8]
movzx eax, word [0x100cd094]
cdq
mov edx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x418], esi
add edx, eax
mov eax, dword [ebp - 0x320]
sub eax, edx
add ecx, eax
mov byte [0x100cd027], cl
movsx eax, word [0x100cd0ec]
cdq
mov ecx, dword [0x100cd0b0]
sub ecx, eax
mov eax, dword [0x100cd0b4]
sbb eax, edx
add ecx, dword [0x100cd0b0]
adc eax, dword [0x100cd0b4]
mov dword [0x100cd0b0], ecx
mov dword [0x100cd0b4], eax
mov cx, word [ebp - 0x78]
mov word [0x100cd0dc], cx
jmp 0x1000dd45
xor edx, edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
sub eax, dword [0x100cd0e4]
sbb ecx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
cmp dword [ebp - 0x70], 0
jne 0x1000dc6a
mov dword [ebp - 0x164], 1
jmp 0x1000dc74
mov dword [ebp - 0x164], 0
mov ecx, dword [0x100cd0d0]
not ecx
mov esi, dword [0x100cd0d4]
not esi
movsx eax, word [0x100cd098]
cdq
add ecx, eax
adc esi, edx
movzx edx, byte [0x100cd07f]
mov eax, dword [ebp - 0x164]
sub eax, edx
not eax
movzx edx, byte [0x100cd06e]
imul eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movsx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 0x30]
add eax, ecx
mov dword [ebp - 0x3c], eax
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x11]
imul edx, eax
test edx, edx
jne 0x1000dcf0
xor ecx, ecx
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x32c], ecx
jmp 0x1000dcfb
xorps xmm0, xmm0
movlpd qword [ebp - 0x330], xmm0
movzx eax, word [ebp - 0x30]
cdq
or eax, 0xf555c006
add eax, dword [ebp - 0x330]
mov byte [ebp - 0x12], al
mov eax, dword [0x100cd0ac]
cdq
push 0xfcfe2
push 0xe54773fd
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
push 0
push 0x62a99697
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x78]
push eax
call fcn.10099890
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
jmp 0x1000dda2
mov dword [ebp - 0x50], 0x5f8152d5
mov ecx, dword [0x100cd0a0]
and ecx, 0xff
mov word [ebp - 0x18], cx
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x11], dl
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x100cdb38]
mov dword [0x100cd0a8], ecx
movsx eax, word [0x100cd098]
cdq
add eax, 0x24e591f1
mov word [0x100cd108], ax
mov dword [ebp - 0x1e4], 0
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x1000deec
cmp dword [ebp - 0x6c], 0
je 0x1000de21
movzx eax, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x34]
add ecx, eax
mov edx, dword [ebp - 0x34]
sub edx, ecx
mov dword [ebp - 0x34], edx
movsx eax, byte [0x100cd083]
sub eax, 0x6f
mov ecx, dword [ebp - 0x28]
imul ecx, eax
mov dword [ebp - 0x28], ecx
movsx edx, word [0x100cd098]
add edx, 0xc1
mov byte [ebp - 0x13], dl
movzx eax, word [ebp - 0x30]
cdq
sub eax, 0x3c8e6003
sbb edx, 0x90082
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
mov eax, dword [0x100cd090]
add eax, 0x15de8268
mov byte [0x100cd06f], al
jmp 0x1000deec
movzx eax, byte [0x100cd082]
cdq
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], edx
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x334]
jb 0x1000de59
ja 0x1000de4d
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x338]
jbe 0x1000de59
mov dword [ebp - 0x168], 1
jmp 0x1000de63
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
not eax
test eax, eax
je 0x1000deec
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x41c], edx
sub ecx, 0x3fc65701
mov word [0x100cd110], cx
mov eax, 0xffff9c10
mov word [0x100cd110], ax
movsx ecx, word [0x100cd0d8]
movzx edx, word [ebp - 0x18]
sub ecx, edx
mov word [0x100cd0d8], cx
mov byte [0x100cd027], 4
mov eax, dword [0x100cd0ac]
add eax, 0x53
cdq
mov esi, eax
mov eax, dword [0x100cd0e0]
xor ecx, ecx
push ecx
push eax
mov edx, dword [0x100cd0a4]
push edx
mov eax, dword [0x100cd0a0]
push eax
call fcn.10099890
mov ecx, eax
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x38]
not eax
cdq
sub ecx, eax
not ecx
sub esi, ecx
mov word [0x100cd10c], si
mov edx, 1
test edx, edx
je 0x1000f535
movzx eax, byte [0x100cd027]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x420], eax
or ecx, edx
not ecx
movzx eax, byte [0x100cd082]
movzx edx, word [0x100cd094]
sub eax, edx
cdq
sub ecx, eax
mov dword [0x100cd0c8], ecx
mov eax, dword [ebp - 0x28]
add eax, 0xd1a695f
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x424], edx
sub ecx, 0xd834
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x38]
sub eax, 0x6fce
mov word [ebp - 0x20], ax
movzx ecx, word [0x100cd10c]
imul eax, ecx, 0x67a8
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov edx, dword [0x100cdb38]
xor eax, eax
mov dword [0x100cd0a0], edx
mov dword [0x100cd0a4], eax
call dword [sym.imp.USER32.dll_AnyPopup]
mov dword [0x100cd0ac], eax
push 0x1000
push 0
lea ecx, [ebp - 0x14fc]
push ecx
call fcn.1009ac30
add esp, 0xc
mov ecx, 9
mov esi, str.Errordeserializing
lea edi, [ebp - 0x4ac]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x4ac]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100cd110], ax
mov dword [ebp - 0x84], 0
movsx eax, byte [0x100cd06f]
not eax
mov ecx, dword [0x100cd0a8]
sub ecx, eax
xor edx, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], edx
movzx eax, word [ebp - 0x30]
test eax, eax
je 0x1000e012
mov ecx, dword [0x100cd0b0]
mov edx, dword [0x100cd0b4]
mov dword [ebp - 0x2d0], ecx
mov dword [ebp - 0x2cc], edx
jmp 0x1000e023
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], ecx
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x54], edx
xor eax, eax
mov dword [0x100cd0d0], 0xa7
mov dword [0x100cd0d4], eax
mov ecx, dword [0x100cd100]
imul ecx, dword [0x100cd100]
mov dword [0x100cd100], ecx
mov dx, word [0x100cd084]
mov word [0x100cd0e8], dx
movzx eax, byte [0x100cd027]
cdq
mov ecx, dword [ebp - 0x68]
not ecx
sub eax, ecx
mov byte [0x100cd06f], al
lea edx, [ebp - 0x84]
push edx
push 0x1000
lea eax, [ebp - 0x14fc]
push eax
mov ecx, dword [ebp - 0x94]
push ecx
push 0
push 0
call fcn.100014e0
add esp, 8
call eax
test eax, eax
jne 0x1000e0c7
mov ecx, 9
mov esi, str.CantfindLIBRARYta
lea edi, [ebp - 0x4d4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0x4d4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x58], eax
jmp 0x1000f535
mov byte [str.6BlockUpgradeIfDriv], 0xfb
mov eax, dword [0x100cd0e0]
and eax, 0x4a5b3ac6
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x54]
add ecx, 0x4ccc00a8
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x100cd06f]
imul edx, dword [ebp - 0x34]
movsx eax, byte [0x100cd06f]
sub eax, edx
mov byte [0x100cd06f], al
cmp dword [ebp - 0x84], 0
jne 0x1000e38b
movsx ecx, word [0x100cd0dc]
imul edx, ecx, 0xcedb
mov byte [0x100cd096], dl
imul eax, dword [ebp - 0x28], 0xc1
mov byte [0x100cd026], al
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [0x100cd0f8]
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
sub ecx, eax
movzx eax, word [0x100cd094]
movzx edx, byte [ebp - 0x12]
movzx esi, byte [ebp - 0x11]
imul edx, esi
not edx
sub eax, edx
not eax
cdq
sub ecx, eax
mov dword [ebp - 0x28], ecx
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x18]
add eax, ecx
mov word [0x100cd110], ax
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0x36d59448
mov dword [0x100cd0f0], eax
push 0
push 0x88
push 0
push 0x33
push 0x1a
movzx edx, byte [0x100cd0b0]
push edx
call fcn.1005b9d0
add esp, 0x18
movzx eax, al
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x1000e221
push 0
push 0x4c
call fcn.1005f940
add esp, 8
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x1000e21c
mov dword [ebp - 0x54], 0x84d0
mov edx, dword [ebp - 0x28]
sub edx, dword [ebp - 0x6c]
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 0x11]
add eax, 0x29ce2410
mov dword [0x100cd0a8], eax
movzx ecx, byte [ebp - 0x11]
imul edx, ecx, 0xc1
mov dword [ebp - 0x34], edx
movsx eax, word [0x100cd0ec]
test eax, eax
je 0x1000e202
movzx ecx, byte [0x100cd082]
mov dword [ebp - 0x16c], ecx
jmp 0x1000e20f
movsx edx, word [0x100cd098]
mov dword [ebp - 0x16c], edx
mov eax, dword [ebp - 0x16c]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x1000e2d8
mov eax, dword [0x100cd090]
or eax, dword [0x100cd0f0]
jne 0x1000e242
xor ecx, ecx
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], ecx
jmp 0x1000e24d
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
mov eax, dword [0x100cd0c8]
cdq
push edx
push eax
mov edx, dword [0x100cd0fc]
push edx
mov eax, dword [0x100cd0f8]
push eax
call fcn.10099890
add eax, dword [ebp - 0x340]
mov dword [ebp - 0x54], eax
movzx ecx, word [0x100cd10c]
test ecx, ecx
jne 0x1000e287
mov dword [ebp - 0x170], 1
jmp 0x1000e291
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x170]
and edx, dword [ebp - 0x50]
movzx eax, word [ebp - 0x2c]
and edx, eax
movsx ecx, word [0x100cd0e8]
add edx, ecx
mov dword [ebp - 0x7c], edx
movzx edx, word [ebp - 0x2c]
sub edx, dword [0x100cd0ac]
movzx eax, byte [0x100cd06e]
mov ecx, dword [ebp - 0x28]
add ecx, eax
imul edx, ecx
mov dword [ebp - 0x6c], edx
movsx edx, word [ebp - 0x24]
imul eax, edx, 0x8efb4747
mov word [0x100cd110], ax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x8c]
mov dword [ecx], edx
mov dword [ebp - 0x58], 0xc90d
cmp dword [ebp - 0x28], 0
jne 0x1000e304
xor eax, eax
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], eax
jmp 0x1000e30f
xorps xmm0, xmm0
movlpd qword [ebp - 0x348], xmm0
mov ecx, dword [0x100cd0f8]
xor ecx, dword [ebp - 0x348]
mov word [ebp - 0x18], cx
mov edx, dword [0x100cd0d0]
or edx, dword [0x100cd0d4]
jne 0x1000e339
mov dword [ebp - 0x174], 1
jmp 0x1000e343
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x50]
xor eax, dword [ebp - 0x174]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x70]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x48]
mov eax, 1
imul ecx, eax, 0x68f
mov byte [ecx + 0x103dba78], dl
imul edx, dword [0x100cd0ac], 0xf5
mov byte [0x100cd026], dl
mov dword [ebp - 0x1e4], 1
jmp 0x1000f535
mov dword [ebp - 0xac], 0
jmp 0x1000e3a6
mov eax, dword [ebp - 0xac]
add eax, 1
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x182
jge 0x1000e52d
movzx ecx, byte [0x100cd0ec]
push ecx
movzx edx, byte [0x100cd082]
push edx
push 0xe1
push 0xcd
push 0x8b
push 0
call fcn.1005b9d0
add esp, 0x18
movzx eax, al
mov dword [0x100cd104], eax
movzx ecx, word [ebp - 0x18]
test ecx, ecx
je 0x1000e4c5
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x1000e486
movzx eax, byte [ebp - 0x11]
movsx ecx, word [0x100cd110]
imul eax, ecx
movzx edx, byte [ebp - 0x11]
add edx, eax
mov byte [ebp - 0x11], dl
movzx eax, word [ebp - 0x20]
imul ecx, eax, 0x36
mov word [ebp - 0x2c], cx
imul edx, dword [0x100cd0a8], 0x268e
mov eax, dword [0x100cd0a8]
sub eax, edx
mov dword [0x100cd0a8], eax
movsx ecx, byte [str.6BlockUpgradeIfDriv]
sub ecx, dword [ebp - 0x70]
movsx edx, byte [str.6BlockUpgradeIfDriv]
add edx, ecx
mov byte [str.6BlockUpgradeIfDriv], dl
movsx eax, word [0x100cd0dc]
movzx ecx, word [ebp - 0x2c]
add eax, ecx
not eax
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
jmp 0x1000e4c3
movsx ecx, word [ebp - 0x1c]
sub ecx, 0xf5
mov word [0x100cd098], cx
mov dword [0x100cd0e0], 4
movzx edx, word [0x100cd094]
mov eax, dword [ebp - 0x3c]
imul eax, edx
mov ecx, dword [ebp - 0x3c]
imul ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, 0xb041
mov word [0x100cd0b8], dx
jmp 0x1000e51c
cmp dword [0x100cd0e0], 0
je 0x1000e51c
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
movsx eax, word [0x100cd0dc]
shl eax, 3
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movsx ecx, word [0x100cd108]
add ecx, 0x595e6402
movsx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
mov ax, word [ebp - 0x18]
add ax, 1
mov word [ebp - 0x18], ax
movzx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x2e27
mov word [0x100cd108], dx
mov al, byte [0x100cd06e]
add al, 1
mov byte [0x100cd06e], al
jmp 0x1000e397
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x1000e89d
mov edx, dword [0x100cd100]
imul edx, dword [ebp - 0x58]
mov dword [0x100cd100], edx
movsx eax, word [0x100cd0e8]
imul ecx, eax, 0x2b
mov dword [ebp - 0x50], ecx
mov edx, dword [0x100cd0e4]
sub edx, 0x43
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, 1
imul edx, ecx, 0x260
mov al, byte [0x100cd082]
mov byte [edx + 0x102f9f80], al
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
sub ecx, 0xcc17caad
sbb edx, 0x3244e
add ecx, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movsx eax, word [0x100cd110]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
mov word [0x100cd110], ax
movsx ecx, word [0x100cd110]
test ecx, ecx
jg 0x1000e5cc
mov dword [ebp - 0x178], 1
jmp 0x1000e5d6
mov dword [ebp - 0x178], 0
movsx edx, word [0x100cd110]
cmp edx, 0x51
jg 0x1000e5ee
mov dword [ebp - 0x17c], 1
jmp 0x1000e5f8
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x178]
cmp eax, dword [ebp - 0x17c]
jg 0x1000e74e
mov ecx, dword [0x100cd090]
cmp dword [ebp - 0x34], ecx
jb 0x1000e64a
mov edx, 2
shl edx, 4
movzx eax, word [edx + 0x1045f6c8]
mov dword [ebp - 0x50], eax
mov dword [0x100cd0ac], 4
mov ecx, dword [0x100cd090]
and ecx, 0x24cb30eb
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
jmp 0x1000e74e
movsx eax, word [0x100cd0e8]
test eax, eax
je 0x1000e6b9
mov eax, dword [0x100cd0c8]
cdq
mov ecx, 8
imul ecx, ecx, 0x47ed
mov dword [ecx + 0x102fd878], eax
mov dword [ecx + 0x102fd87c], edx
movzx edx, byte [ebp - 0x11]
mov eax, dword [0x100cd100]
sub eax, edx
mov dword [0x100cd100], eax
movzx eax, word [ebp - 0x18]
xor eax, 0xb483
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
imul ecx, dword [ebp - 0x58], 0xd87e9052
mov dword [ebp - 0x6c], ecx
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0x12]
xor edx, eax
movzx ecx, byte [ebp - 0x13]
sub ecx, edx
mov byte [ebp - 0x13], cl
jmp 0x1000e74e
mov edx, 0xffffffa9
test edx, edx
je 0x1000e74e
movsx eax, word [ebp - 0x24]
test eax, eax
jne 0x1000e6da
mov dword [ebp - 0x180], 1
jmp 0x1000e6e4
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x180]
or ecx, dword [0x100cd084]
movzx edx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x7c]
imul eax, edx
add ecx, eax
mov dword [ebp - 0x50], ecx
movzx ecx, byte [ebp - 0x12]
movzx edx, byte [0x100cd07f]
add ecx, edx
mov byte [ebp - 0x12], cl
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x78]
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100cd06e]
cdq
mov ecx, 8
imul ecx, ecx, 0x66
mov dword [ecx + 0x10419500], eax
mov dword [ecx + 0x10419504], edx
movsx edx, word [0x100cd108]
and edx, dword [ebp - 0x54]
movsx eax, word [0x100cd108]
imul eax, edx
mov word [0x100cd108], ax
mov ecx, dword [ebp - 0x84]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
movsx eax, word [0x100cd098]
imul ecx, eax, 0x381d
mov dword [ebp - 0x7c], ecx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0x428], eax
add edx, 0xf38a
mov byte [ebp - 0x12], dl
mov ecx, dword [0x100cd0e4]
add ecx, 1
mov dword [0x100cd0e4], ecx
mov ecx, dword [ebp - 0x58]
sub ecx, 0x1cf84f85
mov edx, dword [0x100cd0e4]
shr edx, cl
mov dword [0x100cd0e4], edx
mov dword [ebp - 0x38], 0x2dcb07b5
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x1000e898
mov ecx, dword [0x100cd118]
or ecx, dword [0x100cd11c]
je 0x1000e7e9
movzx edx, word [0x100cd0b8]
mov dword [ebp - 0x184], edx
jmp 0x1000e7f6
movsx eax, word [0x100cd0ec]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x42c], edx
xor ecx, 0x1f52dbe0
movsx eax, byte [0x100cd06f]
cdq
sub eax, ecx
mov byte [0x100cd06f], al
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x430], edx
add eax, ecx
add eax, dword [0x100cd0f8]
mov byte [0x100cd083], al
mov eax, dword [0x100cd104]
add eax, dword [ebp - 0x54]
mov dword [0x100cd104], eax
mov cl, byte [0x100cdb38]
mov byte [ebp - 0x13], cl
movzx edx, byte [0x100cd082]
test edx, edx
je 0x1000e87d
movsx eax, word [0x100cd110]
mov dword [ebp - 0x188], eax
jmp 0x1000e887
movzx ecx, word [ebp - 0x2c]
mov dword [ebp - 0x188], ecx
mov dl, byte [ebp - 0x188]
mov byte [0x100cd047], dl
jmp 0x1000f535
jmp 0x1000f1fc
imul eax, dword [ebp - 0x34], 0x3a
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov eax, dword [0x100cd090]
and eax, dword [ebp - 0x70]
mov ecx, dword [0x100cd090]
and ecx, eax
mov dword [0x100cd090], ecx
movzx edx, word [0x100cd094]
mov eax, dword [ebp - 0x3c]
imul eax, edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100cd100]
imul ecx, dword [ebp - 0x4c]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x100cd0d0]
sub edx, 0x84ca
mov byte [ebp - 0x12], dl
mov eax, dword [0x100cd118]
mov edx, dword [0x100cd11c]
mov cl, 6
call fcn.100998d0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
cmp dword [0x100cd104], 0
je 0x1000ec25
mov dword [ebp - 4], 0
movzx eax, byte [ebp - 0x12]
movsx ecx, word [0x100cd110]
cmp eax, ecx
jg 0x1000eb00
mov edx, dword [ebp - 0x6c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x1000eafe
movsx eax, word [ebp - 0x24]
add eax, 1
je 0x1000ea66
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push 0x92f43
push 0x11d60519
push edx
push ecx
call fcn.10099890
mov word [0x100cd0b8], ax
imul eax, dword [0x100cd0ac], 0xf902
test eax, eax
jne 0x1000e986
mov dword [ebp - 0x18c], 1
jmp 0x1000e990
mov dword [ebp - 0x18c], 0
mov ecx, dword [0x100cd0f8]
or ecx, dword [0x100cd0fc]
jne 0x1000e9aa
mov dword [ebp - 0x190], 1
jmp 0x1000e9b4
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x18c]
mov eax, dword [0x100cd090]
sub eax, dword [ebp - 0x190]
movsx ecx, byte [str.6BlockUpgradeIfDriv]
not ecx
sub ecx, dword [0x100cd100]
sub eax, ecx
sub edx, eax
mov dword [ebp - 0x3c], edx
movsx edx, word [0x100cd110]
test edx, edx
jne 0x1000e9fe
xor eax, eax
mov dword [ebp - 0x350], 1
mov dword [ebp - 0x34c], eax
jmp 0x1000ea09
xorps xmm0, xmm0
movlpd qword [ebp - 0x350], xmm0
movzx ecx, byte [0x100cd082]
sub ecx, dword [0x100cd0e4]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x434], eax
add edx, dword [ebp - 0x350]
add ecx, edx
mov byte [0x100cd06f], cl
movsx eax, byte [0x100cd047]
cdq
push 0xfe807
push 0xe0af2509
push edx
push eax
call fcn.10099890
mov byte [0x100cd027], al
movsx eax, byte [0x100cd06f]
cdq
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov byte [ebp - 0x13], cl
jmp 0x1000eafe
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
push 0xfd0b7
push 0x1fbb4149
push eax
push edx
call fcn.10099890
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x24]
cdq
push esi
push ecx
push edx
push eax
call fcn.10099890
mov word [ebp - 0x24], ax
mov edx, dword [ebp - 0x34]
mov dword [0x100cd104], edx
movsx eax, byte [0x100cd096]
cdq
mov ecx, 8
imul ecx, ecx, 0x43d3
mov dword [ecx + 0x10419d18], eax
mov dword [ecx + 0x10419d1c], edx
movsx edx, word [0x100cd0ec]
not edx
add edx, dword [ebp - 0x48]
jne 0x1000eae8
mov byte [ebp - 0x7d], 1
jmp 0x1000eaec
mov byte [ebp - 0x7d], 0
mov al, byte [ebp - 0x7d]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x28]
not ecx
mov word [0x100cd0d8], cx
jmp 0x1000eb66
movsx edx, byte [0x100cd06f]
not edx
mov dword [ebp - 0x4c], edx
movzx eax, word [ebp - 0x18]
sub eax, 0x8f2a
mov word [0x100cd0ec], ax
mov ecx, dword [0x100cd0a8]
imul ecx, dword [ebp - 0x3c]
movzx edx, word [ebp - 0x18]
imul edx, dword [ebp - 0x48]
xor ecx, edx
mov dword [ebp - 0x4c], ecx
movzx eax, byte [0x100cd082]
add eax, 0x153c
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x28]
add eax, 0x2a81
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx edx, word [0x100cd108]
imul edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x38]
mov dword [ebp - 0x38], edx
jmp 0x1000ec10
mov dword [ebp - 4], 0xffffffff
jmp 0x1000ec20
jmp 0x1000edc7
mov edx, 0xd473
test edx, edx
je 0x1000ec97
mov eax, dword [0x100cd0a8]
sub eax, 0x266ef6c2
mov dword [ebp - 0x28], eax
imul ecx, dword [ebp - 0x38], 0x74
mov dword [ebp - 0x7c], ecx
movsx edx, byte [0x100cd096]
imul eax, edx, 0x4a084bf0
mov word [0x100cd108], ax
movsx ecx, word [0x100cd108]
test ecx, ecx
je 0x1000ec6f
movzx edx, word [0x100cd10c]
mov dword [ebp - 0x19c], edx
jmp 0x1000ec79
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x70], ecx
movsx edx, word [0x100cd0e8]
xor edx, 0x81
mov dword [ebp - 0x48], edx
jmp 0x1000edc7
movsx eax, byte [0x100cd06f]
not eax
test eax, eax
je 0x1000ed31
mov dword [ebp - 0x4c], 2
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0xe03d
push edx
push ecx
call fcn.10099890
mov byte [ebp - 0x13], al
movsx eax, byte [0x100cd06f]
cdq
push 0xd16a3
push 0xb1c1630a
push edx
push eax
call fcn.10099890
mov byte [0x100cd06f], al
cmp dword [0x100cd100], 0
je 0x1000ed06
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], ecx
jmp 0x1000ed18
mov eax, dword [0x100cd0c8]
cdq
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], edx
mov dl, byte [ebp - 0x2c0]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x12]
imul eax, dword [ebp - 0x58]
mov byte [ebp - 0x12], al
jmp 0x1000edc7
movsx ecx, word [0x100cd0e8]
test ecx, ecx
je 0x1000edc7
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x438], eax
xor edx, 0x1d
mov dword [ebp - 0x6c], edx
imul ecx, dword [ebp - 0x3c], 0x2bec9cf8
movzx edx, word [ebp - 0x18]
imul edx, ecx
mov word [ebp - 0x18], dx
movsx eax, word [ebp - 0x24]
sub eax, 0x1f43be1d
mov ecx, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x28], ecx
mov edx, dword [0x100cd104]
add edx, 1
mov dword [0x100cd104], edx
cmp dword [ebp - 0x28], 0
je 0x1000ed9c
mov eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
jmp 0x1000edae
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], ecx
mov dl, byte [ebp - 0x2b8]
mov byte [0x100cd082], dl
mov eax, dword [0x100cdb38]
xor ecx, ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x8c]
add edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov dword [0x100cd0a8], 3
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
add eax, 0x58be
adc ecx, 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
xor edx, edx
mov dword [ebp - 0x44], 0x6beb
mov dword [ebp - 0x40], edx
mov eax, dword [0x100cd100]
mov dword [ebp - 0x34], eax
movsx eax, word [0x100cd0dc]
cdq
push 0x402c
push 0x82237f60
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x12], al
movsx eax, word [0x100cd108]
sub eax, 0xdf
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
or ecx, eax
or esi, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], esi
mov dword [ebp - 0x34], 4
mov edx, dword [0x100cd0a8]
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 3
ja case.default.0x1000ee90
mov eax, dword [ebp - 0x1a0]
jmp dword [eax*4 + 0x10010b4c]
movsx ecx, word [ebp - 0x24]
sub ecx, 0xb89e
mov word [0x100cd110], cx
mov byte [0x100cd06f], 0xd9
mov dl, byte [0x100cdb38]
mov byte [0x100cd083], dl
movzx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
add ecx, dword [0x100cd0d0]
movsx eax, word [0x100cd0dc]
movzx edx, byte [0x100cd027]
not edx
sub eax, edx
cdq
xor ecx, eax
mov dword [0x100cd090], ecx
mov eax, 8
imul ecx, eax, 3
movzx eax, word [ebp - 0x20]
cdq
or eax, dword [ecx + 0x10419500]
mov word [ebp - 0x20], ax
jmp case.default.0x1000ee90
mov edx, dword [ebp - 0x4c]
add edx, 0xc38a
mov word [0x100cd0dc], dx
movsx eax, byte [0x100cd083]
movzx ecx, byte [ebp - 0x13]
sub eax, ecx
movsx edx, byte [0x100cd083]
imul edx, eax
mov byte [0x100cd083], dl
mov ax, word [0x100cdb38]
mov word [0x100cd108], ax
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x460], edx
xor eax, ecx
mov dword [ebp - 0x54], eax
movzx eax, word [ebp - 0x30]
shl eax, 5
mov dword [ebp - 0x34], eax
jmp case.default.0x1000ee90
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x68]
sub ecx, eax
mov eax, dword [ebp - 0x64]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.10099890
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx eax, word [0x100cd108]
cdq
sub eax, dword [0x100cd0d0]
sbb edx, dword [0x100cd0d4]
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
mov eax, dword [0x100cd0f8]
add eax, 0x41f77503
mov ecx, dword [0x100cd0fc]
adc ecx, 0x79992
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], ecx
movzx eax, word [0x100cd0b8]
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
sub ecx, eax
sbb esi, edx
mov dword [0x100cd0c0], ecx
mov dword [0x100cd0c4], esi
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
movzx ecx, word [0x100cd0b8]
movsx edx, word [0x100cd0dc]
imul ecx, edx
mov word [0x100cd0b8], cx
jmp case.default.0x1000ee90
movzx eax, word [0x100cd094]
shl eax, 5
mov dword [ebp - 0x3c], eax
movsx ecx, byte [0x100cd047]
test ecx, ecx
jne 0x1000f037
mov dword [ebp - 0x1a4], 1
jmp 0x1000f041
mov dword [ebp - 0x1a4], 0
movzx eax, byte [ebp - 0x13]
movsx edx, byte [0x100cd096]
sub eax, edx
movsx ecx, word [0x100cd0d8]
imul ecx, dword [ebp - 0x1a4]
not ecx
sub eax, ecx
not eax
cdq
add eax, dword [ebp - 0x68]
mov byte [0x100cd096], al
mov dword [ebp - 0x38], 0x929ebfb6
movsx edx, word [0x100cd0d8]
mov eax, dword [0x100cd0e0]
not eax
and edx, eax
mov byte [ebp - 0x11], dl
movsx ecx, word [0x100cd098]
and ecx, dword [0x100cd0e0]
add ecx, dword [0x100cd0e0]
mov dword [0x100cd0e0], ecx
mov edx, dword [ebp - 0x50]
sub edx, dword [ebp - 0x70]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x1000f1fc
mov dword [ebp - 4], 2
mov ecx, dword [0x100cd090]
add ecx, dword [0x100cd0e4]
mov edx, dword [0x100cd090]
add edx, ecx
mov dword [0x100cd090], edx
mov dword [ebp - 0x38], 0xfc59
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x358]
or edx, dword [ebp - 0x354]
jne 0x1000f10c
mov dword [ebp - 0x1a8], 1
jmp 0x1000f116
mov dword [ebp - 0x1a8], 0
movsx eax, word [0x100cd0dc]
cdq
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x45c], edx
add ecx, eax
not ecx
mov eax, dword [ebp - 0x1a8]
add eax, dword [ebp - 0x58]
cdq
sub ecx, eax
mov dword [0x100cd0c8], ecx
movzx eax, word [0x100cd0b8]
test eax, eax
je 0x1000f15f
mov ecx, dword [0x100cd0e4]
mov dword [ebp - 0x1ac], ecx
jmp 0x1000f169
movzx edx, word [ebp - 0x30]
mov dword [ebp - 0x1ac], edx
mov ax, word [ebp - 0x1ac]
mov word [0x100cd110], ax
movzx ecx, word [ebp - 0x20]
sub ecx, 0x5f
mov word [0x100cd0ec], cx
jmp 0x1000f1e7
mov dword [ebp - 4], 0xffffffff
jmp 0x1000f1f7
jmp 0x1000f535
push 0
call fcn.1005de10
add esp, 4
mov word [0x100cd0d8], ax
movsx edx, word [0x100cd0d8]
test edx, edx
jle 0x1000f223
mov dword [ebp - 0x1b4], 1
jmp 0x1000f22d
mov dword [ebp - 0x1b4], 0
movsx eax, word [0x100cd0d8]
cmp eax, 0x22
jle 0x1000f245
mov dword [ebp - 0x1b8], 1
jmp 0x1000f24f
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [ebp - 0x1b8]
jl 0x1000f27f
jmp 0x1000f273
jmp 0x1000f27f
mov edx, dword [ebp - 0x84]
push edx
lea eax, [ebp - 0x14fc]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x8c]
push edx
call fcn.1009a6b0
add esp, 0xc
movzx eax, byte [ebp - 0x18]
push eax
movzx ecx, byte [0x100cd026]
push ecx
call fcn.1005fe20
add esp, 8
movsx edx, al
mov dword [0x100cd0c8], edx
mov eax, dword [0x100cd100]
not eax
movzx ecx, word [0x100cd0b8]
cmp eax, ecx
jle 0x1000f2dd
mov dword [ebp - 0x1bc], 1
jmp 0x1000f2e7
mov dword [ebp - 0x1bc], 0
mov edx, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edx
ja 0x1000f2fb
mov dword [ebp - 0x1c0], 1
jmp 0x1000f305
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [ebp - 0x1c0]
jle 0x1000f31f
mov dword [ebp - 0x1c8], 1
jmp 0x1000f329
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov eax, dword [0x100cd100]
cdq
mov dword [ebp - 0x360], ecx
mov dword [ebp - 0x35c], esi
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], edx
mov edx, dword [ebp - 0x35c]
cmp edx, dword [ebp - 0x364]
jl 0x1000f377
jg 0x1000f36b
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x368]
jb 0x1000f377
mov dword [ebp - 0x1c4], 1
jmp 0x1000f381
mov dword [ebp - 0x1c4], 0
cmp dword [ebp - 0x1c4], 0x3938312f
jae 0x1000f399
mov dword [ebp - 0x1cc], 1
jmp 0x1000f3a3
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
je 0x1000f424
movzx edx, byte [0x100cd06e]
sub edx, 0x605a
mov dword [ebp - 0x70], edx
movsx eax, word [0x100cd0d8]
sub eax, 0x6d
mov byte [0x100cd047], al
movzx ecx, word [0x100cd094]
test ecx, ecx
je 0x1000f3e6
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x1d0], edx
jmp 0x1000f3f3
movzx eax, byte [0x100cd027]
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x6c], ecx
mov edx, dword [0x100cd0c8]
add edx, 0x756fe70c
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x70]
add eax, 0x45127a3c
and eax, dword [0x100cd0e0]
mov dword [0x100cd0e0], eax
jmp 0x1000f51e
mov ecx, 0xf29ea863
or ecx, 0x4c7fc
je 0x1000f51e
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x1000f449
mov dword [ebp - 0x1d4], 1
jmp 0x1000f453
mov dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x1d4]
mov byte [0x100cd082], al
movzx eax, byte [0x100cd027]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
movzx eax, byte [0x100cd027]
cdq
add eax, ecx
mov byte [0x100cd027], al
movzx edx, byte [0x100cd06e]
test edx, edx
je 0x1000f4aa
movzx eax, word [0x100cd094]
mov dword [ebp - 0x1d8], eax
jmp 0x1000f4b4
movzx ecx, byte [ebp - 0x11]
mov dword [ebp - 0x1d8], ecx
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x34], edx
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1000f4d1
mov dword [ebp - 0x1dc], 1
jmp 0x1000f4db
mov dword [ebp - 0x1dc], 0
movzx ecx, word [ebp - 0x18]
not ecx
mov edx, dword [ebp - 0x3c]
sub edx, ecx
not edx
mov eax, dword [0x100cd0e0]
not eax
sub edx, eax
movzx ecx, byte [ebp - 0x12]
imul ecx, dword [ebp - 0x1dc]
sub edx, ecx
mov dword [ebp - 0x28], edx
movsx edx, byte [0x100cd06f]
add edx, 0x5d
mov dword [ebp - 0x38], edx
mov eax, dword [0x100cd118]
add eax, 0x29ce
mov word [0x100cd108], ax
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x84]
mov dword [ebp - 0x8c], ecx
jmp 0x1000deec
cmp dword [ebp - 0x48], 0
je 0x1000f54a
movsx edx, word [0x100cd110]
mov dword [ebp - 0x1e0], edx
jmp 0x1000f555
mov eax, dword [0x100cd0a8]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x7c], ecx
mov edx, dword [0x100cd0e0]
add edx, 0x9d910b9
mov byte [0x100cd047], dl
mov byte [0x100cd096], 0x7a
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x4c]
lea edx, [ecx + eax + 0x65]
mov dword [ebp - 0x4c], edx
movzx eax, byte [0x100cd06e]
cdq
add eax, 0x2b01d43a
adc edx, 0x57c1a
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x268], eax
xor ecx, ecx
jne 0x1000c7e2
mov dword [ebp - 0x70], 0x4c5a
mov eax, dword [0x100cd100]
cdq
mov ecx, eax
sub ecx, 0x713306a5
movzx eax, word [0x100cd10c]
cdq
add eax, ecx
mov word [0x100cd10c], ax
movsx eax, byte [0x100cd096]
cdq
push 0x7156c
push 0x63da2f1a
push edx
push eax
call fcn.10099890
mov byte [ebp - 0x13], al
movzx edx, word [0x100cd094]
shl edx, 2
mov dword [ebp - 0x58], edx
xor eax, eax
mov dword [0x100cd0f8], 8
mov dword [0x100cd0fc], eax
movsx eax, byte [str.6BlockUpgradeIfDriv]
cdq
add eax, 0xc5f5444b
mov word [ebp - 0x30], ax
cmp dword [ebp - 0x90], 0
je 0x1000fe3e
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
jmp 0x1000f648
jmp 0x1000f660
jmp 0x1000f66c
mov edx, dword [0x100cdb38]
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x64]
je 0x1000f6f7
cmp dword [ebp - 0x28], 0
jne 0x1000f69a
xor ecx, ecx
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], ecx
jmp 0x1000f6a5
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
cmp dword [ebp - 0x2b0], 0xeaaeaca0
jne 0x1000f6f7
cmp dword [ebp - 0x2ac], 0xc0dc
jne 0x1000f6f7
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x370]
or ecx, dword [ebp - 0x36c]
jne 0x1000f6e8
cmp dword [ebp - 0x28], 0
je 0x1000f6f7
movzx edx, word [ebp - 0x2c]
mov eax, dword [0x100cd090]
not eax
or edx, eax
jne 0x1000f74b
mov dword [ebp - 0x4c], 0xaba82463
movsx ecx, byte [0x100cd096]
movsx edx, word [0x100cd098]
xor ecx, edx
mov byte [0x100cd027], cl
movsx eax, byte [str.6BlockUpgradeIfDriv]
imul eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x34]
mov dword [0x100cd0ac], eax
mov dword [ebp - 0x4c], 0x83376598
movzx eax, byte [ebp - 0x11]
sub eax, 0x7cba
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
and ecx, eax
and esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
jmp 0x1000f7c6
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov cl, 5
call fcn.100998d0
mov dword [ebp - 0x50], eax
mov edx, dword [0x100cdb38]
xor eax, eax
mov dword [0x100cd0d0], edx
mov dword [0x100cd0d4], eax
movzx ecx, word [0x100cd094]
test ecx, ecx
je 0x1000f792
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2a4], eax
jmp 0x1000f7a4
mov eax, dword [0x100cd0ac]
cdq
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], edx
mov cx, word [ebp - 0x2a8]
mov word [ebp - 0x30], cx
mov dx, word [0x100cdb38]
mov word [0x100cd10c], dx
mov eax, 0x3ce3
mov word [ebp - 0x30], ax
mov ecx, dword [ebp - 0xb0]
add ecx, 0x28c
mov dword [ebp - 0x450], ecx
movsx edx, word [ebp - 0x1c]
cmp edx, 0xe9c357de
jae 0x1000f96d
xor eax, eax
mov dword [0x100cd0b0], 1
mov dword [0x100cd0b4], eax
cmp dword [0x100cd104], 0
je 0x1000f80d
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1e8], ecx
jmp 0x1000f817
movzx edx, byte [ebp - 0x11]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x1e8]
mov dword [0x100cd090], eax
mov eax, dword [ebp - 0x6c]
add eax, 0xdc7d
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
cmp dword [ebp - 0x54], 0
je 0x1000f848
movzx ecx, word [ebp - 0x2c]
mov dword [ebp - 0x1ec], ecx
jmp 0x1000f855
movsx edx, byte [0x100cd083]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x50]
sub ecx, 0x252aaa81
xor edx, edx
add ecx, dword [ebp - 0x78]
adc edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x38]
sub eax, 0xc9a8
movsx ecx, word [0x100cd098]
imul ecx, eax
mov word [0x100cd098], cx
mov edx, dword [0x100cd0b0]
mov eax, dword [0x100cd0b4]
mov dword [ebp - 0x270], edx
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x270]
or ecx, dword [ebp - 0x26c]
je 0x1000f8ca
cmp dword [ebp - 0x270], 1
jne 0x1000f8c5
cmp dword [ebp - 0x26c], 0
je 0x1000f914
jmp 0x1000f96b
movsx edx, word [0x100cd098]
add edx, dword [0x100cd0c8]
movzx eax, word [ebp - 0x2c]
add eax, dword [0x100cd0f0]
sub edx, eax
mov dword [ebp - 0x58], edx
mov cl, byte [0x100cdb38]
mov byte [ebp - 0x11], cl
mov edx, dword [ebp - 0x7c]
sub edx, dword [0x100cd0c8]
mov dword [ebp - 0x7c], edx
mov eax, dword [0x100cd0f8]
and eax, 0x4935cef8
mov dword [ebp - 0x6c], eax
movzx ecx, byte [ebp - 0x11]
sar ecx, 4
mov byte [ebp - 0x12], cl
jmp 0x1000f96b
push 0x9ec58
push 0xc4d09adf
mov edx, dword [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x78]
push eax
call fcn.10099890
mov word [ebp - 0x20], ax
mov dword [0x100cd0f0], 4
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x48], ecx
movsx edx, byte [0x100cd083]
and edx, dword [ebp - 0x58]
mov dword [ebp - 0x58], edx
mov eax, dword [0x100cd0a8]
add eax, dword [0x100cd0a0]
mov dword [0x100cd0a8], eax
movsx ecx, word [0x100cd0ec]
shl ecx, 4
mov word [ebp - 0x2c], cx
jmp 0x1000f9e5
mov edx, 8
imul eax, edx, 0x12
mov ecx, dword [ebp - 0x3c]
xor edx, edx
mov esi, dword [eax + 0x10378434]
push esi
mov eax, dword [eax + 0x10378430]
push eax
push edx
push ecx
call fcn.10099890
mov dword [ebp - 0x3c], eax
mov cx, word [0x100cdb38]
mov word [ebp - 0x2c], cx
mov edx, dword [0x100cd0a8]
shr edx, 4
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x58], 0x5feb
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
or ecx, eax
or esi, edx
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], esi
mov edx, dword [ebp - 0xb0]
add edx, 0x19d
mov dword [ebp - 0x3ac], edx
push 0
push 0
call fcn.1005f940
add esp, 8
mov dword [0x100cd0e4], eax
cmp dword [0x100cd0e4], 0
je 0x1000fa82
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x6c], eax
mov cl, byte [0x100cd0b0]
mov edx, 1
imul eax, edx, 0x23d4
mov byte [eax + 0x103784f0], cl
mov ecx, dword [0x100cd0c8]
add ecx, dword [0x100cd090]
xor edx, edx
mov eax, dword [0x100cd0c4]
mov esi, 0xa20f
sub esi, dword [0x100cd0c0]
mov edi, 0
sbb edi, eax
add ecx, esi
adc edx, edi
not ecx
not edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov ecx, dword [0x100cd0d0]
add ecx, 0xfd9f97cf
mov byte [0x100cd07f], cl
mov edx, dword [ebp - 0x28]
mov word [0x100cd098], dx
jmp 0x1000fada
mov eax, dword [0x100cdb38]
mov dword [ebp - 0x4c], eax
movsx ecx, word [ebp - 0x1c]
imul ecx, dword [0x100cd0c8]
not ecx
mov word [ebp - 0x2c], cx
mov ecx, dword [0x100cd090]
add ecx, 0x194764c6
mov eax, dword [ebp - 0x58]
cdq
add eax, ecx
mov dword [ebp - 0x58], eax
mov dx, word [0x100cdb38]
mov word [0x100cd098], dx
mov eax, dword [0x100cd0c8]
cdq
push 0x56c7c
push 0xd2853fa0
push edx
push eax
call fcn.10099890
mov byte [0x100cd082], al
mov eax, dword [ebp - 0xb0]
add eax, 0x196
mov dword [ebp - 0x1fc], eax
push 0xdb
call fcn.1005de10
add esp, 4
mov byte [0x100cd083], al
movzx ecx, word [ebp - 0x18]
cmp ecx, dword [ebp - 0x28]
jne 0x1000fb12
mov dword [ebp - 0x1f4], 1
jmp 0x1000fb1c
mov dword [ebp - 0x1f4], 0
movsx edx, word [0x100cd098]
not edx
cmp edx, 0xb0
je 0x1000fb39
mov dword [ebp - 0x1f0], 1
jmp 0x1000fb43
mov dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1f0]
not eax
add eax, dword [ebp - 0x1f4]
jne 0x1000fc04
movzx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x1000fb6b
mov dword [ebp - 0x1f8], 1
jmp 0x1000fb75
mov dword [ebp - 0x1f8], 0
movsx eax, word [0x100cd098]
not eax
movsx edx, word [ebp - 0x1c]
imul edx, dword [ebp - 0x6c]
and eax, edx
cdq
mov ecx, eax
movsx edx, word [0x100cd098]
mov eax, dword [ebp - 0x1f8]
sub eax, edx
cdq
mov esi, eax
movsx eax, word [ebp - 0x1c]
cdq
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x454], edi
add edx, eax
xor esi, edx
add ecx, esi
mov dword [ebp - 0x54], ecx
mov al, byte [0x100cdb38]
mov byte [0x100cd07f], al
imul ecx, dword [ebp - 0x3c], 0x23
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x28]
sub eax, edx
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
imul ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x28]
imul edx, ecx
mov dword [ebp - 0x28], edx
movsx eax, word [0x100cd108]
add eax, 0xe987
xor eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], ecx
jmp 0x1000fc69
movsx eax, word [0x100cd0dc]
cdq
push 0x24ca4
push 0x6e76e39d
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x48]
sub edx, 1
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x18]
imul eax, ecx
add eax, dword [0x100cd0e0]
xor edx, edx
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
movsx eax, byte [0x100cd096]
cdq
mov ecx, dword [0x100cd0b0]
sub ecx, eax
mov eax, dword [0x100cd0b4]
sbb eax, edx
mov dword [0x100cd0b0], ecx
mov dword [0x100cd0b4], eax
mov ecx, dword [ebp - 0x3ac]
add ecx, 0x251
mov edx, dword [ebp - 0x1fc]
imul edx, dword [ebp - 0x1fc]
imul ecx, edx
cmp ecx, 0x30
je 0x1000fe3e
movsx eax, word [0x100cd0dc]
test eax, eax
je 0x1000fd7e
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x38]
je 0x1000fcb1
mov dword [ebp - 0x200], 1
jmp 0x1000fcbb
mov dword [ebp - 0x200], 0
cmp dword [ebp - 0x34], 0x44
je 0x1000fccd
mov dword [ebp - 0x204], 1
jmp 0x1000fcd7
mov dword [ebp - 0x204], 0
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x204]
jle 0x1000fd79
mov eax, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov cl, 5
call fcn.100998f0
mov word [0x100cd0d8], ax
movsx eax, byte [0x100cd06f]
cdq
push 0x4dc19
push 0xb2e9a0e3
push edx
push eax
call fcn.10099890
mov byte [str.6BlockUpgradeIfDriv], al
movsx eax, word [0x100cd098]
cdq
push 0xb25fc
push 0x78ee42dc
push edx
push eax
call fcn.10099890
mov dword [0x100cd0ac], eax
movsx eax, word [0x100cd0e8]
cdq
add eax, dword [0x100cd0a0]
adc edx, dword [0x100cd0a4]
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
imul eax, dword [ebp - 0x4c], 0xa6
xor ecx, ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
imul edx, dword [ebp - 0x70], 0x2bb4
mov word [0x100cd094], dx
jmp 0x1000fe29
movsx eax, byte [0x100cd047]
add eax, dword [ebp - 0x34]
movsx ecx, byte [0x100cd047]
add ecx, eax
mov byte [0x100cd047], cl
mov edx, dword [ebp - 0x50]
add edx, 0x74ecb20b
xor eax, eax
mov dword [0x100cd118], edx
mov dword [0x100cd11c], eax
mov ecx, dword [0x100cd0d4]
push ecx
mov edx, dword [0x100cd0d0]
push edx
mov eax, dword [0x100cd0d4]
push eax
mov ecx, dword [0x100cd0d0]
push ecx
call fcn.10099890
push edx
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
movsx ecx, byte [0x100cd083]
imul edx, ecx, 0xde
mov eax, dword [ebp - 0x48]
add eax, edx
mov dword [ebp - 0x48], eax
movsx eax, word [0x100cd0d8]
cdq
push edx
push eax
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 - 0x90]
push eax
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
mov ecx, dword [0x100cd0a8]
cmp dword [0x100cd104], ecx
jae 0x1000fe58
mov dword [ebp - 0x208], 1
jmp 0x1000fe62
mov dword [ebp - 0x208], 0
cmp dword [0x100cd104], 0x46
jge 0x1000fe77
mov dword [ebp - 0x20c], 1
jmp 0x1000fe81
mov dword [ebp - 0x20c], 0
mov edx, dword [ebp - 0x208]
cmp edx, dword [ebp - 0x20c]
jg 0x100100c3
movzx eax, word [ebp - 0x30]
not eax
cdq
or eax, 0xcfe4effd
or edx, 0x40485
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], edx
mov eax, dword [ebp - 0x378]
or eax, dword [ebp - 0x374]
jne 0x1000fecb
mov dword [ebp - 0x210], 1
jmp 0x1000fed5
mov dword [ebp - 0x210], 0
mov ecx, dword [ebp - 0x78]
not ecx
mov esi, dword [ebp - 0x74]
not esi
movsx eax, byte [0x100cd047]
cdq
mov dword [ebp - 0x380], ecx
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
mov edx, dword [ebp - 0x37c]
cmp edx, dword [ebp - 0x3b4]
jb 0x1000ff29
ja 0x1000ff1d
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x3b8]
jbe 0x1000ff29
mov dword [ebp - 0x214], 1
jmp 0x1000ff33
mov dword [ebp - 0x214], 0
cmp dword [ebp - 0x3c], 0
jne 0x1000ff59
cmp dword [ebp - 0x38], 0
je 0x1000ff59
mov ecx, dword [0x100cd0d0]
or ecx, dword [0x100cd0d4]
jne 0x1000ff59
mov dword [ebp - 0x218], 0
jmp 0x1000ff63
mov dword [ebp - 0x218], 1
mov edx, dword [ebp - 0x210]
sub edx, dword [ebp - 0x214]
not edx
cmp edx, dword [ebp - 0x218]
jl 0x1000ff85
mov dword [ebp - 0x21c], 1
jmp 0x1000ff8f
mov dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x21c]
not eax
test eax, eax
je 0x1000fff0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x44c], edx
add ecx, 0x7795
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [ebp - 0x44], 0xae1b
mov dword [ebp - 0x40], eax
mov cl, byte [0x100cd06e]
add cl, 1
mov byte [0x100cd06e], cl
mov edx, dword [ebp - 0x48]
add edx, 0x1ab0
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x70]
sub eax, 0xd185
cdq
mov dword [0x100cd0c0], eax
mov dword [0x100cd0c4], edx
jmp 0x100100c3
movsx eax, byte [0x100cd047]
sub eax, dword [ebp - 0x6c]
mov byte [0x100cd047], al
movsx ecx, word [ebp - 0x24]
sub ecx, 0x221f
mov word [ebp - 0x2c], cx
cmp dword [ebp - 0x50], 0
jne 0x1001001f
mov dword [ebp - 0x220], 1
jmp 0x10010029
mov dword [ebp - 0x220], 0
cmp dword [ebp - 0x6c], 0
jne 0x1001003b
mov dword [ebp - 0x224], 1
jmp 0x10010045
mov dword [ebp - 0x224], 0
mov edx, dword [ebp - 0x220]
add edx, dword [ebp - 0x224]
movzx eax, word [0x100cd10c]
imul eax, dword [0x100cd0a8]
add edx, eax
mov dword [0x100cd0c8], edx
mov ecx, dword [ebp - 0x78]
or ecx, dword [ebp - 0x74]
jne 0x1001007b
mov dword [ebp - 0x228], 1
jmp 0x10010085
mov dword [ebp - 0x228], 0
movzx edx, byte [ebp - 0x12]
movsx eax, byte [str.6BlockUpgradeIfDriv]
add eax, dword [ebp - 0x28]
movsx ecx, word [0x100cd0d8]
imul ecx, dword [ebp - 0x228]
imul eax, ecx
imul edx, eax
not edx
mov byte [ebp - 0x13], dl
movzx edx, word [0x100cd10c]
movzx eax, byte [0x100cd082]
sub edx, eax
mov word [0x100cd10c], dx
cmp dword [ebp - 0x94], 0
je 0x10010757
movsx ecx, word [0x100cd0ec]
movsx edx, byte [0x100cd083]
xor ecx, edx
movsx eax, byte [0x100cd047]
xor ecx, eax
mov dword [ebp - 0x58], ecx
mov ecx, dword [0x100cd0e4]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x444], eax
sub ecx, edx
mov edx, dword [0x100cd0e4]
sub edx, ecx
mov dword [0x100cd0e4], edx
movzx eax, byte [ebp - 0x13]
imul eax, dword [ebp - 0x50]
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x13]
mov edx, dword [ebp - 0x34]
imul edx, ecx
mov eax, dword [ebp - 0x34]
or eax, edx
mov dword [ebp - 0x34], eax
movsx eax, word [0x100cd0dc]
cdq
mov ecx, 8
imul ecx, ecx, 0x33c1
mov dword [ecx + 0x102fd878], eax
mov dword [ecx + 0x102fd87c], edx
push str.gdi32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x1001016a
mov dword [ebp - 0x22c], 1
jmp 0x10010174
mov dword [ebp - 0x22c], 0
cmp dword [ebp - 0x50], 0x37
jne 0x10010186
mov dword [ebp - 0x230], 1
jmp 0x10010190
mov dword [ebp - 0x230], 0
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ebp - 0x230]
je 0x1001029f
mov eax, dword [ebp - 0x34]
add eax, 0x90
mov dword [ebp - 0x4c], eax
mov byte [0x100cd06f], 2
mov ecx, dword [0x100cd0e0]
sub ecx, dword [ebp - 0x34]
jne 0x100101d3
xor edx, edx
mov dword [ebp - 0x388], 1
mov dword [ebp - 0x384], edx
jmp 0x100101de
xorps xmm0, xmm0
movlpd qword [ebp - 0x388], xmm0
movsx eax, byte [0x100cd047]
cdq
mov esi, eax
mov edi, edx
or esi, dword [0x100cd118]
or edi, dword [0x100cd11c]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [0x100cd0a4]
push edx
mov edx, dword [0x100cd0a0]
push edx
push ecx
push eax
call fcn.10099890
push edx
push eax
push edi
push esi
call fcn.10099890
mov ecx, eax
movzx eax, byte [0x100cd027]
not eax
cdq
add eax, 0x8e92009a
and eax, dword [ebp - 0x388]
sub ecx, eax
mov word [0x100cd10c], cx
movzx edx, word [ebp - 0x30]
sub edx, dword [0x100cd0c8]
mov word [ebp - 0x30], dx
movsx eax, word [ebp - 0x24]
test eax, eax
jne 0x10010264
xor ecx, ecx
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x29c], ecx
jmp 0x1001026f
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a0], xmm0
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movzx ecx, byte [ebp - 0x12]
mov edx, dword [0x100cd104]
add edx, ecx
mov eax, dword [0x100cd104]
imul eax, edx
mov dword [0x100cd104], eax
jmp 0x10010394
movsx ecx, word [ebp - 0x24]
not ecx
test ecx, ecx
je 0x10010394
movsx edx, word [ebp - 0x24]
test edx, edx
jne 0x100102c1
mov dword [ebp - 0x234], 1
jmp 0x100102cb
mov dword [ebp - 0x234], 0
cmp dword [ebp - 0x7c], 0
jne 0x100102dd
mov dword [ebp - 0x238], 1
jmp 0x100102e7
mov dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x234]
add eax, dword [ebp - 0x238]
jne 0x10010309
xor ecx, ecx
mov dword [ebp - 0x290], 1
mov dword [ebp - 0x28c], ecx
jmp 0x10010314
xorps xmm0, xmm0
movlpd qword [ebp - 0x290], xmm0
mov eax, dword [0x100cd104]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100cd06e]
cdq
add eax, 0x67af14d6
adc edx, 0xc9d2
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x3c]
xor esi, esi
xor ecx, dword [0x100cd0b0]
xor esi, dword [0x100cd0b4]
add ecx, dword [ebp - 0x290]
adc esi, dword [ebp - 0x28c]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
imul edx, dword [ebp - 0x3c], 0xcef1352
mov eax, dword [0x100cd0e0]
sub eax, edx
mov dword [0x100cd0e0], eax
movzx ecx, word [0x100cd10c]
sar ecx, 6
mov dword [ebp - 0x54], ecx
imul edx, dword [0x100cd0e0], 0xcb
mov word [ebp - 0x20], dx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0xb8], eax
mov ecx, dword [0x100cd0a0]
xor ecx, 0x8ef2af28
mov edx, dword [0x100cd0a4]
xor edx, 0
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
movsx eax, byte [0x100cd047]
movsx ecx, word [0x100cd0dc]
add eax, ecx
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x100cd090]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x440], ecx
sub edx, eax
not edx
movzx eax, word [ebp - 0x30]
mov ecx, 0xee17b69
sub ecx, eax
or edx, ecx
not edx
movsx eax, word [0x100cd110]
not eax
movzx ecx, word [0x100cd0b8]
sub ecx, dword [0x100cd0f0]
add eax, ecx
add edx, eax
mov dword [0x100cd084], edx
mov edx, dword [0x100cd0b0]
sub edx, 0x242c
mov dword [0x100cd0e0], edx
movsx eax, word [0x100cd0e8]
xor eax, 0x648e53a3
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x146
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x43c], eax
add edx, 0x44892275
mov dword [ebp - 0x4c], edx
mov ecx, dword [0x100cdb38]
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, 0x7f04
mov word [0x100cd0d8], ax
movzx ecx, byte [ebp - 0x13]
sub ecx, dword [ebp - 0x28]
mov byte [ebp - 0x13], cl
mov eax, dword [0x100cd104]
cdq
mov ecx, dword [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x68]
push ecx
push edx
push eax
call fcn.10099890
mov ecx, eax
mov eax, dword [0x100cd104]
cdq
sub eax, ecx
mov dword [0x100cd104], eax
mov edx, dword [ebp - 0xb8]
add edx, 0x73
mov dword [ebp - 0x244], edx
push 0
mov eax, dword [0x100cd0e4]
push eax
call fcn.1005fe20
add esp, 8
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jg 0x100104db
mov dword [ebp - 0x23c], 1
jmp 0x100104e5
mov dword [ebp - 0x23c], 0
movzx edx, byte [ebp - 0x11]
cmp edx, 0x14
jg 0x100104fa
mov dword [ebp - 0x240], 1
jmp 0x10010504
mov dword [ebp - 0x240], 0
mov eax, dword [ebp - 0x23c]
cmp eax, dword [ebp - 0x240]
jg 0x100105ca
mov dword [ebp - 0xb4], 0
jmp 0x10010531
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0x203
jge 0x100105c8
movsx eax, word [0x100cd0dc]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
xor edx, ecx
xor eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100cd118]
add ecx, 0xa501
mov edx, dword [0x100cd090]
sub edx, ecx
mov dword [0x100cd090], edx
mov eax, dword [0x100cd104]
sub eax, 0x3abe
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100cd0d4]
push ecx
mov edx, dword [0x100cd0d0]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.10099890
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, 0x68c5
mov word [0x100cd0b8], dx
mov al, byte [0x100cd047]
add al, 1
mov byte [0x100cd047], al
jmp 0x10010522
jmp 0x1001063d
movsx ecx, word [0x100cd0dc]
test ecx, ecx
je 0x1001063d
movsx edx, word [0x100cd0d8]
test edx, edx
je 0x1001063d
movsx eax, byte [0x100cd06f]
xor eax, dword [ebp - 0x54]
not eax
mov dword [ebp - 0x7c], eax
movzx ecx, word [0x100cd0b8]
add ecx, dword [ebp - 0x28]
movzx edx, word [0x100cd0b8]
add edx, ecx
mov word [0x100cd0b8], dx
mov ax, word [0x100cd0f8]
mov ecx, 2
imul edx, ecx, 0x27
mov word [edx + 0x10454ef8], ax
movsx eax, word [0x100cd098]
mov dword [0x100cd104], eax
mov ecx, dword [ebp - 0x68]
add ecx, 0x27fb7686
movzx eax, byte [ebp - 0x13]
cdq
or eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0xb8]
add edx, 0x242
mov dword [ebp - 0x448], edx
mov eax, dword [str.Valueisnullptr:0x_]
mov dword [ebp - 0x3e4], eax
mov ecx, dword [0x100a6834]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [0x100a6838]
mov dword [ebp - 0x3dc], edx
mov eax, dword [0x100a683c]
mov dword [ebp - 0x3d8], eax
mov cx, word [0x100a6840]
mov word [ebp - 0x3d4], cx
mov dl, byte [0x100a6842]
mov byte [ebp - 0x3d2], dl
lea eax, [ebp - 0x3e4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x244]
imul ecx, dword [ebp - 0x9c]
and ecx, 0x1e2
mov edx, dword [ebp - 0x244]
or edx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x9c]
imul eax, edx
cmp ecx, eax
je 0x10010757
movsx ecx, word [0x100cd0ec]
push ecx
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x100106fa
mov dword [ebp - 0x248], 1
jmp 0x10010704
mov dword [ebp - 0x248], 0
cmp dword [ebp - 0x28], 0x19
jne 0x10010716
mov dword [ebp - 0x24c], 1
jmp 0x10010720
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp - 0x248]
cmp edx, dword [ebp - 0x24c]
je 0x10010742
movsx eax, word [0x100cd0dc]
push eax
call dword [sym.imp.USER32.dll_OpenIcon]
mov word [0x100cd0dc], ax
mov ecx, dword [ebp - 0x94]
push ecx
push 0
push 0
call fcn.100013f0
add esp, 8
call eax
mov byte [0x100cd027], 3
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
movsx eax, word [0x100cd108]
movzx ecx, byte [ebp - 0x11]
imul eax, ecx
movsx edx, word [0x100cd108]
add edx, eax
mov word [0x100cd108], dx
mov eax, dword [ebp - 0x78]
sub eax, dword [0x100cd0d0]
mov ecx, dword [ebp - 0x74]
sbb ecx, dword [0x100cd0d4]
not eax
not ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x78]
or edx, dword [ebp - 0x74]
je 0x100107bc
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ecx
jmp 0x100107d3
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xbc]
mov dword [0x100cd088], ecx
mov dword [0x100cd08c], edx
cmp dword [0x100cd100], 0
jne 0x10010808
xor eax, eax
mov dword [ebp - 0x288], 1
mov dword [ebp - 0x284], eax
jmp 0x10010813
xorps xmm0, xmm0
movlpd qword [ebp - 0x288], xmm0
mov eax, dword [ebp - 0x70]
cdq
add eax, 0x31e3121e
adc edx, 0x3cce3
mov ecx, dword [ebp - 0x284]
push ecx
mov ecx, dword [ebp - 0x288]
push ecx
push edx
push eax
call fcn.10099890
add eax, dword [0x100cd0f0]
mov dword [0x100cd084], eax
movzx edx, byte [0x100cd027]
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 3
ja case.default.0x10010862
mov eax, dword [ebp - 0x250]
jmp dword [eax*4 + 0x10010b5c]
mov ecx, dword [0x100cd0e0]
sub ecx, 1
mov dword [0x100cd0e0], ecx
cmp dword [ebp - 0x50], 0
je 0x1001088d
movsx edx, byte [0x100cd06f]
mov dword [ebp - 0x254], edx
jmp 0x10010896
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x254]
mov dword [0x100cd0f0], ecx
mov edx, dword [ebp - 0x58]
add edx, 0x25a3e552
movsx eax, byte [0x100cd026]
and eax, edx
mov byte [0x100cd026], al
movzx ecx, byte [0x100cd027]
test ecx, ecx
jne 0x100108d8
xor edx, edx
mov dword [ebp - 0x280], 1
mov dword [ebp - 0x27c], edx
jmp 0x100108e3
xorps xmm0, xmm0
movlpd qword [ebp - 0x280], xmm0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, 0xee20a96c
sbb esi, 0
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
add edx, dword [ebp - 0x280]
adc eax, dword [ebp - 0x27c]
sub ecx, edx
sbb esi, eax
not ecx
not esi
movsx eax, word [ebp - 0x24]
cdq
mov edi, eax
mov ebx, edx
movsx eax, word [0x100cd0d8]
cdq
mov dword [ebp - 0x2d8], esi
mov esi, dword [0x100cd088]
mov dword [ebp - 0x3b0], ecx
mov ecx, dword [0x100cd08c]
and esi, eax
and ecx, edx
sub edi, esi
sbb ebx, ecx
mov ecx, dword [ebp - 0x3b0]
add ecx, edi
mov esi, dword [ebp - 0x2d8]
adc esi, ebx
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], esi
mov edx, dword [ebp - 0x390]
or edx, dword [ebp - 0x38c]
jne 0x10010973
mov dword [ebp - 0x258], 1
jmp 0x1001097d
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
mov dword [0x100cd0c8], eax
cmp dword [0x100cd104], 0
jne 0x1001099d
mov dword [ebp - 0x25c], 1
jmp 0x100109a7
mov dword [ebp - 0x25c], 0
mov ecx, dword [0x100cd0e4]
sub ecx, dword [ebp - 0x25c]
mov word [ebp - 0x18], cx
jmp case.default.0x10010862
mov dword [ebp - 0x4c], 0xb9482c6a
movzx eax, byte [0x100cd027]
sub eax, 0xf70d
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x60]
adc eax, ecx
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push eax
push edx
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, word [ebp - 0x20]
movsx eax, word [0x100cd0d8]
sub edx, eax
movzx ecx, word [ebp - 0x20]
sub ecx, edx
mov word [ebp - 0x20], cx
jmp case.default.0x10010862
cmp dword [ebp - 0x54], 0
jne 0x10010a27
mov dword [ebp - 0x260], 1
jmp 0x10010a31
mov dword [ebp - 0x260], 0
movzx edx, word [ebp - 0x2c]
not edx
add edx, dword [ebp - 0x260]
mov word [ebp - 0x2c], dx
movzx eax, byte [ebp - 0x13]
sub eax, 0xc1
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x11]
mov eax, dword [ebp - 0x28]
sub eax, ecx
movzx edx, word [0x100cd0b8]
sub eax, edx
not eax
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov eax, dword [ebp - 0x6c]
sub eax, 0xd6f1
mov byte [0x100cd047], al
jmp case.default.0x10010862
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
sub ecx, 0x664a
sbb esi, 0
xor ecx, 0xd05f3888
xor esi, 0
movsx eax, word [ebp - 0x1c]
cdq
push edx
push eax
push esi
push ecx
call fcn.10099890
mov byte [ebp - 0x12], al
movsx edx, word [0x100cd110]
imul eax, edx, 0x9f
cdq
mov dword [0x100cd088], eax
mov dword [0x100cd08c], edx
movzx eax, byte [ebp - 0x12]
shl eax, 7
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x70], 0
jne 0x10010ade
mov dword [ebp - 0x264], 1
jmp 0x10010ae8
mov dword [ebp - 0x264], 0
movsx ecx, word [0x100cd110]
imul ecx, dword [ebp - 0x264]
mov word [0x100cd110], cx
imul edx, dword [0x100cd084], 0x42f0
mov word [0x100cd0ec], dx
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret