Function at 0x1400d0e90
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 - 0x27]
sub rsp, 0x100
mov rax, qword [0x140173040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, rdx
mov qword [rsp + 0x58], rdx
mov rdi, rcx
mov qword [rsp + 0x50], rcx
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x30], r13d
lea rbx, [rcx + 8]
mov qword [rbp - 0x19], rbx
mov rcx, rbx
call fcn.1400d8994
test eax, eax
jne 0x1400d1538
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1400d1543
cmp rsi, 0xffffffffffffffff
jne 0x1400d0f16
mov rcx, rdi
call fcn.1400d1580
cmp rax, rsi
jne 0x1400d0f16
xor dil, dil
jmp 0x1400d14ff
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rbp - 0x31], r13
lea rcx, [rbp - 0x31]
call fcn.1400055e0
nop
mov r12, qword [rdi + 0x58]
mov rax, qword [rdi + 0x60]
mov qword [rbp - 0x21], rax
mov r15d, 0xffffffff
cmp r12, rax
je 0x1400d141f
lea r13, [rdi + 0x70]
xor esi, esi
movabs rdi, 0x555555555555555
mov qword [rbp - 0x29], rsi
mov rdx, r12
lea rcx, [rbp - 0x29]
call fcn.14003f4f0
nop
mov r10, qword [r13]
mov r9, qword [r10 + 8]
mov rbx, r10
mov rax, qword [rbp - 0x29]
cmp byte [r9 + 0x19], 0
jne 0x1400d0fd9
nop word [rax + rax]
test rax, rax
je 0x1400d1553
mov rcx, qword [r9 + 0x20]
mov r8, rax
sub r8, rcx
movzx edx, word [rcx]
cmp dx, word [rcx + r8]
jne 0x1400d0fba
add rcx, 2
test dx, dx
jne 0x1400d0fa3
mov ecx, esi
jmp 0x1400d0fbf
sbb ecx, ecx
or ecx, 1
shr ecx, 0x1f
test cl, cl
je 0x1400d0fcc
mov r9, qword [r9 + 0x10]
jmp 0x1400d0fd2
mov rbx, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400d0f90
cmp byte [rbx + 0x19], 0
jne 0x1400d1012
mov rdx, qword [rbx + 0x20]
test rdx, rdx
je 0x1400d1553
sub rdx, rax
nop
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x1400d1006
add rax, 2
test cx, cx
jne 0x1400d0ff0
mov eax, esi
jmp 0x1400d100b
sbb eax, eax
or eax, 1
shr eax, 0x1f
test al, al
je 0x1400d1015
mov rbx, r10
mov qword [rbp - 0x39], rsi
lea rdx, [0x1401467a0]
lea rcx, [rbp - 0x39]
call fcn.14003f460
nop
mov r10, qword [r13]
cmp rbx, r10
je 0x1400d11bc
mov r8, qword [r10 + 8]
mov qword [rbp - 0x69], r8
mov dword [rbp - 0x61], esi
mov rax, qword [rbp - 0x29]
cmp byte [r8 + 0x19], 0
jne 0x1400d10b0
nop dword [rax]
mov qword [rbp - 0x69], r8
test rax, rax
je 0x1400d155e
mov rcx, qword [r8 + 0x20]
mov r9, rax
sub r9, rcx
nop word [rax + rax]
movzx edx, word [rcx]
cmp dx, word [rcx + r9]
jne 0x1400d1087
add rcx, 2
test dx, dx
jne 0x1400d1070
mov ecx, esi
jmp 0x1400d108c
sbb ecx, ecx
or ecx, 1
shr ecx, 0x1f
test cl, cl
je 0x1400d109c
mov dword [rbp - 0x61], esi
mov r8, qword [r8 + 0x10]
jmp 0x1400d10a9
mov dword [rbp - 0x61], 1
mov r10, r8
mov r8, qword [r8]
cmp byte [r8 + 0x19], 0
je 0x1400d1050
cmp byte [r10 + 0x19], 0
jne 0x1400d10e9
mov rdx, qword [r10 + 0x20]
test rdx, rdx
je 0x1400d155e
sub rdx, rax
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x1400d10dd
add rax, 2
test cx, cx
jne 0x1400d10c7
mov eax, esi
jmp 0x1400d10e2
sbb eax, eax
or eax, 1
shr eax, 0x1f
test al, al
je 0x1400d115b
cmp qword [r13 + 8], rdi
je 0x1400d1569
mov rdi, qword [r13]
mov qword [rbp - 0x79], r13
mov qword [rbp - 0x71], rsi
mov ecx, 0x30
call fcn.1400ff088
mov rsi, rax
mov qword [rbp - 0x71], rax
lea rdx, [rbp - 0x29]
lea rcx, [rax + 0x20]
call fcn.14003f4f0
lea rcx, [rsi + 0x28]
call fcn.1400055e0
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rdi
mov word [rsi + 0x18], 0
mov qword [rbp - 0x71], 0
movups xmm0, xmmword [rbp - 0x69]
movaps xmmword [rbp - 0x49], xmm0
mov r8, rsi
lea rdx, [rbp - 0x49]
mov rcx, r13
call fcn.140044d70
mov r10, rax
xor esi, esi
mov rdx, qword [r10 + 0x28]
lea rcx, [rdx - 0x18]
mov rbx, qword [rbp - 0x39]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x1400d11bc
cmp dword [rbx + 0x10], 0
jl 0x1400d11af
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x1400d11af
call fcn.140041570
mov rdi, rax
mov ecx, r15d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x1400d11a0
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x39], rax
mov r14d, dword [rsp + 0x30]
jmp 0x1400d11bc
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x39]
call fcn.140005a90
mov rax, qword [rbp - 0x31]
cmp dword [rax - 0x10], 0
je 0x1400d11dd
mov r8d, 1
lea rdx, [0x140146d70]
lea rcx, [rbp - 0x31]
call fcn.140005c50
nop
mov qword [rsp + 0x40], rsi
mov rdx, qword [rbp - 0x39]
lea rcx, [rsp + 0x40]
call fcn.14003f460
or r14d, 1
mov dword [rsp + 0x30], r14d
lea r8, [0x140146d84]
lea rdx, [0x140146d8c]
lea rcx, [rsp + 0x40]
call fcn.14003ee50
lea r8, [0x140146d90]
lea rdx, [0x140146d98]
lea rcx, [rsp + 0x40]
call fcn.14003ee50
lea r8, [0x140146d9c]
lea rdx, [0x140146d70]
lea rcx, [rsp + 0x40]
call fcn.14003ee50
nop
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x1400d1260
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x1400d126e
call fcn.140002e00
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140040a20
or r14d, 2
mov dword [rsp + 0x30], r14d
mov rbx, qword [rsp + 0x40]
movsxd r14, dword [rbx - 0x10]
lea esi, [r14 + 1]
test esi, esi
js 0x1400d156f
mov rdi, qword [rsp + 0x38]
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x1400d12c0
mov edx, esi
lea rcx, [rsp + 0x38]
call fcn.140005a20
mov rdi, qword [rsp + 0x38]
test rdi, rdi
jne 0x1400d12d7
call fcn.14010b5c8
mov dword [rax], 0x16
call fcn.14010b428
jmp 0x1400d12dc
mov word [rdi], 0x22
mov r8, r14
add r8, r8
lea rcx, [rdi + 2]
je 0x1400d1313
test rcx, rcx
je 0x1400d1303
test rbx, rbx
je 0x1400d12fc
mov rdx, rbx
call fcn.14012c6c0
jmp 0x1400d1313
xor edx, edx
call fcn.14012ce40
call fcn.14010b5c8
mov dword [rax], 0x16
call fcn.14010b428
mov rax, qword [rsp + 0x38]
cmp esi, dword [rax - 0xc]
jg 0x1400d156f
mov dword [rax - 0x10], esi
mov rax, qword [rsp + 0x38]
xor esi, esi
mov word [rax + r14*2 + 2], si
lea r8, [0x140146d98]
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.140066200
nop
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x31]
call fcn.140005c50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d1378
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
and dword [rsp + 0x30], 0xfffffffd
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d139c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
and dword [rsp + 0x30], 0xfffffffe
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d13c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x39]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d13e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x29]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400d13fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add r12, 8
cmp r12, qword [rbp - 0x21]
je 0x1400d1412
mov r14d, dword [rsp + 0x30]
jmp 0x1400d0f59
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
xor r13d, r13d
lea r8, [rbp - 0x31]
lea rdx, [rbp - 0x11]
call fcn.1400d02f0
lea rdx, [rbp - 0x11]
cmp qword [rbp + 7], 0xf
cmova rdx, qword [rbp - 0x11]
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0xf]
mov r8d, dword [rbp - 1]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x21]
mov r8d, 2
lea rdx, [0x14014fc24]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [rdi + 0x70]
mov r8, qword [rbx + 8]
lea rdx, [rdi + 0x70]
lea rcx, [rdi + 0x70]
call fcn.140005da0
mov qword [rbx + 8], rbx
mov qword [rbx], rbx
mov qword [rbx + 0x10], rbx
mov qword [rdi + 0x78], r13
mov dil, 1
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x1400d14cd
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400d14c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400d1532
call fcn.1400ff054
movdqa xmm0, xmmword [0x1401533c0]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
mov rdx, qword [rbp - 0x31]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x1400d14fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x19]
mov rcx, rbx
call fcn.1400d899c
movzx eax, dil
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400ff350
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14010b448
nop
mov ecx, 5
call fcn.1400d7b54
int3
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1400d7b54
nop
mov ecx, 0x80004005
call fcn.140002b00
nop
mov ecx, 0x80004005
call fcn.140002b00
int3
call fcn.140006f40
nop
mov ecx, 0x80070057
call fcn.140002b00
int3