Function at 0x140008160
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x1403622b0]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r14, rdx
mov qword [rsp + 0x38], rdx
mov r13, rcx
mov qword [rsp + 0x30], rcx
mov qword [rbp - 0x70], rdx
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
xor r12d, r12d
mov dword [rbp], r12d
mov qword [rbp + 0x18], r12
mov r8d, dword [rdx + 0x10]
mov rdx, qword [rdx]
lea rcx, [rbp]
call fcn.140004cb0
mov ebx, r12d
mov dword [rbp - 0x40], ebx
mov esi, r12d
mov qword [rbp - 0x38], r12
cmp dword [rbp], 6
jne 0x14000871c
mov edi, dword [rbp + 8]
test rdi, rdi
je 0x140008244
lea rdx, [rbp - 0x48]
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.140009970
cmp rdi, 1
jbe 0x14000823d
lea rcx, [rbx + 0x18]
lea rdx, [rbp - 0x44]
call fcn.140009970
cmp rdi, 2
jbe 0x14000823d
movups xmm1, xmmword [rbx + 0x30]
movaps xmmword [rsp + 0x70], xmm1
movsd xmm0, qword [rbx + 0x40]
movsd qword [rbp - 0x80], xmm0
movd eax, xmm1
cmp eax, 5
jne 0x140008747
mov rsi, qword [rbp - 0x80]
mov qword [rbp - 0x38], rsi
mov ebx, dword [rsp + 0x78]
mov dword [rbp - 0x40], ebx
jmp 0x140008244
mov rsi, qword [rbp - 0x38]
mov ebx, dword [rbp - 0x40]
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x140008262
mov rcx, rdi
call fcn.14001cab0
mov edx, gethostname
mov rcx, rdi
call fcn.1401df0d0
mov r15d, 0xffffffff
mov r11d, r15d
mov r8d, r12d
mov r10, qword [r13 + 0x570]
mov rcx, qword [r13 + 0x578]
sub rcx, r10
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1400082bf
mov rcx, r10
mov r9d, dword [rbp - 0x48]
cmp dword [rcx], r9d
je 0x1400082bc
inc r8d
add rcx, 0x78
movsxd rax, r8d
cmp rax, rdx
jb 0x1400082a6
jmp 0x1400082bf
mov r11d, r8d
movsxd rax, r11d
imul rdi, rax, 0x78
add rdi, r10
mov eax, dword [rdi + 0x48]
inc eax
mov r12d, dword [rbp - 0x44]
cmp eax, r12d
je 0x1400082e5
cmp eax, dword [rdi + 0x38]
je 0x1400082e5
mov rbx, qword [r14 + 8]
jmp 0x1400086a6
lea rcx, [rdi + 0x50]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov dword [rbp - 0x50], eax
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
mov r8d, ebx
mov rdx, rsi
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400083f8
xor eax, eax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x38], rax
mov qword [rbp + 0x40], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x28], al
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x48], al
mov eax, dword [rdi]
mov dword [rbp + 0x20], eax
lea r8, [rdi + 8]
lea rax, [rbp + 0x28]
cmp rax, r8
je 0x140008369
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14000835c
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rbp + 0x28]
call fcn.140004ff0
mov r8d, ntohs
lea rdx, [0x14032c0d0]
lea rcx, [rbp + 0x48]
call fcn.140004ff0
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x1400083bb
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400083b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008772
call fcn.1401df0d0
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1400083fb
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400083f1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008772
call fcn.1401df0d0
jmp 0x1400083fb
inc dword [rdi + 0x48]
lea rcx, [rdi + 0x50]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [rdi]
mov esi, dword [rdi + 0x48]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rax
mov ecx, 0x2000
call fcn.140025370
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400086fc
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x20], 0x2000
mov edx, 2
lea rcx, [rbp - 0x30]
call fcn.140003a40
mov edx, ebx
lea rcx, [rbp - 0x30]
call fcn.140003ea0
mov edx, esi
lea rcx, [rbp - 0x30]
call fcn.140003ea0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], rax
mov r8d, dword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp - 0x18]
call fcn.140004a10
nop
mov rcx, qword [rbp - 0x28]
call fcn.140023e30
nop
mov r9d, dword [rbp - 8]
mov r8, qword [rbp - 0x18]
mov edx, 0x400000f
mov rcx, r13
call fcn.14000b6d0
test r12d, r12d
jne 0x140008668
mov rcx, qword [rdi + 0x28]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r11d, r15d
xor r8d, r8d
mov r13, qword [r13 + 0x578]
mov r12, qword [rsp + 0x30]
mov r10, qword [r12 + 0x570]
mov rcx, r13
sub rcx, r10
movabs rax, 0x8888888888888889
imul rcx
add rdx, rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140008519
mov r9d, dword [rdi]
mov rcx, r10
nop dword [rax]
cmp r9d, dword [rcx]
je 0x140008516
inc r8d
add rcx, 0x78
movsxd rax, r8d
cmp rax, rdx
jb 0x140008500
jmp 0x140008519
mov r11d, r8d
movsxd rax, r11d
imul r14, rax, 0x78
add r14, r10
lea rsi, [r14 + 0x78]
cmp rsi, r13
je 0x14000860f
lea rbx, [r14 + 8]
lea rdi, [r14 + 0x80]
nop dword [rax + rax]
mov eax, dword [rsi]
mov dword [r14], eax
cmp rbx, rdi
je 0x1400085b0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140008584
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000857f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008716
mov rcx, r8
call fcn.1401df0d0
xor eax, eax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], al
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], al
mov rax, qword [rdi + 0x20]
mov qword [rbx + 0x20], rax
mov rax, qword [rdi + 0x28]
mov qword [rbx + 0x28], rax
mov eax, dword [rdi + 0x30]
mov dword [rbx + 0x30], eax
mov rax, qword [rdi + 0x38]
mov qword [rbx + 0x38], rax
mov eax, dword [rdi + 0x40]
mov dword [rbx + 0x40], eax
movups xmm0, xmmword [rdi + 0x48]
movups xmmword [rbx + 0x48], xmm0
movups xmm1, xmmword [rdi + 0x58]
movups xmmword [rbx + 0x58], xmm1
movsd xmm0, qword [rdi + 0x68]
movsd qword [rbx + 0x68], xmm0
add r14, 0x78
add rbx, 0x78
add rsi, 0x78
add rdi, 0x78
cmp rsi, r13
jne 0x140008540
mov r13, qword [r12 + 0x578]
mov rdx, qword [r13 - 0x58]
cmp rdx, 0x10
jb 0x14000864a
mov rcx, qword [r13 - 0x70]
inc rdx
cmp rdx, 0x1000
jb 0x140008645
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008716
mov rcx, r8
call fcn.1401df0d0
mov qword [r13 - 0x60], 0
mov qword [r13 - 0x58], 0xf
mov byte [r13 - 0x70], 0
add qword [r12 + 0x578], 0xffffffffffffff88
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x14000869d
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000869d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000869d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rbx, qword [rsp + 0x38]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x1400086d5
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400086d5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x1400086d5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1401df0b0
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rbp - 0x68]
call fcn.140004b20
lea rdx, [0x140358ec8]
lea rcx, [rbp - 0x68]
call fcn.1401e164c
nop
call fcn.1401ee5b8
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rsp + 0x40]
call fcn.1401e164c
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x58]
call fcn.140004850
lea rdx, [0x140358e90]
lea rcx, [rsp + 0x58]
call fcn.1401e164c
nop
call fcn.1401ee5b8
int3