Function at 0x180040f70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x180090f80]
xor rax, rsp
mov qword [rbp + 0xb0], rax
mov r13, r8
mov r15d, edx
mov dword [rsp + 0x68], edx
mov rsi, rcx
mov qword [rbp - 0x78], rcx
lea ebx, [rdx + 0xc]
mov dword [rsp + 0x60], ebx
cmp edx, ebx
jae 0x180041284
lea edi, [rdx - 0xb6]
mov dword [rsp + 0x6c], edi
lea rdx, [0x180000000]
xor ebx, ebx
lea r12d, [rbx + 0x69]
mov eax, dword [rsp + 0x60]
mov r14d, 0x61
cmp edi, 0x27
ja case.default.0x180040ffc
movzx eax, byte [rdx + rdi + 0x417f0]
mov ecx, dword [rdx + rax*4 + 0x417bc]
add rcx, rdx
jmp rcx
mov r14, qword [r13]
mov r12, qword [r13 + 8]
cmp r14, r12
je 0x18004174f
nop
mov r15, qword [rsi]
mov rdi, qword [r15 + 8]
mov qword [rbp - 0x18], rdi
mov dword [rbp - 0x10], ebx
mov rsi, r15
cmp byte [rdi + 0x19], 0
jne 0x180041063
nop word [rax + rax]
mov qword [rbp - 0x18], rdi
lea rcx, [rdi + 0x20]
mov rdx, r14
call fcn.180036790
shr eax, 0x1f
test al, al
je 0x180041050
mov dword [rbp - 0x10], ebx
mov rdi, qword [rdi + 0x10]
jmp 0x18004105d
mov dword [rbp - 0x10], 1
mov rsi, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x180041030
cmp byte [rsi + 0x19], 0
jne 0x18004107c
lea rdx, [rsi + 0x20]
mov rcx, r14
call fcn.180036790
shr eax, 0x1f
test al, al
je 0x1800410e7
mov rsi, qword [rbp - 0x78]
movabs rax, 0x3ffffffffffffff
cmp qword [rsi + 8], rax
je 0x1800417b5
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rbx
mov ecx, 0x40
call fcn.180076448
mov rdi, rax
mov qword [rbp - 0x20], rax
lea rcx, [rax + 0x20]
mov rdx, r14
call fcn.18000efc0
mov qword [rdi], r15
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], r15
mov word [rdi + 0x18], 0
mov qword [rbp - 0x20], rbx
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp], xmm0
mov r8, rdi
lea rdx, [rbp]
mov rcx, rsi
call fcn.1800246d0
jmp 0x1800410eb
mov rsi, qword [rbp - 0x78]
add r14, 0x28
cmp r14, r12
jne 0x180041010
mov r12d, 0x69
mov edi, dword [rsp + 0x6c]
mov r15d, dword [rsp + 0x68]
lea rdx, [0x180000000]
jmp case.0x180040ffc.12
mov rax, qword [rbp - 0x40]
xor rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
lea r9, [r13 + 0xa8]
mov qword [rsp + 0x20], rbx
xor r8d, r8d
mov edx, 0x111
lea rcx, [rbp - 0x50]
call fcn.180034fa0
cmp al, 1
jne 0x180041107
lea r9, str._Z8abs_diffDv2_tS_
mov r8, r13
xor edx, edx
mov ecx, 0xba
call fcn.180056680
lea rdx, [0x180000000]
jmp case.0x180040ffc.12
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x218]
mov qword [rbp - 0x30], rax
jmp case.0x180040ffc.12
mov qword [rbp - 0x70], r13
cmp byte [0x180091059], 0
jne case.0x180040ffc.12
xor edx, edx
mov ecx, 0x10001
call fcn.180025910
mov rax, rbx
jmp 0x180041289
xor eax, eax
lock cmpxchg dword [r13 + 0x11c], ebx
mov dword [rsp + 0x78], eax
jmp case.0x180040ffc.12
lea rax, [r13 + 0xa8]
mov qword [rsp + 0x30], rbx
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x7b]
call fcn.180010900
cmp al, 1
jne 0x180041107
lea r9, str.DVERR_NOTINITIALIZED
jmp 0x180041147
mov rax, qword [rsi]
mov rcx, qword [rbp - 0x70]
mov qword [rcx + 0x218], rax
jmp case.0x180040ffc.12
lea rax, [r13 + 0xa8]
mov qword [rsp + 0x30], rbx
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x7b]
call fcn.180010900
cmp al, 1
jne 0x180041107
lea r9, str.get_RootBeginPending
jmp 0x180041147
cmp dword [rsp + 0x78], 1
je 0x18004178e
xor eax, eax
lock cmpxchg dword [r13 + 0x120], ebx
xor ecx, ecx
cmp eax, 1
je 0x180041775
xor r8d, r8d
lea edx, [rcx + 0x31]
call fcn.180052cd0
test al, al
jne 0x180041107
xor r9d, r9d
mov r8, r13
xor edx, edx
mov ecx, 0xf2
call fcn.180042590
mov rax, qword [rsp + 0x70]
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.180076c30
mov rbx, qword [rsp + 0x208]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor edx, edx
xor ecx, ecx
mov r8d, 0x124
call fcn.18004f140
cmp rax, 2
je 0x180041272
lea rdx, [0x180000000]
jmp case.0x180040ffc.12
mov dword [rsp + 0x28], 0x8c
mov qword [rsp + 0x20], r13
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18001cb00
test al, al
je 0x180041729
mov edi, 0xbc
movzx esi, byte [rsp + 0x65]
lea r15d, [rdi - 0x4a]
nop
cmp edi, 0x14b34
ja 0x1800414ce
je 0x18004147c
cmp edi, 0x939c
ja 0x1800413d3
je 0x1800413b7
cmp edi, 0xbc
je 0x1800413ab
cmp edi, 0x2574
je 0x180041382
cmp edi, 0x4a2c
je 0x180041364
cmp edi, 0x6ee4
jne 0x1800416fc
mov dword [rbp + 0x71], 0x6f666e
jmp 0x1800416fc
mov dword [rbp + 0x50], 0x25206d
mov eax, 0x64
mov word [rbp + 0x53], ax
mov eax, 0x49
mov word [rbp + 0x70], ax
jmp 0x1800416fc
mov eax, 0x6e
mov word [rbp + 0x4b], ax
mov eax, 0x73
mov word [rbp + 0x4c], ax
mov eax, 0x66
mov word [rbp + 0x4d], ax
mov eax, 0x726f
mov word [rbp + 0x4e], ax
jmp 0x1800416fc
mov dword [rbp + 0x48], 0x617254
jmp 0x1800416fc
mov word [rbp + 0x74], r15w
mov eax, 0x6d
mov word [rbp + 0x75], ax
mov eax, 0x7461
mov word [rbp + 0x76], ax
jmp 0x1800416fc
cmp edi, 0xb854
je 0x180041462
cmp edi, 0xdd0c
je 0x180041443
cmp edi, 0x101c4
je 0x180041428
cmp edi, 0x1267c
jne 0x1800416fc
mov dword [rbp + 0x86], 0x656c62
mov eax, dword [str.get_Ke]
mov dword [rbp + 0x58], eax
movzx eax, word [0x18007c780]
mov word [rbp + 0x5c], ax
movzx eax, byte [0x18007c782]
mov byte [rbp + 0x5e], al
jmp 0x1800416fc
mov dword [rbp + 0x81], 0x696176
mov eax, 0x616c
mov word [rbp + 0x84], ax
jmp 0x1800416fc
mov eax, 0x74
mov word [rbp + 0x7e], ax
mov eax, 0x20
mov word [rbp + 0x7f], ax
mov word [rbp + 0x80], r14w
jmp 0x1800416fc
mov word [rbp + 0x78], r12w
mov dword [rbp + 0x79], 0x6e206e6f
mov eax, 0x6f
mov word [rbp + 0x7d], ax
jmp 0x1800416fc
lea rcx, [rbp + 0x58]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180041483
movzx eax, word [0x18007c2c0]
mov word [rcx], ax
mov eax, 0x54
mov word [rbp + 0x5f], ax
movzx eax, word [0x18007c748]
mov word [rbp + 0x60], ax
movzx eax, word [0x18007c74c]
mov word [rbp + 0x62], ax
mov eax, dword [str.tiali]
mov dword [rbp + 0x64], eax
movzx eax, word [0x18007c754]
mov word [rbp + 0x68], ax
jmp 0x1800416fc
cmp edi, 0x202cc
ja 0x180041601
je 0x180041590
cmp edi, 0x16fec
je 0x180041574
cmp edi, 0x194a4
je 0x180041536
cmp edi, 0x1b95c
je 0x180041525
cmp edi, 0x1de14
jne 0x1800416fc
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rax
mov dword [rbp - 0x80], 0x2000000
jmp 0x1800416fc
mov byte [rsp + 0x64], 1
mov sil, 1
mov qword [rbp - 0x68], rbx
jmp 0x1800416fc
lea rcx, [rbp + 0x58]
dec rcx
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180041540
movzx eax, word [0x18007c758]
mov word [rcx], ax
mov word [rbp + 0x6d], r14w
mov r8d, 1
lea rdx, [0x18007bc58]
lea rcx, [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x1800416fc
mov eax, 0x7a
mov word [rbp + 0x69], ax
mov eax, 0x65
mov word [rbp + 0x6a], ax
mov word [rbp + 0x6b], r15w
jmp 0x1800416fc
movups xmm0, xmmword [str.intracompaction_ptrs_.1f]
movups xmmword [rbp + 0x90], xmm0
movsd xmm1, qword [0x18007c770]
movsd qword [rbp + 0xa0], xmm1
movzx eax, word [0x18007c778]
mov word [rbp + 0xa8], ax
movzx eax, byte [0x18007c77a]
mov byte [rbp + 0xaa], al
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov dword [rsp + 0x7c], ebx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rbp - 0x38], rax
jmp 0x1800416fc
cmp edi, 0x22784
je 0x180041662
cmp edi, 0x24c3c
je 0x180041634
cmp edi, 0x270f4
jne 0x1800416fc
xor r9d, r9d
mov r8, r13
xor edx, edx
mov ecx, 0xf2
call fcn.180042590
jmp 0x1800416fc
mov ecx, ebx
movzx eax, byte [rsp + 0x64]
cmp dword [rbp - 0x7c], ebx
cmovne ecx, eax
mov byte [rsp + 0x64], cl
cmp cl, 0
je 0x1800416fc
xor r8d, r8d
lea rdx, [rbp - 0x68]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_ObjectCloseAuditAlarmA]
jmp 0x1800416fc
mov ecx, ebx
movzx eax, sil
mov r14, qword [rbp - 0x38]
test r14, r14
cmovne ecx, eax
movzx esi, cl
lea rax, [rbp - 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x38]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x28], eax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x68]
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_AccessCheckAndAuditAlarmA]
mov dword [rbp - 0x7c], eax
test sil, sil
je 0x1800416f6
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x70]
mov r8d, 0x1b
lea rdx, [rbp + 0x90]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14d, 0x61
add edi, 0x24b8
cmp edi, 0x294f0
jbe 0x180041310
mov byte [rsp + 0x65], sil
mov rsi, qword [rbp - 0x78]
mov edi, dword [rsp + 0x6c]
mov r15d, dword [rsp + 0x68]
lea rdx, [0x180000000]
jmp case.0x180040ffc.12
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov r9d, 0x104
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.180011ba0
lea rdx, [0x180000000]
jmp case.0x180040ffc.12
mov r12d, 0x69
mov eax, dword [rsp + 0x60]
inc r15d
mov dword [rsp + 0x68], r15d
inc edi
mov dword [rsp + 0x6c], edi
cmp r15d, eax
jae 0x180041284
jmp 0x180040fdb
mov r8, r13
mov edx, 0x6b
call fcn.18001eeb0
xchg dword [r13 + 0x120], ebx
jmp 0x180041284
xor r9d, r9d
mov r8, r13
xor edx, edx
mov ecx, 0xf2
call fcn.180042590
xchg dword [r13 + 0x11c], ebx
jmp 0x180041284
mov rax, qword [rbp - 0x30]
jmp 0x180041289
call fcn.180024a00
int3