Function at 0x140046d70
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1401f0010]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rcx
xor edi, edi
mov r14b, 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x50]
mov r13, rax
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], Ordinal_102
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
cmp byte [rbx + 0x82a], dil
je 0x1400470c5
cmp byte [rbx + 0x818], dil
jne 0x1400470bc
cmp byte [rbx + 0x829], dil
jne 0x1400470bc
mov qword [rsp + 0x20], rdi
lea r9, [rbx + 0x81c]
mov r8d, 0x2000
mov rdx, qword [rbx + 0x7e0]
mov rcx, qword [rbx + 0x810]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, dword [rbx + 0x81c]
mov esi, edi
test eax, eax
jne 0x140046f15
test edi, edi
je 0x140046e2e
mov byte [rbx + 0x829], r14b
mov rdx, qword [rbx + 0x830]
test rdx, rdx
je 0x140046f29
movsxd rcx, dword [rbx + 0x838]
cmp ecx, dword [rbx + 0x83c]
jge 0x140046f29
mov r15d, dword [rcx + rdx]
test r15d, r15d
je 0x140046f29
lea eax, [rcx + 4]
mov dword [rbx + 0x838], eax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sym.winvnc.exe_adler32_z
mov r8d, esi
mov rdx, qword [rbx + 0x7e0]
mov ecx, eax
call sym.winvnc.exe_adler32_z
cmp eax, r15d
jne 0x140046f29
mov dword [rbp - 0x18], 0x507
mov dword [rbp - 0x14], 0x2000000
mov ecx, esi
shl ecx, 0x10
mov eax, esi
and eax, 0xff00
or ecx, eax
shl ecx, 8
mov eax, esi
and eax, 0xff0000
shr esi, 0x10
or eax, esi
shr eax, 8
or ecx, eax
mov dword [rbp - 0x10], ecx
mov rdi, qword [rbx + 0x3b0]
cmp qword [rdi + 0x10], 0xffffffffffffffff
je 0x140047078
cmp byte [rdi + 0x32], 0
jne 0x140046efe
cmp byte [rdi + 0x30], 0
je 0x140046efe
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x39], 0
je 0x140046efe
mov byte [rbp - 0x40], 7
mov r8d, 1
lea rdx, [rbp - 0x40]
mov rcx, rdi
call fcn.140087b90
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.140087b90
jmp 0x140047078
test edi, edi
jne 0x140046e2e
mov byte [rbx + 0x818], 1
jmp 0x140047084
mov r14d, 0x2400
mov dword [rbp - 0x3c], r14d
xor r15b, r15b
cmp byte [rbx + 0x828], r15b
je 0x140046f76
mov dword [rsp + 0x20], 0xffffffff
mov r9d, esi
mov r8, qword [rbx + 0x7e0]
lea rdx, [rbp - 0x3c]
mov rcx, qword [rbx + 0x7e8]
call sym.winvnc.exe_compress2
test eax, eax
jne 0x14004709a
mov r15b, 1
mov edi, dword [rbx + 0x81c]
mov r14d, dword [rbp - 0x3c]
mov edx, edi
shr edx, 0x18
mov dword [rbp - 0x28], 0x507
cmp r14d, edi
jbe 0x140046fcc
xor r15b, r15b
movzx eax, r15b
shl eax, 0x18
mov dword [rbp - 0x24], eax
mov ecx, edi
and ecx, 0xff00
mov eax, edi
shl eax, 0x10
or ecx, eax
shl ecx, 8
shr edi, 8
and edi, 0xff00
or ecx, edi
or ecx, edx
mov dword [rbp - 0x20], ecx
mov rdi, qword [rbx + 0x3b0]
cmp qword [rdi + 0x10], 0xffffffffffffffff
jne 0x140047009
xor r14b, r14b
jmp 0x140047078
movzx eax, r15b
shl eax, 0x18
mov dword [rbp - 0x24], eax
test r15b, r15b
je 0x140046f94
mov edx, r14d
and edx, 0xff0000
mov eax, r14d
shr eax, 0x10
or edx, eax
shr edx, 8
mov ecx, r14d
shl ecx, 0x10
mov eax, r14d
and eax, 0xff00
or ecx, eax
shl ecx, 8
or edx, ecx
mov dword [rbp - 0x20], edx
jmp 0x140046fb6
cmp byte [rdi + 0x32], 0
jne 0x140047035
cmp byte [rdi + 0x30], 0
je 0x140047035
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x39], 0
je 0x140047035
mov byte [rbp - 0x3f], 7
mov r8d, 1
lea rdx, [rbp - 0x3f]
mov rcx, rdi
call fcn.140087b90
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, [rbp - 0x28]
mov rcx, rdi
call fcn.140087b90
mov rcx, qword [rbx + 0x3b0]
test r15b, r15b
je 0x14004705f
mov r8d, r14d
mov rdx, qword [rbx + 0x7e8]
jmp 0x14004706d
mov r8d, dword [rbx + 0x81c]
mov rdx, qword [rbx + 0x7e0]
call fcn.140087a70
test eax, eax
setne r14b
mov eax, dword [rbx + 0x81c]
add dword [rbx + 0x820], eax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14b, r14b
jne 0x140046da0
xor al, al
jmp 0x1400470d0
mov r9d, eax
lea r8, str.vncClient::SendFileChunk_:_Compress_returned_error_in_File_Send_:_d_n
mov edx, 9
lea rcx, vtable.VNCLog.0
call fcn.140017a50
mov byte [rbx + 0x829], 1
mov rcx, rbx
call fcn.140047100
nop
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140131ef0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret