Function at 0x59ea70
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60b170
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 0x59ee37
mov ecx, dword [esi + 0x408]
test ecx, ecx
jne 0x59eabd
push eax
mov ecx, esi
call fcn.005a2060
test al, al
je 0x59ee37
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 0x59eaf5
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 0x59eafb
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 0x59eb2b
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 0x59eb5b
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 0x59eb8b
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 0x59ebb4
mov ecx, dword [esi + 0x408]
push edx
push str.owWPEncPwd
push ecx
call fcn.00590970
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 0x59ebe4
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 0x59ec14
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 0x59ec44
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 0x59ec74
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 0x59ec9d
mov eax, dword [esi + 0x408]
push edx
push str.U0_EncP
push eax
call fcn.00590970
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 0x59eccd
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 0x59ecfd
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 0x59ed29
jg 0x59ed14
cmp dword [eax], 0
jbe 0x59ed29
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 0x59ed59
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 0x59ed89
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 0x59edb9
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 0x59ede9
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 0x59ee12
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 0x59ee37
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