Function at 0x1400751a0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rdi
mov rbp, rsp
sub rsp, 0x78
lea rdx, [0x14012bb38]
mov rdi, rcx
call fcn.140024c30
mov edx, eax
shr edx, 0x1f
test dl, dl
jne 0x140075432
mov qword [rsp + 0x90], rbx
lea rcx, [rdi + 0x28]
mov qword [rsp + 0xa0], rsi
mov edx, 2
mov qword [rsp + 0x70], r14
call fcn.140025da0
mov edx, reloc.WSOCK32.dll_recv
lea rcx, [rax + 8]
call fcn.140028160
mov r9d, dword [rdi + 0x260]
mov edx, eax
mov r8d, dword [rdi + 0x258]
mov rcx, rdi
mov dword [rdi + 0x298], eax
call fcn.140024600
mov r9d, dword [rdi + 0x298]
mov eax, 0x92492493
xor ebx, ebx
mov r14d, 0x1fffff
xorps xmm0, xmm0
mov dword [rdi + 0x2a4], ebx
movups xmmword [rbp - 0x48], xmm0
lea ecx, [r9 + 6]
mov word [rbp - 0x48], 0x7ef0
imul ecx
mov byte [rbp - 0x45], 1
mov byte [rbp - 0x42], r9b
lea r8d, [rcx + rdx]
mov ecx, dword [rdi + 0x260]
xor edx, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov eax, 0x78
div r8d
xor edx, edx
mov dword [rdi + 0x29c], r8d
mov dword [rdi + 0x2a0], eax
xor eax, eax
mov dword [rbp - 0x38], eax
mov byte [rbp - 0x34], al
mov eax, ecx
shr eax, 1
add eax, 0x3b9aca00
div ecx
cmp eax, r14d
cmova eax, r14d
movzx ecx, al
and cl, 0x7f
mov byte [rbp - 0x41], cl
mov ecx, eax
shr ecx, 7
and cl, 0x7f
shr eax, 0xe
and al, 0x7f
mov byte [rbp - 0x40], cl
mov rcx, qword [rdi + 0x250]
mov byte [rbp - 0x3f], al
cmp rcx, 0x1fffffff
jge 0x1400752c5
cmp ecx, r14d
jbe 0x1400752c8
mov ecx, r14d
movzx eax, cl
mov byte [rbp - 0x35], 0x7f
and al, 0x7f
mov dword [rbp - 0x30], 0x7f0000
mov byte [rbp - 0x3e], al
lea rdx, [rbp - 0x30]
mov eax, ecx
mov word [rbp - 0x2c], 0x3c7f
shr ecx, 0xe
and cl, 0x7f
shr eax, 7
mov byte [rbp - 0x3c], cl
and al, 0x7f
mov rcx, qword [rdi + 0x10]
mov byte [rbp - 0x3d], al
mov byte [rbp - 0x2a], bl
mov dword [rbp - 0x28], ebx
mov word [rbp - 0x24], bx
mov byte [rbp - 0x22], bl
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x18], ebx
mov rax, qword [rcx]
call qword [rax + 0x28]
cmp byte [rbp - 0x30], bl
je 0x140075371
mov ecx, dword [rbp - 0x20]
cmp ecx, r14d
cmova ecx, r14d
movzx eax, cl
and al, 0x7f
mov byte [rbp - 0x3b], al
mov eax, ecx
shr eax, 7
and al, 0x7f
shr ecx, 0xe
and cl, 0x7f
mov byte [rbp - 0x3a], al
mov byte [rbp - 0x39], cl
mov ecx, dword [rbp - 0x1c]
cmp ecx, r14d
cmova ecx, r14d
movzx eax, cl
and al, 0x7f
mov byte [rbp - 0x38], al
mov eax, ecx
shr eax, 7
shr ecx, 0xe
and al, 0x7f
and cl, 0x7f
mov byte [rbp - 0x37], al
mov byte [rbp - 0x36], cl
cmp byte [rbp - 0x24], bl
je 0x140075371
cmp byte [rbp - 0x23], bl
setne byte [rbp - 0x35]
mov rcx, qword [rdi + 0x38]
lea r9, [rbp + 0x20]
mov r8d, socket
mov byte [rbp - 0x34], 0xf7
lea rdx, [rbp - 0x48]
mov dword [rbp + 0x20], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
mov dword [rdi + 0x398], ebx
call fcn.1400246e0
mov rcx, qword [rdi + 0x268]
mov esi, eax
cmp qword [rdi + 0x250], rcx
je 0x14007541b
mov rcx, qword [rdi + 0x38]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [rdi + 0x250]
cmp rcx, 0x1fffffff
jge 0x1400753dd
cmp ecx, r14d
jbe 0x1400753e0
mov ecx, r14d
movzx eax, cl
mov dword [rbp + 0x20], ebx
and al, 0x7f
mov qword [rsp + 0x20], rbx
mov byte [rbp - 0x3e], al
lea r9, [rbp + 0x20]
mov eax, ecx
lea rdx, [rbp - 0x48]
shr ecx, 0xe
mov r8d, socket
and cl, 0x7f
shr eax, 7
mov byte [rbp - 0x3c], cl
and al, 0x7f
mov rcx, qword [rdi + 0x38]
mov byte [rbp - 0x3d], al
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r14, qword [rsp + 0x70]
mov eax, esi
mov rsi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x90]
add rsp, 0x78
pop rdi
pop rbp
ret