Function at 0x100440a20
Capabilities:
Delete file
Read file on windows

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x3f8]
sub rsp, 0x4e0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [0x100499010]
xor rax, rsp
mov qword [rbp + 0x3d0], rax
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memset
xor r14d, r14d
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x44], r14d
mov esi, r14d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], r14w
lea r8d, [r14 + 0x10]
lea rdx, str.WorkingDirectory
lea rcx, [rsp + 0x50]
call fcn.10040da90
nop
call fcn.10044da70
mov rcx, rax
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x50]
call fcn.10040a3c0
nop
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae r9, qword [rbp - 0x50]
mov edx, 0x200
mov r8d, edx
lea rcx, [rbp - 0x30]
lea rax, [rbp - 0x30]
sub r9, rax
nop
lea rax, [r8 + 0x7ffffdfe]
test rax, rax
je 0x100440b13
movzx eax, word [r9 + rcx]
test ax, ax
je 0x100440b13
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x100440af0
lea rax, [rcx - 2]
test r8, r8
cmovne rax, rcx
mov word [rax], r14w
mov rcx, rdx
lea rax, [rbp - 0x30]
nop dword [rax]
cmp word [rax], 0
je 0x100440b40
add rax, 2
sub rcx, 1
jne 0x100440b30
mov rax, rdx
sub rax, rcx
mov r8, r14
test rcx, rcx
cmovne r8, rax
je 0x100440ba3
sub rdx, r8
lea rcx, [rbp - 0x30]
lea rcx, [rcx + r8*2]
je 0x100440b94
lea rax, [rdx + 0x7ffffdfe]
add rax, r8
lea r9, str.TSXCACHE.BIN
sub r9, rcx
test rax, rax
je 0x100440b94
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x100440b94
mov word [rcx], r8w
add rcx, 2
dec rax
sub rdx, 1
jne 0x100440b73
lea rax, [rcx - 2]
test rdx, rdx
cmovne rax, rcx
mov word [rax], r14w
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x100080
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x100440bfd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x30]
xor edx, edx
lea ecx, [rdi + 2]
mov r8d, 0x1a3
call fcn.100432180
mov esi, r14d
jmp 0x100440e72
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, 4
lea rdx, [rsp + 0x48]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100440c42
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x30]
xor edx, edx
lea ecx, [rdx + 1]
mov r8d, 0x1a3
call fcn.100432180
jmp 0x100440e3f
mov r9d, dword [rsp + 0x48]
cmp r9d, 0xf4240
jge 0x100440c65
xor edx, edx
lea ecx, [rdx + 1]
mov r8d, 0xea
call fcn.100432180
jmp 0x100440e3f
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, 4
lea rdx, [rsp + 0x44]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100440c1f
cmp dword [rsp + 0x44], 0
je 0x100440e3f
lea rcx, [rbp - 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcslwr]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x44]
xor edx, edx
lea ecx, [rdx + 2]
lea r8d, [rdx + 0x71]
call fcn.100432180
call fcn.1004342d0
movzx ebx, al
lea rcx, [0x1004a9c08]
mov rax, qword [0x1004a90d0]
call qword [case.0x10044bd0b.0]
test eax, eax
jne 0x100440d00
cmp dword [0x1004a8ebc], eax
je 0x100440cf3
test bl, bl
je 0x100440cf3
lea rdx, str.LoadMSXUploadOpCache
lea rcx, str.__s_____Waiting_for_CritSec__n
call fcn.10043bdc0
lea rcx, [0x1004a9c08]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x1004a8ebc], 0
je 0x100440d20
test bl, bl
je 0x100440d20
lea rdx, str.LoadMSXUploadOpCache
lea rcx, str.__s_____Enters_CritSec__n
call fcn.10043bdc0
mov ebx, r14d
cmp dword [rsp + 0x44], ebx
jle 0x100440e0a
lea r15, [fcn.100427860]
nop dword [rax]
nop dword [rax + rax]
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, 0x30
lea rdx, [rbp - 0x80]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100440dec
cmp dword [rsp + 0x40], 0x30
jne 0x100440dd6
mov r8d, 0x398
lea rdx, str.LoadMSXUploadOpCache
mov ecx, dword [rbp - 0x60]
call fcn.10043acf0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x100440dd6
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, dword [rbp - 0x60]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100440de3
mov eax, dword [rbp - 0x60]
cmp dword [rsp + 0x40], eax
jne 0x100440de3
mov qword [rsp + 0x28], r15
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [0x1004a9c90]
call qword [sym.imp.SQLSVC.dll_SHRecMemBSInsert]
inc esi
inc ebx
cmp ebx, dword [rsp + 0x44]
jge 0x100440e0a
jmp 0x100440d40
mov rcx, qword [rbp - 0x58]
call fcn.10043b3b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea r9, [rbp - 0x30]
mov r8d, 0x1a3
xor edx, edx
lea ecx, [rdx + 1]
call fcn.100432180
call fcn.1004342d0
movzx ebx, al
lea rcx, [0x1004a9c08]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [0x1004a8ebc], 0
je 0x100440e3f
test bl, bl
je 0x100440e3f
lea rdx, str.LoadMSXUploadOpCache
lea rcx, str.__s_____Leaves_CritSec__n
call fcn.10043bdc0
lea rcx, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rsp + 0x44]
cmp eax, esi
je 0x100440e72
mov dword [rsp + 0x20], eax
mov r9d, esi
xor edx, edx
lea ecx, [rdx + 2]
mov r8d, 0x133
call fcn.100432180
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x100440eb5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x100440eb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x100440eb0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.100469388
movdqa xmm0, xmmword [0x100482320]
movdqu xmmword [rbp - 0x40], xmm0
mov word [rbp - 0x50], r14w
mov eax, esi
mov rcx, qword [rbp + 0x3d0]
xor rcx, rsp
call fcn.100469360
lea r11, [rsp + 0x4e0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret