Function at 0x404d0d
Capabilities:
Contain obfuscated stackstrings
Copy file
Read file on windows
Write file on windows

Disassembly:
mov eax, 0x41215e
call fcn.00411a30
mov eax, 0x19898
call fcn.004119e0
mov eax, dword [0x41e654]
and word [ebp - 0x260], 0
push ebx
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x19674], ecx
xor eax, eax
mov ecx, 0x81
lea edi, [ebp - 0x25e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebx, 0x104
lea eax, [ebp - 0x260]
push ebx
push eax
call fcn.0040948c
test eax, eax
pop ecx
pop ecx
jne 0x404d69
xor al, al
jmp 0x404ffb
push esi
mov esi, dword [sym.imp.MSVCR71.dll_wcscat]
lea eax, [ebp - 0x260]
push str.SpeedTest_
push eax
call esi
pop ecx
pop ecx
lea eax, [ebp - 0x260]
push eax
mov ecx, 0x41e9e0
call fcn.004023bb
push dword [0x420264]
lea eax, [ebp - 0x260]
push eax
call esi
and word [ebp - 0x670], 0
pop ecx
pop ecx
xor eax, eax
mov ecx, 0x81
lea edi, [ebp - 0x66e]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x19674]
stosw word es:[edi], ax
push ebx
lea eax, [ebp - 0x670]
push eax
call fcn.004048b8
test eax, eax
je 0x404ff8
push dword [0x420260]
lea eax, [ebp - 0x670]
push eax
call esi
lea eax, [ebp - 0x260]
push eax
call fcn.004094db
add esp, 0xc
test eax, eax
jne 0x404e58
and word [ebp - 0x468], ax
mov ecx, 0x81
lea edi, [ebp - 0x466]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x468]
push ebx
push eax
call fcn.00409477
test eax, eax
pop ecx
pop ecx
je 0x404e58
push dword [0x420268]
lea eax, [ebp - 0x468]
push eax
call esi
push dword [0x420264]
lea eax, [ebp - 0x468]
push eax
call esi
add esp, 0x10
push 0
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x260]
push eax
call fcn.004094db
test eax, eax
pop ecx
je 0x404ff8
lea ecx, [ebp - 0x198a4]
call fcn.0040b630
and dword [ebp - 4], 0
push 0x80
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x198a4]
mov byte [ebp - 0x20], 0x22
mov byte [ebp - 0x1f], 0x41
mov byte [ebp - 0x1e], 0x27
mov byte [ebp - 0x1d], 0x34
mov byte [ebp - 0x1c], 0x59
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x1a], 0x25
mov byte [ebp - 0x19], 0x5e
mov byte [ebp - 0x18], 0x62
mov byte [ebp - 0x17], 0x16
mov byte [ebp - 0x16], 0x22
mov byte [ebp - 0x15], 0x5e
mov byte [ebp - 0x14], 0x20
mov byte [ebp - 0x13], 0x21
mov byte [ebp - 0x12], 0x7d
mov byte [ebp - 0x11], 0x86
call fcn.0040b633
mov esi, dword [sym.imp.MSVCR71.dll__wfopen]
xor eax, eax
mov byte [ebp - 0x19670], 0
mov ecx, 0x63ff
lea edi, [ebp - 0x1966f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x260]
push 0x415c78
push eax
call esi
mov ebx, eax
push ebx
push 0x19000
lea eax, [ebp - 0x19670]
push 1
push eax
call dword [sym.imp.MSVCR71.dll_fread]
mov edi, dword [sym.imp.MSVCR71.dll_fclose]
push ebx
mov dword [ebp - 0x19674], eax
call edi
add esp, 0x1c
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
push dword [ebp - 0x19674]
lea eax, [ebp - 0x19670]
push eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP71.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::assign_char_const___unsigned_int_]
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
lea eax, [ebp - 0x3c]
push eax
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x198a4]
mov byte [ebp - 4], 2
call fcn.0040b78a
test al, al
je 0x404fcf
lea eax, [ebp - 0x670]
push 0x415c70
push eax
call esi
pop ecx
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP71.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::size_void_const]
push eax
push 1
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVCP71.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.MSVCR71.dll_fwrite]
push ebx
call edi
add esp, 0x14
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x198a4]
call fcn.00408bdb
mov al, 1
jmp 0x404ffa
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x198a4]
call fcn.00408bdb
xor al, al
pop esi
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.004118d5
leave
ret