Function at 0x417433
Capabilities:
Move file
Read file on windows

Disassembly:
push 0x164
mov eax, 0x44a734
call fcn.00449569
mov edi, ecx
mov dword [ebp - 0x7c], edi
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x11c]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x154], ebx
mov dword [ebp - 0x140], eax
mov dword [ebp - fcn.00416acd], vtable.MYFILE.0
call fcn.00416a8a
mov dword [ebp - fcn.00416acd], vtable.MYDIR.0
and dword [ebp - 4], 0
lea ecx, [ebp - 0x11c]
call fcn.00416c48
test al, al
jne 0x417493
push 0xfffffffffffffff5
pop esi
jmp 0x4179dc
mov esi, dword [edi + 0x24]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], vtable.MYFILE.0
call fcn.00416a8a
push dword [ebp - 0x10c]
lea ecx, [ebp - 0xb8]
call fcn.004169ed
push esi
lea ecx, [ebp - 0xb8]
call fcn.00416a58
lea ecx, [ebp - 0xb8]
call fcn.004169c8
mov esi, dword [edi + 0x20]
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], vtable.MYFILE.0
call fcn.00416a8a
push dword [ebp - 0x10c]
lea ecx, [ebp - 0x9c]
call fcn.004169ed
push esi
lea ecx, [ebp - 0x9c]
call fcn.00416a58
lea ecx, [ebp - 0x9c]
call fcn.004169c8
mov eax, dword [edi + 0x558]
xor ecx, ecx
movaps xmm0, xmmword [0x485e40]
xor edx, edx
mov esi, dword [ebp - 0x140]
inc edx
or dword [ebp - 0xf4], 0xffffffff
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], edx
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xbc], ecx
lea eax, [ebp - 0xbf]
mov byte [ebp - 4], 4
mov edx, dword [edi + 0x2c]
mov ecx, edi
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00416e61
push dword [ebp - 0xac]
xor edi, edi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], edi
call fcn.004395ff
mov eax, dword [ebp - 0x7c]
add esp, 0xc
xorps xmm0, xmm0
mov byte [ebp - 0x75], 1
movlpd qword [ebp - 0x148], xmm0
cmp dword [eax + 0x558], edi
je 0x4175f5
push esi
push 1
lea eax, [ebp - 0x75]
push eax
push str.read
call ebx
mov esi, eax
add esp, 0x10
cmp esi, 1
je 0x4175ef
test esi, esi
js 0x4179a1
push 0xfffffffffffffffa
pop esi
jmp 0x4179a1
mov esi, dword [ebp - 0x140]
cmp byte [ebp - 0xc0], 0
jne 0x41777a
mov ecx, 0x40000
call fcn.00412734
push esi
mov edi, eax
mov dword [ebp - 0x14c], eax
push 0x40000
push edi
push str.read
call ebx
mov ebx, dword [ebp - 0x148]
mov esi, eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x13c], eax
jmp 0x417740
cmp dword [ebp - 0xb0], 0
jge 0x417659
push 1
lea ecx, [ebp - 0xb8]
call fcn.00416bad
test al, al
je 0x417773
mov al, byte [ebp - 0x75]
test al, al
je 0x41770a
cmp al, 1
je 0x41770a
lea ecx, [ebp - 0x170]
mov dword [ebp - fcn.00416acd], vtable.MYFILE.0
call fcn.00416a8a
push str.data7777
lea ecx, [ebp - 0x170]
call fcn.00416a58
mov al, byte [ebp - 0x16c]
lea ecx, [ebp - 0x170]
mov byte [ebp - 0x98], al
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x84], eax
call fcn.00416af5
push 1
lea eax, [ebp - 0x75]
add ebx, 1
push eax
push dword [ebp - 0xb0]
adc dword [ebp - 0x13c], 0
call fcn.0043d3c9
add esp, 0xc
cmp eax, 1
jne 0x417773
mov byte [ebp - 0x75], al
push esi
push edi
push dword [ebp - 0xb0]
add ebx, esi
adc dword [ebp - 0x13c], 0
call fcn.0043d3c9
add esp, 0xc
cmp eax, esi
jne 0x417773
push dword [ebp - 0x140]
push 0x40000
push edi
push str.read
call dword [ebp - 0x154]
mov esi, eax
add esp, 0x10
test esi, esi
jg 0x41763b
test edi, edi
je 0x41775e
push edi
call fcn.00436cda
xor edi, edi
pop ecx
mov dword [ebp - 0x14c], edi
lea ecx, [ebp - 0xb8]
call fcn.004127a0
test esi, esi
jne 0x4179a1
jmp 0x41778c
push 0xfffffffffffffff5
jmp 0x417995
mov eax, dword [ebp - 0x144]
mov ebx, dword [ebp - 0x148]
mov dword [ebp - 0x13c], eax
push dword [ebp - 0x90]
call fcn.004395ff
mov esi, dword [ebp - 0x150]
pop ecx
cmp byte [esi], 0
je 0x4178e0
cmp byte [ebp - 0x75], 0
je 0x4178e0
lea ecx, [ebp - 0x138]
mov dword [ebp - fcn.00416acd], vtable.MYFILE.0
call fcn.00416a8a
push esi
lea ecx, [ebp - 0x138]
call fcn.00416a58
lea ecx, [ebp - 0x100]
call fcn.00417199
test al, al
jne 0x41783a
mov edx, dword [ebp - 0x13c]
lea esi, [ebp - 0x59]
push 4
mov byte [ebp - 0x59], al
pop edi
sub edi, 1
jne 0x4177fc
dec esi
push 3
pop edi
mov byte [esi], 0x2c
push ebx
push 0
push 0xa
push edx
push ebx
dec esi
call fcn.004495e0
mov dword [ebp - 0x144], ebx
pop ebx
add cl, 0x30
mov ebx, eax
or eax, edx
mov byte [esi], cl
jne 0x4177f0
push dword [ebp - 0x150]
push esi
push str.Unpacking
push str._n_s__s_bytes_with__s_n
call fcn.00412708
mov edi, dword [ebp - 0x14c]
add esp, 0x10
lea ecx, [ebp - 0x100]
call fcn.004172fc
call fcn.00413429
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 0x100]
push eax
push ecx
push ecx
mov ecx, dword [ebp - 0x12c]
movsd qword [ebp - 0x148], xmm0
call fcn.004132aa
add esp, 0xc
mov esi, eax
call fcn.00413429
mov eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0x100]
subsd xmm0, qword [ebp - 0x148]
addsd xmm0, qword [eax + 8]
movsd qword [eax + 8], xmm0
call fcn.00417199
test al, al
jne 0x4178a7
push esi
push str._nErrorlevel_d_n
call fcn.00412708
pop ecx
pop ecx
cmp dword [ebp - 0xbc], 0
lea ecx, [ebp - 0x138]
jge 0x4178c6
mov esi, dword [ebp - 0xbc]
call fcn.00416af5
jmp 0x417996
cmp byte [ebp - 0xbf], 0
je 0x4178d5
neg esi
sbb esi, esi
jmp 0x4178bc
call fcn.00416af5
test esi, esi
jne 0x417900
jmp 0x4178f3
push dword [ebp - 0x90]
push dword [ebp - 0xac]
call fcn.004398d2
pop ecx
pop ecx
push 0
lea ecx, [ebp - 0x9c]
call fcn.00416bad
cmp dword [ebp - 0x94], 0
jl 0x417987
push dword [ebp - 0xac]
call fcn.004395ff
push dword [ebp - 0x94]
call fcn.0042e7b0
pop ecx
pop ecx
push dword [ebp - 0x140]
mov dword [ebp - 0x80], eax
push dword [ebp - 0x94]
mov dword [ebp - 0x7c], edx
call fcn.0042e7b0
mov ebx, dword [ebp - 0x154]
pop ecx
push eax
lea eax, [ebp - 0x80]
push eax
push str.quasiwrite
call ebx
mov esi, 0x40000
mov ecx, esi
call fcn.00412734
mov edi, eax
push esi
jmp 0x417970
push dword [ebp - 0x140]
push esi
push edi
push str.write
call ebx
push 0x40000
push edi
push dword [ebp - 0x94]
call fcn.0043c541
mov esi, eax
add esp, 0x1c
test esi, esi
jg 0x41795c
jmp 0x417996
push dword [ebp - 0x90]
call fcn.004395ff
pop ecx
push 0xfffffffffffffffe
pop esi
test edi, edi
je 0x4179a1
push edi
call fcn.00436cda
pop ecx
push 1
push dword [ebp - 0x150]
call fcn.0042a9e6
pop ecx
pop ecx
lea ecx, [ebp - 0xd4]
call fcn.00427a9c
lea ecx, [ebp - 0xd8]
call fcn.00427a9c
lea ecx, [ebp - 0x9c]
call fcn.00416af5
lea ecx, [ebp - 0xb8]
call fcn.00416af5
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x11c]
mov dword [ebp - fcn.00416acd], vtable.MYDIR.0
call fcn.00416acd
lea ecx, [ebp - 0x11c]
call fcn.00416af5
mov eax, esi
call fcn.00449527
ret 0xc