Function at 0x6c10d7c0
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
mov esi, edx
push ebx
mov ebx, ecx
sub esp, 0xac
mov dword [esp + 0x34], eax
test byte [0x6c1450b0], 8
jne 0x6c10d920
mov dword [esp], 0
call fcn.6c12c120
mov dword [esp], esi
xor esi, esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x80000000
call dword [sym.imp.kernel32.dll_CreateFileW]
sub esp, 0x1c
mov ebp, eax
cmp eax, 0xffffffff
je 0x6c10d8d7
mov esi, dword [esp + 0x34]
mov edi, dword [esi + 0x40]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov eax, dword [esi + 0x14]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.6c13eb60
mov ecx, dword [esp + 0xc0]
mov eax, esi
mov edx, ebx
call fcn.6c10d690
mov esi, eax
test eax, eax
jne 0x6c10d908
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + 0x48]
cmp eax, 0xffffffff
jne 0x6c10d8e8
test byte [edi + 0x13], 0x10
je 0x6c10d8cb
mov dword [esp + 0x6c], esi
xor eax, eax
test esi, esi
je 0x6c10dba0
mov edi, dword [esp + 0x34]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x10], 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x64
mov eax, dword [edi + 0x14]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.6c13eb60
mov dword [esp], ebp
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
add esp, 0xac
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_closesocket]
mov dword [ebx + 0x48], 0xffffffff
sub esp, 4
test byte [edi + 0x13], 0x10
je 0x6c10d8cb
jmp 0x6c10d88e
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x5c]
call fcn.6c10ad10
test eax, eax
jne 0x6c10d968
xor esi, esi
jmp 0x6c10d87c
mov eax, ecx
call fcn.6c109ca0
mov ebp, eax
mov eax, esi
call fcn.6c109ca0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x6c147e38
mov dword [esp + 8], str.FTP_FtpPutFileW
mov dword [esp + 4], 0x6c1450b0
mov dword [esp], 3
call fcn.6c10a080
jmp 0x6c10d7df
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], eax
test byte [0x6c1450b0], 8
jne 0x6c10dca0
mov dword [esp + 4], 1
xor esi, esi
mov dword [esp], 0x2000
call dword [sym.imp.ucrtbase.dll_calloc]
mov dword [esp], ebp
mov dword [esp + 0x48], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetFileInformationByHandle]
mov ebx, dword [sym.imp.ucrtbase.dll__time32]
sub esp, 8
lea eax, [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 0x3c], ebx
call ebx
xor ebx, ebx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x4c], edi
mov ebp, ebx
mov edi, dword [esp + 0x48]
jmp 0x6c10d9f6
test byte [0x6c1450b0], 8
jne 0x6c10db08
cmp ebx, 0xffffffff
je 0x6c10dbe0
mov eax, dword [esp + 0x60]
sub eax, esi
jne 0x6c10da49
lea eax, [esp + 0x60]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], 0x2000
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_ReadFile]
sub esp, 0x14
test eax, eax
jne 0x6c10da3b
test byte [0x6c1450b0], 2
jne 0x6c10dbb0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x6c10dbe0
xor esi, esi
mov edx, 0x2000
mov dword [esp + 0xc], 0
cmp eax, edx
mov dword [esp + 4], edi
cmova eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.6c130bb0
mov ebx, eax
cmp eax, 0xffffffff
je 0x6c10da7a
add esi, eax
add ebp, eax
lea eax, [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
call eax
mov ecx, dword [esp + 0x68]
sub ecx, dword [esp + 0x64]
cmp ecx, 0x3b
jg 0x6c10d9e0
test byte [0x6c1450b0], 8
je 0x6c10d9ed
mov eax, dword [esp + 0x90]
xor edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], str._ld_bytes_of__ld_bytes___ld____in__ld_sec_estimated_remaining_time__ld_sec_n
mov dword [esp + 8], str.FTP_SendData
sub eax, ebp
mov dword [esp + 4], 0x6c1450b0
imul eax, ecx
mov dword [esp], 3
div ebp
xor edx, edx
mov dword [esp + 0x20], eax
imul eax, ebp, 0x64
div dword [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
call fcn.6c10a080
jmp 0x6c10d9ed
mov eax, dword [esp + 0x90]
xor edx, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], str._ld_bytes_of__ld_bytes___ld____in__ld_min__ld_sec_estimated_remaining_time__ld_sec_n
mov dword [esp + 8], str.FTP_SendData
mov dword [esp + 4], 0x6c1450b0
sub eax, ebp
mov dword [esp], 3
imul eax, ecx
div ebp
mov dword [esp + 0x24], eax
mov eax, 0x88888889
imul ecx
lea eax, [ecx + edx]
mov edx, ecx
sar edx, 0x1f
sar eax, 5
sub eax, edx
mov dword [esp + 0x44], edx
mov edx, ecx
imul eax, eax, 0x3c
sub edx, eax
mov eax, 0x88888889
mov dword [esp + 0x20], edx
imul ecx
mov eax, dword [esp + 0x44]
add edx, ecx
sar edx, 5
sub edx, eax
imul eax, ebp, 0x64
mov dword [esp + 0x1c], edx
xor edx, edx
div dword [esp + 0x90]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
call fcn.6c10a080
jmp 0x6c10d9ed
call fcn.6c12dcd0
jmp 0x6c10d89c
mov dword [esp + 0xc], str.Failed_reading_from_file_n
mov dword [esp + 8], str.FTP_SendData
mov dword [esp + 4], 0x6c1450b0
mov dword [esp], 1
call fcn.6c10a080
jmp 0x6c10da3b
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
test byte [0x6c1450b0], 8
jne 0x6c10dc70
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_closesocket]
sub esp, 4
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0x34]
call fcn.6c10aab0
test eax, eax
je 0x6c10d919
mov esi, 1
cmp eax, 0xe2
je 0x6c10d87c
mov edx, 0x2efe
cmp eax, 0x1aa
je 0x6c10dc60
mov edx, 0x2eef
cmp eax, 0x212
je 0x6c10dc60
cmp eax, 0x1a9
mov edx, 0x2efd
mov eax, 0x2ee3
cmovne edx, eax
mov dword [esp], edx
xor esi, esi
call fcn.6c12c120
jmp 0x6c10d87c
mov dword [esp + 0xc], str.file_transfer_complete__n
mov dword [esp + 8], str.FTP_SendData
mov dword [esp + 4], 0x6c1450b0
mov dword [esp], 3
call fcn.6c10a080
jmp 0x6c10dbf1
mov dword [esp + 0xc], 0x6c147b7c
mov dword [esp + 8], str.FTP_SendData
mov dword [esp + 4], 0x6c1450b0
mov dword [esp], 3
call fcn.6c10a080
jmp 0x6c10d985