Function at 0x434b24
Capabilities:
Copy file
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd30
push ebx
push esi
push edi
cmp dword [ebp + 8], 0
je 0x435047
cmp dword [ebp + 0xc], 0
jne 0x434b59
lea eax, [ebp - 0x100]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp + 0xc]
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x43502e
push dword [ebp + 0xc]
lea eax, [ebp - 0xd00]
push eax
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
movzx eax, byte [ebp - 0xd00]
cmp eax, 0x7f
jl 0x434c39
xorpd xmm0, xmm0
movlpd qword [ebp - 0xd10], xmm0
jmp 0x434bb5
mov eax, dword [ebp - 0xd10]
add eax, 1
mov ecx, dword [ebp - 0xd0c]
adc ecx, 0
mov dword [ebp - 0xd10], eax
mov dword [ebp - 0xd0c], ecx
mov eax, dword [ebp - 0xd10]
movzx eax, byte [ebp + eax - 0xd00]
test eax, eax
je 0x434c39
push 0
push 2
push dword [ebp - 0xd0c]
push dword [ebp - 0xd10]
call fcn.0045be60
mov dword [ebp - 0xd20], eax
mov dword [ebp - 0xd1c], edx
mov eax, dword [ebp - 0xd20]
or eax, dword [ebp - 0xd1c]
jne 0x434c16
mov eax, dword [ebp - 0xd10]
movzx eax, byte [ebp + eax - 0xd00]
sub eax, 0x55
mov ecx, dword [ebp - 0xd10]
mov byte [ebp + ecx - 0xd00], al
jmp 0x434c34
mov eax, dword [ebp - 0xd10]
movzx eax, byte [ebp + eax - 0xd00]
sub eax, 0x77
mov ecx, dword [ebp - 0xd10]
mov byte [ebp + ecx - 0xd00], al
jmp 0x434b97
lea eax, [ebp - 0xd00]
push eax
push 0x428a24
lea eax, [ebp - 0xb00]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
push 0x45c5e0
call dword [sym.imp.MSVCR100.dll__localtime64]
pop ecx
push eax
push 0x428a30
push 0xc
lea eax, [ebp - 0xb00]
push eax
call dword [sym.imp.MSVCR100.dll_strlen]
pop ecx
lea eax, [ebp + eax - 0xb00]
push eax
call dword [sym.imp.MSVCR100.dll_strftime]
add esp, 0x10
lea eax, [ebp - 0xb00]
push eax
call fcn.00434ac1
push 1
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0xd00]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0xd00]
push eax
push 0x428a3c
lea eax, [ebp - 0x300]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0xd00]
push eax
push 0x428a48
lea eax, [ebp - 0x900]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0xd00]
push eax
push 0x428a54
lea eax, [ebp - 0x700]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0xd00]
push eax
push 0x428a60
lea eax, [ebp - 0x500]
push eax
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
push 0x428544
lea eax, [ebp - 0x500]
push eax
call dword [sym.imp.MSVCR100.dll_fopen]
pop ecx
pop ecx
mov dword [ebp - 0xd04], eax
cmp dword [ebp - 0xd04], 0
je 0x435011
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c00], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 0x3c02], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c40], 0
and dword [eax + 0x3c44], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c48], 0
and dword [eax + 0x3c4c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c10], 0
and dword [eax + 0x3c14], 0
xorpd xmm0, xmm0
movlpd qword [ebp - 0xd18], xmm0
jmp 0x434dbe
mov eax, dword [ebp - 0xd18]
add eax, 1
mov ecx, dword [ebp - 0xd14]
adc ecx, 0
mov dword [ebp - 0xd18], eax
mov dword [ebp - 0xd14], ecx
mov eax, dword [ebp + 8]
mov esi, dword [eax]
push 0
push 0x30
push dword [ebp - 0xd14]
push dword [ebp - 0xd18]
call fcn.0045bd70
movzx eax, byte [esi + eax + 0x101]
test eax, eax
je 0x434e85
mov bl, byte [ebp - 0xd18]
mov eax, dword [ebp + 8]
mov esi, dword [eax]
push 0
push 0x30
push dword [ebp - 0xd14]
push dword [ebp - 0xd18]
call fcn.0045bd70
mov byte [esi + eax + 0x100], bl
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov esi, dword [eax + 0x3c10]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
push 0
push 0x30
push dword [ebp - 0xd14]
push dword [ebp - 0xd18]
call fcn.0045bd70
mov dword [edi + eax + 0x128], esi
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
push 0
push 0x30
push dword [ebp - 0xd14]
push dword [ebp - 0xd18]
call fcn.0045bd70
movzx eax, byte [edi + eax + 0x124]
cdq
add eax, dword [esi + 0x3c10]
adc edx, dword [esi + 0x3c14]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c10], eax
mov dword [ecx + 0x3c14], edx
jmp 0x434da0
lea eax, [ebp - 0xd00]
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.MSVCR100.dll_strcpy]
pop ecx
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push dword [ecx + 0x3c24]
push dword [ecx + 0x3c20]
push dword [eax + 0x3c14]
push dword [eax + 0x3c10]
call fcn.0045bd70
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [ecx + 0x3c18], eax
mov dword [ecx + 0x3c1c], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp dword [eax + 0x3c58], 0
je 0x434f04
mov eax, dword [ebp + 8]
mov eax, dword [eax]
push dword [eax + 0x3c58]
call dword [sym.imp.MSVCR100.dll_free]
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c58], 0
and dword [eax + 0x3c5c], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
and dword [eax + 0x3c50], 0
and dword [eax + 0x3c54], 0
push dword [ebp - 0xd04]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x3c18]
add ecx, 0x4000
mov eax, dword [eax + 0x3c1c]
adc eax, 0
push ecx
push 1
mov eax, dword [ebp + 8]
push dword [eax]
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
xor ecx, ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov esi, dword [edx + 0x3c18]
add esi, 0x4000
mov edx, dword [edx + 0x3c1c]
adc edx, 0
mov dword [ebp - 0xd28], eax
mov dword [ebp - 0xd24], ecx
mov dword [ebp - 0xd30], esi
mov dword [ebp - 0xd2c], edx
mov eax, dword [ebp - 0xd28]
cmp eax, dword [ebp - 0xd30]
jne 0x435004
mov eax, dword [ebp - 0xd24]
cmp eax, dword [ebp - 0xd2c]
jne 0x435004
push dword [ebp - 0xd04]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
push 0xb
lea eax, [ebp - 0x700]
push eax
lea eax, [ebp - 0x900]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 0xb
lea eax, [ebp - 0x900]
push eax
lea eax, [ebp - 0x300]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 0xb
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0xd00]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 0xb
lea eax, [ebp - 0xd00]
push eax
lea eax, [ebp - 0x500]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
xor eax, eax
inc eax
xor edx, edx
jmp 0x435062
push dword [ebp - 0xd04]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
push dword [ebp + 0xc]
push 0x428a68
push 0x45c9c0
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
call fcn.004303ff
jmp 0x435045
push 0x428a90
push 0x45c9c0
call dword [sym.imp.MSVCR100.dll_sprintf]
pop ecx
pop ecx
call fcn.004303ff
jmp 0x43505e
push 0x428abc
push 0x45c9c0
call dword [sym.imp.MSVCR100.dll_sprintf]
pop ecx
pop ecx
call fcn.004303ff
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
leave
ret 8