Function at 0x59d714
Capabilities:
Create process on windows
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x5d
push 0
push 0
dec ecx
jne 0x59d71c
push ecx
push ebx
push esi
push edi
mov esi, edx
lea edi, [ebp - 0x228]
mov ecx, 0x86
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x59dce5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x59dcb3
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x4143bc]
call fcn.00403284
mov dword [ebp - 0x10], eax
mov edx, 0x59dcfc
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x234]
lea edx, [ebp - 0x228]
call fcn.00404300
mov eax, dword [ebp - 0x234]
lea edx, [ebp - 0x230]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x230]
lea eax, [ebp - 0x22c]
mov edx, 0x59dd20
call fcn.004043c4
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebp - 0x208]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
test esi, esi
jl 0x59d8a3
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x238]
mov edx, ebx
mov eax, dword [ebp - 0x208]
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x238], 0
je 0x59d89b
test ebx, ebx
jne 0x59d856
lea ecx, [ebp - 0x244]
mov edx, ebx
mov eax, dword [ebp - 0x208]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x244]
lea edx, [ebp - 0x240]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov edx, 0x59dd34
call fcn.004043c4
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x59d89b
lea ecx, [ebp - 0x250]
mov edx, ebx
mov eax, dword [ebp - 0x208]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x24c]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
xor edx, edx
call fcn.004043c4
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
inc ebx
dec esi
jne 0x59d7e8
lea eax, [ebp - 0x25c]
lea edx, [ebp - 0x204]
call fcn.00404300
mov eax, dword [ebp - 0x25c]
lea edx, [ebp - 0x258]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x254]
mov edx, 0x59dd48
call fcn.004043c4
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x268]
lea edx, [ebp - 0x1f4]
call fcn.00404300
mov eax, dword [ebp - 0x268]
lea edx, [ebp - 0x264]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x264]
lea eax, [ebp - 0x260]
mov edx, 0x59dd5c
call fcn.004043c4
mov edx, dword [ebp - 0x260]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x274]
lea edx, [ebp - 0x1e4]
call fcn.00404300
mov eax, dword [ebp - 0x274]
lea edx, [ebp - 0x270]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x270]
lea eax, [ebp - 0x26c]
mov edx, 0x59dd70
call fcn.004043c4
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x280]
lea edx, [ebp - 0x1c5]
call fcn.00404300
mov eax, dword [ebp - 0x280]
lea edx, [ebp - 0x27c]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x27c]
lea eax, [ebp - 0x278]
mov edx, 0x59dd84
call fcn.004043c4
mov edx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x28c]
lea edx, [ebp - 0x1b5]
call fcn.00404300
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x288]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x288]
lea eax, [ebp - 0x284]
mov edx, 0x59dd9c
call fcn.004043c4
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x298]
lea edx, [ebp - 0x1a5]
call fcn.00404300
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x294]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x294]
lea eax, [ebp - 0x290]
mov edx, 0x59ddb4
call fcn.004043c4
mov edx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2a4]
lea edx, [ebp - 0x195]
call fcn.00404300
mov eax, dword [ebp - 0x2a4]
lea edx, [ebp - 0x2a0]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2a0]
lea eax, [ebp - 0x29c]
mov edx, 0x59ddc8
call fcn.004043c4
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2b0]
lea edx, [ebp - 0x185]
call fcn.00404300
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2ac]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
mov edx, 0x59dde0
call fcn.004043c4
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2bc]
lea edx, [ebp - 0x185]
call fcn.00404300
mov eax, dword [ebp - 0x2bc]
lea edx, [ebp - 0x2b8]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2b8]
lea eax, [ebp - 0x2b4]
mov edx, 0x59ddf8
call fcn.004043c4
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2c8]
lea edx, [ebp - 0x129]
call fcn.00404300
mov eax, dword [ebp - 0x2c8]
lea edx, [ebp - 0x2c4]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2c4]
lea eax, [ebp - 0x2c0]
mov edx, 0x59de18
call fcn.004043c4
mov edx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2d4]
lea edx, [ebp - 0x84]
call fcn.00404300
mov eax, dword [ebp - 0x2d4]
lea edx, [ebp - 0x2d0]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2d0]
lea eax, [ebp - 0x2cc]
mov edx, 0x59de34
call fcn.004043c4
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2e0]
lea edx, [ebp - 0x65]
call fcn.00404300
mov eax, dword [ebp - 0x2e0]
lea edx, [ebp - 0x2dc]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2dc]
lea eax, [ebp - 0x2d8]
mov edx, 0x59de50
call fcn.004043c4
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0x2ec]
lea edx, [ebp - 0x3c]
call fcn.00404300
mov eax, dword [ebp - 0x2ec]
lea edx, [ebp - 0x2e8]
call fcn.0040bd9c
mov ecx, dword [ebp - 0x2e8]
lea eax, [ebp - 0x2e4]
mov edx, 0x59de6c
call fcn.004043c4
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor edx, edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, 0x59de88
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea eax, [ebp - 0xc]
mov ecx, 0x59df18
mov edx, dword [ebp - 8]
call fcn.004043c4
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x64]
push 5
mov eax, dword [ebp - 8]
call fcn.0040453c
push eax
mov eax, dword [ebp - 0xc]
call fcn.0040453c
push eax
push 0x59df2c
push 0x59df38
mov eax, dword [ebp - 4]
call fcn.0049625c
push eax
call sub.shell32.dll_ShellExecuteA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59dcba
mov eax, dword [ebp - 0x10]
call fcn.004032b4
ret