Function at 0x59e780
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60ae50
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
test eax, eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 4], 0
je 0x59eb47
mov ecx, dword [esi + 0x408]
test ecx, ecx
jne 0x59e7cd
push eax
mov ecx, esi
call fcn.005a1d70
test al, al
je 0x59eb47
mov edx, dword [esi + 0x100]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e805
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x408]
push str.FRCType
push eax
call ebx
jmp 0x59e80b
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [esi + 0x104]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e83b
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x408]
push edx
push 1
push eax
push str.owWPage
push ecx
call ebx
mov edx, dword [esi + 0x108]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e86b
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x408]
push 1
push eax
push str.owWPCookies
push edx
call ebx
mov edx, dword [esi + 0x10c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e89b
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x408]
push str.owWPUser
push eax
call ebx
mov edx, dword [esi + 0x110]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e8c4
mov ecx, dword [esi + 0x408]
push edx
push str.owWPEncPwd
push ecx
call fcn.00590680
add esp, 0xc
mov edx, dword [esi + 0xc8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e8f4
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x408]
push 1
push eax
push str.Url0
push edx
call ebx
mov edx, dword [esi + 0x130]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e924
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x408]
push str.U0_PD
push eax
call ebx
mov edx, dword [esi + 0x134]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e954
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x408]
push edx
push 1
push eax
push str.U0_c
push ecx
call ebx
mov edx, dword [esi + 0x138]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e984
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x408]
push 1
push eax
push str.U0_u
push edx
call ebx
mov edx, dword [esi + 0x13c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e9ad
mov eax, dword [esi + 0x408]
push edx
push str.U0_EncP
push eax
call fcn.00590680
add esp, 0xc
mov edx, dword [esi + 0x140]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e9dd
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x408]
push edx
push 1
push eax
push str.U0_PDMT
push ecx
call ebx
mov edx, dword [esi + 0x118]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59ea0d
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x408]
push 1
push eax
push str.FR_FNCD
push edx
call ebx
mov ecx, dword [esi + 0x124]
lea eax, [esi + 0x120]
test ecx, ecx
jl 0x59ea39
jg 0x59ea24
cmp dword [eax], 0
jbe 0x59ea39
push 8
push eax
mov eax, dword [esi + 0x408]
push 0
push 0
push str.FRFileSize
push eax
call ebx
mov edx, dword [esi + 0x324]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59ea69
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x408]
push edx
push 1
push eax
push str.AccLngH
push ecx
call ebx
mov edx, dword [esi + 0x328]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59ea99
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
mov edx, dword [esi + 0x408]
push 1
push eax
push str.OriginH
push edx
call ebx
mov edx, dword [esi + 0x32c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59eac9
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
push edx
push 1
push eax
mov eax, dword [esi + 0x408]
push str.AccH
push eax
call ebx
mov edx, dword [esi + 0x330]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59eaf9
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
push ecx
mov ecx, dword [esi + 0x408]
push edx
push 1
push eax
push str.AccChrsH
push ecx
call ebx
mov al, byte [esi + 0x159]
test al, al
je 0x59eb22
mov eax, dword [esi + 0x408]
lea edx, [ebp + 8]
push 4
push edx
push 4
push 0
push str.bOUD_Ch
push eax
mov dword [ebp + 8], 1
call ebx
mov ecx, dword [esi + 0x128]
lea eax, [esi + 0x128]
test ecx, ecx
jle 0x59eb47
mov ecx, dword [esi + 0x408]
push 4
push eax
push 0
push 0
push str.st_time
push ecx
call ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4