Function at 0x403d8b
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x403da9
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.Temp
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403e0d
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403e1d
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x403e50
push getpeername
push 0
push str.Temp
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x403e65
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.WinDir
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403ec9
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403ed9
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x403f0c
push getpeername
push 0
push str.WinDir
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x403f21
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.USERPROFILE
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x403f85
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403f95
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x403fc8
push getpeername
push 0
push str.USERPROFILE
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x403fdd
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.ALLUSERSPROFILE
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404041
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x404051
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x404084
push getpeername
push 0
push str.ALLUSERSPROFILE
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x404099
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.ProgramFiles
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4040fd
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40410d
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x404140
push getpeername
push 0
push str.ProgramFiles
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x404155
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.CommonProgramFiles
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4041b9
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4041c9
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x4041fc
push getpeername
push 0
push str.CommonProgramFiles
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x404211
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.SystemDrive
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404275
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x404285
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x4042b8
push getpeername
push 0
push str.SystemDrive
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x40456c
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4042cd
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.System32
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
push eax
push dword [ebp - 4]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x404331
push ebx
call fcn.0043cece
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x404341
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x404447
push getpeername
push 0
push str.ComSpec
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 4], eax
push getpeername
push 0
push str.ComSpec
push 1
mov ebx, 0x43d550
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
push getpeername
push 0
push 0
push 0
push 0
push 0
push getpeername
push 0
push 0x4caffa
push getpeername
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x4043be
mov eax, 0x4cafb3
push eax
push 4
mov ebx, 0x43d7e0
call fcn.0043cee6
add esp, 0x34
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4043e4
push ebx
call fcn.0043cece
add esp, 4
fild dword [ebp - 0xc]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fsub qword [0x504f36]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
call fcn.004023f8
push 0x80000301
push 0
push eax
push getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x404419
mov eax, 0x4cafb3
push eax
push 2
mov ebx, 0x43d570
call fcn.0043cee6
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40443f
push ebx
call fcn.0043cece
add esp, 4
mov eax, dword [ebp - 0x20]
jmp 0x40456c
push 0x80000301
push 0
push 6
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x404468
mov eax, 0x4cafb3
push eax
push 2
mov ebx, 0x43d570
call fcn.0043cee6
add esp, 0x1c
mov dword [ebp - 4], eax
push getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x404491
mov eax, 0x4cafb3
push eax
push 1
mov ebx, 0x43d960
call fcn.0043cee6
add esp, 0x10
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4044b7
push ebx
call fcn.0043cece
add esp, 4
push 0x504f3e
push dword [ebp - 8]
call fcn.00401681
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0xc], eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4044e5
push ebx
call fcn.0043cece
add esp, 4
cmp dword [ebp - 0xc], 0
je 0x4044f9
mov eax, 4
jmp 0x4044fe
mov eax, 3
mov dword [ebp - 0x10], eax
mov ebx, dword [ebp + 8]
push dword [ebx]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders_
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x14], eax
push 0
push 0
push 0
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x404534
mov eax, 0x4cafb3
push eax
push 0x80000301
push 0
push dword [ebp - 0x10]
push 3
mov ebx, 0x43ee50
call fcn.0043cee6
add esp, 0x28
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x404564
push ebx
call fcn.0043cece
add esp, 4
mov eax, dword [ebp - 0x18]
jmp 0x40456c
mov esp, ebp
pop ebp
ret 4