Function at 0x46ff30
Capabilities:
Copy file
Delete file
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x46c
mov eax, dword [0x7e2670]
xor eax, ebp
mov dword [ebp - 4], eax
push str.promptCheckSum..._r_n
call fcn.0066610b
add esp, 4
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x11c], str.M50_Release_Android_scatter.txt
mov dword [ebp - 0x114], str.A800_Release_Android_scatter.txt
mov dword [ebp - 0x124], str.M50_M8_Release_Android_scatter.txt
mov dword [ebp - 0x238], str.A3700_Release_Android_scatter.txt
mov dword [ebp - 0x458], str.Aseries_PAX_Android_scatter.txt
mov dword [ebp - 0x234], str.Checksum.ini
mov dword [ebp - 0x128], str.binMTKCheckSum_Generate_exeCheckSum_Gen.exe
mov dword [ebp - 0x118], str.binMTKCheckSum_Generate_exeFlashToolLib.dll
mov dword [ebp - 0x120], str.binMTKCheckSum_Generate_exeFlashToolLib.v1.dll
mov dword [ebp - 0x454], str.binMTKCheckSum_Generate_exeFlashToolLibEx.dll
mov ax, word [0x7034a0]
mov word [ebp - 0x110], ax
push 0x102
push 0
lea ecx, [ebp - 0x10e]
push ecx
call fcn.006665c0
add esp, 0xc
mov dx, word [0x7034a4]
mov word [ebp - 0x450], dx
push 0x102
push 0
lea eax, [ebp - 0x44e]
push eax
call fcn.006665c0
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x110]
push edx
call fcn.00666ba0
add esp, 8
push 0x7034a8
lea eax, [ebp - 0x110]
push eax
call fcn.00666bb0
add esp, 8
push 0x104
lea ecx, [ebp - 0x450]
push ecx
call fcn.0049f360
add esp, 8
push 0x7034ac
lea edx, [ebp - 0x450]
push edx
call fcn.00666bb0
add esp, 8
mov ax, word [0x7034b0]
mov word [ebp - 0x348], ax
push 0x102
push 0
lea ecx, [ebp - 0x346]
push ecx
call fcn.006665c0
add esp, 0xc
mov dx, word [0x7034b4]
mov word [ebp - 0x230], dx
push 0x102
push 0
lea eax, [ebp - 0x22e]
push eax
call fcn.006665c0
add esp, 0xc
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x348]
push edx
call fcn.00666ba0
add esp, 8
mov eax, dword [ebp - 0x234]
push eax
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666bb0
add esp, 8
push 0
lea edx, [ebp - 0x348]
push edx
call fcn.0066a29a
add esp, 8
cmp eax, 0xffffffff
jne 0x4704f6
mov dword [ebp - 0x45c], 0
jmp 0x4700fc
mov eax, dword [ebp - 0x45c]
add eax, 1
mov dword [ebp - 0x45c], eax
cmp dword [ebp - 0x45c], 5
jge 0x47022e
push 0x104
push 0
lea ecx, [ebp - 0x348]
push ecx
call fcn.006665c0
add esp, 0xc
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x348]
push eax
call fcn.00666ba0
add esp, 8
cmp dword [ebp - 0x45c], 0
jne 0x470159
mov ecx, dword [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x348]
push edx
call fcn.00666bb0
add esp, 8
jmp 0x4701db
cmp dword [ebp - 0x45c], 1
jne 0x47017a
mov eax, dword [ebp - 0x114]
push eax
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666bb0
add esp, 8
jmp 0x4701db
cmp dword [ebp - 0x45c], 2
jne 0x47019b
mov edx, dword [ebp - 0x124]
push edx
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
jmp 0x4701db
cmp dword [ebp - 0x45c], 3
jne 0x4701bc
mov ecx, dword [ebp - 0x238]
push ecx
lea edx, [ebp - 0x348]
push edx
call fcn.00666bb0
add esp, 8
jmp 0x4701db
cmp dword [ebp - 0x45c], 4
jne 0x4701db
mov eax, dword [ebp - 0x458]
push eax
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666bb0
add esp, 8
lea edx, [ebp - 0x348]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x470215
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x460]
push eax
lea ecx, [ebp - 0x348]
push ecx
push 0x7034b8
call fcn.0066610b
add esp, 0xc
jmp 0x470229
lea edx, [ebp - 0x348]
push edx
push str.delete_file__s_success._r_n
call fcn.0066610b
add esp, 8
jmp 0x4700ed
mov dword [ebp - 0x464], 0
jmp 0x470249
mov eax, dword [ebp - 0x464]
add eax, 1
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], 4
jge 0x4703ef
push 0x104
push 0
lea ecx, [ebp - 0x348]
push ecx
call fcn.006665c0
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x230]
push edx
call fcn.006665c0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666ba0
add esp, 8
lea edx, [ebp - 0x450]
push edx
lea eax, [ebp - 0x230]
push eax
call fcn.00666ba0
add esp, 8
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x46c], ecx
cmp dword [ebp - 0x46c], 3
ja case.default.0x4702cd
mov edx, dword [ebp - 0x46c]
jmp dword [edx*4 + 0x470524]
push 0x703500
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
mov ecx, dword [ebp - 0x128]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00666bb0
add esp, 8
jmp case.default.0x4702cd
push str.FlashToolLib.dll
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
mov ecx, dword [ebp - 0x118]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00666bb0
add esp, 8
jmp case.default.0x4702cd
push str.FlashToolLib.v1.dll
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
mov ecx, dword [ebp - 0x120]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00666bb0
add esp, 8
jmp case.default.0x4702cd
push str.FlashToolLibEx.dll
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
mov ecx, dword [ebp - 0x454]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.00666bb0
add esp, 8
push 1
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x230]
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4703cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x468], eax
mov edx, dword [ebp - 0x468]
push edx
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x230]
push ecx
push str.CopyFile_file__s_to__s_no_success.lasterror_d_r_n
call fcn.0066610b
add esp, 0x10
jmp 0x4703ea
lea edx, [ebp - 0x348]
push edx
lea eax, [ebp - 0x230]
push eax
push str.CopyFile_file__s_to__s_success._r_n
call fcn.0066610b
add esp, 0xc
jmp 0x47023a
push 0x104
push 0
lea ecx, [ebp - 0x348]
push ecx
call fcn.006665c0
add esp, 0xc
lea edx, [ebp - 0x110]
push edx
lea eax, [ebp - 0x348]
push eax
call fcn.00666ba0
add esp, 8
push str.CheckSum_Gen.exe
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666bb0
add esp, 8
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 0x348]
push eax
call fcn.0046fab0
add esp, 4
lea ecx, [ebp - 0x450]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x104
push 0
lea edx, [ebp - 0x348]
push edx
call fcn.006665c0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea ecx, [ebp - 0x348]
push ecx
call fcn.00666ba0
add esp, 8
mov edx, dword [ebp - 0x234]
push edx
lea eax, [ebp - 0x348]
push eax
call fcn.00666bb0
add esp, 8
push 0
lea ecx, [ebp - 0x348]
push ecx
call fcn.0066a29a
add esp, 8
cmp eax, 0xffffffff
jne 0x4704dd
mov dword [ebp - 0x23c], 0xffffffff
lea edx, [ebp - 0x348]
push edx
push str._s_not_exist._r_n
call fcn.0066610b
add esp, 8
push str.CheckSumFAIL_r_n
call fcn.0066610b
add esp, 4
jmp 0x4704f4
mov dword [ebp - 0x23c], 0
push 0x7035dc
call fcn.0066610b
add esp, 4
jmp 0x47050d
mov dword [ebp - 0x23c], 0
push str.CheckSum100___r_n
call fcn.0066610b
add esp, 4
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006665ac
mov esp, ebp
pop ebp
ret