Function at 0x140008110
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 [0x14035e2b0]
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.140004cd0
mov ebx, r12d
mov dword [rbp - 0x40], ebx
mov esi, r12d
mov qword [rbp - 0x38], r12
cmp dword [rbp], 6
jne 0x1400086cc
mov edi, dword [rbp + 8]
test rdi, rdi
je 0x1400081f4
lea rdx, [rbp - 0x48]
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.140009920
cmp rdi, 1
jbe 0x1400081ed
lea rcx, [rbx + 0x18]
lea rdx, [rbp - 0x44]
call fcn.140009920
cmp rdi, 2
jbe 0x1400081ed
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 0x1400086f7
mov rsi, qword [rbp - 0x80]
mov qword [rbp - 0x38], rsi
mov ebx, dword [rsp + 0x78]
mov dword [rbp - 0x40], ebx
jmp 0x1400081f4
mov rsi, qword [rbp - 0x38]
mov ebx, dword [rbp - 0x40]
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x140008212
mov rcx, rdi
call fcn.14001c810
mov edx, gethostname
mov rcx, rdi
call fcn.1401dee30
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 0x14000826f
mov rcx, r10
mov r9d, dword [rbp - 0x48]
cmp dword [rcx], r9d
je 0x14000826c
inc r8d
add rcx, 0x78
movsxd rax, r8d
cmp rax, rdx
jb 0x140008256
jmp 0x14000826f
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 0x140008295
cmp eax, dword [rdi + 0x38]
je 0x140008295
mov rbx, qword [r14 + 8]
jmp 0x140008656
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 0x1400083a8
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 0x140008319
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x14000830c
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rbp + 0x28]
call fcn.140005010
mov r8d, ntohs
lea rdx, [0x140327560]
lea rcx, [rbp + 0x48]
call fcn.140005010
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x14000836b
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008366
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008722
call fcn.1401dee30
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x1400083ab
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400083a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008722
call fcn.1401dee30
jmp 0x1400083ab
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.1400250d0
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400086ac
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x20], 0x2000
mov edx, 2
lea rcx, [rbp - 0x30]
call fcn.140003a50
mov edx, ebx
lea rcx, [rbp - 0x30]
call fcn.140003eb0
mov edx, esi
lea rcx, [rbp - 0x30]
call fcn.140003eb0
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.140004a30
nop
mov rcx, qword [rbp - 0x28]
call fcn.140023b90
nop
mov r9d, dword [rbp - 8]
mov r8, qword [rbp - 0x18]
mov edx, 0x400000f
mov rcx, r13
call fcn.14000b430
test r12d, r12d
jne 0x140008618
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 0x1400084c9
mov r9d, dword [rdi]
mov rcx, r10
nop dword [rax]
cmp r9d, dword [rcx]
je 0x1400084c6
inc r8d
add rcx, 0x78
movsxd rax, r8d
cmp rax, rdx
jb 0x1400084b0
jmp 0x1400084c9
mov r11d, r8d
movsxd rax, r11d
imul r14, rax, 0x78
add r14, r10
lea rsi, [r14 + 0x78]
cmp rsi, r13
je 0x1400085bf
lea rbx, [r14 + 8]
lea rdi, [r14 + 0x80]
nop dword [rax + rax]
mov eax, dword [rsi]
mov dword [r14], eax
cmp rbx, rdi
je 0x140008560
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x140008534
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x14000852f
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400086c6
mov rcx, r8
call fcn.1401dee30
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 0x1400084f0
mov r13, qword [r12 + 0x578]
mov rdx, qword [r13 - 0x58]
cmp rdx, 0x10
jb 0x1400085fa
mov rcx, qword [r13 - 0x70]
inc rdx
cmp rdx, 0x1000
jb 0x1400085f5
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400086c6
mov rcx, r8
call fcn.1401dee30
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 0x14000864d
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14000864d
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000864d
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 0x140008685
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140008685
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x140008685
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1401dee10
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.140004b40
lea rdx, [0x1403540d8]
lea rcx, [rbp - 0x68]
call fcn.1401e13ec
nop
call fcn.1401ee17c
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x40]
call fcn.140004860
lea rdx, [0x1403540a0]
lea rcx, [rsp + 0x40]
call fcn.1401e13ec
int3
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x58]
call fcn.140004860
lea rdx, [0x1403540a0]
lea rcx, [rsp + 0x58]
call fcn.1401e13ec
nop
call fcn.1401ee17c
int3