Function at 0x4034c8
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push 0xb4
call fcn.0040482f
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x492612
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x2b
rep stosd dword es:[edi], eax
mov dword [ebp - 8], 0
cmp dword [ebp + 8], 0
je 0x403523
cmp dword [ebp + 0xc], 0
mov eax, 0
sete al
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 1
je 0x403523
xor eax, eax
jmp 0x403528
mov eax, 1
test eax, eax
je 0x403537
mov dword [ebp + 8], 5
mov eax, 0x49250b
push eax
mov ebx, eax
call fcn.004012ea
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0040482f
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x403594
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x403588
push eax
mov ebx, eax
call fcn.00403004
inc eax
push eax
call fcn.0040482f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x40356b
pop eax
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4035b3
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4035af
imul eax, dword [ebx]
jmp 0x4035a4
mov ecx, eax
test ecx, ecx
je 0x4035d2
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x4035cb
push ebx
push eax
call fcn.00404817
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4035b9
call fcn.00404817
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x4035fb
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40360e
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0xc], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x40362b
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x4924fe
push dword [ebp - 0x10]
call fcn.00401004
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40366f
push ebx
call fcn.00404817
add esp, 4
cmp dword [ebp - 0x14], 0
je 0x4036ab
push 0
mov ebx, 0x404a40
call fcn.00404823
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4036a2
push ebx
call fcn.00404817
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x403c2b
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x4036c8
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4036db
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x10], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
test eax, eax
jne 0x4036f8
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x14], eax
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x403721
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404ac0
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x403747
push ebx
call fcn.00404817
add esp, 4
push 0x48fc0f
push dword [ebp - 0x18]
call fcn.00401004
add esp, 8
cmp eax, 0
mov eax, 0
setne al
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x403775
push ebx
call fcn.00404817
add esp, 4
cmp dword [ebp - 0x1c], 0
je 0x403838
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x40379c
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4037af
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0xc], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x4037cc
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x10], eax
push getpeername
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x4037f5
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404ac0
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40381b
push ebx
call fcn.00404817
add esp, 4
mov eax, dword [ebp - 0x14]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40382f
push ebx
call fcn.00404817
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x403c2b
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x403855
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403868
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x18], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx]
test eax, eax
jne 0x403885
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x1c], eax
push getpeername
push 0
push str.System32
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00401004
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4038e9
push ebx
call fcn.00404817
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4038f9
push ebx
call fcn.00404817
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x403a14
push getpeername
push 0
push str.ComSpec
push 1
mov ebx, 0x404ac0
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0xc], eax
push getpeername
push 0
push str.ComSpec
push 1
mov ebx, 0x404ac0
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x10], eax
push closesocket
push 0
push 0
push 0
push 0
push 0
push getpeername
push 0
push 0x4925c7
push getpeername
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x403976
mov eax, 0x48fc0f
push eax
push 4
mov ebx, 0x404ca0
call fcn.00404823
add esp, 0x34
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40399c
push ebx
call fcn.00404817
add esp, 4
fild dword [ebp - 0x14]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fsub qword [0x490053]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.00401984
push 0x80000301
push 0
push eax
push getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x4039d1
mov eax, 0x48fc0f
push eax
push 2
mov ebx, 0x404ae0
call fcn.00404823
add esp, 0x1c
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4039f7
push ebx
call fcn.00404817
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403a0b
push ebx
call fcn.00404817
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x403c2b
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x403a31
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403a44
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0xc], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x403a61
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 6
push getpeername
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x403a96
mov eax, 0x48fc0f
push eax
push 2
mov ebx, 0x404ae0
call fcn.00404823
add esp, 0x1c
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x403abc
push ebx
call fcn.00404817
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x403acf
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x403af5
push ebx
call fcn.00404817
add esp, 4
push str.common
push dword [ebp - 0x18]
call fcn.00401004
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x403b23
push ebx
call fcn.00404817
add esp, 4
cmp dword [ebp - 0x1c], 0
je 0x403b37
mov eax, 4
jmp 0x403b3c
mov eax, 3
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 4]
call fcn.004012ea
push ebx
push ecx
mov eax, dword [ebp + 8]
dec eax
jns 0x403b5c
push 4
call fcn.00404805
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403b6f
push 1
call fcn.00404805
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x24], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebx]
test eax, eax
jne 0x403b8c
mov eax, 0x48fc0f
push eax
push 1
mov ebx, 0x404e20
call fcn.00404823
add esp, 0x10
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push str.SoftwareMicrosoftWindowsCurrentVersionExplorerShell_Folders_
mov ecx, 2
call fcn.0040306f
add esp, 8
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x403bca
push ebx
call fcn.00404817
add esp, 4
push 0
push 0
push 0
push getpeername
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x403be3
mov eax, 0x48fc0f
push eax
push 0x80000301
push 0
push dword [ebp - 0x20]
push 3
mov ebx, 0x405980
call fcn.00404823
add esp, 0x28
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x403c13
push ebx
call fcn.00404817
add esp, 4
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403c27
push ebx
call fcn.00404817
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x403c47
push eax
mov ebx, eax
call fcn.00403004
inc eax
push eax
call fcn.0040482f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x403c4c
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x403c6b
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x403c67
imul eax, dword [ebx]
jmp 0x403c5c
mov ecx, eax
test ecx, ecx
je 0x403c8a
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x403c83
push ebx
push eax
call fcn.00404817
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x403c71
call fcn.00404817
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403ca2
push ebx
call fcn.00404817
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8