Function at 0x401ed9
Capabilities:
Copy file

Disassembly:
push ebp
sub esp, 0x5c
lea ebp, [esp - 4]
mov eax, dword [0x4490e8]
xor eax, ebp
mov dword [ebp + 0x5c], eax
push 0x38
mov eax, 0x4330ad
call fcn.00425cc9
mov eax, dword [ebp + 0x68]
lea ecx, [ebp + 0x40]
mov dword [ebp], eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword [esi + 0xf8]
cmp eax, ebx
jbe 0x401f66
lea eax, [esi + 0xe4]
cmp dword [eax + 0x18], 8
jb 0x401f26
mov eax, dword [eax + 4]
jmp 0x401f29
add eax, 4
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.0042d982
push edi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0x14
push eax
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 2
call dword [0x43431c]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x44]
jmp 0x401fa0
lea eax, [ebp - 0x28]
push eax
call fcn.0042dbc8
push edi
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0x10
push eax
lea ecx, [ebp + 0x40]
mov byte [ebp - 4], 4
call dword [0x43431c]
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
push dword [ebp]
lea ecx, [ebp + 8]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x24]
push eax
mov byte [ebp - 4], 5
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
mov ecx, dword [ebp + 0x28]
add esp, 0xc
cmp dword [ebp + 0x3c], 8
jae 0x401fd7
lea ecx, [ebp + 0x28]
cmp dword [ebp + 0x58], 8
mov eax, dword [ebp + 0x44]
jae 0x401fe3
lea eax, [ebp + 0x44]
push ebx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp eax, ebx
lea ecx, [ebp + 0x24]
setne byte [ebp + 7]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp + 8]
mov byte [ebp - 4], bl
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x40]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov al, byte [ebp + 7]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x5c]
xor ecx, ebp
call fcn.00425cba
add ebp, 0x60
leave
ret 4