Function at 0x100702a0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a5870
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x29c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [0x100cd027]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
movzx eax, word [0x100cd094]
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov al, byte [0x100cd06e]
mov byte [ebp - 0x12], al
mov ecx, dword [0x100cd0ac]
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x100cd0f8]
mov eax, dword [0x100cd0fc]
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x88], eax
movsx ecx, word [0x100cd108]
mov dword [ebp - 0x7c], ecx
xor edx, edx
mov dword [ebp - 0x30], 0x26
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x31], 0x99
mov al, byte [0x100cd110]
mov byte [ebp - 0x13], al
mov ecx, dword [0x100cd0f0]
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
xor eax, eax
mov dword [ebp - 0x44], 0x7f43f912
mov dword [ebp - 0x40], eax
mov ecx, 3
mov word [ebp - 0x20], cx
mov dword [ebp - 0x3c], 0xba
mov dl, byte [0x100cd082]
mov byte [ebp - 0x15], dl
xor eax, eax
mov dword [ebp - 0x58], 0xa4a7b03c
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 0xcb069d08
mov dword [ebp - 0x48], 0xcd
mov dword [ebp - 0x78], 0x4cab8604
mov cl, byte [0x100cd118]
mov byte [ebp - 0x14], cl
mov byte [ebp - 0x11], 0xa7
mov edx, 0x4a4d
mov word [ebp - 0x24], dx
mov dword [ebp - 0x84], 0xeed6
mov eax, 0xfce6
mov word [ebp - 0x1c], ax
movsx cx, byte [0x100cd083]
mov word [ebp - 0x38], cx
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov edx, dword [0x100cd090]
mov word [ebp - 0x28], dx
xor eax, eax
mov dword [ebp - 0x28c], 0x44
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x8e], 9
mov ecx, 0x7e06
mov word [ebp - 0x160], cx
mov edx, 0x36
mov word [ebp - 0x164], dx
mov eax, dword [0x100cd118]
mov dword [ebp - 0x270], eax
mov cl, byte [str.6BlockUpgradeIfDriv]
mov byte [ebp - 0x8d], cl
mov dword [ebp - 0x25c], 0xe3ca090
xor edx, edx
mov dword [ebp - 0x294], 0xcb78
mov dword [ebp - 0x290], edx
mov al, byte [0x100cd06f]
mov byte [ebp - 0x95], al
mov dword [ebp - 0x274], 0x5a
mov byte [ebp - 0x8f], 0xf
mov ecx, 0xe7
mov word [ebp - 0x168], cx
mov dword [ebp - 0x278], 0xb4c9
mov edx, dword [0x100cd0a0]
mov eax, dword [0x100cd0a4]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x298], eax
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], edx
mov ecx, 0x4030
mov word [ebp - 0x16c], cx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c]
xor esi, esi
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], esi
mov edx, dword [ebp - 0x178]
cmp edx, dword [ebp - 0x180]
jb 0x1007051e
ja 0x100704dc
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x184]
jbe 0x1007051e
mov ecx, dword [str.not_a_socket]
mov dword [ebp - 0x234], ecx
mov edx, dword [0x100a6650]
mov dword [ebp - 0x230], edx
mov eax, dword [0x100a6654]
mov dword [ebp - 0x22c], eax
mov cl, byte [0x100a6658]
mov byte [ebp - 0x228], cl
lea edx, [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100cd0ec], ax
mov eax, dword [0x100cd0b0]
or eax, dword [0x100cd0b4]
jne 0x10070537
mov dword [ebp - 0x10c], 1
jmp 0x10070541
mov dword [ebp - 0x10c], 0
mov eax, dword [0x100cd104]
add eax, dword [ebp - 0x10c]
not eax
cdq
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x27c], edx
add eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, 1
imul ecx, eax, 0x3a
movzx edx, byte [ecx + 0x1024d150]
movsx eax, word [0x100cd0d8]
sub eax, edx
mov word [0x100cd0d8], ax
movsx eax, word [ebp - 0x24]
cdq
sub eax, dword [0x100cd0f8]
mov word [ebp - 0x24], ax
movsx ecx, byte [0x100cd06f]
add ecx, dword [ebp - 0x3c]
movsx edx, byte [0x100cd06f]
add edx, ecx
mov byte [0x100cd06f], dl
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x5c]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
mov ecx, 0xffffa0ef
mov word [0x100cd0d8], cx
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov word [0x100cd0b8], ax
push 0
lea edx, [ebp - 0x108]
push edx
push 0
push 0x20006
push 0
push 0
push 0
push str.SoftwareMyAppTempKey
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [ebp - 0xec], eax
xor eax, eax
mov dword [0x100cd088], 3
mov dword [0x100cd08c], eax
mov ecx, dword [0x100cd0a8]
add ecx, 0x4ff1
mov word [0x100cd108], cx
mov edx, dword [ebp - 0x3c]
add edx, 0x4811bf0a
xor eax, eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
movzx esi, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
not ecx
sub esi, ecx
not esi
xor edi, edi
movsx eax, word [0x100cd110]
cdq
push 0x31f4e
push 0xcf7ad2d3
push edx
push eax
call fcn.10099890
push edx
push eax
push edi
push esi
call fcn.10099890
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov dl, byte [0x100cdb38]
mov byte [0x100cd027], dl
movsx eax, byte [0x100cd096]
movzx ecx, word [0x100cd094]
sub eax, ecx
movsx edx, byte [0x100cd096]
sub edx, eax
mov byte [0x100cd096], dl
mov eax, dword [0x100cd088]
mov ecx, dword [0x100cd08c]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0
jl 0x1007095e
jg 0x100706c6
cmp dword [ebp - 0xa0], 0
jb 0x1007095e
cmp dword [ebp - 0x9c], 0
jg 0x1007095e
jl 0x100706e2
cmp dword [ebp - 0xa0], 3
ja 0x1007095e
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x2ac]
jmp dword [eax*4 + 0x1007204c]
cmp dword [ebp - 0xec], 0
jne 0x10072039
mov edx, dword [0x100cd090]
push edx
call fcn.1005de10
add esp, 4
cdq
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], edx
mov eax, dword [0x100cd0f8]
or eax, dword [0x100cd0fc]
je 0x10070d36
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 0x15]
cmp ecx, edx
jne 0x100709af
mov dword [ebp - 0x11c], 1
jmp 0x100709b9
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x48]
not eax
cmp dword [ebp - 0x11c], eax
jae 0x10070a38
movzx ecx, byte [ebp - 0x11]
imul edx, ecx, 0xc4
mov word [ebp - 0x20], dx
mov eax, dword [0x100cd100]
shl eax, 1
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 8
call fcn.100999a0
mov byte [0x100cd083], al
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0x6844aaef
mov dword [ebp - 0x7c], eax
movzx eax, word [0x100cd094]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x8c]
movzx eax, word [0x100cd094]
cdq
sub eax, ecx
mov word [0x100cd094], ax
imul edx, dword [0x100cd0a8], 0x6d
mov byte [str.6BlockUpgradeIfDriv], dl
jmp 0x10070d36
cmp dword [0x100cd084], 0
jne 0x10070a4d
mov dword [ebp - 0xa4], 1
jmp 0x10070a57
mov dword [ebp - 0xa4], 0
movsx eax, byte [ebp - 0x14]
cmp eax, dword [ebp - 0xa4]
jne 0x10070ab2
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x100cd0e0]
xor esi, esi
mov dword [ebp - 0x194], ecx
mov dword [ebp - 0x190], edx
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], esi
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [ebp - 0x198]
jb 0x10070ab2
ja 0x10070aa6
mov edx, dword [ebp - 0x194]
cmp edx, dword [ebp - 0x19c]
jbe 0x10070ab2
mov dword [ebp - 0xa8], 0
jmp 0x10070abc
mov dword [ebp - 0xa8], 1
mov eax, dword [ebp - 0xa8]
not eax
test eax, eax
je 0x10070b85
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
not ecx
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], edx
mov edx, dword [ebp - 0x1a4]
or edx, dword [ebp - 0x1a0]
jne 0x10070b0b
mov dword [ebp - 0xac], 1
jmp 0x10070b15
mov dword [ebp - 0xac], 0
movsx eax, byte [ebp - 0x15]
not eax
movsx ecx, word [0x100cd0e8]
sub eax, ecx
add eax, dword [ebp - 0xac]
mov dword [0x100cd0c8], eax
mov dl, byte [0x100cdb38]
mov byte [ebp - 0x13], dl
mov ax, word [0x100cd0d8]
sub ax, 1
mov word [0x100cd0d8], ax
movzx ecx, word [0x100cd10c]
sub ecx, 0x68836ab6
mov word [0x100cd098], cx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
jmp 0x10070d36
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x10070d36
mov eax, dword [0x100cd084]
xor ecx, ecx
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
push ecx
push eax
push esi
push edx
call fcn.10099890
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, word [0x100cd0d8]
cdq
mov ecx, eax
sub ecx, dword [0x100cd0a0]
movsx eax, word [0x100cd0d8]
cdq
add eax, ecx
mov word [0x100cd0d8], ax
movsx edx, word [0x100cd110]
test edx, edx
jne 0x10070be4
mov dword [ebp - 0xb0], 1
jmp 0x10070bee
mov dword [ebp - 0xb0], 0
movsx eax, word [0x100cd0e8]
test eax, eax
jne 0x10070c05
mov dword [ebp - 0xb4], 1
jmp 0x10070c0f
mov dword [ebp - 0xb4], 0
movsx eax, word [ebp - 0x38]
movsx ecx, word [0x100cd108]
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
movzx eax, word [0x100cd0b8]
cdq
push edx
push eax
mov edx, dword [ebp - 0x88]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call fcn.10099890
push edx
push eax
push edi
push esi
call fcn.10099890
mov ecx, eax
movsx edx, byte [0x100cd096]
mov eax, edx
imul eax, dword [ebp - 0xb0]
movzx edx, byte [0x100cd027]
xor edx, dword [ebp - 0xb4]
imul eax, edx
cdq
add ecx, eax
mov dword [0x100cd0e0], ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov edx, dword [0x100cd0c4]
add eax, dword [0x100cd0c0]
adc ecx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x78]
sub eax, dword [0x100cd104]
mov dword [ebp - 0x78], eax
movsx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x10070cad
mov dword [ebp - 0xb8], 1
jmp 0x10070cb7
mov dword [ebp - 0xb8], 0
movzx edx, word [ebp - 0x1c]
mov eax, dword [ebp - 0xb8]
sub eax, edx
cdq
xor ecx, ecx
mov esi, dword [ebp - 0x8c]
sub esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x88]
sbb edi, ecx
sub eax, esi
sbb edx, edi
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], edx
mov edx, dword [ebp - 0x1ac]
or edx, dword [ebp - 0x1a8]
jne 0x10070d01
mov dword [ebp - 0xbc], 1
jmp 0x10070d0b
mov dword [ebp - 0xbc], 0
movsx eax, word [0x100cd108]
movsx ecx, word [0x100cd0e8]
add eax, ecx
movzx edx, byte [0x100cd07f]
xor edx, dword [ebp - 0x84]
xor eax, edx
add eax, dword [ebp - 0xbc]
mov word [0x100cd094], ax
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
mov eax, dword [ebp - 0x58]
add eax, 0x7c3e74b1
mov dword [ebp - 0x4c], eax
movzx ecx, word [0x100cd10c]
shl ecx, 7
mov word [ebp - 0x24], cx
movsx edx, byte [0x100cd083]
sub edx, 0xd1
mov word [0x100cd098], dx
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
push esi
push ecx
push eax
push edx
call fcn.10099890
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, 0x533b
mov word [0x100cd0dc], cx
mov edx, dword [ebp - 0x58]
or edx, dword [ebp - 0x54]
jne 0x10070db7
xor eax, eax
mov dword [ebp - 0x1b4], 1
mov dword [ebp - 0x1b0], eax
jmp 0x10070dc2
xorps xmm0, xmm0
movlpd qword [ebp - 0x1b4], xmm0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x23c], edx
sub ecx, dword [ebp - 0x1b4]
movzx eax, word [0x100cd10c]
imul eax, dword [0x100cd0a8]
not eax
add ecx, eax
mov dword [0x100cd100], ecx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1bc]
or eax, dword [ebp - 0x1b8]
je 0x10070e0e
jmp 0x10070e7e
mov ecx, 4
imul edx, ecx, 0x5c
mov eax, dword [edx + 0x10419998]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x48]
add eax, dword [0x100cd0c8]
mov ecx, dword [ebp - 0x48]
imul ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [0x100cd088]
mov eax, dword [0x100cd08c]
push 0
push 0x6a
push eax
push edx
call fcn.10099890
mov word [ebp - 0x20], ax
movsx ecx, byte [ebp - 0x14]
add ecx, dword [ebp - 0x78]
jne 0x10070e5e
mov byte [ebp - 0x4d], 1
jmp 0x10070e62
mov byte [ebp - 0x4d], 0
mov dl, byte [ebp - 0x4d]
mov byte [ebp - 0x11], dl
xor eax, eax
mov dword [ebp - 0x58], 0xdd
mov dword [ebp - 0x54], eax
movzx ecx, byte [ebp - 0x11]
shl ecx, 1
mov word [ebp - 0x20], cx
mov edx, dword [0x100cdb38]
mov dword [ebp - 0x94], edx
push 0
movsx eax, word [0x100cd0dc]
push eax
call fcn.1005f940
add esp, 8
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
ja 0x10070fd7
movsx eax, word [0x100cd0d8]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x1c8], esi
mov edx, dword [ebp - 0x1c0]
cmp edx, dword [ebp - 0x1c8]
ja 0x10070f50
jb 0x10070eed
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1cc]
ja 0x10070f50
mov ecx, dword [0x100cd0d0]
sub ecx, 0x55
mov edx, dword [0x100cd0d4]
sbb edx, 0
mov dword [0x100cd0b0], ecx
mov dword [0x100cd0b4], edx
movzx eax, byte [0x100cd06e]
mov dword [0x100cd0e0], eax
xor ecx, ecx
mov dword [0x100cd0a0], 1
mov dword [0x100cd0a4], ecx
mov edx, dword [0x100cd104]
xor edx, 0xc59781ef
mov byte [0x100cd083], dl
movsx eax, byte [0x100cd096]
cdq
sub eax, dword [ebp - 0x74]
mov byte [0x100cd096], al
jmp 0x10070fd5
cmp dword [ebp - 0x48], 0
je 0x10070fd5
movzx eax, byte [0x100cd07f]
cdq
mov ecx, 8
imul ecx, ecx, 0x8b
mov dword [ecx + 0x101a1970], eax
mov dword [ecx + 0x101a1974], edx
movsx edx, byte [0x100cd06f]
sub edx, 0xb7
movzx eax, byte [ebp - 0x11]
sub eax, edx
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xbd
mov word [ebp - 0x28], cx
movsx edx, byte [0x100cd083]
test edx, edx
je 0x10070fb8
mov eax, dword [0x100cd0e4]
xor ecx, ecx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], ecx
jmp 0x10070fca
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], eax
mov cx, word [ebp - 0x134]
mov word [ebp - 0x24], cx
jmp 0x1007103b
movzx eax, word [ebp - 0x28]
cdq
mov ecx, 8
imul ecx, ecx, 0xe
mov dword [ecx + 0x101a1970], eax
mov dword [ecx + 0x101a1974], edx
mov dx, word [0x100cdb38]
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x1c]
sub eax, 0x57ca
mov word [ebp - 0x1c], ax
movzx ecx, byte [ebp - 0x12]
movsx edx, byte [ebp - 0x15]
imul ecx, edx
movzx eax, byte [ebp - 0x12]
add eax, ecx
mov byte [ebp - 0x12], al
movsx eax, byte [0x100cd06f]
cdq
push 0x90141
push 0x8a7b24fa
push edx
push eax
call fcn.10099890
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ecx, dword [ebp - 0x94]
add ecx, 0x8e
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [0x100cd0f8]
sub eax, dword [ebp - 0x44]
mov ecx, dword [0x100cd0fc]
sbb ecx, edx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d0], ecx
mov edx, dword [ebp - 0x1d4]
or edx, dword [ebp - 0x1d0]
jne 0x1007108e
xor eax, eax
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1d8], eax
jmp 0x10071099
xorps xmm0, xmm0
movlpd qword [ebp - 0x1dc], xmm0
mov ecx, dword [0x100cd0f8]
or ecx, dword [0x100cd0fc]
jne 0x100710b3
mov dword [ebp - 0xc0], 1
jmp 0x100710bd
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0x5c]
xor eax, eax
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
push esi
push ecx
push eax
push edx
call fcn.10099890
mov edx, dword [ebp - 0x1dc]
sub edx, eax
movsx eax, byte [str.6BlockUpgradeIfDriv]
add eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0x84]
sub edx, eax
mov word [0x100cd110], dx
movsx eax, word [0x100cd0e8]
movsx ecx, word [0x100cd0e8]
add eax, ecx
cdq
add eax, dword [ebp - 0x8c]
mov word [0x100cd110], ax
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x10071136
movsx eax, byte [0x100cd06f]
cdq
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
jmp 0x1007114d
mov eax, dword [0x100cd0b0]
mov ecx, dword [0x100cd0b4]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x13c]
mov dword [0x100cd084], edx
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x10071175
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], edx
jmp 0x10071186
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], edx
mov al, byte [ebp - 0x144]
mov byte [0x100cd06e], al
mov eax, dword [0x100cd100]
cdq
sub eax, 0x5768a24f
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x94]
add ecx, 0x107
mov dword [ebp - 0xcc], ecx
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
movsx eax, byte [0x100cd047]
cdq
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], esi
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x1e0]
cmp edx, dword [ebp - 0x170]
jg 0x1007142d
jl 0x100711fd
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x174]
jae 0x1007142d
xor ecx, ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add edx, dword [ebp - 0x4c]
adc eax, ecx
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1ec]
or ecx, dword [ebp - 0x1e8]
je 0x1007128f
movsx edx, byte [0x100cd096]
mov eax, dword [ebp - 0x3c]
imul eax, edx
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x100cd083]
mov eax, dword [0x100cd0a8]
lea ecx, [edx + eax + 0xf912ea9]
mov edx, dword [ebp - 0x74]
add edx, dword [0x100cd118]
sub ecx, edx
mov byte [0x100cd082], cl
mov eax, dword [0x100cd0a8]
xor ecx, ecx
mov dword [0x100cd0b0], eax
mov dword [0x100cd0b4], ecx
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
xor edx, 0x557eed92
xor eax, 0x4480e
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x15], 0
jmp 0x1007142b
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f4]
or eax, dword [ebp - 0x1f0]
jne 0x100712be
movzx ecx, byte [0x100cd027]
test ecx, ecx
je 0x10071369
movzx edx, byte [0x100cd027]
mov eax, dword [ebp - 0x48]
not eax
and edx, eax
sub edx, dword [0x100cd100]
mov byte [ebp - 0x11], dl
mov ecx, dword [0x100cd0f8]
or ecx, dword [0x100cd0fc]
jne 0x100712ef
mov dword [ebp - 0xc4], 1
jmp 0x100712f9
mov dword [ebp - 0xc4], 0
movsx eax, byte [str.6BlockUpgradeIfDriv]
sub eax, dword [ebp - 0xc4]
movzx edx, word [ebp - 0x1c]
movsx ecx, word [0x100cd0e8]
xor edx, ecx
sub eax, edx
cdq
mov dword [0x100cd0a0], eax
mov dword [0x100cd0a4], edx
mov edx, dword [0x100cdb38]
mov dword [ebp - 0x7c], edx
xor eax, eax
mov ecx, dword [0x100cd0f8]
sub ecx, dword [0x100cd0e4]
mov edx, dword [0x100cd0fc]
sbb edx, eax
add ecx, dword [0x100cd0f8]
adc edx, dword [0x100cd0fc]
mov dword [0x100cd0f8], ecx
mov dword [0x100cd0fc], edx
mov ax, word [ebp - 0x28]
add ax, 1
mov word [ebp - 0x28], ax
jmp 0x1007142b
movsx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x1007142b
mov edx, dword [ebp - 0x3c]
sub edx, 0x1f7fcdd2
xor eax, eax
mov dword [0x100cd088], edx
mov dword [0x100cd08c], eax
movzx ecx, word [0x100cd0b8]
shl ecx, 2
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
imul eax, edx, 0x9050
movzx ecx, byte [ebp - 0x13]
xor ecx, eax
mov byte [ebp - 0x13], cl
mov edx, dword [0x100cd0b0]
or edx, dword [0x100cd0b4]
jne 0x100713c5
mov dword [ebp - 0xc8], 1
jmp 0x100713cf
mov dword [ebp - 0xc8], 0
movsx eax, word [ebp - 0x38]
sub eax, dword [ebp - 0xc8]
jne 0x100713ef
xor ecx, ecx
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x148], ecx
jmp 0x100713fa
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x148]
mov dword [0x100cd0a0], edx
mov dword [0x100cd0a4], eax
mov byte [0x100cd07f], 0xe1
movsx ecx, byte [0x100cd083]
movzx edx, word [ebp - 0x28]
sub ecx, edx
mov byte [0x100cd083], cl
jmp 0x100714a5
mov eax, dword [0x100cd0c8]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov ax, word [0x100cdb38]
mov word [ebp - 0x38], ax
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100cd0c0]
mov edx, dword [0x100cd0c4]
mov dword [ebp - 0x244], edx
sub eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x13]
cdq
push 0x2ec6a
push 0xdd15bb7f
push edx
push eax
call fcn.10099890
mov word [0x100cd10c], ax
mov eax, dword [0x100cd104]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
and eax, 0x71
and ecx, 0
mov edx, dword [ebp - 0x5c]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.10099890
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x94]
add eax, 0x83
mov dword [ebp - 0x248], eax
mov byte [0x100cd026], 0xab
mov ecx, dword [0x100cd088]
mov edx, dword [0x100cd08c]
mov dword [ebp - 0x24c], edx
sub ecx, 0x74f20af8
mov dword [0x100cd090], ecx
movzx eax, byte [ebp - 0x12]
imul ecx, eax, 0xac
mov byte [0x100cd096], cl
movzx eax, word [ebp - 0x1c]
cdq
sub eax, 0x41ccf7d5
sbb edx, 0xa1b92
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov edx, 0x85f7f
mov dword [ebp - 0x6c], 0x70984f76
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x1c]
movsx ecx, byte [ebp - 0x14]
add eax, ecx
movsx edx, word [0x100cd098]
add eax, edx
movsx ecx, byte [ebp - 0x14]
imul eax, ecx
not eax
mov byte [ebp - 0x31], al
mov edx, dword [ebp - 0xcc]
sub edx, 0x11e
cmp edx, dword [ebp - 0xcc]
je 0x10072039
mov eax, 3
mov word [0x100cd0d8], ax
movsx ecx, word [ebp - 0x20]
sub ecx, 0x43f1
mov word [ebp - 0x28], cx
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x1007157c
xor eax, eax
mov dword [ebp - 0x154], 1
mov dword [ebp - 0x150], eax
jmp 0x10071587
xorps xmm0, xmm0
movlpd qword [ebp - 0x154], xmm0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
push edx
push ecx
mov eax, dword [ebp - 0x150]
push eax
mov ecx, dword [ebp - 0x154]
push ecx
call fcn.10099890
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], edx
mov edx, dword [ebp - 0x1fc]
or edx, dword [ebp - 0x1f8]
jne 0x100715c8
mov dword [ebp - 0xd4], 1
jmp 0x100715d2
mov dword [ebp - 0xd4], 0
cmp dword [ebp - 0x4c], 0
jne 0x100715e4
mov dword [ebp - 0xd0], 1
jmp 0x100715ee
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
sub ecx, eax
jne 0x10071607
mov byte [ebp - 0x4e], 1
jmp 0x1007160b
mov byte [ebp - 0x4e], 0
mov dl, byte [ebp - 0x4e]
mov byte [0x100cd07f], dl
mov al, byte [ebp - 0x74]
mov byte [0x100cd083], al
imul ecx, dword [0x100cd0f0], 0xe3
mov dword [ebp - 0x78], ecx
movzx edx, byte [ebp - 0x31]
add edx, 0x1262fc00
mov dword [0x100cd100], edx
movsx eax, word [0x100cd0d8]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 3
ja case.default.0x10071659
mov ecx, dword [ebp - 0xd8]
jmp dword [ecx*4 + 0x1007205c]
mov edx, dword [ebp - 0x4c]
shl edx, 6
mov word [0x100cd110], dx
mov ax, word [0x100cd094]
sub ax, 1
mov word [0x100cd094], ax
xor ecx, ecx
mov dword [ebp - 0x64], 0xd78
mov dword [ebp - 0x60], ecx
movsx eax, word [0x100cd0ec]
cdq
push edx
push eax
mov edx, dword [0x100cd0a4]
push edx
mov eax, dword [0x100cd0a0]
push eax
call fcn.10099890
mov ecx, dword [0x100cd0a0]
sub ecx, eax
mov eax, dword [0x100cd0a4]
sbb eax, edx
mov dword [0x100cd0a0], ecx
mov dword [0x100cd0a4], eax
cmp dword [0x100cd0a8], 0
jne 0x100716d4
mov dword [ebp - 0xdc], 1
jmp 0x100716de
mov dword [ebp - 0xdc], 0
movzx eax, byte [0x100cd082]
cdq
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x250], edx
xor eax, ecx
mov ecx, dword [0x100cd0a8]
add ecx, dword [ebp - 0xdc]
add eax, ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.10099890
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp case.default.0x10071659
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x254], ecx
sub eax, 0x51
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x258], eax
mov word [0x100cd094], dx
xor ecx, ecx
mov edx, dword [0x100cd0f8]
sub edx, dword [0x100cd0e4]
mov eax, dword [0x100cd0fc]
sbb eax, ecx
mov ecx, dword [0x100cd0f8]
sub ecx, edx
mov edx, dword [0x100cd0fc]
sbb edx, eax
mov dword [0x100cd0f8], ecx
mov dword [0x100cd0fc], edx
movsx eax, word [ebp - 0x38]
sub eax, dword [ebp - 0x5c]
movsx ecx, word [ebp - 0x38]
add ecx, eax
mov word [ebp - 0x38], cx
mov edx, dword [ebp - 0x3c]
xor eax, eax
sub edx, dword [ebp - 0x74]
sbb eax, dword [ebp - 0x70]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
movzx ecx, word [ebp - 0x1c]
mov edx, dword [0x100cd0f0]
imul edx, ecx
mov dword [0x100cd0f0], edx
jmp case.default.0x10071659
movsx eax, byte [0x100cd047]
cdq
sub eax, 0x62d0f49a
mov byte [ebp - 0x31], al
movzx eax, byte [0x100cd07f]
cdq
add eax, 0xdd021c99
mov byte [0x100cd027], al
mov eax, 0x5338
mov word [0x100cd108], ax
movsx eax, word [ebp - 0x38]
cdq
sub eax, 0xdafea636
sbb edx, 0xbbc60
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x38]
cdq
add eax, 0xf5662482
mov dword [0x100cd0a8], eax
jmp case.default.0x10071659
movzx eax, byte [0x100cd07f]
cdq
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0x70]
sbb eax, edx
add ecx, dword [ebp - 0x74]
adc eax, dword [ebp - 0x70]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100cd0e4]
and ecx, dword [0x100cd118]
not ecx
mov dword [ebp - 0x84], ecx
mov edx, dword [0x100cd0c8]
and edx, 0x50
mov byte [0x100cd027], dl
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
push 0
push 0xe4a6
push ecx
push eax
call fcn.10099890
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x100cd0e0]
sub edx, dword [0x100cd118]
mov word [ebp - 0x24], dx
mov dword [0x100cd100], 3
mov eax, 0xffff8b1a
mov word [ebp - 0x24], ax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x100718a2
mov dword [ebp - 0xe0], 1
jmp 0x100718ac
mov dword [ebp - 0xe0], 0
movzx eax, word [0x100cd0b8]
cdq
add eax, dword [0x100cd0a0]
mov edx, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x260], ecx
xor eax, edx
movzx edx, word [0x100cd0b8]
add edx, dword [ebp - 0xe0]
movzx ecx, byte [ebp - 0x13]
add ecx, dword [ebp - 0x5c]
imul edx, ecx
add eax, edx
mov word [0x100cd0b8], ax
mov eax, dword [0x100cd100]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push esi
push ecx
push edx
push eax
call fcn.10099890
mov ecx, dword [ebp - 0x74]
not ecx
mov esi, dword [ebp - 0x70]
not esi
xor edi, edi
sub ecx, dword [ebp - 0x4c]
sbb esi, edi
push esi
push ecx
push edx
push eax
call fcn.10099890
mov dword [0x100cd0ac], eax
movzx eax, byte [ebp - 0x12]
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x264], eax
add edx, 0x62f0
mov word [ebp - 0x28], dx
mov ecx, dword [0x100cd100]
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 3
ja case.default.0x1007196c
mov edx, dword [ebp - 0xe4]
jmp dword [edx*4 + 0x1007206c]
mov al, byte [0x100cdb38]
mov byte [ebp - 0x15], al
mov cl, byte [0x100cdb38]
mov byte [0x100cd07f], cl
mov edx, dword [ebp - 0x78]
sub edx, 0x27c15c82
mov word [0x100cd108], dx
mov eax, dword [0x100cdb38]
mov dword [ebp - 0x7c], eax
movsx ecx, word [0x100cd0d8]
not ecx
mov edx, dword [ebp - 0x48]
add edx, ecx
mov byte [ebp - 0x13], dl
jmp case.default.0x1007196c
movzx eax, byte [0x100cd06e]
shl eax, 5
mov byte [0x100cd082], al
movsx ecx, word [0x100cd0ec]
sub ecx, 0x93c3
mov dword [ebp - 0x4c], ecx
movsx edx, byte [0x100cd026]
movzx eax, word [ebp - 0x1c]
not eax
sub edx, eax
mov word [0x100cd0b8], dx
movsx ecx, word [ebp - 0x38]
mov eax, dword [0x100cd0ac]
sub eax, ecx
cdq
mov esi, eax
mov eax, dword [0x100cd100]
not eax
cdq
or eax, 0xa424aba0
sub esi, eax
xor edx, edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add eax, dword [0x100cd0f0]
adc ecx, edx
mov edx, dword [0x100cd088]
mov edi, dword [0x100cd08c]
push edi
push edx
push ecx
push eax
call fcn.10099890
add esi, eax
mov word [0x100cd0dc], si
movsx eax, byte [0x100cd096]
test eax, eax
jne 0x10071a54
xor ecx, ecx
mov dword [ebp - 0x204], 1
mov dword [ebp - 0x200], ecx
jmp 0x10071a5f
xorps xmm0, xmm0
movlpd qword [ebp - 0x204], xmm0
movsx edx, word [0x100cd0dc]
test edx, edx
jne 0x10071a7e
xor eax, eax
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x158], eax
jmp 0x10071a89
xorps xmm0, xmm0
movlpd qword [ebp - 0x15c], xmm0
mov ebx, dword [0x100cd0d0]
sub ebx, dword [ebp - 0x204]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x15c]
push eax
push edx
push ecx
call fcn.10099890
add ebx, eax
movzx ecx, word [ebp - 0x1c]
sub ecx, dword [ebp - 0x3c]
xor ecx, dword [0x100cd0a0]
or ebx, ecx
mov byte [ebp - 0x13], bl
mov eax, dword [0x100cd0c8]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
not ecx
not esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], edx
mov edx, dword [ebp - 0x20c]
or edx, dword [ebp - 0x208]
jne 0x10071afe
mov dword [ebp - 0xe8], 1
jmp 0x10071b08
mov dword [ebp - 0xe8], 0
movsx eax, word [0x100cd0ec]
sub eax, dword [ebp - 0xe8]
mov dword [0x100cd0a8], eax
jmp case.default.0x1007196c
mov byte [ebp - 0x13], 0xcd
movsx eax, byte [0x100cd096]
cdq
mov ecx, 8
imul ecx, ecx, 0x2916
mov dword [ecx + 0x1024d1f8], eax
mov dword [ecx + 0x1024d1fc], edx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x100cd0c8]
sub ecx, 0xd903
movzx edx, word [ebp - 0x28]
imul edx, ecx
mov word [ebp - 0x28], dx
movsx eax, byte [ebp - 0x14]
sar eax, 7
cdq
mov dword [0x100cd0d0], eax
mov dword [0x100cd0d4], edx
jmp case.default.0x1007196c
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
sub eax, 0xf1d01bc8
sbb ecx, 0x703dc
mov dword [0x100cd0f8], eax
mov dword [0x100cd0fc], ecx
movsx edx, byte [ebp - 0x14]
imul eax, edx, 0x43407bb
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
push 0xdd8b6
push 0x2043b7f2
push ecx
push eax
call fcn.10099890
mov dword [ebp - 0x7c], eax
mov edx, dword [0x100cd118]
sub edx, 0xd0cc60c9
mov eax, dword [0x100cd11c]
sbb eax, 0xd8636
mov dword [0x100cd088], edx
mov dword [0x100cd08c], eax
movzx ecx, word [0x100cd10c]
add ecx, 0xc6b2
mov edx, dword [0x100cd0c8]
sub edx, ecx
mov dword [0x100cd0c8], edx
movsx eax, word [0x100cd098]
movzx ecx, word [0x100cd10c]
add eax, ecx
movsx edx, word [0x100cd098]
or edx, eax
mov word [0x100cd098], dx
push 4
lea eax, [ebp - 0xec]
push eax
push 4
push 0
push str.TempValue
mov ecx, dword [ebp - 0x108]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
call dword [sym.imp.USER32.dll_GetCapture]
mov word [0x100cd110], ax
movsx edx, word [0x100cd0dc]
test edx, edx
jne 0x10071c69
mov dword [ebp - 0xf0], 1
jmp 0x10071c73
mov dword [ebp - 0xf0], 0
cmp dword [ebp - 0xf0], 0x15
jge 0x10071faf
push 0x8f
push 0xe2
movsx eax, byte [0x100cd06f]
push eax
movsx ecx, word [0x100cd0ec]
push ecx
push 0x60
movsx edx, word [0x100cd108]
push edx
movzx eax, word [0x100cd0b8]
push eax
call fcn.1005d580
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
ja 0x10071cc9
mov dword [ebp - 0x118], 1
jmp 0x10071cd3
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x48], 5
ja 0x10071ce5
mov dword [ebp - 0xf8], 1
jmp 0x10071cef
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0xf8]
jg 0x10071eaa
mov dword [ebp - 4], 0
mov edx, dword [0x100cdb38]
mov dword [0x100cd0f0], edx
mov eax, dword [ebp - 0x5c]
xor eax, 0xafd9
jne 0x10071d2a
mov dword [ebp - 0xfc], 1
jmp 0x10071d34
mov dword [ebp - 0xfc], 0
mov ecx, dword [0x100cd0a8]
xor ecx, dword [ebp - 0xfc]
movsx edx, word [ebp - 0x20]
and edx, dword [0x100cd090]
sub ecx, edx
jne 0x10071d59
mov eax, 1
mov word [ebp - 0x7e], ax
jmp 0x10071d5f
xor ecx, ecx
mov word [ebp - 0x7e], cx
mov dx, word [ebp - 0x7e]
mov word [0x100cd0dc], dx
movzx eax, byte [ebp - 0x31]
cdq
mov ecx, dword [0x100cd088]
mov esi, dword [0x100cd08c]
push edx
push eax
push esi
push ecx
call fcn.10099890
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], edx
mov edx, dword [ebp - 0x214]
or edx, dword [ebp - 0x210]
jne 0x10071daa
mov dword [ebp - 0x100], 1
jmp 0x10071db4
mov dword [ebp - 0x100], 0
mov eax, dword [0x100cd0e4]
xor ecx, ecx
mov edx, dword [ebp - 0x58]
not edx
mov esi, dword [ebp - 0x54]
not esi
add eax, edx
adc ecx, esi
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x21c]
or eax, dword [ebp - 0x218]
jne 0x10071def
mov dword [ebp - 0xf4], 1
jmp 0x10071df9
mov dword [ebp - 0xf4], 0
movsx ecx, word [ebp - 0x20]
imul ecx, dword [0x100cd0f0]
add ecx, dword [ebp - 0x100]
sub ecx, dword [ebp - 0xf4]
mov byte [ebp - 0x11], cl
imul edx, dword [0x100cd090], 0x2d309dea
mov dword [0x100cd0e0], edx
movsx eax, byte [0x100cd026]
add eax, 0x3392
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x10071e95
mov dword [ebp - 4], 0xffffffff
jmp 0x10071ea5
jmp 0x10071fad
mov eax, dword [0x100cd100]
cdq
add eax, dword [0x100cd0d0]
adc edx, dword [0x100cd0d4]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], edx
mov edx, dword [ebp - 0x224]
or edx, dword [ebp - 0x220]
jne 0x10071ee2
mov dword [ebp - 0x104], 1
jmp 0x10071eec
mov dword [ebp - 0x104], 0
movzx eax, byte [ebp - 0x11]
not eax
mov ecx, dword [ebp - 0x3c]
and ecx, dword [0x100cd0c8]
imul eax, ecx
movsx edx, byte [0x100cd047]
add edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x104]
or eax, edx
mov dword [0x100cd0e4], eax
movsx eax, word [0x100cd0d8]
cdq
mov ecx, dword [0x100cd0c0]
mov esi, dword [0x100cd0c4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100cd0c0]
mov eax, dword [0x100cd0c4]
sub edx, ecx
sbb eax, esi
mov dword [0x100cd0c0], edx
mov dword [0x100cd0c4], eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
push 0
push 0xeb67
push edx
push ecx
call fcn.10099890
mov ecx, dword [ebp - 0x4c]
or ecx, eax
mov dword [ebp - 0x4c], ecx
mov dx, word [0x100cdb38]
mov word [ebp - 0x20], dx
movsx eax, word [0x100cd110]
cdq
xor eax, 0xa0459197
xor edx, 0x58546
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [0x100cd118]
add eax, 0xeb746d41
mov ecx, dword [0x100cd11c]
adc ecx, 0xdcc86
mov edx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], esi
jmp 0x1007202c
cmp dword [ebp - 0x78], 0
je 0x1007202c
movsx eax, word [0x100cd098]
imul ecx, eax, 0x4a
xor eax, eax
sub eax, ecx
cdq
mov ecx, eax
movsx eax, word [0x100cd108]
cdq
mov esi, eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x26c], eax
add esi, edx
movsx eax, byte [ebp - 0x14]
movsx edx, word [ebp - 0x24]
not edx
or eax, edx
cdq
add esi, eax
add ecx, esi
mov byte [0x100cd027], cl
movzx eax, byte [0x100cd07f]
add eax, 0x5f611006
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [0x100cd0c0]
mov ecx, dword [0x100cd0c4]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movsx edx, word [0x100cd0ec]
add edx, dword [0x100cd084]
mov byte [0x100cd06f], dl
mov eax, dword [ebp - 0x108]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret