Function at 0x1006f4d0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x318
push ebx
push esi
push edi
mov dword [ebp - 0x29c], 0xca1e57c6
mov eax, dword [0x100d3188]
mov ecx, dword [0x100d318c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x70], 0x77ac495
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov byte [ebp - 2], 0x6c
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x3c], ecx
xor edx, edx
mov dword [ebp - 0x38], 0xa7d9545c
mov dword [ebp - 0x34], edx
mov byte [ebp - 3], 0x88
xor eax, eax
mov dword [ebp - 0x68], 0x507d9512
mov dword [ebp - 0x64], eax
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x298], edx
mov word [ebp - 0x10], cx
mov byte [ebp - 4], 0xff
mov ax, word [0x100d315c]
mov word [ebp - 0x20], ax
mov ecx, 0x9968
mov word [ebp - 0x14], cx
movsx edx, word [0x100d31b0]
mov dword [ebp - 0x4c], edx
mov byte [ebp - 1], 0x7d
xor eax, eax
mov dword [ebp - 0x60], 0x3e
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x6c], 0xa62230da
mov byte [ebp - 9], 0xab
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], 0xef809bb
mov ax, word [0x100d3148]
mov word [ebp - 0x48], ax
movsx cx, byte [0x100d304e]
mov word [ebp - 0x24], cx
mov edx, 0xd2f6
mov word [ebp - 8], dx
mov dword [ebp - 0x7c], 0xe
mov eax, dword [0x100d3174]
mov dword [ebp - 0x58], eax
movzx eax, byte [0x100d3063]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov cx, word [0x100d3174]
mov word [ebp - 0x1c4], cx
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x294], 0x78d5
mov edx, dword [0x100d3190]
mov byte [ebp - 0x7d], dl
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
xor eax, eax
mov dword [ebp - 0x2f0], 0x41
mov dword [ebp - 0x2ec], eax
mov ecx, dword [0x100d3190]
mov dword [ebp - 0x290], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], edx
mov byte [ebp - 0x7e], 0xfe
movsx ecx, byte [0x100d3026]
mov dword [ebp - 0x284], ecx
mov edx, 0x2d26
mov word [ebp - 0x1c8], dx
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov eax, dword [0x100d3188]
mov dword [ebp - 0x2b0], eax
mov ecx, dword [0x100d3174]
xor edx, edx
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x2a0], 0xa30fad57
xor eax, eax
mov dword [ebp - 0x308], 0xa1
mov dword [ebp - 0x304], eax
xor ecx, ecx
mov dword [ebp - 0x310], 0x2e1d
mov dword [ebp - 0x30c], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], edx
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x1d0]
jne 0x1006f71b
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x1cc]
je 0x1006f727
mov dword [ebp - 0x104], 1
jmp 0x1006f731
mov dword [ebp - 0x104], 0
cmp dword [ebp - 0x38], 0x49
jne 0x1006f73d
cmp dword [ebp - 0x34], 0
je 0x1006f749
mov dword [ebp - 0x108], 1
jmp 0x1006f753
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0x108]
jle 0x1006f8a5
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
je 0x1006f78d
movsx edx, word [0x100d312c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x100d3120], eax
mov dword [0x100d3124], ecx
jmp 0x1006f8a0
cmp dword [ebp - 0x3c], 0
jne 0x1006f79f
mov dword [ebp - 0x10c], 1
jmp 0x1006f7a9
mov dword [ebp - 0x10c], 0
movzx edx, byte [0x100d3063]
cmp dword [ebp - 0x10c], edx
jge 0x1006f7c4
mov dword [ebp - 0x110], 1
jmp 0x1006f7ce
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
not eax
test eax, eax
je 0x1006f8a0
cmp dword [0x100d314c], 0
jl 0x1006f801
jg 0x1006f7f5
cmp dword [0x100d3148], 0x1aef
jbe 0x1006f801
mov dword [ebp - 0x114], 1
jmp 0x1006f80b
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x114]
not ecx
test ecx, ecx
je 0x1006f8a0
mov edx, dword [0x100d3190]
imul edx, dword [0x100d31b4]
mov dword [0x100d31b4], edx
xor eax, eax
mov dword [0x100d3180], 4
mov dword [0x100d3184], eax
push 0
push 0xe6
mov ecx, dword [0x100d3164]
push ecx
mov edx, dword [0x100d3160]
push edx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov eax, dword [ebp - 0x7c]
xor eax, 0x197c61f0
movsx ecx, byte [ebp - 3]
add ecx, eax
mov byte [ebp - 3], cl
mov eax, dword [0x100d3134]
cdq
add eax, dword [ebp - 0x44]
adc edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
not ecx
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.100a25b0
not eax
not edx
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp 0x1006f963
mov edx, dword [0x100d3168]
or edx, dword [0x100d316c]
je 0x1006f963
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
sub eax, 0x9105
sbb ecx, 0
mov edx, dword [0x100d3168]
sub edx, eax
mov eax, dword [0x100d316c]
sbb eax, ecx
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
movzx eax, word [0x100d3178]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x70]
cdq
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push edx
push eax
call fcn.100a25b0
mov edx, dword [ebp - 0x70]
mov ecx, eax
sar edx, cl
mov dword [ebp - 0x70], edx
cmp dword [0x100d311c], 0
jne 0x1006f925
mov dword [ebp - 0x90], 1
jmp 0x1006f92f
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
mov dword [0x100d3190], eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x83
mov edx, dword [0x100d3190]
sub edx, ecx
mov dword [0x100d3190], edx
mov eax, dword [0x100d3148]
sub eax, 0x553b
mov ecx, dword [ebp - 0x6c]
add ecx, eax
mov dword [ebp - 0x6c], ecx
mov edx, dword [0x100d3c78]
mov dword [ebp - 0x84], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
sub eax, 0xc6d76e5c
sbb ecx, 0
mov edx, dword [0x100d3198]
mov esi, dword [0x100d319c]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov eax, 1
mov word [0x100d3178], ax
mov cl, byte [0x100d3027]
sub cl, 1
mov byte [0x100d3027], cl
movsx eax, byte [0x100d3026]
cdq
mov edx, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x2ac], ecx
sub eax, edx
mov dl, byte [0x100d3026]
mov ecx, eax
shl dl, cl
mov byte [0x100d3026], dl
movsx eax, byte [ebp - 3]
sub eax, 0x5cb98622
mov word [ebp - 8], ax
movsx eax, word [ebp - 0x10]
add eax, 0xb
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x48f
mov dword [ebp - 0x1ac], ecx
xor edx, edx
mov dword [ebp - 0x44], 4
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x10]
cdq
push 0x71c67
push 0x4f824bd1
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x28], eax
mov eax, dword [0x100d31b4]
sub eax, 0x2cbfa794
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x70]
cdq
mov ecx, dword [0x100d319c]
sub eax, dword [0x100d3198]
sbb edx, ecx
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], edx
mov edx, dword [ebp - 0x1d8]
or edx, dword [ebp - 0x1d4]
jne 0x1006fa7f
mov dword [ebp - 0x94], 1
jmp 0x1006fa89
mov dword [ebp - 0x94], 0
mov eax, dword [0x100d3140]
add eax, dword [ebp - 0x94]
mov byte [0x100d304f], al
cmp dword [ebp - 0x28], 0
je 0x1006fab3
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x118], edx
jmp 0x1006fac4
movsx eax, byte [ebp - 9]
cdq
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [0x100d3174]
xor eax, eax
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push eax
push edx
call fcn.100a25b0
mov edx, dword [0x100d3174]
add edx, eax
mov dword [0x100d3174], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add eax, 0x2fdf459f
adc ecx, 0xc38e9
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
ja 0x1006fe41
jb 0x1006fb45
cmp dword [ebp - 0x13c], 4
ja 0x1006fe41
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
jmp dword [edx*4 + 0x1007159c]
mov edx, dword [ebp - 0x84]
add edx, 0x631
mov dword [ebp - 0x1b0], edx
cmp dword [ebp - 0x28], 0
je 0x1007035b
movzx eax, word [ebp - 8]
test eax, eax
je 0x1007035b
push 0
mov ecx, dword [0x100d3144]
push ecx
call fcn.1005b280
add esp, 8
mov byte [0x100d3027], al
movzx edx, byte [0x100d3027]
test edx, edx
jg 0x1006fe96
mov dword [ebp - 0x98], 1
jmp 0x1006fea0
mov dword [ebp - 0x98], 0
movzx eax, byte [0x100d3027]
cmp eax, 0x2f
jg 0x1006feb8
mov dword [ebp - 0x9c], 1
jmp 0x1006fec2
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0x98]
cmp ecx, dword [ebp - 0x9c]
jl 0x10070279
movsx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], edx
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0x50]
ja 0x1006ff09
jb 0x1006fefd
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [ebp - 0x54]
ja 0x1006ff09
mov dword [ebp - 0xa0], 1
jmp 0x1006ff13
mov dword [ebp - 0xa0], 0
movsx ecx, byte [ebp - 1]
cmp ecx, 0x4f
jg 0x1006ff28
mov dword [ebp - 0xa4], 1
jmp 0x1006ff32
mov dword [ebp - 0xa4], 0
mov edx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0xa4]
jne 0x100700a9
mov eax, dword [0x100d3188]
or eax, dword [0x100d318c]
jne 0x1006ff65
xor ecx, ecx
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x158], ecx
jmp 0x1006ff70
xorps xmm0, xmm0
movlpd qword [ebp - 0x15c], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
not edx
not eax
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], edx
mov edx, dword [ebp - 0x1f0]
or edx, dword [ebp - 0x1ec]
jne 0x1006ffb7
xor eax, eax
mov dword [ebp - 0x164], 1
mov dword [ebp - 0x160], eax
jmp 0x1006ffc2
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
movsx ecx, word [0x100d31b0]
test ecx, ecx
jne 0x1006ffe1
xor edx, edx
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x168], edx
jmp 0x1006ffec
xorps xmm0, xmm0
movlpd qword [ebp - 0x16c], xmm0
mov eax, dword [0x100d3124]
push eax
mov ecx, dword [0x100d3120]
push ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x164]
sbb esi, dword [ebp - 0x160]
mov edi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x64]
add edi, dword [ebp - 0x16c]
adc ebx, dword [ebp - 0x168]
not edi
not ebx
movzx eax, byte [0x100d3063]
sub eax, dword [ebp - 0x58]
not eax
cdq
xor edi, eax
xor ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov dx, word [0x100d3c78]
mov word [0x100d312c], dx
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x100d3178]
sub eax, ecx
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x1c]
adc esi, edx
movzx eax, byte [ebp - 2]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 2], al
xor eax, eax
mov dword [ebp - 0x44], 0xe017
mov dword [ebp - 0x40], eax
jmp 0x10070274
mov ecx, dword [0x100d3160]
or ecx, dword [0x100d3164]
jne 0x100700c3
mov dword [ebp - 0xa8], 1
jmp 0x100700cd
mov dword [ebp - 0xa8], 0
movzx edx, word [ebp - 0x14]
cmp dword [ebp - 0xa8], edx
jne 0x100700e5
mov dword [ebp - 0xac], 1
jmp 0x100700ef
mov dword [ebp - 0xac], 0
mov eax, dword [0x100d3160]
or eax, dword [0x100d3164]
jne 0x10070110
xor ecx, ecx
mov dword [ebp - 0x174], 1
mov dword [ebp - 0x170], ecx
jmp 0x1007011b
xorps xmm0, xmm0
movlpd qword [ebp - 0x174], xmm0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x170]
cmp ecx, dword [ebp - 0x1f4]
jg 0x10070157
jl 0x1007014b
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x1f8]
jae 0x10070157
mov dword [ebp - 0xb0], 1
jmp 0x10070161
mov dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xb0]
jle 0x1007017b
mov dword [ebp - 0xb4], 1
jmp 0x10070185
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp - 0xb4]
not ecx
test ecx, ecx
je 0x10070274
mov edx, dword [ebp - 0x58]
sub edx, 0x1f5b0400
mov word [ebp - 0x24], dx
mov ecx, dword [0x100d31b4]
sub ecx, dword [0x100d3144]
mov eax, dword [0x100d31b4]
shr eax, cl
mov dword [0x100d31b4], eax
movzx ecx, word [ebp - 0x14]
imul ecx, dword [0x100d3170]
imul ecx, dword [0x100d3170]
mov dword [0x100d3170], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x200], edx
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x200]
or ecx, dword [ebp - 0x1fc]
je 0x1007020b
mov edx, dword [0x100d3138]
mov eax, dword [0x100d313c]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], eax
jmp 0x10070223
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [0x100d3174]
xor eax, eax
push 0xdc343
push 0x600b3b97
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, word [0x100d3130]
cdq
mov ecx, eax
sub ecx, dword [0x100d3188]
movsx eax, word [0x100d3130]
cdq
xor eax, ecx
mov word [0x100d3130], ax
jmp 0x1007035b
movsx edx, word [0x100d312c]
cmp edx, dword [0x100d3190]
jge 0x10070294
mov dword [ebp - 0xb8], 1
jmp 0x1007029e
mov dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x208]
cmp edx, dword [ebp - 0x30]
jne 0x100702c5
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x2c]
je 0x100702d1
mov dword [ebp - 0xbc], 1
jmp 0x100702db
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [ebp - 0xbc]
jl 0x1007035b
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
movsx eax, byte [ebp - 3]
cdq
add eax, 0x34c89940
mov dword [0x100d3144], eax
mov dword [ebp - 0x28], 0x646e39b6
movsx ecx, word [0x100d312c]
or ecx, dword [0x100d3174]
imul ecx, dword [ebp - 0x6c]
not ecx
movzx edx, byte [ebp - 4]
and edx, 0x68
not edx
sub edx, 0x2609
sub ecx, edx
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, dword [0x100d3120]
sub ecx, eax
mov eax, dword [0x100d3124]
sbb eax, edx
mov dword [0x100d3120], ecx
mov dword [0x100d3124], eax
mov ecx, dword [ebp - 0x84]
add ecx, 0x7d5
mov dword [ebp - 0x1a8], ecx
movsx eax, byte [0x100d304e]
cdq
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], edx
mov edx, dword [ebp - 0x210]
cmp edx, dword [0x100d3160]
jne 0x100703a9
mov eax, dword [ebp - 0x20c]
cmp eax, dword [0x100d3164]
jne 0x100703a9
mov dword [ebp - 0xc0], 1
jmp 0x100703b3
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x3c]
cdq
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [0x100d3188]
jne 0x100703df
mov edx, dword [ebp - 0x214]
cmp edx, dword [0x100d318c]
je 0x100703eb
mov dword [ebp - 0xc4], 1
jmp 0x100703f5
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0xc4]
jl 0x100704bb
mov ecx, dword [0x100d3160]
sub ecx, 0x26874a1d
mov edx, dword [0x100d3164]
sbb edx, 0
mov eax, dword [ebp - 0x38]
sub eax, ecx
mov ecx, dword [ebp - 0x34]
sbb ecx, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
imul edx, dword [0x100d3170], 0x8b81
mov dword [0x100d3144], edx
movzx eax, word [0x100d3178]
movsx ecx, byte [0x100d304e]
add eax, ecx
movzx edx, word [0x100d3178]
add edx, eax
mov word [0x100d3178], dx
mov eax, dword [0x100d3190]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
push 0
push 0x3a5b
push eax
push edx
call fcn.100a25b0
mov byte [ebp - 2], al
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x2b8], edx
xor ecx, 0x3f70d62
mov word [ebp - 0x24], cx
jmp 0x100705ba
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x2bc], ecx
add eax, dword [ebp - 0x38]
not eax
mov edx, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov dword [ebp - 0x2c0], ecx
sub edx, eax
mov byte [0x100d3027], dl
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100d3160]
sub ecx, 0x1fdd610e
mov edx, dword [0x100d3164]
sbb edx, 0
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
movsx eax, word [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x30]
not ecx
mov esi, dword [ebp - 0x2c]
not esi
sub eax, ecx
sbb edx, esi
mov ecx, dword [0x100d3140]
add ecx, dword [0x100d3158]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov esi, eax
mov edx, dword [0x100d3174]
not edx
xor eax, eax
mov ecx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x5c]
sub ecx, edx
sbb edi, eax
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
push eax
push edx
push edi
push ecx
call fcn.100a25b0
sub esi, eax
mov dword [0x100d3170], esi
movsx eax, word [0x100d3130]
cdq
mov ecx, dword [0x100d31ac]
add eax, dword [0x100d31a8]
adc edx, ecx
mov ecx, dword [0x100d3150]
add ecx, 0x689c7dd3
mov esi, dword [0x100d3154]
adc esi, 0x74b6
xor eax, ecx
xor edx, esi
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movsx eax, word [ebp - 0x10]
cdq
and eax, 0x2a19ef6d
and edx, 0x61db2
mov ecx, dword [0x100d3148]
sub ecx, eax
mov eax, dword [0x100d314c]
sbb eax, edx
mov dword [0x100d3148], ecx
mov dword [0x100d314c], eax
movsx ecx, word [0x100d312c]
xor ecx, 0x3c51a516
mov byte [ebp - 1], cl
movzx eax, byte [0x100d304f]
cdq
add eax, 0xada1432f
mov byte [ebp - 9], al
mov edx, dword [0x100d3168]
add edx, dword [0x100d3120]
mov eax, dword [0x100d316c]
adc eax, dword [0x100d3124]
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0xf271
mov word [ebp - 0x20], cx
movzx edx, byte [ebp - 4]
sub edx, dword [0x100d3144]
mov dword [0x100d3190], edx
mov eax, dword [0x100d311c]
cdq
sub eax, 0xdd4a1a04
mov word [0x100d3130], ax
mov eax, dword [ebp - 0x58]
sar eax, 3
mov byte [0x100d304f], al
movsx ecx, byte [0x100d3026]
xor ecx, 0x82ae
mov word [ebp - 0x48], cx
movsx eax, word [ebp - 0x48]
add eax, 0x5b
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
push 0
lea edx, [ebp - 0x100]
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 - 0xf8], eax
mov al, byte [ebp - 4]
sub al, 1
mov byte [ebp - 4], al
mov eax, dword [0x100d3190]
cdq
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x2c4], edx
sub ecx, eax
mov word [ebp - 8], cx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
push 0
push 0xf13bcfc5
push ecx
push eax
call fcn.100a25b0
mov dword [0x100d3174], eax
movzx edx, word [0x100d315c]
test edx, edx
je 0x1007070f
movsx eax, word [0x100d31b0]
cdq
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], edx
jmp 0x10070726
mov eax, dword [0x100d3138]
mov ecx, dword [0x100d313c]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x17c]
mov dword [0x100d3144], edx
movzx eax, byte [0x100d3027]
sub eax, 0xa3
mov byte [0x100d3026], al
mov ecx, dword [ebp - 0x1a8]
imul ecx, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x1b0]
je 0x10071592
mov edx, dword [ebp - 0x28]
xor eax, eax
mov ecx, dword [0x100d3150]
not ecx
mov esi, dword [0x100d3154]
not esi
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
mov edx, dword [ebp - 0x220]
or edx, dword [ebp - 0x21c]
jne 0x100707a8
xor eax, eax
mov dword [ebp - 0x184], 1
mov dword [ebp - 0x180], eax
jmp 0x100707b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x184], xmm0
movzx eax, word [ebp - 8]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
push edx
push eax
mov ecx, dword [ebp - 0x180]
push ecx
mov edx, dword [ebp - 0x184]
push edx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x6c]
sub eax, 0xbf3f
mov ecx, dword [0x100d3174]
sub ecx, eax
mov dword [0x100d3174], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x2c8], eax
sub edx, 0xf5463094
mov byte [ebp - 2], dl
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, eax
sub ecx, dword [0x100d3120]
mov eax, dword [ebp - 0x3c]
cdq
and eax, ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [0x100d3138]
add edx, 0xf75e7de6
mov eax, dword [0x100d3144]
sub eax, edx
mov dword [0x100d3144], eax
cmp dword [0x100d3190], 0
jne 0x1007084b
mov dword [ebp - 0xc8], 1
jmp 0x10070855
mov dword [ebp - 0xc8], 0
mov ecx, dword [0x100d3150]
or ecx, dword [0x100d3154]
jne 0x1007087d
mov edx, dword [0x100d3168]
or edx, dword [0x100d316c]
jne 0x1007087d
mov dword [ebp - 0xcc], 0
jmp 0x10070887
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0xc8]
cmp eax, dword [ebp - 0xcc]
jg 0x10070b4f
movsx ecx, word [ebp - 0x10]
cmp ecx, dword [0x100d3140]
jne 0x100708b1
mov dword [ebp - 0xd0], 1
jmp 0x100708bb
mov dword [ebp - 0xd0], 0
movsx edx, word [ebp - 0x10]
cmp edx, 0xe
jne 0x100708d0
mov dword [ebp - 0xd4], 1
jmp 0x100708da
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd0]
cmp eax, dword [ebp - 0xd4]
jl 0x10070b4d
mov dword [ebp - 0x4c], 0
mov dword [0x100d3158], 0x70ad
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x10]
imul eax, ecx
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x1007092d
mov eax, 1
mov word [ebp - 0x72], ax
jmp 0x10070933
xor ecx, ecx
mov word [ebp - 0x72], cx
mov dx, word [ebp - 0x72]
mov word [0x100d315c], dx
mov eax, dword [0x100d3188]
sub eax, 0xeafcf502
mov dword [0x100d3170], eax
movzx eax, byte [0x100d3063]
cdq
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], esi
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
not edx
not eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x1b4], ecx
cmp dword [ebp - 0x1b4], 0
je 0x10070991
jmp 0x10070b4d
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], eax
mov ecx, dword [0x100d3138]
not ecx
mov edx, dword [0x100d313c]
not edx
mov eax, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
xor eax, ecx
xor esi, edx
movzx ecx, byte [ebp - 2]
mov edx, dword [0x100d3170]
not edx
sub ecx, edx
not ecx
xor edx, edx
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1c0]
or eax, dword [ebp - 0x1bc]
jne 0x100709ff
mov dword [ebp - 0xd8], 1
jmp 0x10070a09
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xd8]
mov dword [0x100d3158], ecx
movzx edx, byte [ebp - 4]
mov eax, dword [ebp - 0x4c]
sub eax, edx
jne 0x10070a34
xor ecx, ecx
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x190], ecx
jmp 0x10070a3f
xorps xmm0, xmm0
movlpd qword [ebp - 0x194], xmm0
mov edx, dword [0x100d3168]
add edx, 0x994f
mov eax, dword [0x100d316c]
adc eax, 0
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x228]
or ecx, dword [ebp - 0x224]
jne 0x10070a81
xor edx, edx
mov dword [ebp - 0x18c], 1
mov dword [ebp - 0x188], edx
jmp 0x10070a8c
xorps xmm0, xmm0
movlpd qword [ebp - 0x18c], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add eax, dword [ebp - 0x38]
adc ecx, dword [ebp - 0x34]
sub eax, dword [ebp - 0x18c]
sbb ecx, dword [ebp - 0x188]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0x230]
or edx, dword [ebp - 0x22c]
jne 0x10070ad2
xor eax, eax
mov dword [ebp - 0x19c], 1
mov dword [ebp - 0x198], eax
jmp 0x10070add
xorps xmm0, xmm0
movlpd qword [ebp - 0x19c], xmm0
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x100d31a4]
add eax, dword [0x100d31a0]
adc edx, ecx
mov ecx, dword [ebp - 0x194]
sub ecx, eax
mov eax, dword [ebp - 0x190]
sbb eax, edx
sub ecx, dword [ebp - 0x19c]
sbb eax, dword [ebp - 0x198]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
movzx ecx, word [ebp - 8]
test ecx, ecx
jne 0x10070b26
mov dword [ebp - 0xdc], 1
jmp 0x10070b30
mov dword [ebp - 0xdc], 0
movzx edx, byte [ebp - 4]
movzx eax, word [ebp - 8]
xor edx, eax
mov ecx, dword [0x100d3190]
xor ecx, dword [ebp - 0xdc]
imul edx, ecx
mov word [ebp - 0x24], dx
jmp 0x10070bc8
push 0
push 0x6222
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.100a25b0
mov word [ebp - 0x10], ax
mov ecx, dword [0x100d3168]
add ecx, 0x10
mov edx, dword [0x100d316c]
adc edx, 0
and ecx, dword [ebp - 0x30]
and edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov eax, 2
mov word [ebp - 0x24], ax
imul eax, dword [ebp - 0x3c], 0x34
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
movsx ecx, byte [ebp - 9]
test ecx, ecx
je 0x10070bb2
movsx edx, byte [ebp - 1]
mov dword [ebp - 0xe0], edx
jmp 0x10070bbc
movzx eax, word [ebp - 8]
mov dword [ebp - 0xe0], eax
mov cl, byte [ebp - 0xe0]
mov byte [0x100d304f], cl
cmp dword [ebp - 0xf8], 0
jne 0x10071592
cmp dword [ebp - 0x4c], 0
je 0x10070ced
mov edx, 0x280b58d5
sub edx, dword [0x100d3148]
mov eax, 0x975a8
sbb eax, dword [0x100d314c]
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x238]
or ecx, dword [ebp - 0x234]
jne 0x10070c1a
mov edx, 1
mov word [ebp - 0x74], dx
jmp 0x10070c20
xor eax, eax
mov word [ebp - 0x74], ax
mov cx, word [ebp - 0x74]
mov word [ebp - 0x14], cx
mov edx, 4
imul eax, edx, 0xa5
xor ecx, ecx
mov edx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
sub edx, dword [eax + 0x101bcc58]
sbb esi, ecx
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], esi
movsx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, eax
adc esi, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
mov edx, 8
imul eax, edx, 0xc
mov cl, byte [eax + 0x10122118]
mov byte [0x100d3063], cl
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x240]
or ecx, dword [ebp - 0x23c]
je 0x10070cb5
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0xe4], edx
jmp 0x10070cc2
movzx eax, byte [0x100d304f]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
mov dword [0x100d3134], ecx
push 0
push 0x1447ee63
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.100a25b0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10070ddc
cmp dword [0x100d3174], 0
je 0x10070d60
movsx eax, byte [ebp - 3]
sub eax, 0x4190
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov cx, word [ebp - 0x30]
mov word [0x100d312c], cx
mov edx, dword [ebp - 0x38]
sub edx, 0x31
mov eax, dword [ebp - 0x34]
sbb eax, 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
movsx ecx, byte [0x100d3026]
movsx edx, byte [0x100d304e]
sub ecx, edx
mov byte [0x100d3026], cl
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push 0
push 0x2ba6
push ecx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
jmp 0x10070ddc
cmp dword [0x100d3144], 0xffffff61
jne 0x10070ddc
movzx eax, word [0x100d3178]
not eax
cdq
xor eax, dword [0x100d3168]
mov byte [ebp - 9], al
mov dl, byte [0x100d3c78]
mov byte [0x100d3026], dl
movzx eax, word [0x100d315c]
cdq
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [0x100d315c]
cdq
sub eax, ecx
mov word [0x100d315c], ax
movsx edx, byte [ebp - 1]
imul eax, edx, 0x538ad074
mov word [0x100d31b0], ax
movzx ecx, word [0x100d3178]
add ecx, 1
mov dword [ebp - 0x70], ecx
imul edx, dword [ebp - 0x4c], 0x6d07
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2cc], ecx
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x8c], eax
mov ecx, dword [0x100d3140]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
xor edx, edx
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, dword [0x100d3138]
or eax, dword [0x100d313c]
je 0x10070e93
movsx eax, word [0x100d312c]
cdq
add eax, 0x3eae731b
mov byte [0x100d304e], al
movsx eax, word [ebp - 0x10]
sub eax, 0x650e
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx ecx, word [0x100d3178]
mov edx, dword [0x100d3190]
add edx, ecx
mov dword [0x100d3190], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2d0], ecx
add eax, 0x40ab9ea8
mov dword [ebp - 0x7c], eax
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x2d4], eax
mov word [0x100d31b0], dx
jmp 0x10070ee7
mov ecx, dword [0x100d3190]
sub ecx, 0x5a9a
mov word [ebp - 8], cx
mov byte [ebp - 3], 0xf9
mov edx, dword [ebp - 0x30]
add edx, 0xbcb08ee8
mov eax, dword [ebp - 0x2c]
adc eax, 0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x2d8], edx
mov eax, 0x259c1945
sub eax, ecx
mov word [ebp - 0x48], ax
mov cx, word [0x100d3c78]
mov word [0x100d3178], cx
mov edx, dword [ebp - 0x8c]
add edx, 0x5c6
mov dword [ebp - 0x1b8], edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x274], ecx
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0
jl 0x10071165
jg 0x10070f47
cmp dword [ebp - 0x248], 0
jbe 0x10071165
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
jg 0x10070f89
jl 0x10070f75
cmp dword [ebp - 0x250], 0x758f
jae 0x10070f89
xor ecx, ecx
mov dword [ebp - 0x1a4], 1
mov dword [ebp - 0x1a0], ecx
jmp 0x10070f94
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a4], xmm0
mov edx, 0x2b2925fb
sub edx, dword [0x100d3150]
mov eax, 0xa493b
sbb eax, dword [0x100d3154]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x254]
ja 0x10070fe0
jb 0x10070fd4
mov edx, dword [ebp - 0x1a4]
cmp edx, dword [ebp - 0x258]
ja 0x10070fe0
mov dword [ebp - 0xec], 1
jmp 0x10070fea
mov dword [ebp - 0xec], 0
movsx eax, word [ebp - 0x20]
not eax
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x264], esi
mov edx, dword [ebp - 0x25c]
cmp edx, dword [ebp - 0x264]
jl 0x1007103f
jg 0x10071033
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x268]
jb 0x1007103f
mov dword [ebp - 0xe8], 1
jmp 0x10071049
mov dword [ebp - 0xe8], 0
cmp dword [ebp - 0xe8], 0x26f
jl 0x10071061
mov dword [ebp - 0xf0], 1
jmp 0x1007106b
mov dword [ebp - 0xf0], 0
mov ecx, dword [ebp - 0xec]
cmp ecx, dword [ebp - 0xf0]
jl 0x100710e0
movsx eax, byte [0x100d3026]
movzx edx, byte [ebp - 2]
sub eax, edx
cdq
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
movzx eax, byte [ebp - 4]
mov ecx, 4
imul edx, ecx, 0x223b
mov dword [edx + 0x1022c100], eax
mov eax, dword [0x100d3148]
add eax, 0x6f792598
mov byte [ebp - 3], al
mov ecx, dword [0x100d3c78]
mov dword [0x100d3174], ecx
mov edx, dword [ebp - 0x4c]
xor eax, eax
add edx, 0xc6715a2d
adc eax, 0xd35c2
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
jmp 0x10071160
mov eax, dword [0x100d3134]
cdq
sub eax, 0x5f96fa2c
sbb edx, 0xe302d
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov byte [0x100d3027], 2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov eax, dword [0x100d319c]
sub ecx, dword [0x100d3198]
sbb edx, eax
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], esi
xor ecx, ecx
mov dword [ebp - 0x1c], 0xf6
mov dword [ebp - 0x18], ecx
mov dl, byte [0x100d3c78]
mov byte [0x100d3063], dl
xor eax, eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
add ecx, dword [0x100d3170]
adc edx, eax
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
jmp 0x1007127f
movzx eax, byte [ebp - 2]
test eax, eax
je 0x100711e4
mov ecx, 0x14aa
mov word [0x100d3128], cx
movsx edx, byte [ebp - 1]
imul edx, dword [ebp - 0x28]
imul edx, dword [ebp - 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [0x100d3188]
add eax, 0x938107fd
mov ecx, dword [0x100d318c]
adc ecx, 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
movsx edx, word [0x100d3130]
sub edx, dword [0x100d3158]
movsx eax, word [0x100d3130]
sub eax, edx
mov word [0x100d3130], ax
mov cx, word [0x100d3130]
mov byte [0x100d3063], cl
movsx eax, word [ebp - 0x24]
sub eax, 0xf3
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp 0x1007127f
movsx edx, word [ebp - 0x24]
test edx, edx
je 0x1007127f
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x270]
or edx, dword [ebp - 0x26c]
je 0x10071228
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], ecx
jmp 0x1007123a
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
movsx eax, byte [ebp - 1]
sub eax, 0x29
mov word [ebp - 8], ax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x278], edx
xor ecx, 0xbd685c5d
mov word [0x100d3128], cx
mov eax, dword [ebp - 0x28]
sub eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x812
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x88], 0x111f
mov edx, dword [ebp - 0x4c]
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx ecx, word [ebp - 0x14]
add ecx, 0x9eaa
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x70]
sub edx, 9
mov word [ebp - 0x10], dx
push 0
push 0x9e
mov eax, dword [0x100d318c]
push eax
mov ecx, dword [0x100d3188]
push ecx
call fcn.100a25b0
mov word [0x100d31b0], ax
mov edx, dword [0x100d3134]
shl edx, 3
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x3c]
add eax, dword [0x100d3190]
mov ecx, dword [ebp - 0x3c]
or ecx, eax
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x88], 0x108e
jle 0x1007138b
cmp dword [ebp - 0x28], 0
jne 0x1007131b
mov dword [ebp - 0xf4], 1
jmp 0x10071325
mov dword [ebp - 0xf4], 0
movzx edx, byte [ebp - 4]
add edx, dword [ebp - 0xf4]
mov word [ebp - 0x24], dx
movzx eax, word [0x100d3178]
sub eax, 0xf8
movzx ecx, word [ebp - 8]
sub ecx, eax
mov word [ebp - 8], cx
movsx edx, word [ebp - 0x10]
add edx, dword [0x100d31b4]
movsx eax, word [ebp - 0x10]
sub eax, edx
mov word [ebp - 0x10], ax
movsx ecx, word [ebp - 0x20]
sub ecx, 0xbf
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x58]
cdq
sub eax, dword [0x100d3168]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x88]
sub edx, 1
mov dword [ebp - 0x88], edx
jmp 0x100712f9
mov eax, dword [ebp - 0x8c]
add eax, 0x7ad
mov dword [ebp - 0x78], eax
movzx ecx, word [ebp - 8]
movzx edx, word [0x100d3178]
xor ecx, edx
mov word [ebp - 8], cx
movsx eax, word [ebp - 0x48]
mov dword [ebp - 0x4c], eax
movzx ecx, byte [ebp - 2]
sar ecx, 1
mov dword [ebp - 0x28], ecx
movsx edx, word [ebp - 0x20]
sub edx, 0x4d97
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0x78]
add eax, dword [ebp - 0x78]
mov ecx, 0xb
sub ecx, dword [ebp - 0x78]
imul eax, ecx
mov edx, dword [ebp - 0x78]
imul edx, dword [ebp - 0x1b8]
cmp eax, edx
je 0x10071592
jmp 0x10071407
jmp 0x10071433
jmp 0x10071453
jmp 0x10071464
movsx eax, word [ebp - 0x20]
imul ecx, eax, 0xd
mov dword [0x100d3140], ecx
mov dword [ebp - 0x3c], 0x14
mov edx, dword [ebp - 0x7c]
add edx, 0x3c67
mov byte [0x100d3063], dl
movsx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x280], eax
sub ecx, edx
movsx eax, byte [ebp - 1]
cdq
add eax, ecx
mov byte [ebp - 1], al
movsx eax, word [0x100d3130]
cdq
sub eax, 0x59f698d6
mov dword [0x100d3174], eax
push 4
lea ecx, [ebp - 0xf8]
push ecx
push 4
push 0
push str.TempValue
mov edx, dword [ebp - 0x100]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
movzx eax, byte [ebp - 2]
cdq
add eax, 0x8268af18
adc edx, 0x9c270
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
xor eax, 0x36eb
xor ecx, 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
cmp dword [0x100d3174], 0
jne 0x10071520
mov dword [ebp - 0xfc], 1
jmp 0x1007152a
mov dword [ebp - 0xfc], 0
movzx edx, word [ebp - 0x14]
mov eax, dword [ebp - 0x58]
imul eax, edx
not eax
mov ecx, dword [ebp - 0xfc]
add ecx, 0x452
imul eax, ecx
mov dword [0x100d3144], eax
mov byte [ebp - 2], 0x77
push 0
push 0xd3
mov edx, dword [0x100d3164]
push edx
mov eax, dword [0x100d3160]
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x14]
cdq
sub eax, ecx
mov word [ebp - 0x14], ax
movsx eax, word [0x100d3128]
shl eax, 4
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x100]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret