Function at 0x1800523d0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2030]
mov eax, 0x2130
call fcn.1800623b0
sub rsp, rax
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0x2170], rbx
mov rax, qword [0x1800a8088]
xor rax, rsp
mov qword [rbp + 0x2020], rax
mov r14, r9
mov qword [rbp - 0x60], r9
mov qword [rbp - 0x80], r8
mov qword [rbp - 0x70], rdx
mov esi, ecx
mov dword [rsp + 0x68], ecx
mov r12, qword [rbp + 0x2090]
movdqa xmm0, xmmword [0x1800a01b0]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov r13d, ecx
lea eax, [rcx + 0x738]
mov dword [rsp + 0x60], eax
xor ebx, ebx
mov r10, qword [rbp - 0x70]
mov qword [rbp - 0x68], r10
cmp ecx, eax
jae 0x18005281e
mov edx, 0x2000
mov rdi, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x58]
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x78], rax
mov rcx, qword [rbp - 0x70]
mov qword [rsp + 0x70], rcx
nop dword [rax]
cmp r13d, 0x136
ja 0x1800526b5
je 0x180052690
mov eax, r13d
sub eax, 0x8c
je 0x18005267b
sub eax, 2
je 0x180052657
sub eax, 0x68
je 0x1800525c8
sub eax, 6
je 0x1800524ea
cmp eax, 0x38
jne 0x180052681
mov rcx, rdi
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov qword [rbp - 0x18], rax
mov rcx, rsi
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov r9, rax
mov qword [rsp + 0x78], rax
mov r10, qword [rbp - 0x68]
mov r8, qword [rsp + 0x70]
jmp 0x180052524
test r12, r12
je 0x1800529fc
cmp dword [r12 + 0x1c], ebx
je 0x180052681
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor edx, edx
mov r8d, 0xf3
mov rcx, r12
call fcn.180004350
mov r10, qword [rbp - 0x68]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov edx, 0x2000
add r13d, 0xa8
cmp r13d, dword [rsp + 0x60]
jb 0x180052480
mov esi, dword [rsp + 0x68]
mov rdx, qword [rbp - 0x70]
lea ecx, [rsi + 0x7e8]
mov dword [rsp + 0x60], ecx
mov rdi, qword [rbp - 0x78]
cmp esi, ecx
jae 0x180052a00
mov r15, qword [rbp - 0x58]
mov r13, qword [rbp - 0x58]
cmp esi, 0x2b4
ja 0x1800529b9
je 0x1800529a9
mov eax, esi
sub eax, 0x8c
je 0x180052981
sub eax, 0x84
je 0x180052884
sub eax, 0x34
je 0x180052835
sub eax, 0x84
je 0x180052b60
cmp eax, 0x34
jne 0x180052b3b
mov dword [rbp - 0x3c], reloc.OLEAUT32.dll_SafeArrayLock
mov rcx, qword [r12 + 8]
add rcx, qword [r12]
mov r8, qword [rdx]
mov rdx, r14
call fcn.18006add0
jmp 0x180052b37
mov eax, dword [r14]
test eax, eax
je 0x180052b9b
jle 0x180052681
nop dword [rax]
cmp eax, edx
cmovg eax, edx
movsxd r8, eax
mov r9, r12
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.18006cb98
mov r15, rax
test eax, eax
js 0x1800527ff
test r15d, r15d
je 0x1800527e7
movsxd r14, r15d
mov r9, qword [rbp - 0x70]
mov r8, r14
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.18006bd00
cmp rax, r14
jne 0x1800527af
mov r14, qword [rbp - 0x60]
mov eax, dword [r14]
sub eax, r15d
mov dword [r14], eax
test eax, eax
mov edx, 0x2000
jg 0x1800525e0
mov r10, qword [rbp - 0x68]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
jmp 0x180052529
mov r9, r12
xor r8d, r8d
mov edx, 0x11b
lea rcx, [rbp]
call fcn.18004ea10
test al, al
jne 0x180052516
mov byte [rbp - 0x78], bl
jmp 0x1800529fc
mov rdi, rbx
mov rsi, rbx
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
jmp 0x180052529
lea r8, [rbp]
mov edx, 0xbd
mov rcx, r14
call fcn.180033d10
test al, al
je 0x180052673
mov rax, qword [r14 + 8]
cmp qword [r14], rax
setne byte [rbp - 0x78]
jmp 0x180052516
mov eax, r13d
sub eax, 0x19e
je 0x18005279d
sub eax, 6
je 0x180052737
sub eax, 0x38
je 0x1800526ee
sub eax, 2
je 0x1800529fc
cmp eax, 0x68
je 0x1800529fc
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
jmp 0x180052529
mov r15, qword [rbp - 0x18]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetDC]
mov qword [rbp - 0x68], rax
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetDC]
mov r8, rax
mov qword [rsp + 0x70], rax
mov r10, qword [rbp - 0x68]
test r10, r10
je 0x18005251f
mov rdx, r10
mov rcx, r15
call qword [sym.imp.USER32.dll_ReleaseDC]
mov r10, rbx
mov qword [rbp - 0x68], rbx
jmp 0x18005251a
mov rcx, qword [r12]
xor r8d, r8d
test rcx, rcx
jne 0x180052760
lea r9d, [rcx + 5]
xor edx, edx
mov rcx, qword [r12 + 0x10]
call qword [r12 + OleUIPromptUserA]
mov rcx, r12
call fcn.18006c3d8
jmp 0x180052516
mov dword [rsp + 0x20], 5
xor r9d, r9d
mov rdx, qword [r12 + 0x10]
call qword [r12 + OleUIPromptUserA]
mov rax, qword [r12]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, VarUI2FromUI1
call fcn.1800523d0
mov rcx, r12
call fcn.18006c3d8
jmp 0x180052516
mov dword [rbp - 0x78], ebx
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
jmp 0x180052529
call fcn.18006be3c
mov edx, dword [rax]
mov dword [rsp + 0x68], edx
mov dword [rsp + 0x60], 6
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
mov r9d, 0x112
mov rcx, qword [rbp - 0x80]
call fcn.18002d330
mov dword [rbp - 0x78], 0xffffffff
jmp 0x1800529fc
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x68], SafeArrayLock
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x60]
jmp 0x1800527cc
call fcn.18006be3c
mov ecx, dword [rax]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x68], 5
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x60]
jmp 0x1800527cc
mov r9, qword [rbp - 0x70]
mov qword [rsp + 0x78], r9
mov r8, qword [rbp - 0x70]
mov qword [rsp + 0x70], r8
jmp 0x180052543
mov dword [rbp - 0x30], ebx
mov rax, qword [rdx]
add rax, qword [r12 + 8]
cmp qword [r12 + 0x10], rax
jae 0x18005286a
add rax, 5
mov qword [rbp - 0x38], rax
mov r8d, 0x70
lea rdx, [rbp - 0x38]
mov rcx, r12
call fcn.18004a470
cmp eax, 1
jne 0x180052b9b
mov dword [rbp - 0x48], 0xa
mov dword [rbp - 0x38], 0xa
mov dword [rbp - 0x4c], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x180052b37
mov eax, dword [r14]
mov dword [rsp + 0x68], eax
mov r9d, 0x44
mov r8, rdx
mov rdx, r12
lea rcx, [rsp + 0x68]
call fcn.18003aec0
cmp eax, 0xffffffff
je 0x180052bc4
test eax, eax
je 0x180052bcc
test byte [r14], 8
je 0x18005293d
mov esi, 0x55
cmp esi, 0x55
je 0x180052914
cmp esi, 0x2035
je 0x1800528dc
cmp esi, 0x4015
je 0x180052a00
jmp 0x18005292f
mov rcx, r13
call fcn.180066798
mov eax, dword [r14]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x68]
xor r8d, r8d
mov rdx, qword [rbp - 0x70]
mov ecx, reloc.OLEAUT32.dll_VarR4FromDec
call fcn.18000dbe0
mov rdi, rax
mov qword [rbp - 0x78], rax
jmp 0x18005292f
lea rdx, [0x18009844c]
mov rcx, r12
call fcn.180066544
mov r13, rax
test rax, rax
je 0x180052ba3
add esi, 0x1fe0
cmp esi, 0x5fa0
jbe 0x1800528c1
mov esi, 0x110
lea rdx, [0x18009844c]
mov rcx, r12
call fcn.180066544
mov r15, rax
test rax, rax
jne 0x180052b37
mov dword [rbp - 0x80], SafeArrayDestroy
mov qword [rsp + 0x20], rbx
lea r9d, [rsi + 0xf]
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x80]
xor ecx, ecx
call fcn.18003fe30
jmp 0x180052a03
test r8, r8
je 0x18005299b
mov rdx, r8
mov rcx, r9
call qword [sym.imp.USER32.dll_ReleaseDC]
mov qword [rsp + 0x70], rbx
mov ecx, dword [rsp + 0x60]
mov dword [rbp - 0x40], ebx
mov dword [rbp - 0x2c], ebx
mov dword [rbp - 0x44], ebx
jmp 0x180052b3b
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x58], rbx
mov dword [rbp - 0x50], ebx
jmp 0x180052b3b
cmp esi, 0x36c
je 0x180052b22
cmp esi, 0x424
je 0x180052b1d
cmp esi, 0x4dc
je 0x180052aff
cmp esi, 0x594
je 0x180052a6b
cmp esi, 0x64c
jne 0x180052b3b
mov dword [rbp - 0x78], 1
mov rdi, qword [rbp - 0x78]
mov rbx, rdi
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x180052a3e
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180052a39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180052bf9
call fcn.1800618f4
mov rax, rbx
mov rcx, qword [rbp + 0x2020]
xor rcx, rsp
call fcn.1800618d0
mov rbx, qword [rsp + 0x2170]
add rsp, 0x2130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rdx]
add qword [r12 + 8], rax
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x20]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x28]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x4c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp - 0x48]
mov r8d, dword [rbp - 0x44]
mov edx, dword [rbp - 0x40]
mov rcx, r10
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
mov dword [rsp + 0x50], ebx
mov eax, dword [rbp - 0x1c]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x24]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x18]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x60]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x3c]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp - 0x38]
mov r8d, dword [rbp - 0x30]
mov edx, dword [rbp - 0x2c]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.MSIMG32.dll_AlphaBlend]
jmp 0x180052b37
mov dword [rbp - 0x28], 0xa
mov dword [rbp - 0x24], 0xa
mov dword [rbp - 0x20], reloc.OLEAUT32.dll_SafeArrayLock
mov dword [rbp - 0x1c], reloc.OLEAUT32.dll_SafeArrayLock
jmp 0x180052b3b
mov dword [rbp - 0x18], ebx
jmp 0x180052b3b
mov dword [rbp - 0x60], ebx
mov dword [rbp - 0x80], ebx
mov rcx, qword [r12 + 8]
add rcx, qword [r12]
mov rax, qword [rdx]
mov byte [rcx + rax], bl
mov ecx, dword [rsp + 0x60]
add esi, 0xb8
cmp esi, ecx
jae 0x180052a00
mov rdx, qword [rbp - 0x70]
mov r10, qword [rbp - 0x68]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
jmp 0x180052561
mov dword [rbp - 0x80], ebx
mov eax, dword [r14]
mov dword [rbp - 0x60], eax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r15
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
mov r8d, 0x10e
lea rcx, [rbp - 0x60]
call fcn.18002aad0
mov rdi, rax
jmp 0x180052a00
mov dword [rbp - 0x78], ebx
jmp 0x1800529fc
mov dword [rbp - 0x80], SafeArrayDestroy
mov qword [rsp + 0x20], rbx
mov r9d, 0x11f
mov r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x80]
xor ecx, ecx
call fcn.18003fe30
mov rdi, rbx
jmp 0x180052a00
mov eax, dword [r14]
mov dword [rbp - 0x80], eax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x80]
xor r8d, r8d
mov rdx, qword [rbp - 0x70]
mov ecx, reloc.OLEAUT32.dll_VarR4FromDec
call fcn.18000dbe0
mov rdi, rax
jmp 0x180052a00
call fcn.18006cf68
int3