Function at 0x5137fc
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffcbc
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x340], edx
mov dword [ebp - 0x23c], edx
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x234], edx
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x22c], edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x513c2d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
call fcn.00465964
test eax, eax
je 0x513bf2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
mov dword [ebp - 0x1c], eax
mov dl, 1
mov eax, dword [0x4783fc]
call fcn.004784fc
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x513beb
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, 0x80000002
mov eax, dword [ebp - 8]
call fcn.0047859c
xor ecx, ecx
mov edx, 0x513c44
mov eax, dword [ebp - 8]
call fcn.00478604
test al, al
je 0x513bd5
lea eax, [ebp - 0x120]
mov ecx, 0x20
mov edx, 0x104
call fcn.00402de0
lea eax, [ebp - 0x224]
xor ecx, ecx
mov edx, 0x104
call fcn.00402de0
push 0x104
lea ecx, [ebp - 0x120]
mov edx, 0x513c9c
mov eax, dword [ebp - 8]
call fcn.00478c60
lea eax, [ebp - 0x22c]
lea edx, [ebp - 0x120]
mov ecx, 0x104
call fcn.00404020
mov eax, dword [ebp - 0x22c]
lea edx, [ebp - 0x228]
call fcn.004098e8
cmp dword [ebp - 0x228], 0
je 0x513943
lea edx, [ebp - 0x120]
lea eax, [ebp - 0x224]
call fcn.0040a518
mov edx, 0x513cac
lea eax, [ebp - 0x224]
call fcn.0040a518
mov bx, 1
inc ebx
movzx eax, bx
cmp byte [ebp + eax - 0x121], 0
jne 0x513a43
movzx eax, bx
cmp byte [ebp + eax - 0x120], 0
je 0x513a4e
jmp 0x51396d
inc ebx
movzx eax, bx
cmp byte [ebp + eax - 0x121], 0
jne 0x513981
cmp bx, 0x104
jb 0x51396c
cmp bx, 0x104
jae 0x513a43
movzx eax, bx
lea esi, [ebp + eax - 0x121]
lea eax, [ebp - 0x234]
mov edx, esi
call fcn.004040f0
mov eax, dword [ebp - 0x234]
lea edx, [ebp - 0x230]
call fcn.004098e8
mov eax, dword [ebp - 0x230]
call fcn.0040437c
mov esi, eax
mov eax, esi
call fcn.0040a410
add bx, ax
dec ebx
test esi, esi
je 0x513a43
lea eax, [ebp - 0x238]
mov edx, esi
call fcn.004040f0
mov eax, dword [ebp - 0x238]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
call fcn.00465964
mov edx, dword [eax + 0x24]
pop eax
call fcn.004042c8
je 0x513a43
lea eax, [ebp - 0x33c]
mov edx, esi
call fcn.00402f74
lea edx, [ebp - 0x33c]
lea eax, [ebp - 0x23c]
call fcn.0040415c
lea eax, [ebp - 0x23c]
mov edx, 0x513cb8
call fcn.004041c0
mov eax, dword [ebp - 0x23c]
call fcn.0040437c
mov edx, eax
lea eax, [ebp - 0x224]
call fcn.0040a518
cmp bx, 0x104
jb 0x513947
mov edx, 0x513cac
lea eax, [ebp - 0x224]
call fcn.0040a518
lea eax, [ebp - 0x224]
call fcn.0040a410
mov word [ebp - 0xa], ax
mov si, word [ebp - 0xa]
test si, si
jbe 0x513a8a
lea eax, [ebp - 0x224]
cmp byte [eax], 0x3a
jne 0x513a84
mov byte [eax], 0
inc eax
dec si
jne 0x513a7c
lea eax, [ebp - 0x10]
push eax
push 0x20006
push 0
push 0x513cbc
push 0x80000002
call sub.advapi32.dll_RegOpenKeyExA_1
test eax, eax
jne 0x513bd5
push 0x124
push 0x513d0c
push 0x513d34
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
call fcn.00465964
push dword [eax + 0x24]
push 0x513d48
lea eax, [ebp - 0x340]
mov edx, 3
call fcn.00404278
mov eax, dword [ebp - 0x340]
call fcn.0040437c
push eax
mov eax, dword [ebp - 0x1c]
call fcn.00439b40
push eax
call sub.user32.dll_MessageBoxA_1
cmp eax, 6
jne 0x513bd5
mov eax, dword [ebp - 0x1c]
call fcn.00465964
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x14]
call fcn.00403fd0
mov eax, dword [ebp - 0x1c]
call fcn.00465964
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x18]
xor edx, edx
mov ebx, dword [eax]
call dword [ebx + 0xc]
movzx eax, word [ebp - 0xa]
push eax
lea eax, [ebp - 0x224]
push eax
push 7
push 0
push 0x513d4c
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_RegSetValueExA
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_RegCloseKey_1
mov eax, dword [ebp - 4]
call fcn.005105d8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
mov eax, dword [eax + 0x20c]
call fcn.00462490
mov esi, eax
dec esi
test si, si
jb 0x513bae
inc esi
xor ebx, ebx
movzx edx, bx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2fc]
mov eax, dword [eax + 0x20c]
call fcn.004624c0
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x14]
call fcn.004042c8
jne 0x513ba8
lea eax, [ebp - 0x18]
call fcn.00403f38
jmp 0x513bae
inc ebx
dec si
jne 0x513b7a
cmp dword [ebp - 0x18], 0
je 0x513bd5
lea eax, [ebp - 0x344]
mov ecx, 0x513d64
mov edx, dword [ebp - 0x18]
call fcn.00404204
mov edx, dword [ebp - 0x344]
mov eax, dword [ebp - 0x18]
call fcn.00409f0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513bf2
mov eax, dword [ebp - 8]
call fcn.00403198
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x513c34
lea eax, [ebp - 0x344]
mov edx, 2
call fcn.00403f5c
lea eax, [ebp - 0x23c]
mov edx, 6
call fcn.00403f5c
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00403f5c
ret