Function at 0x1036c1f
Capabilities:
Delete registry value
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x1046190]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push edi
xor edi, edi
mov dword [ebp - 0x418], edi
mov dword [ebp - 0x428], edi
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x434], edi
cmp dword [ebp - 0x434], edi
jne 0x1036c6c
mov dword [ebp - 0x42c], edi
mov eax, 0x1009d70
jmp 0x1036c7b
mov dword [ebp - 0x42c], 1
mov eax, 0x1004610
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push edi
lea ecx, [ebp - 0x430]
push ecx
push edi
push 0x20006
push edi
push edi
push edi
push eax
push 0x80000002
call ebx
test eax, eax
jne 0x1038031
cmp dword [ebp - 0x42c], edi
je 0x1036d2e
push 0x103
push 1
lea eax, [ebp - 0x414]
push eax
call fcn.01034382
test eax, eax
je 0x1036d2e
lea eax, [ebp - 0x414]
push eax
call fcn.01032458
push 0x1002f14
push 0x104
lea eax, [ebp - 0x414]
push eax
call fcn.01028adc
test eax, eax
jl 0x1036d2e
lea eax, [ebp - 0x414]
push eax
call fcn.010326f3
test eax, eax
je 0x1036d2e
lea eax, [ebp - 0x414]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1036d04
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x414]
push eax
push 1
push edi
push 0x10056f8
push dword [ebp - 0x430]
call esi
push edi
lea eax, [ebp - 0x428]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push 0x10077d4
push dword [ebp - 0x430]
call ebx
test eax, eax
jne 0x1037398
xor ebx, ebx
mov dword [ebp - 0x424], ebx
mov eax, dword [ebx + 0x1046508]
cmp eax, edi
je 0x1037377
cmp dword [ebp - 0x42c], edi
jne 0x1036d7e
cmp dword [ebx + 0x1046548], edi
je 0x1037377
push eax
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x1037377
lea eax, [ebp - 0x20c]
push 0x1009d6c
mov dword [ebp - 0x420], eax
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
cmp eax, edi
pop ecx
mov dword [ebp - 0x41c], eax
pop ecx
je 0x1036dc6
add dword [ebp - 0x41c], 2
mov word [eax], di
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push dword [ebp - 0x420]
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1037338
mov ecx, dword [ebx + 0x104650c]
cmp ecx, edi
je 0x1036e2e
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x420], edx
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1036e06
sub eax, dword [ebp - 0x420]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1007890
push dword [ebp - 0x418]
call esi
cmp dword [ebp - 0x42c], edi
je 0x1036e5a
lea eax, [ebx + 0x1046550]
mov ecx, dword [eax]
cmp ecx, edi
je 0x1036e5a
cmp ecx, 0xffffffff
je 0x1036e5a
push 4
push eax
push 4
push edi
push 0x1009d5c
push dword [ebp - 0x418]
call esi
lea eax, [ebx + 0x1046554]
mov ecx, dword [eax]
cmp ecx, edi
je 0x1036e7e
cmp ecx, 0xffffffff
je 0x1036e7e
push 4
push eax
push 4
push edi
push 0x1009d44
push dword [ebp - 0x418]
call esi
mov ecx, dword [ebx + 0x1046558]
cmp ecx, edi
je 0x1036eb7
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1036e8d
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10044c8
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov eax, dword [ebx + 0x1046510]
cmp eax, edi
je 0x1036f6f
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x1036f6f
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1036eef
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009d18
push dword [ebp - 0x418]
call esi
push dword [ebx + 0x1046510]
lea eax, [ebp - 0x20c]
push 0x1006c78
push 0x103
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x1036f6f
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1036f45
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ce8
push dword [ebp - 0x418]
call esi
cmp dword [ebp - 0x42c], edi
je 0x1036fd1
mov eax, dword [ebx + 0x104654c]
cmp eax, edi
je 0x103700a
push edi
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x103700a
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1036fa5
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009cc8
push dword [ebp - 0x418]
call esi
jmp 0x103700a
mov ecx, dword [ebx + 0x1046514]
cmp ecx, edi
je 0x103700a
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1036fe0
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009cc8
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov ecx, dword [ebx + 0x1046518]
cmp ecx, edi
je 0x1037045
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037019
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009ca8
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
jmp 0x1037056
push 0x1009ca8
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [ebp - 0x42c], edi
je 0x1037099
mov ecx, dword [ebx + 0x1046520]
cmp ecx, edi
je 0x10370d4
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x103706d
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
jmp 0x10370eb
mov ecx, dword [ebx + 0x104651c]
cmp ecx, edi
je 0x10370d4
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x10370a8
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
jmp 0x10370f3
push 8
push 0x1009c88
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
cmp dword [ebp - 0x42c], edi
jne 0x103710a
push 0x1a
push 0x1002f14
push 1
push edi
push 0x1009c6c
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046524]
cmp eax, edi
je 0x103717a
push 0x1003ff0
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x103713f
push 0x14
push 0x1008ec8
push 1
push edi
push 0x1009c54
push dword [ebp - 0x418]
call esi
jmp 0x103717a
mov eax, dword [ebp - 0x424]
mov ecx, dword [eax + 0x1046524]
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037150
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c54
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov ecx, dword [ebx + 0x1046538]
cmp ecx, edi
je 0x10371b3
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037189
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10021cc
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov ecx, dword [ebx + 0x1046528]
cmp ecx, edi
je 0x10371f0
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x420], edx
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x10371c8
sub eax, dword [ebp - 0x420]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c3c
push dword [ebp - 0x418]
call esi
mov ecx, dword [ebx + 0x104652c]
cmp ecx, edi
je 0x103722d
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x420], edx
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037205
sub eax, dword [ebp - 0x420]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c14
push dword [ebp - 0x418]
call esi
mov ecx, dword [ebx + 0x1046534]
cmp ecx, edi
je 0x103726a
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x420], edx
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037242
sub eax, dword [ebp - 0x420]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009bf0
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046530]
cmp eax, edi
je 0x10372c4
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x10372c4
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x103729a
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009bbc
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046544]
cmp eax, edi
je 0x103731b
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x103732c
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10372ef
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ba0
push dword [ebp - 0x418]
call esi
jmp 0x103732c
push 0x1009ba0
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebx + 0x1046508]
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x420], eax
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x1037377
cmp dword [ebp - 0x41c], edi
je 0x1037377
push 0x1009d6c
push dword [ebp - 0x41c]
jmp 0x1036daa
add ebx, 0x54
cmp ebx, 0x834
mov dword [ebp - 0x424], ebx
jb 0x1036d5c
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x428]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push 0x1007868
push dword [ebp - 0x430]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1037704
xor ebx, ebx
mov dword [ebp - 0x424], ebx
mov eax, dword [ebx + 0x1046f80]
cmp eax, edi
je 0x10376e3
cmp dword [ebp - 0x42c], edi
jne 0x10373ec
cmp dword [ebx + 0x1046fa4], edi
je 0x10376e3
push eax
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x10376e3
lea eax, [ebp - 0x20c]
push 0x1009d6c
mov dword [ebp - 0x420], eax
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
cmp eax, edi
pop ecx
mov dword [ebp - 0x41c], eax
pop ecx
je 0x1037434
add dword [ebp - 0x41c], 2
mov word [eax], di
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push dword [ebp - 0x420]
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10376a4
mov ecx, dword [ebx + 0x1046f84]
cmp ecx, edi
je 0x103749c
mov eax, ecx
lea edx, [eax + 2]
mov dword [ebp - 0x420], edx
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037474
sub eax, dword [ebp - 0x420]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009b78
push dword [ebp - 0x418]
call esi
mov ecx, dword [ebx + 0x1046f88]
cmp ecx, edi
je 0x10374d5
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x10374ab
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009b50
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov ecx, dword [ebx + 0x1046f8c]
cmp ecx, edi
je 0x103750e
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x10374e4
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009b34
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
cmp dword [ebp - 0x42c], edi
je 0x1037558
mov ecx, dword [ebx + 0x1046f98]
cmp ecx, edi
je 0x1037623
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037529
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
jmp 0x103763a
mov ecx, dword [ebx + 0x1046f94]
cmp ecx, edi
je 0x1037623
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x103756b
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov ecx, dword [0x1046014]
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x103759a
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10021cc
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x424]
mov eax, dword [ebx + 0x1046f9c]
cmp eax, edi
je 0x1037668
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x1037679
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10375f7
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ba0
push dword [ebp - 0x418]
call esi
jmp 0x1037679
push 8
push 0x1009c88
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
cmp dword [ebp - 0x42c], edi
je 0x103758f
mov ecx, dword [ebx + 0x1046f90]
cmp ecx, edi
je 0x10375c4
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037659
jmp 0x10375a4
push 0x1009ba0
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [ebx + 0x1046fa0], edi
jne 0x1037698
push 6
push 0x1009b2c
push 1
push edi
push 0x1009b18
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebx + 0x1046f80]
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x420], eax
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x10376e3
cmp dword [ebp - 0x41c], edi
je 0x10376e3
push 0x1009d6c
push dword [ebp - 0x41c]
jmp 0x1037418
add ebx, 0x28
cmp ebx, 0x320
mov dword [ebp - 0x424], ebx
jb 0x10373ca
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x428]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push 0x10077b0
push dword [ebp - 0x430]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x103792a
mov eax, dword [0x1046d3c]
cmp eax, edi
je 0x103791e
cmp dword [ebp - 0x42c], edi
jne 0x103774f
cmp dword [0x1046d4c], edi
je 0x103791e
push eax
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x103791e
lea ebx, [ebp - 0x20c]
push 0x1009d6c
mov eax, ebx
push eax
call dword [sym.imp.msvcrt.dll_wcsstr]
cmp eax, edi
pop ecx
mov dword [ebp - 0x41c], eax
pop ecx
je 0x1037793
add dword [ebp - 0x41c], 2
mov word [eax], di
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push ebx
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10378ee
mov edx, dword [0x1046d40]
cmp edx, edi
je 0x10377ec
mov eax, edx
lea ebx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10377c8
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push edx
push 1
push edi
push 0x1009b04
push dword [ebp - 0x418]
call esi
mov edx, dword [0x1046d44]
cmp edx, edi
je 0x103781f
mov eax, edx
lea ebx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10377fb
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push edx
push 1
push edi
push 0x1004844
push dword [ebp - 0x418]
call esi
mov eax, dword [0x1046d48]
cmp eax, edi
je 0x1037875
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x1037886
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037849
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ba0
push dword [ebp - 0x418]
call esi
jmp 0x1037886
push 0x1009ba0
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
cmp dword [ebp - 0x42c], edi
je 0x10378e2
mov eax, dword [0x1046d54]
cmp eax, edi
je 0x10378e2
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x10378e2
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10378b8
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x100546c
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [0x1046d3c]
mov ebx, dword [ebp - 0x41c]
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01028a67
test eax, eax
jl 0x103791e
cmp ebx, edi
je 0x103791e
push 0x1009d6c
push ebx
jmp 0x1037777
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x428]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push 0x10077c4
push dword [ebp - 0x430]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1037b33
xor ebx, ebx
mov dword [ebp - 0x420], ebx
mov eax, dword [ebx + 0x1046d58]
cmp eax, edi
je 0x1037b15
cmp dword [ebp - 0x42c], edi
jne 0x103797e
cmp dword [ebx + 0x1046d6c], edi
je 0x1037b15
push edi
lea ecx, [ebp - 0x418]
push ecx
push edi
push 0x20006
push edi
push edi
push edi
push eax
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1037b15
mov eax, dword [ebx + 0x1046d5c]
cmp eax, edi
je 0x10379fa
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x10379fa
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10379d4
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push edi
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046d60]
cmp eax, edi
je 0x1037a4f
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x1037a4f
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037a25
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009aec
push dword [ebp - 0x418]
call esi
mov ecx, dword [ebx + 0x1046d64]
cmp ecx, edi
je 0x1037a8a
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037a5e
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x420]
jmp 0x1037aa1
push 8
push 0x1009c88
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046d68]
cmp eax, edi
je 0x1037af8
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x1037b09
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037acc
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ba0
push dword [ebp - 0x418]
call esi
jmp 0x1037b09
push 0x1009ba0
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add ebx, 0x18
cmp ebx, 0x30
mov dword [ebp - 0x420], ebx
jb 0x103795c
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x428]
push eax
push edi
push 0x20006
push edi
push edi
push edi
push 0x1009adc
push dword [ebp - 0x430]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1038025
xor ebx, ebx
mov dword [ebp - 0x41c], ebx
mov eax, dword [ebx + 0x1046d88]
cmp eax, edi
je 0x1038004
cmp dword [ebp - 0x42c], edi
jne 0x1037b87
cmp dword [ebx + 0x1046da8], edi
je 0x1038004
push edi
lea ecx, [ebp - 0x418]
push ecx
push edi
push 0x20006
push edi
push edi
push edi
push eax
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1038004
mov eax, dword [ebx + 0x1046d8c]
cmp eax, edi
je 0x1037cd7
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x1037cd7
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037be5
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push edi
push dword [ebp - 0x418]
call esi
push 0x103
lea eax, [ebp - 0x20a]
push eax
mov word [ebp - 0x20c], 0x40
call fcn.01033bb5
test eax, eax
je 0x1037cd7
push 0x1009ad4
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x1037cd7
lea eax, [ebp - 0x20c]
push 0x2d
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
cmp eax, edi
pop ecx
pop ecx
je 0x1037cd7
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov dword [ebp - 0x420], edx
mov dx, word [ecx]
inc ecx
inc ecx
cmp dx, di
jne 0x1037c6f
sub ecx, dword [ebp - 0x420]
push dword [ebx + 0x1046d8c]
sar ecx, 1
mov edx, 0x103
push 0x1006c78
sub edx, ecx
push edx
add eax, 2
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x1037cd7
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037cad
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ab0
push dword [ebp - 0x418]
call esi
mov eax, dword [ebx + 0x1046d90]
cmp eax, edi
je 0x1037e44
push 0x452
push 0xa28
push 1
push 5
mov dword [ebp - 0x424], eax
call fcn.01034068
test eax, eax
je 0x1037d23
push dword [ebx + 0x1046d88]
push 0x100260c
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x1037d23
mov dword [ebp - 0x424], 0x2727
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x424]
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x1037e44
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037d52
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009a98
push dword [ebp - 0x418]
call esi
push 0x103
lea eax, [ebp - 0x20a]
push eax
mov word [ebp - 0x20c], 0x40
call fcn.01033bb5
test eax, eax
je 0x1037e44
push 0x1009ad4
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x1037e44
lea eax, [ebp - 0x20c]
push 0x2d
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
cmp eax, edi
pop ecx
pop ecx
je 0x1037e44
lea ecx, [ebp - 0x20c]
lea ebx, [ecx + 2]
mov dx, word [ecx]
inc ecx
inc ecx
cmp dx, di
jne 0x1037dda
push dword [ebp - 0x424]
sub ecx, ebx
sar ecx, 1
mov edx, 0x103
push 0x1006c78
sub edx, ecx
push edx
add eax, 2
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x1037e3e
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037e14
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009a68
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x41c]
cmp dword [ebx + 0x1046d94], edi
je 0x1037ed2
push 0x452
push 0xa28
push 1
push 5
call fcn.01034068
test eax, eax
je 0x1037e97
push dword [ebx + 0x1046d88]
push 0x100260c
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x1037e97
push 0x44
push 0x1007d40
push 1
push edi
push 0x10077d4
push dword [ebp - 0x418]
call esi
jmp 0x1037ed2
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax + 0x1046d94]
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037ea8
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10077d4
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x41c]
mov ecx, dword [ebx + 0x1046d98]
cmp ecx, edi
je 0x1037f0b
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037ee1
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x1007868
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x41c]
mov ecx, dword [ebx + 0x1046d9c]
cmp ecx, edi
je 0x1037f44
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037f1a
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10077b0
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x41c]
mov ecx, dword [ebx + 0x1046da0]
cmp ecx, edi
je 0x1037f7f
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
cmp dx, di
jne 0x1037f53
sub eax, ebx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
push ecx
push 1
push edi
push 0x10077c4
push dword [ebp - 0x418]
call esi
mov ebx, dword [ebp - 0x41c]
jmp 0x1037f90
push 0x10077c4
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov eax, dword [ebx + 0x1046da4]
cmp eax, edi
je 0x1037fe7
push 1
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01043e67
test eax, eax
jl 0x1037ff8
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1037fbb
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ba0
push dword [ebp - 0x418]
call esi
jmp 0x1037ff8
push 0x1009ba0
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add ebx, 0x24
cmp ebx, 0x1f8
mov dword [ebp - 0x41c], ebx
jb 0x1037b65
push dword [ebp - 0x428]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x430]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x434]
cmp dword [ebp - 0x434], 2
jl 0x1036c57
push edi
push edi
push edi
push 6
call fcn.01034068
test eax, eax
jne 0x1038313
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x1009a30
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
mov ebx, 0x1009a20
jne 0x10380ca
push 0x4e
push 0x10099d0
push 1
push edi
push 0x1004844
push dword [ebp - 0x418]
call esi
push 0x4e
push 0x1009980
push 1
push edi
push 0x1009968
push dword [ebp - 0x418]
call esi
push 0x4e
push 0x1009918
push 1
push edi
push ebx
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x10098d8
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1038139
push 0x4e
push 0x1009888
push 1
push edi
push 0x1004844
push dword [ebp - 0x418]
call esi
push 0x4e
push 0x1009980
push 1
push edi
push 0x1009968
push dword [ebp - 0x418]
call esi
push 0x4e
push 0x1009838
push 1
push edi
push ebx
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x100982c
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
mov ebx, 0x1009810
jne 0x103817b
push 0x1a
push ebx
push 1
push edi
push edi
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push ebx
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1038279
push 2
push 0x1002d58
push 1
push edi
push 0x1009800
push dword [ebp - 0x418]
call esi
mov ebx, 0x104
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x26c4
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x1038205
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10381df
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push edi
push dword [ebp - 0x418]
call esi
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.01033bb5
test eax, eax
je 0x103826d
lea eax, [ebp - 0x20c]
push eax
push 0x10097ec
lea eax, [ebp - 0x414]
push ebx
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x103826d
lea eax, [ebp - 0x414]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1038243
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x414]
push eax
push 1
push edi
push 0x1009ab0
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x10097b8
push 0x80000000
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x1038313
push 0x103
push 1
lea eax, [ebp - 0x20c]
push eax
call fcn.01034382
test eax, eax
je 0x1038307
lea eax, [ebp - 0x20c]
push eax
call fcn.01032458
push 0x1009794
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x1038307
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10382e1
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push edi
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x452
push 0xa28
push 1
push 5
call fcn.01034068
test eax, eax
je 0x10386f1
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x1009720
push 0x80000002
mov dword [ebp - 0x41c], edi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
mov ebx, 0x26c7
jne 0x103850f
push 0x1e
push 0x10096fc
push 1
push edi
push 0x1007890
push dword [ebp - 0x418]
call esi
push 0x103
push 1
lea eax, [ebp - 0x20c]
push eax
call fcn.01034382
test eax, eax
je 0x10383e6
lea eax, [ebp - 0x20c]
push eax
call fcn.01032458
push 0x1009794
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x10383e6
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x10383bc
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009cc8
push dword [ebp - 0x418]
call esi
push 0x104
lea eax, [ebp - 0x20c]
push eax
push ebx
push dword [0x1047500]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x103848b
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1038410
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009d18
push dword [ebp - 0x418]
call esi
push ebx
push 0x1006c78
lea eax, [ebp - 0x20c]
push 0x103
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x103848b
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1038461
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push 0x1009ce8
push dword [ebp - 0x418]
call esi
push 0xc
push 0x1008d78
push 1
push edi
push 0x10044c8
push dword [ebp - 0x418]
call esi
push 0x1a
push 0x1002f14
push 1
push edi
push 0x1009c90
push dword [ebp - 0x418]
call esi
push 4
pop ebx
push ebx
lea eax, [ebp - 0x41c]
push eax
push ebx
push edi
push 0x1009d5c
push dword [ebp - 0x418]
mov dword [ebp - 0x41c], 7
call esi
push ebx
lea eax, [ebp - 0x41c]
push eax
push ebx
push edi
push 0x1009d44
push dword [ebp - 0x418]
mov dword [ebp - 0x41c], 0xf
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, 0x26c7
push 0x104
lea eax, [ebp - 0x20c]
push eax
push ebx
push dword [0x1047500]
mov dword [ebp - 0x41c], ebx
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x10386f1
push 0x10096e4
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x10386f1
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x1009668
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
mov ebx, 0x1009664
jne 0x10385b6
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x1038584
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push ebx
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x10095e0
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10386b0
push 0x103
lea eax, [ebp - 0x20a]
push eax
mov word [ebp - 0x20c], 0x40
call fcn.01033bb5
test eax, eax
je 0x10386a4
push 0x1009ad4
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.01028adc
test eax, eax
jl 0x10386a4
lea eax, [ebp - 0x20c]
push 0x2d
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
cmp eax, edi
pop ecx
pop ecx
je 0x10386a4
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov dword [ebp - 0x420], edx
mov dx, word [ecx]
inc ecx
inc ecx
cmp dx, di
jne 0x1038640
sub ecx, dword [ebp - 0x420]
push dword [ebp - 0x41c]
sar ecx, 1
mov edx, 0x103
push 0x1006c78
sub edx, ecx
push edx
add eax, 2
push eax
call fcn.01028b64
add esp, 0x10
test eax, eax
jl 0x10386a4
lea eax, [ebp - 0x20c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, di
jne 0x103867e
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
push 1
push edi
push ebx
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
lea eax, [ebp - 0x418]
push eax
push edi
push 2
push edi
push edi
push edi
push 0x1009570
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x10386f1
push 0x12
push 0x1009558
push 1
push edi
push ebx
push dword [ebp - 0x418]
call esi
push dword [ebp - 0x418]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01031a01
leave
ret