Function at 0x449f60
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56709d
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x5d60c4]
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 edi, ecx
mov dword [ebp - 0x38], 0x65
mov eax, dword [edi]
mov ecx, edi
mov bl, 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 [edi + 0x73a], 0
je 0x44a355
cmp byte [edi + 0x728], 0
jne 0x44a34e
cmp byte [edi + 0x739], 0
jne 0x44a34e
push 0
lea esi, [edi + 0x72c]
push esi
push 0x2000
push dword [edi + 0x700]
push dword [edi + 0x724]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [esi]
test eax, eax
jne 0x44a0f0
test ecx, ecx
je 0x44a009
mov byte [edi + 0x739], bl
mov ecx, dword [edi + 0x73c]
test ecx, ecx
je 0x44a15a
mov eax, dword [edi + 0x740]
cmp eax, dword [edi + 0x744]
jge 0x44a15a
mov esi, dword [eax + ecx]
test esi, esi
je 0x44a154
push 0
add eax, 4
push 0
push 0
mov dword [edi + 0x740], eax
call fcn.004d5f40
push dword [edi + 0x72c]
push dword [edi + 0x700]
push eax
call fcn.004d5f40
add esp, 0x18
cmp eax, esi
jne 0x44a154
mov ecx, dword [edi + 0x72c]
mov edx, ecx
mov esi, dword [edi + 0x3a0]
mov eax, ecx
and eax, 0xff00
shl edx, 0x10
or edx, eax
mov dword [ebp - 0x28], 0x507
mov eax, ecx
shl edx, 8
and eax, 0xff0000
shr ecx, 0x10
or eax, ecx
mov dword [ebp - 0x24], 0x2000000
shr eax, 8
or edx, eax
mov eax, dword [0x5e44e8]
mov dword [ebp - 0x20], edx
cmp dword [eax + 0xe64], 0
je 0x44a12c
cmp dword [esi + 8], 0xffffffff
je 0x44a104
cmp byte [esi + 0x22], 0
jne 0x44a0de
cmp byte [esi + 0x20], 0
je 0x44a0de
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a0de
mov byte [ebp - 0x2a], 7
lea eax, [ebp - 0x2a]
push 1
push eax
mov ecx, esi
call fcn.00487b20
push 0xc
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00487b20
jmp 0x44a30a
test ecx, ecx
jne 0x44a009
mov byte [edi + 0x728], 1
jmp 0x44a316
cmp dword [esi + 0xc], 0xffffffff
je 0x44a30a
cmp byte [esi + 0x22], 0
jne 0x44a0de
cmp byte [esi + 0x20], 0
je 0x44a0de
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a0de
mov byte [ebp - 0x2b], 7
lea eax, [ebp - 0x2b]
jmp 0x44a0d4
cmp dword [esi + 0x10], 0xffffffff
je 0x44a30a
cmp byte [esi + 0x22], 0
jne 0x44a0de
cmp byte [esi + 0x20], 0
je 0x44a0de
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a0de
mov byte [ebp - 0x2c], 7
lea eax, [ebp - 0x2c]
jmp 0x44a0d4
lea esi, [edi + 0x72c]
xor cl, cl
mov ebx, 0x2400
mov dword [ebp - 0x34], ebx
mov byte [ebp - 0x29], cl
cmp byte [edi + 0x738], cl
je 0x44a199
push dword [esi]
lea eax, [ebp - 0x34]
push dword [edi + 0x700]
push eax
push dword [edi + 0x704]
call fcn.004d61c0
add esp, 0x10
test eax, eax
jne 0x44a332
mov ebx, dword [ebp - 0x34]
mov cl, 1
mov byte [ebp - 0x29], cl
mov edx, dword [esi]
mov esi, edx
shr esi, 0x18
mov dword [ebp - 0x1c], 0x507
cmp ebx, edx
jbe 0x44a225
xor al, al
mov byte [ebp - 0x29], al
movzx eax, al
shl eax, 0x18
mov dword [ebp - 0x18], eax
mov ecx, edx
mov eax, edx
shl ecx, 0x10
and eax, 0xff00
or ecx, eax
shr edx, 8
shl ecx, 8
and edx, 0xff00
or ecx, edx
or ecx, esi
mov dword [ebp - 0x14], ecx
mov eax, dword [0x5e44e8]
mov esi, dword [edi + 0x3a0]
cmp dword [eax + 0xe64], 0
je 0x44a283
cmp dword [esi + 8], 0xffffffff
je 0x44a25f
cmp byte [esi + 0x22], 0
jne 0x44a2b3
cmp byte [esi + 0x20], 0
je 0x44a2b3
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a2b3
mov byte [ebp - 0x2d], 7
lea eax, [ebp - 0x2d]
jmp 0x44a2a9
movzx eax, cl
shl eax, 0x18
mov dword [ebp - 0x18], eax
test cl, cl
je 0x44a1b9
mov edx, ebx
mov eax, ebx
shr eax, 0x10
and edx, 0xff0000
or edx, eax
mov ecx, ebx
shl ecx, 0x10
mov eax, ebx
and eax, 0xff00
shr edx, 8
or ecx, eax
shl ecx, 8
or edx, ecx
mov dword [ebp - 0x14], edx
jmp 0x44a1da
cmp dword [esi + 0xc], 0xffffffff
je 0x44a289
cmp byte [esi + 0x22], 0
jne 0x44a2b3
cmp byte [esi + 0x20], 0
je 0x44a2b3
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a2b3
mov byte [ebp - 0x2e], 7
lea eax, [ebp - 0x2e]
jmp 0x44a2a9
cmp dword [esi + 0x10], 0xffffffff
jne 0x44a28d
xor eax, eax
jmp 0x44a2c6
cmp byte [esi + 0x22], 0
jne 0x44a2b3
cmp byte [esi + 0x20], 0
je 0x44a2b3
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x21], 0
je 0x44a2b3
mov byte [ebp - 0x2f], 7
lea eax, [ebp - 0x2f]
push 1
push eax
mov ecx, esi
call fcn.00487b20
push 0xc
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.00487b20
mov ebx, dword [ebp - 0x34]
or eax, 0xffffffff
test eax, eax
setne byte [ebp - 0x30]
test eax, eax
je 0x44a307
cmp byte [ebp - 0x29], 0
mov ecx, dword [edi + 0x3a0]
je 0x44a2ef
push ebx
push dword [edi + 0x704]
call fcn.00487940
test eax, eax
setne bl
jmp 0x44a30a
push dword [edi + 0x72c]
push dword [edi + 0x700]
call fcn.00487940
test eax, eax
setne bl
jmp 0x44a30a
mov bl, byte [ebp - 0x30]
mov eax, dword [edi + 0x72c]
add dword [edi + 0x730], eax
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test bl, bl
jne 0x449f94
xor al, al
jmp 0x44a360
push eax
push str.vncClient::SendFileChunk_:_Compress_returned_error_in_File_Send_:_d_n
push 9
push 0x5d6df8
call fcn.0041d510
add esp, 0x10
mov byte [edi + 0x739], 1
mov ecx, edi
call fcn.0044a380
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.0052b789
mov esp, ebp
pop ebp
ret