Function at 0x18000d2e0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov ebp, dword [rsp + 0xc0]
mov rdi, rdx
mov r15, r9
mov r14, r8
mov rdx, rcx
lea r13d, [rbp - 0xe]
cmp ebp, r13d
jbe case.0x18000d347.75
mov r12, qword [rsp + 0x40]
lea r9, [0x180000000]
xor r8d, r8d
lea eax, [rbp - 0x41]
cmp eax, 0x1f
ja case.0x18000d347.69
mov ecx, dword [r9 + rax*4 + 0xd708]
add rcx, r9
jmp rcx
mov edx, 0xf8
mov qword [rsp + 0x38], 0x38
lea rcx, [rsp + 0x38]
call fcn.1800448e0
mov r12, rax
lea r9, [0x180000000]
xor r8d, r8d
jmp case.0x18000d347.69
movzx eax, byte [r15]
mov rcx, r15
test al, al
je 0x18000d3d3
movzx edx, byte [rdi]
cmp al, dl
je 0x18000d39d
cmp al, byte [rdi + 0x8c]
je 0x18000d39d
cmp al, byte [rdi + 0x98]
je 0x18000d39d
cmp al, 0xd
je 0x18000d39d
cmp al, 0xa
jne 0x18000d3b3
mov eax, 0x8c
cmp eax, 0x8c
je 0x18000d3c8
add eax, 0x7b
cmp eax, 0x107
jb 0x18000d3a2
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x18000d381
mov ebp, 0x43
jmp case.0x18000d347.69
mov dword [rsp + 0xc0], 1
mov ebp, 0x43
jmp case.0x18000d347.69
mov qword [r12 + 0x18], r8
jmp case.0x18000d347.69
cmp dword [rsp + 0xc0], 0
je 0x18000d49d
mov esi, 0x91
nop word [rax + rax]
mov eax, esi
sub eax, 0x8f
je 0x18000d413
sub eax, 1
je 0x18000d43c
cmp eax, 1
jne 0x18000d423
movsx ecx, byte [rdi + 0x8c]
mov rdx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
dec esi
cmp esi, 0x8e
ja 0x18000d400
xor r8d, r8d
lea r9, [0x180000000]
jmp case.0x18000d347.69
movzx eax, byte [r15]
mov rbx, r15
test al, al
je 0x18000d423
cmp al, byte [rdi]
je 0x18000d460
cmp al, byte [rdi + 0x8c]
je 0x18000d468
movsx ecx, byte [rdi + 0x98]
cmp al, cl
jne 0x18000d484
jmp 0x18000d47b
cmp al, byte [rdi + 0x8c]
jne 0x18000d474
test byte [rdi + 0x80], 0x10
movsx ecx, al
jne 0x18000d47b
movsx ecx, byte [rdi + 0x98]
mov rdx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
movsx ecx, byte [rbx]
mov rdx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x18000d447
jmp 0x18000d423
mov r8, qword [rdx]
mov r9, r14
mov edx, 1
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
xor r8d, r8d
lea r9, [0x180000000]
jmp case.0x18000d347.69
mov rax, qword [r12 + 8]
lea rcx, [rsp + 0x48]
xor edx, edx
mov dword [rax + 8], r8d
mov rax, qword [r12 + 8]
mov dword [rax + 4], r8d
mov rax, qword [r12 + 8]
mov dword [rax], r8d
mov r8d, 0x99
call fcn.18003b4d0
xor r8d, r8d
lea r9, [0x180000000]
movups xmm0, xmmword [rax]
movq qword [r12 + 0x10], xmm0
jmp case.0x18000d347.69
xor edx, edx
lea rcx, [rsp + 0x58]
mov r8d, 0x99
call fcn.18003b4d0
xor r8d, r8d
lea r9, [0x180000000]
movups xmm0, xmmword [rax]
movq qword [r12], xmm0
jmp case.0x18000d347.69
mov r9d, 0x107
mov r8, rdi
xor edx, edx
xor ecx, ecx
call fcn.18005eba0
mov eax, dword [r14]
lea r9, [0x180000000]
add dword [rdi], eax
xor r8d, r8d
jmp case.0x18000d347.69
mov eax, 0x87
nop word [rax + rax]
cmp eax, 0x87
je 0x18000d6cd
add eax, 0x75
cmp eax, 0xfc
jb 0x18000d560
test rdi, rdi
je 0x18000d675
mov rbx, qword [r12]
mov esi, 0xd7
nop word [rax + rax]
cmp esi, 0x817
ja 0x18000d62b
je 0x18000d627
mov eax, esi
sub eax, 0x6d
je 0x18000d620
sub eax, 0x6a
je 0x18000d5fe
sub eax, 0x224
je 0x18000d5cd
sub eax, 0x28e
je 0x18000d5c5
cmp eax, 0x58
jne 0x18000d663
inc dword [rbx + 0xc]
jmp 0x18000d663
mov qword [rsp + 0x20], r8
mov r9d, 0xc
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1800c8150
mov rdx, qword [rbx + 0x10]
movsxd r8, dword [rbx]
shl r8, 3
lea rcx, [rdx + 8]
call sub.VCRUNTIME140.dll_memmove
xor r8d, r8d
jmp 0x18000d663
test rbx, rbx
je 0x18000d675
mov qword [rsp + 0x20], r8
mov r9d, 0xc
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1800c8150
xor r8d, r8d
jmp 0x18000d663
test rbx, rbx
je 0x18000d675
jmp 0x18000d663
inc dword [rbx]
jmp 0x18000d663
mov eax, esi
sub eax, 0xaa5
je 0x18000d65f
sub eax, 0x46
je 0x18000d655
sub eax, 0x248
je 0x18000d647
cmp eax, 0x2c2
jne 0x18000d663
movsxd rcx, dword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov qword [rax + rcx*8], rdi
jmp 0x18000d663
mov eax, dword [rbx + 0xc]
inc dword [rbx]
mov dword [rbx + 8], eax
jmp 0x18000d663
mov dword [rbx + 8], r8d
add esi, 0x50a
cmp esi, 0x3264
jbe 0x18000d590
mov edx, 0xf8
mov qword [rsp + 0x40], 0xc
lea rcx, [rsp + 0x40]
call fcn.1800448e0
mov qword [r12 + 8], rax
lea r9, [0x180000000]
xor r8d, r8d
jmp case.0x18000d347.69
mov qword [r12 + 0x20], r8
mov qword [r12 + 0x28], r8
jmp case.0x18000d347.69
mov qword [rsp + 0x30], r12
jmp case.0x18000d347.69
mov dword [rsp + 0xc0], r8d
dec ebp
cmp ebp, r13d
jbe case.0x18000d347.75
mov rdx, qword [rsp + 0xa0]
jmp 0x18000d330
mov eax, dword [rdi]
mov dword [rsp + 0x30], eax
jmp case.0x18000d347.75
mov dword [rsp + 0x30], r8d
mov rax, qword [rsp + 0x30]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret