Function at 0x415c87
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push 8
call fcn.0044402e
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x4a171c
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0044402e
add esp, 4
mov dword [ebp - 8], eax
mov edi, eax
mov esi, 0x4a171c
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push 0x4a1d5e
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x415d25
mov eax, 0x4a1734
push eax
push 3
mov ebx, 0x190
call fcn.004464f0
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x415d5d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x415d59
imul eax, dword [ebx]
jmp 0x415d4e
mov ecx, eax
test ecx, ecx
je 0x415d7c
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x415d75
push ebx
push eax
call fcn.0044401c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x415d63
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 0
cmp eax, ecx
jl 0x415db0
push 0x56
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push 0x4a175e
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x415ddf
mov eax, 0x4a1734
push eax
push 3
mov ebx, 0x190
call fcn.004464f0
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x415e17
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x415e13
imul eax, dword [ebx]
jmp 0x415e08
mov ecx, eax
test ecx, ecx
je 0x415e36
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x415e2f
push ebx
push eax
call fcn.0044401c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x415e1d
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 8]
call fcn.00401131
mov eax, 0
cmp eax, ecx
jl 0x415e6a
push 0x7f
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
je 0x415e90
push eax
mov ebx, eax
call fcn.00401b60
inc eax
push eax
call fcn.0044402e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x415ea1
push ebx
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 0
cmp eax, ecx
jl 0x415ecd
push 0xbf
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 0
cmp eax, ecx
jl 0x415efd
push 0xf0
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
jne 0x415f1a
mov eax, 0x4a1734
push eax
push 1
mov ebx, 0x130
call fcn.00446410
add esp, 0x10
mov dword [ebp - 0x34], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x415f43
mov eax, 0x4a1734
push eax
push 1
mov ebx, 0x130
call fcn.00446410
add esp, 0x10
mov dword [ebp - 0x38], eax
fild dword [ebp - 0x34]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fild dword [ebp - 0x38]
fstp qword [ebp - 0x48]
fsub qword [ebp - 0x48]
fsub qword [0x4a1714]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
call fcn.00401316
push 0x80000301
push 0
push eax
push reloc.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
jne 0x415f99
mov eax, 0x4a1734
push eax
push 2
mov ebx, 0x138
call fcn.00445b30
add esp, 0x1c
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x415fc3
push ebx
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 1
cmp eax, ecx
jl 0x415fef
push 0x136
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
je 0x416015
push eax
mov ebx, eax
call fcn.00401b60
inc eax
push eax
call fcn.0044402e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x416026
push ebx
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 2
cmp eax, ecx
jl 0x416052
push 0x15d
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
je 0x416078
push eax
mov ebx, eax
call fcn.00401b60
inc eax
push eax
call fcn.0044402e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x416089
push ebx
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 4]
call fcn.00401131
mov eax, 3
cmp eax, ecx
jl 0x4160b5
push 0x184
push 0x4010ba1
push 1
call fcn.00444022
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
je 0x4160db
push eax
mov ebx, eax
call fcn.00401b60
inc eax
push eax
call fcn.0044402e
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4160ec
push ebx
call fcn.0044401c
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0xc]
push eax
call fcn.00416426
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esp
lea eax, [ebp - 0x20]
push eax
push 2
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
nop
nop
nop
nop
cmp dword [ebp - 0x30], esp
je 0x416139
push 0x21a
push 0x4010ba1
push 6
call fcn.00444022
add esp, 0xc
push str.REG_DWORD
push dword [ebp - 0x18]
call fcn.004017d6
add esp, 8
cmp eax, 0
jne 0x416223
push 0
push 0
push 0
push 0x80000301
push 0
push 4
push 2
mov ebx, 0x24
mov eax, 0x450920
call fcn.00444c90
add esp, 0x1c
mov dword [ebp - 0x24], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x416191
mov eax, 0x4a1734
push eax
push 1
mov ebx, 0x9dc
call fcn.00444d40
add esp, 0x10
mov dword [ebp - 0x2c], eax
push 0
push 0
push 0
push 0x80000301
push 0
push dword [ebp - 0x24]
push 0x80000301
push 0
push dword [ebp - 0x2c]
push 3
mov ebx, 0x914
call fcn.00447c20
add esp, 0x28
lea eax, [ebp - 0x18]
push eax
call fcn.0041650c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esp
push 4
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
nop
nop
nop
nop
cmp dword [ebp - 0x30], esp
je 0x41621e
push 0x323
push 0x4010ba1
push 6
call fcn.00444022
add esp, 0xc
jmp 0x4162f9
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x416236
mov eax, 0x4a1734
push eax
push 1
mov ebx, 0x130
call fcn.00446410
add esp, 0x10
mov dword [ebp - 0x28], eax
push 0
push 0
push 0
push 0x80000301
push 0
push dword [ebp - 0x28]
push 2
mov ebx, 0x24
mov eax, 0x450920
call fcn.00444c90
add esp, 0x1c
mov dword [ebp - 0x24], eax
push 0x80000301
push 0
push dword [ebp - 0x28]
push 0x80000301
push 0
push dword [ebp - 0x24]
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x41629d
mov eax, 0x4a1734
push eax
push 3
mov ebx, 0x914
call fcn.00447c20
add esp, 0x28
lea eax, [ebp - 0x18]
push eax
call fcn.0041650c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], esp
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
nop
nop
nop
nop
cmp dword [ebp - 0x30], esp
je 0x4162f9
push 0x40a
push 0x4010ba1
push 6
call fcn.00444022
add esp, 0xc
push 0x80000301
push 0
push dword [ebp - 0x24]
push 1
mov ebx, 0x28
mov eax, 0x450980
call fcn.00444c90
add esp, 0x10
mov dword [ebp - 0x2c], esp
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
nop
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x416346
push 0x44f
push 0x4010ba1
push 6
call fcn.00444022
add esp, 0xc
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x416364
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x416360
imul eax, dword [ebx]
jmp 0x416355
mov ecx, eax
test ecx, ecx
je 0x416383
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x41637c
push ebx
push eax
call fcn.0044401c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x41636a
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4163a9
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4163a5
imul eax, dword [ebx]
jmp 0x41639a
mov ecx, eax
test ecx, ecx
je 0x4163c8
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x4163c1
push ebx
push eax
call fcn.0044401c
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4163af
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4163e0
push ebx
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4163f0
push ebx
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x416400
push ebx
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x416410
push ebx
call fcn.0044401c
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x416420
push ebx
call fcn.0044401c
add esp, 4
mov esp, ebp
pop ebp
ret 4