Function at 0x42be36
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x6c
test edx, edx
mov eax, dword [esp + 0x80]
je 0x42be7e
add ebx, 4
mov dword [esp + 8], 0x104
mov dword [esp], 0x445100
mov dword [esp + 4], ebx
mov dword [0x445208], 0
mov dword [0x445204], 0
call sym._strncpy
jmp 0x42bf16
test ecx, ecx
je 0x42bf0c
mov dword [esp], ebx
mov dword [esp + 4], 0x4316cc
mov dword [0x445204], 0
call sym._strtok
mov dword [esp + 4], 0x4316cc
mov dword [esp], 0
mov edi, eax
call sym._strtok
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov esi, eax
mov dword [esp], eax
call sym._strtol
or edx, 0xffffffff
mov dword [0x445208], eax
xor eax, eax
mov ecx, edx
repne scasb al, byte es:[edi]
mov edi, esi
not ecx
mov ebp, ecx
mov ecx, edx
repne scasb al, byte es:[edi]
mov dword [esp + 8], 0x104
mov dword [esp], 0x445100
mov eax, ecx
not eax
lea ecx, [ebp + eax]
add ebx, ecx
mov dword [esp + 4], ebx
call sym._strncpy
jmp 0x42bf16
test eax, eax
je 0x42bf16
dec dword [0x445204]
mov eax, 0x445100
call dbg.getFileTime
mov dword [esp + 0x2c], eax
mov eax, 0x445100
call dbg.lengthOfFile
mov dword [esp + 0x20], eax
inc eax
je 0x42c03b
mov eax, dword [0x445204]
imul edx, eax, 0xc800
add edx, dword [0x445208]
inc eax
cmp dword [esp + 0x20], edx
mov dword [0x445204], eax
mov dword [esp + 0x24], edx
jg 0x42bf69
mov eax, str.ERROR_FILE_WAS_ALL_SENT
call dbg.sendMessage
jmp 0x42c105
mov eax, dword [esp + 0x24]
lea ebp, [eax + 0xc7ff]
cmp dword [esp + 0x20], ebp
jg 0x42bf80
mov eax, dword [esp + 0x20]
lea ebp, [eax - 1]
mov dword [esp + 4], 0x431a35
mov dword [esp], 0x445100
call sym._fopen
test eax, eax
mov dword [esp + 0x28], eax
je 0x42c03b
sub ebp, dword [esp + 0x24]
lea edi, [esp + 0x3f]
mov esi, str.
lea eax, [ebp + 0x100]
inc ebp
mov dword [esp], eax
call sym._malloc
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov ecx, 0x21
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], str.FILE__d__d__s__d_r_n
mov edi, ebx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x3f]
mov dword [esp + 4], 0x100
mov dword [esp], ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
call sym.___mingw_snprintf
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x24]
mov dword [esp + 8], 0
not ecx
lea esi, [ecx - 1]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym._fseek
test eax, eax
je 0x42c04a
mov dword [esp], ebx
call sym._free
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym._fclose
mov eax, str.ERROR_FILE_READ_ERROR
call dbg.sendMessage
jmp 0x42c105
mov eax, dword [esp + 0x28]
lea edi, [ebx + esi]
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 0xc], eax
call sym._fread
add esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call sym._fclose
lea ecx, [esp + 0x3f]
mov edx, ebp
mov eax, edi
call dbg.md5Checksum
test eax, eax
je 0x42c0cc
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], ebp
mov edi, ebx
mov dword [esp + 8], str.FILE__d__d__s__d_r
mov dword [esp + 4], 0x100
mov dword [esp], ebx
mov dword [esp + 0x18], eax
lea eax, [esp + 0x3f]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
call sym.___mingw_snprintf
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov byte [ebx + ecx - 1], 0xa
mov eax, dword [esp + 0x24]
mov dword [esp], str.Sending_next_segment_of_file_to_remote_host._Segment__d__start_pos___d_r_n
mov dword [esp + 8], eax
mov eax, dword [0x445204]
mov dword [esp + 4], eax
call dbg.logEvent
mov edx, esi
mov eax, ebx
call dbg.sendData
mov dword [esp + 0x80], ebx
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._free
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret