Function at 0x405b20
Capabilities:
Copy file
Delete file
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430cfb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1070
call fcn.004176a0
mov eax, dword [0x441840]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1070], ecx
mov byte [ebp - 0x15], 1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0xd], 0
mov byte [ebp - 0x1035], 0
lea ecx, [ebp - 0x20]
call fcn.00402200
mov dword [ebp - 4], 0
push 0x432d92
lea ecx, [ebp - 0x20]
call fcn.004022d0
mov eax, dword [ebp + 8]
push eax
push 0x432d94
lea ecx, [ebp - 0x20]
push ecx
call fcn.00402000
add esp, 0xc
push 0
push str..DAT
lea ecx, [ebp - 0x20]
call fcn.00406740
test eax, eax
jle 0x405bc6
mov byte [ebp - 0xd], 1
push 0x432da0
mov edx, dword [ebp + 8]
push edx
call fcn.004165c0
add esp, 8
push 0
push 0x432da8
lea ecx, [ebp - 0x20]
call fcn.00406740
test eax, eax
jle 0x405be4
mov byte [ebp - 0xd], 1
mov byte [ebp - 0x1035], 1
lea ecx, [ebp - 0x28]
call fcn.00402db0
mov byte [ebp - 4], 1
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x405c04
mov dword [ebp - 0x1074], 0x432db0
jmp 0x405c0e
mov dword [ebp - 0x1074], 0x432db4
mov ecx, dword [ebp - 0x1074]
push ecx
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x28]
call fcn.00402e10
movzx eax, al
test eax, eax
jne 0x405c58
mov dword [ebp - 0x1054], 0xfffffffe
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x1054]
jmp 0x4062df
mov ecx, 1
test ecx, ecx
je 0x406109
push 0
push 0x1000
lea edx, [ebp - 0x1034]
push edx
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x194]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jge 0x405cbf
mov dword [ebp - 0x1058], 0xfffffffb
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x1058]
jmp 0x4062df
cmp dword [ebp - 0x30], 0
jne 0x405cca
jmp 0x406109
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x405ffc
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1034]
push ecx
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004074e0
push str._r_n_r_n
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
push eax
call fcn.00417610
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x405d25
mov edx, dword [ebp - 0x14]
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x405d56
push 0x432dc0
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
push eax
call fcn.00417610
add esp, 8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x405d56
mov eax, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x405ff7
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
mov ecx, dword [ebp - 0x14]
sub ecx, eax
push ecx
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
push eax
mov ecx, dword [ebp - 0x1070]
add ecx, 0x208
call fcn.0040b490
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
mov edx, dword [ebp - 0x14]
sub edx, eax
push edx
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.00407550
push 0x1000
lea eax, [ebp - 0x1034]
push eax
push 1
push 0x20
mov ecx, dword [ebp - 0x1070]
add ecx, 0x208
call fcn.004075a0
push eax
call fcn.0040bce0
add esp, 0x14
lea ecx, [ebp - 0x1034]
push ecx
call fcn.004175ab
add esp, 4
mov edx, dword [ebp - 0x1070]
mov dword [edx + 0x214], eax
lea ecx, [ebp - 0x28]
call fcn.00402f50
mov dword [ebp - 0x103c], eax
movzx eax, byte [ebp + 0xc]
test eax, eax
jne 0x405e69
cmp dword [ebp - 0x103c], 0
je 0x405e69
mov ecx, dword [ebp - 0x1070]
call fcn.00403d70
cmp dword [ebp - 0x103c], eax
jne 0x405e69
mov dword [ebp - 0x105c], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x105c]
jmp 0x4062df
mov ecx, dword [ebp - 0x1070]
call fcn.00403d70
mov ecx, dword [ebp - 0x1070]
mov dword [ecx + 0x220], eax
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075c0
mov edx, dword [ebp - 0x1070]
add eax, dword [edx + 0x224]
mov ecx, dword [ebp - 0x1070]
mov dword [ecx + 0x224], eax
mov ecx, dword [ebp - 0x1070]
call fcn.00406300
movzx edx, al
test edx, edx
jne 0x405eeb
mov dword [ebp - 0x1060], 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x1060]
jmp 0x4062df
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075c0
push eax
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.004075a0
push eax
lea ecx, [ebp - 0x28]
call fcn.00402ee0
mov ecx, dword [ebp - 0x1070]
add ecx, 0x1f8
call fcn.00407490
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x1070]
cmp dword [eax + 0x220], 0xf4240
jle 0x405ff7
mov ecx, dword [ebp - 0x1070]
mov eax, dword [ecx + 0x220]
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x1c], eax
mov dx, word [ebp - 0x1c]
push edx
push 0
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x238]
call fcn.00407a30
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 0x3e8
idiv ecx
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x238]
call fcn.00407a70
cmp dword [ebp - 0x1c], 0
je 0x405ff7
lea ecx, [ebp - 0x1040]
call fcn.00402200
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x2c]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x1c]
push eax
push 0x432dc4
lea ecx, [ebp - 0x1040]
push ecx
call fcn.00402000
add esp, 0xc
lea ecx, [ebp - 0x1040]
call fcn.00407ac0
push eax
mov edx, dword [ebp - 0x1070]
mov ecx, dword [edx + 0x240]
call fcn.00423f47
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1040]
call fcn.004022b0
jmp 0x406104
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x224]
add ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1070]
mov dword [edx + 0x224], ecx
mov ecx, dword [ebp - 0x1070]
call fcn.00406300
movzx eax, al
test eax, eax
jne 0x406059
mov dword [ebp - 0x1064], 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x1064]
jmp 0x4062df
mov ecx, dword [ebp - 0x30]
push ecx
lea edx, [ebp - 0x1034]
push edx
lea ecx, [ebp - 0x28]
call fcn.00402ee0
mov eax, dword [ebp - 0x30]
cdq
mov ecx, 0x3e8
idiv ecx
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x1070]
cmp dword [edx + 0x220], 0xf4240
jle 0x4060a4
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x1070]
mov ecx, dword [ecx + 0x238]
call fcn.00407a70
cmp dword [ebp - 0x1c], 0
je 0x406104
lea ecx, [ebp - 0x1044]
call fcn.00402200
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x2c]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 0x1c]
push eax
push str._3d__
lea edx, [ebp - 0x1044]
push edx
call fcn.00402000
add esp, 0xc
lea ecx, [ebp - 0x1044]
call fcn.00407ac0
push eax
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x240]
call fcn.00423f47
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1044]
call fcn.004022b0
jmp 0x405c58
mov ecx, dword [ebp - 0x1070]
cmp dword [ecx + 0x220], 0xf4240
jle 0x406151
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x1070]
mov ecx, dword [eax + 0x238]
call fcn.00407a70
push 0x432dd4
mov ecx, dword [ebp - 0x1070]
mov ecx, dword [ecx + 0x240]
call fcn.00423f47
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
movzx edx, byte [ebp - 0xd]
test edx, edx
je 0x4062b4
lea ecx, [ebp - 0x28]
call fcn.00402e50
lea ecx, [ebp - 0x1048]
call fcn.00402200
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x104c]
call fcn.00402200
mov byte [ebp - 4], 5
movzx eax, byte [ebp - 0x1035]
test eax, eax
je 0x406254
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.004067c0
mov dword [ebp - 0x1050], eax
mov ecx, dword [ebp - 0x1050]
push ecx
lea edx, [ebp - 0x1068]
push edx
lea ecx, [ebp - 0x20]
call fcn.00406810
mov dword [ebp - 0x1078], eax
mov eax, dword [ebp - 0x1078]
mov dword [ebp - 0x107c], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x107c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00407aa0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1068]
call fcn.004022b0
mov edx, dword [ebp - 0x20]
push edx
push 0x432ddc
lea eax, [ebp - 0x1048]
push eax
call fcn.00402000
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push 0x432de0
lea edx, [ebp - 0x104c]
push edx
call fcn.00402000
add esp, 0xc
push 0
lea ecx, [ebp - 0x1048]
call fcn.00407ac0
push eax
lea ecx, [ebp - 0x104c]
call fcn.00407ac0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x406252
lea ecx, [ebp - 0x104c]
call fcn.00407ac0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x406296
mov eax, dword [ebp - 0x20]
push eax
push 0x432de4
lea ecx, [ebp - 0x1048]
push ecx
call fcn.00402000
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x432de8
lea eax, [ebp - 0x104c]
push eax
call fcn.00402000
add esp, 0xc
lea ecx, [ebp - 0x104c]
call fcn.00407ac0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x104c]
call fcn.004022b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1048]
call fcn.004022b0
mov dword [ebp - 0x106c], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00402de0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004022b0
mov eax, dword [ebp - 0x106c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x34]
call fcn.0041606e
mov esp, ebp
pop ebp
ret 8