Function at 0x14001c2a0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x330], rbx
mov rax, qword [0x1402aa8c0]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rbx, rcx
mov qword [rsp + 0x38], rcx
mov r8, rdx
lea rdx, str._sItems.dat
lea rcx, [rbp - 0x40]
call fcn.14000a640
lea rdx, [0x140261b0c]
lea rcx, [rbp - 0x40]
call fcn.1401d1788
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14001c871
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov word [rbp - 0x48], ax
xor r15d, r15d
lea r12, [rbx + 0x130]
lea r13, [rbp - 0x70]
nop dword [rax + rax]
xor r14d, r14d
mov esi, 1
nop dword [rax + rax]
xor edi, edi
mov r9d, esi
mov r8d, r15d
lea rdx, [rsp + 0x28]
mov rcx, r12
call fcn.1400366f0
mov rbx, rax
mov rdx, qword [rax]
cmp dword [rdx - 8], 1
jle 0x14001c37f
mov edx, dword [rdx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rdx, qword [rbx]
movsxd rax, edi
imul rax, rax, 0x64
lea rcx, [0x1402bf9f0]
add rax, rcx
sub rdx, rax
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x14001c3a6
add rax, 2
test ecx, ecx
jne 0x14001c393
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c3c7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x14001c3d4
inc edi
cmp edi, 8
jl 0x14001c352
jmp 0x14001c3d8
mov byte [r14 + r13], dil
inc esi
inc r14
cmp r14, 7
jl 0x14001c350
inc r15d
add r13, 7
cmp r15d, 6
jl 0x14001c340
mov r12, qword [rsp + 0x30]
mov r9, r12
mov edx, 1
lea r8d, [rdx + 0x29]
lea rcx, [rbp - 0x70]
call fcn.1401d3fc8
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov r15, qword [rsp + 0x38]
mov rcx, qword [r15 + 0x2e0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x20], eax
mov r9, r12
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x20]
call fcn.1401d3fc8
movsxd rax, dword [rsp + 0x20]
test eax, eax
jle 0x14001c869
mov rcx, rax
mov eax, 0x94
mul rcx
mov rdi, 0xffffffffffffffff
cmovo rax, rdi
mov rcx, rax
call fcn.14002970c
mov r13, rax
test rax, rax
je 0x14001c869
movsxd rcx, dword [rsp + 0x20]
imul r8, rcx, 0x94
xor edx, edx
mov rcx, rax
call fcn.1401cafc0
xor esi, esi
mov ecx, dword [rsp + 0x20]
test ecx, ecx
jle 0x14001c84e
add r15, 0x2a0
lea r14, [r13 + 0x66]
nop
mov r9d, 2
mov r8d, esi
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rdx, qword [rax]
cmp dword [rdx - 8], 1
jle 0x14001c4e0
mov edx, dword [rdx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rdx, qword [rbx]
movsxd rax, esi
imul r8, rax, 0x94
sub r8, rdx
add r8, r13
movzx eax, word [rdx]
mov word [r8 + rdx + 2], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x14001c4f0
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c520
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edi, edi
mov r9d, 3
mov r8d, esi
lea rdx, [rsp + 0x48]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rdx, qword [rax]
cmp dword [rdx - 8], 1
jle 0x14001c552
mov edx, dword [rdx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rdx, qword [rbx]
movsxd rax, edi
imul rcx, rax, 0x64
lea rax, [0x1402bf9f0]
add rcx, rax
sub rdx, rcx
nop word [rax + rax]
movzx ebx, word [rcx]
movzx eax, word [rcx + rdx]
sub ebx, eax
jne 0x14001c583
add rcx, 2
test eax, eax
jne 0x14001c570
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov rax, 0xffffffffffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c5a6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x14001c5b7
inc edi
cmp edi, 8
jl 0x14001c522
jmp 0x14001c5ba
mov byte [r14], dil
mov edx, esi
mov rcx, r15
call fcn.140045da4
mov byte [r14 - 0x66], al
cmp byte [r14], 6
jne 0x14001c737
mov r9d, 4
mov r8d, esi
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c602
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov dword [r14 + 2], eax
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c630
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 5
mov r8d, esi
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c660
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov byte [r14 + 6], al
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c687
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 6
mov r8d, esi
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c6b7
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov dword [r14 + 0xa], eax
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c6de
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 7
mov r8d, esi
lea rdx, [rsp + 0x68]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c70e
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov dword [r14 + 0xe], eax
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c73e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14001c73e
mov rdi, 0xffffffffffffffff
mov r9d, 8
mov r8d, esi
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1400366f0
nop
mov rax, qword [rax]
cmp word [rax], 0
jne 0x14001c762
xor ebx, ebx
jmp 0x14001c767
sbb ebx, ebx
or ebx, 1
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c785
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test ebx, ebx
je 0x14001c839
mov r9d, 9
mov r8d, esi
lea rdx, [rsp + 0x78]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c7bd
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov byte [r14 + 0x12], al
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c7e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 0xa
mov r8d, esi
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.1400366f0
mov rbx, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x14001c813
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rbx]
call fcn.1401d3604
mov dword [r14 + 0x16], eax
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001c839
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc esi
add r14, 0x94
mov ecx, dword [rsp + 0x20]
cmp esi, ecx
jl 0x14001c4b0
movsxd r8, ecx
mov r9, r12
mov edx, 0x94
mov rcx, r13
call fcn.1401d3fc8
mov rcx, r13
call fcn.140029704
mov rcx, r12
call fcn.1401d192c
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1401c8d10
mov rbx, qword [rsp + 0x330]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret