Function at 0x140013aa0
Capabilities:
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x380], rbx
mov rax, qword [0x1402aa8c0]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov r12, rcx
mov r8, rdx
lea rdx, str._sBuy.dat
lea rcx, [rbp + 0x10]
call fcn.14000a640
lea rdx, [0x140261b0c]
lea rcx, [rbp + 0x10]
call fcn.1401d1788
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400140fd
mov edx, 1
mov rcx, r12
call fcn.1400301cc
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r12 + 0x1e8]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x20], eax
mov r9, rsi
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x20]
call fcn.1401d3fc8
xor edi, edi
lea r13, [rdi - 1]
movsxd rax, dword [rsp + 0x20]
test eax, eax
jle 0x140013d3c
mov rcx, rax
mov eax, VarBstrFromDisp
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.14002970c
mov r13, rax
test rax, rax
je 0x140013d35
movsxd rcx, dword [rsp + 0x20]
imul r8, rcx, 0x70
xor edx, edx
mov rcx, rax
call fcn.1401cafc0
mov ebx, edi
mov ecx, dword [rsp + 0x20]
test ecx, ecx
jle 0x140013d1a
lea r14, [r13 + 0x6c]
nop
mov r9d, 2
mov r8d, ebx
lea rdx, [rsp + 0x30]
lea rcx, [r12 + 0x1a8]
call fcn.1400366f0
mov rsi, rax
mov rdx, qword [rax]
cmp dword [rdx - 8], 1
jle 0x140013be5
mov edx, dword [rdx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rdx, qword [rsi]
movsxd rax, ebx
imul r8, rax, 0x70
sub r8, rdx
add r8, r13
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdx]
mov word [r8 + rdx + 2], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x140013c00
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013c33
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 3
mov r8d, ebx
lea rdx, [rsp + 0x38]
lea rcx, [r12 + 0x1a8]
call fcn.1400366f0
mov rsi, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140013c68
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rsi]
call fcn.1401d3604
mov dword [r14 - 4], eax
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013c92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 4
mov r8d, ebx
lea rdx, [rsp + 0x40]
lea rcx, [r12 + 0x1a8]
call fcn.1400366f0
mov rsi, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140013cc7
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rsi]
call fcn.1401d3604
mov dword [r14], eax
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013cf0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, ebx
lea rcx, [r12 + 0x1a8]
call fcn.140045da4
mov byte [r14 - 0x6c], al
inc ebx
add r14, 0x70
mov ecx, dword [rsp + 0x20]
cmp ebx, ecx
jl 0x140013bb0
mov rsi, qword [rsp + 0x28]
movsxd r8, ecx
mov r9, rsi
mov edx, VarBstrFromDisp
mov rcx, r13
call fcn.1401d3fc8
mov rcx, r13
call fcn.140029704
mov r13, 0xffffffffffffffff
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r12 + 0x2d0]
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x20], eax
mov r9, rsi
mov edx, 4
lea r8d, [rdx - 3]
lea rcx, [rsp + 0x20]
call fcn.1401d3fc8
movsxd rax, dword [rsp + 0x20]
test eax, eax
jle 0x140013f3c
mov rcx, rax
mov eax, VarBstrFromDisp
mul rcx
cmovo rax, r13
mov rcx, rax
call fcn.14002970c
mov r15, rax
test rax, rax
je 0x140013f3c
movsxd rcx, dword [rsp + 0x20]
imul r8, rcx, 0x70
xor edx, edx
mov rcx, rax
call fcn.1401cafc0
mov ecx, dword [rsp + 0x20]
test ecx, ecx
jle 0x140013f21
lea rbx, [r15 + 0x6c]
mov r9d, 2
mov r8d, edi
lea rdx, [rsp + 0x48]
lea rcx, [r12 + 0x290]
call fcn.1400366f0
mov rsi, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140013df7
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rsi]
movsxd rax, edi
imul r8, rax, 0x70
sub r8, rcx
add r8, r15
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [r8 + rcx + 2], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140013e10
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013e41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 3
mov r8d, edi
lea rdx, [rsp + 0x50]
lea rcx, [r12 + 0x290]
call fcn.1400366f0
mov rsi, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140013e76
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rsi]
call fcn.1401d3604
mov dword [rbx - 4], eax
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013e9d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r9d, 4
mov r8d, edi
lea rdx, [rsp + 0x58]
lea rcx, [r12 + 0x290]
call fcn.1400366f0
mov rsi, rax
mov rcx, qword [rax]
cmp dword [rcx - 8], 1
jle 0x140013ed2
mov edx, dword [rcx - 0x10]
mov rcx, rax
call fcn.14000b5a0
mov rcx, qword [rsi]
call fcn.1401d3604
mov dword [rbx], eax
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140013ef8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, edi
lea rcx, [r12 + 0x290]
call fcn.140045da4
mov byte [rbx - 0x6c], al
inc edi
add rbx, 0x70
mov ecx, dword [rsp + 0x20]
cmp edi, ecx
jl 0x140013dc2
mov rsi, qword [rsp + 0x28]
movsxd r8, ecx
mov r9, rsi
mov edx, VarBstrFromDisp
mov rcx, r15
call fcn.1401d3fc8
mov rcx, r15
call fcn.140029704
xor eax, eax
mov word [rbp - 0x6b], ax
mov byte [rbp - 0x69], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x56], xmm0
movups xmmword [rbp - 0x46], xmm0
movups xmmword [rbp - 0x36], xmm0
movups xmmword [rbp - 0x26], xmm0
movups xmmword [rbp - 0x16], xmm0
movups xmmword [rbp - 6], xmm0
mov dword [rbp + 0xa], eax
mov word [rbp + 0xe], ax
mov eax, dword [r12 + 0x130]
mov dword [rsp + 0x70], eax
movzx eax, byte [r12 + 0x158]
mov byte [rsp + 0x74], al
movzx eax, byte [r12 + 0x15c]
mov byte [rsp + 0x75], al
movzx eax, byte [r12 + 0x160]
mov byte [rsp + 0x76], al
movzx eax, byte [r12 + 0x164]
mov byte [rsp + 0x77], al
movzx eax, byte [r12 + 0x168]
mov byte [rsp + 0x78], al
movzx eax, byte [r12 + 0x16c]
mov byte [rsp + 0x79], al
movzx eax, byte [r12 + 0x17c]
mov byte [rsp + 0x7a], al
movzx eax, byte [r12 + 0x180]
mov byte [rsp + 0x7b], al
mov eax, dword [r12 + 0x134]
mov dword [rsp + 0x7c], eax
movzx eax, byte [r12 + 0x184]
mov byte [rbp - 0x80], al
movzx eax, byte [r12 + 0x188]
mov byte [rbp - 0x7f], al
movzx eax, byte [r12 + 0x18c]
mov byte [rbp - 0x7e], al
movzx eax, byte [r12 + 0x190]
mov byte [rbp - 0x7d], al
mov eax, dword [r12 + 0x138]
mov dword [rbp - 0x7c], eax
mov eax, dword [r12 + 0x13c]
mov dword [rbp - 0x78], eax
mov eax, dword [r12 + 0x140]
mov dword [rbp - 0x74], eax
mov eax, dword [r12 + 0x144]
mov dword [rbp - 0x70], eax
movzx eax, byte [r12 + 0x194]
mov byte [rbp - 0x5f], al
movzx eax, byte [r12 + 0x198]
mov byte [rbp - 0x5e], al
movzx eax, byte [r12 + 0x19c]
mov byte [rbp - 0x5d], al
movzx eax, byte [r12 + 0x14c]
mov byte [rbp - 0x5c], al
movzx eax, byte [r12 + 0x150]
mov byte [rbp - 0x5b], al
movzx eax, byte [r12 + 0x154]
mov byte [rbp - 0x5a], al
movzx eax, byte [r12 + 0x1a0]
mov byte [rbp - 0x6c], al
mov eax, dword [r12 + 0x148]
mov dword [rbp - 0x68], eax
mov eax, dword [r12 + 0x378]
mov dword [rbp - 0x64], eax
movzx eax, byte [r12 + 0x37c]
mov byte [rbp - 0x60], al
movzx eax, byte [r12 + 0x170]
mov byte [rbp - 0x59], al
movzx eax, byte [r12 + 0x174]
mov byte [rbp - 0x58], al
movzx eax, byte [r12 + 0x178]
mov byte [rbp - 0x57], al
mov r9, rsi
mov edx, LoadRegTypeLib
mov r8d, 1
lea rcx, [rsp + 0x70]
call fcn.1401d3fc8
mov rcx, rsi
call fcn.1401d192c
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.1401c8d10
mov rbx, qword [rsp + 0x380]
add rsp, 0x330
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret