Function at 0x14006c100
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [0x140090040]
xor rax, rsp
mov qword [rbp + 7], rax
mov rdi, rdx
mov rsi, rcx
movzx edx, word [rcx + 0xe]
mov eax, edx
and eax, 7
cmp eax, 5
ja case.default.0x14006c156
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x6c9f0]
add rcx, r8
jmp rcx
mov rcx, rdi
call fcn.14006da20
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c192
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c192
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x6e
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c1cb
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c1cb
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x75
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c204
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c204
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x6c
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c23d
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c23d
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x6c
inc qword [rbx + 0x18]
jmp 0x14006c9c5
mov rcx, rdi
call fcn.14006da20
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c283
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c283
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x66
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c2bc
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c2bc
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x61
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c2f5
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c2f5
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x6c
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c32e
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c32e
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x73
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c367
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c367
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x65
inc qword [rbx + 0x18]
jmp 0x14006c9c5
mov rcx, rdi
call fcn.14006da20
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c3ad
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c3ad
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x74
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c3e6
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c3e6
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x72
inc qword [rbx + 0x18]
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c41f
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c41f
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x75
jmp 0x14006c331
mov rcx, rdi
call fcn.14006da20
mov rax, qword [rdi + 0x20]
add rax, 0x10
cmp rax, qword [rdi + 0x28]
jbe 0x14006c446
lea rcx, [rdi + 8]
call fcn.14000c800
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rcx], 0
mov byte [rcx + 8], 0
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c48f
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c48f
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x7b
movabs r12, 0xffffffffffff
inc qword [rbx + 0x18]
mov rbx, qword [rsi + 8]
mov eax, dword [rsi]
and rbx, r12
shl rax, 5
add rax, rbx
cmp rbx, rax
je 0x14006c52f
mov eax, 0x1000
mov r13d, 0xd
test word [rbx + 0xe], ax
je 0x14006c4d5
movsx eax, byte [rbx + 0xd]
mov r14d, r13d
sub r14d, eax
mov r15, rbx
jmp 0x14006c4df
mov r15, qword [rbx + 8]
mov r14d, dword [rbx]
and r15, r12
mov rcx, rdi
call fcn.14006da20
mov r8d, r14d
mov rdx, r15
mov rcx, rdi
call fcn.14006dd60
test al, al
je 0x14006c605
lea rcx, [rbx + 0x10]
mov rdx, rdi
call fcn.14006c100
test al, al
je 0x14006c605
mov edx, dword [rsi]
add rbx, 0x20
mov rax, qword [rsi + 8]
and rax, r12
shl rdx, 5
add rdx, rax
mov eax, 0x1000
cmp rbx, rdx
jne 0x14006c4c0
mov rcx, rdi
call fcn.14006d600
jmp 0x14006c9c7
mov rcx, rdi
call fcn.14006da20
mov rax, qword [rdi + 0x20]
add rax, 0x10
cmp rax, qword [rdi + 0x28]
jbe 0x14006c55b
lea rcx, [rdi + 8]
call fcn.14000c800
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rcx], 0
mov byte [rcx + 8], 1
mov rbx, qword [rdi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c5a4
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c5a4
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], 0x5b
movabs r12, 0xffffffffffff
inc qword [rbx + 0x18]
mov rbx, qword [rsi + 8]
mov eax, dword [rsi]
and rbx, r12
shl rax, 4
add rax, rbx
cmp rbx, rax
je 0x14006c5f8
nop word [rax + rax]
mov rdx, rdi
mov rcx, rbx
call fcn.14006c100
test al, al
je 0x14006c605
mov ecx, dword [rsi]
add rbx, 0x10
mov rax, qword [rsi + 8]
shl rcx, 4
and rax, r12
add rcx, rax
cmp rbx, rcx
jne 0x14006c5d0
mov rcx, rdi
call fcn.14006d470
jmp 0x14006c9c7
xor al, al
jmp 0x14006c9c7
bt dx, 0xc
jae 0x14006c622
movsx eax, byte [rsi + 0xd]
mov r13d, 0xd
sub r13d, eax
jmp 0x14006c636
mov r13d, dword [rsi]
movabs r12, 0xffffffffffff
mov rsi, qword [rsi + 8]
and rsi, r12
mov rcx, rdi
call fcn.14006da20
mov r8d, r13d
mov rdx, rsi
mov rcx, rdi
call fcn.14006dd60
jmp 0x14006c9c7
movzx eax, dx
mov rcx, rdi
shr ax, 9
test al, 1
je 0x14006c7a5
vmovaps xmmword [rsp + 0xb0], xmm6
vmovsd xmm6, qword [rsi]
call fcn.14006da20
movabs rcx, 0x7ff0000000000000
vmovsd qword [rbp - 0x79], xmm6
mov rax, qword [rbp - 0x79]
and rax, rcx
cmp rax, rcx
jne 0x14006c6a0
vmovaps xmm6, xmmword [rsp + 0xb0]
xor al, al
jmp 0x14006c9c7
mov esi, dword [rdi + 0x38]
movabs rcx, 0x7fffffffffffffff
vmovsd qword [rbp - 0x79], xmm6
mov rax, qword [rbp - 0x79]
vmovaps xmm0, xmm6
test rcx, rax
jne 0x14006c6f0
movabs rcx, 0x8000000000000000
and rax, rcx
je 0x14006c6d2
mov byte [rbp - 0x59], 0x2d
test rax, rax
lea rcx, [rbp - 0x59]
lea rdx, [rbp - 0x58]
cmovne rcx, rdx
mov word [rcx], 0x2e30
lea r15, [rcx + 3]
mov byte [rcx + 2], 0x30
jmp 0x14006c737
vxorpd xmm1, xmm1, xmm1
vcomisd xmm6, xmm1
jae 0x14006c706
vxorpd xmm0, xmm6, xmmword [0x140081640]
mov byte [rbp - 0x59], 0x2d
lea rax, [rbp - 0x58]
lea rbx, [rbp - 0x59]
cmovb rbx, rax
lea r9, [rbp - 0x71]
mov rdx, rbx
lea r8, [rbp - 0x79]
call fcn.140069f90
mov r8d, dword [rbp - 0x71]
mov r9d, esi
mov edx, dword [rbp - 0x79]
mov rcx, rbx
call fcn.14006a200
mov r15, rax
lea rax, [rbp - 0x59]
lea rsi, [rbp - 0x59]
cmp rax, r15
je 0x14006c795
nop dword [rax]
nop dword [rax + rax]
mov rbx, qword [rdi]
movzx r14d, byte [rsi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c786
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c786
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], r14b
inc rsi
inc qword [rbx + 0x18]
cmp rsi, r15
jne 0x14006c750
vmovaps xmm6, xmmword [rsp + 0xb0]
mov al, 1
jmp 0x14006c9c7
movzx eax, dl
shr al, 5
test al, 1
je 0x14006c83a
mov ebx, dword [rsi]
call fcn.14006da20
mov ecx, ebx
test ebx, ebx
jns 0x14006c7c6
mov byte [rbp - 0x69], 0x2d
neg ecx
lea rax, [rbp - 0x68]
test ebx, ebx
lea rdx, [rbp - 0x69]
cmovs rdx, rax
call fcn.140069360
mov r15, rax
lea rsi, [rbp - 0x69]
lea rax, [rbp - 0x69]
cmp rax, r15
je 0x14006c9c5
nop dword [rax]
mov rbx, qword [rdi]
movzx r14d, byte [rsi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c826
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c826
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], r14b
inc rsi
inc qword [rbx + 0x18]
cmp rsi, r15
jne 0x14006c7f0
jmp 0x14006c9c5
movzx eax, dl
shr al, 6
test al, 1
je 0x14006c8ba
mov ebx, dword [rsi]
call fcn.14006da20
lea rdx, [rbp - 0x39]
mov ecx, ebx
call fcn.140069360
mov r15, rax
lea rsi, [rbp - 0x39]
lea rax, [rbp - 0x39]
cmp rax, r15
je 0x14006c9c5
nop word [rax + rax]
mov rbx, qword [rdi]
movzx r14d, byte [rsi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c8a6
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c8a6
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], r14b
inc rsi
inc qword [rbx + 0x18]
cmp rsi, r15
jne 0x14006c870
jmp 0x14006c9c5
mov rbx, qword [rsi]
shr dl, 7
test dl, 1
je 0x14006c957
call fcn.14006da20
mov rcx, rbx
test rbx, rbx
jns 0x14006c8dd
mov byte [rbp - 0x29], 0x2d
neg rcx
lea rax, [rbp - 0x28]
test rbx, rbx
lea rdx, [rbp - 0x29]
cmovs rdx, rax
call fcn.1400695d0
mov r15, rax
lea rsi, [rbp - 0x29]
lea rax, [rbp - 0x29]
cmp rax, r15
je 0x14006c9c5
nop word [rax + rax]
mov rbx, qword [rdi]
movzx r14d, byte [rsi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c946
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c946
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], r14b
inc rsi
inc qword [rbx + 0x18]
cmp rsi, r15
jne 0x14006c910
jmp 0x14006c9c5
call fcn.14006da20
lea rdx, [rbp - 0x11]
mov rcx, rbx
call fcn.1400695d0
mov r15, rax
lea rsi, [rbp - 0x11]
lea rax, [rbp - 0x11]
cmp rax, r15
je 0x14006c9c5
nop dword [rax + rax]
mov rbx, qword [rdi]
movzx r14d, byte [rsi]
mov r8, qword [rbx + 0x18]
mov rax, r8
cmp r8, qword [rbx + 0x10]
jb 0x14006c9b6
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14006c9b6
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
mov byte [rax], r14b
inc rsi
inc qword [rbx + 0x18]
cmp rsi, r15
jne 0x14006c980
mov al, 1
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.140070c70
mov rbx, qword [rsp + 0x110]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret