Function at 0x44f910
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55749d
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x5c3040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x38], 0x65
mov eax, dword [esi]
mov ecx, esi
mov byte [ebp - 0x29], 1
call dword [eax + 0x28]
push eax
mov dword [ebp - 0x3c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 0
cmp byte [esi + 0x73a], 0
je 0x44fc70
cmp byte [esi + 0x728], 0
jne 0x44fc69
cmp byte [esi + 0x739], 0
jne 0x44fc69
push 0
lea ebx, [esi + 0x72c]
push ebx
push 0x2000
push dword [esi + 0x700]
push dword [esi + 0x724]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebx]
mov ebx, ecx
test eax, eax
jne 0x44fa62
test ecx, ecx
je 0x44f9be
mov byte [esi + 0x739], 1
mov ecx, dword [esi + 0x73c]
test ecx, ecx
je 0x44fa76
mov eax, dword [esi + 0x740]
cmp eax, dword [esi + 0x744]
jge 0x44fa76
mov edi, dword [eax + ecx]
test edi, edi
je 0x44fa76
push ebx
push dword [esi + 0x700]
add eax, 4
push 1
mov dword [esi + 0x740], eax
call sym.winvnc.exe_adler32_z
add esp, 0xc
cmp eax, edi
jne 0x44fa76
mov edi, dword [esi + 0x3a0]
bswap ebx
mov dword [ebp - 0x28], 0x507
mov dword [ebp - 0x24], 0x2000000
mov dword [ebp - 0x20], ebx
cmp dword [edi + 8], 0xffffffff
je 0x44fc23
cmp byte [edi + 0x1a], 0
jne 0x44fa50
cmp byte [edi + 0x18], 0
je 0x44fa50
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x21], 0
je 0x44fa50
push 1
lea eax, [ebp - 0x2a]
mov byte [ebp - 0x2a], 7
push eax
mov ecx, edi
call fcn.0048ee80
push 0xc
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0048ee80
jmp 0x44fc23
test ecx, ecx
jne 0x44f9be
mov byte [esi + 0x728], 1
jmp 0x44fc2f
xor al, al
mov edi, 0x2400
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x29], al
cmp byte [esi + 0x738], al
je 0x44fab8
push 0xffffffffffffffff
push ebx
push dword [esi + 0x700]
lea eax, [ebp - 0x30]
push eax
push dword [esi + 0x704]
call sym.winvnc.exe_compress2
add esp, 0x14
test eax, eax
jne 0x44fc4d
mov edi, dword [ebp - 0x30]
mov bl, 1
mov byte [ebp - 0x29], bl
jmp 0x44fabb
mov bl, byte [ebp - 0x29]
mov edx, dword [esi + 0x72c]
mov eax, edx
shr eax, 0x18
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], 0x507
cmp edi, edx
jbe 0x44fb1a
xor bl, bl
movzx eax, bl
shl eax, 0x18
mov byte [ebp - 0x29], bl
mov dword [ebp - 0x18], eax
mov ecx, edx
mov eax, edx
and ecx, 0xff00
shl eax, 0x10
or ecx, eax
shr edx, 8
shl ecx, 8
and edx, 0xff00
or ecx, edx
or ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
mov ebx, dword [esi + 0x3a0]
cmp dword [ebx + 8], 0xffffffff
jne 0x44fb51
mov byte [ebp - 0x29], 0
jmp 0x44fc23
movzx eax, bl
shl eax, 0x18
mov dword [ebp - 0x18], eax
test bl, bl
je 0x44fae2
mov edx, edi
mov eax, edi
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov ecx, edi
shl ecx, 0x10
mov eax, edi
and eax, 0xff00
shr edx, 8
or ecx, eax
shl ecx, 8
or edx, ecx
mov dword [ebp - 0x14], edx
jmp 0x44fb05
cmp byte [ebx + 0x1a], 0
jne 0x44fb77
cmp byte [ebx + 0x18], 0
je 0x44fb77
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x21], 0
je 0x44fb77
push 1
lea eax, [ebp - 0x2a]
mov byte [ebp - 0x2a], 7
push eax
mov ecx, ebx
call fcn.0048ee80
push 0xc
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.0048ee80
cmp byte [ebp - 0x29], 0
mov ebx, dword [esi + 0x3a0]
je 0x44fc0a
cmp dword [ebx + 8], 0xffffffff
mov ecx, dword [esi + 0x704]
jne 0x44fba2
xor ecx, ecx
test ecx, ecx
jmp 0x44fc1f
test edi, edi
jne 0x44fbad
or ecx, 0xffffffff
test ecx, ecx
jmp 0x44fc1f
cmp byte [ebx + 0x18], 0
je 0x44fbf6
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x21], 0
je 0x44fbf6
cmp byte [ebx + 0x68], 0
je 0x44fbdd
mov eax, dword [ebx + 0x64]
add eax, dword [ebx + 0x6c]
push edi
push ecx
push eax
call fcn.005264b0
add dword [ebx + 0x6c], edi
or ecx, 0xffffffff
add esp, 0xc
test ecx, ecx
jmp 0x44fc1f
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push eax
push edi
push ecx
mov ecx, ebx
call fcn.0048f190
mov edi, dword [ebp - 0x34]
mov ecx, eax
push edi
push ecx
mov ecx, ebx
call fcn.0048eb60
xor ecx, ecx
cmp eax, edi
sete cl
test ecx, ecx
jmp 0x44fc1f
push dword [esi + 0x72c]
mov ecx, ebx
push dword [esi + 0x700]
call fcn.0048edf0
test eax, eax
setne byte [ebp - 0x29]
mov eax, dword [esi + 0x72c]
add dword [esi + 0x730], eax
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp - 0x29], 0
jne 0x44f944
xor al, al
jmp 0x44fc7b
push eax
push str.vncClient::SendFileChunk_:_Compress_returned_error_in_File_Send_:_d_n
push 9
push 0x5c3db0
call fcn.0041dde0
add esp, 0x10
mov byte [esi + 0x739], 1
mov ecx, esi
call fcn.0044fca0
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00524763
mov esp, ebp
pop ebp
ret