Function at 0x203da9d0
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov rdi, rcx
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov r11d, r8d
and r11d, 0x1f
cmp r11d, 0xa
jb case.default.0x203daa22
mov r10, qword [rsp + 0xb0]
xor eax, eax
add r11d, 0xfffffff6
lea r14, [0x2049559c]
movsxd r11, dword [r14 + r11*4]
add r11, r14
jmp r11
mov r8d, 0x28adbc66
mov rsi, r10
mov rbx, rcx
mov r9, rdi
jmp 0x203daa5e
mov r14, qword [rsp + 0xc0]
cmp r11d, 3
jbe 0x203daa72
cmp r11d, 7
jae 0x203daa8c
cmp r11d, 4
je 0x203daaee
cmp r11d, 6
jne case.0x203daa22.7
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
xor ecx, ecx
mov rax, r9
jmp 0x203daf09
cmp r11d, 2
jae 0x203daad2
test r11d, r11d
je 0x203daaee
mov rcx, rdx
call fcn.20402308
mov eax, eax
jmp case.0x203daa22.2
je 0x203dab19
cmp r11d, 9
jne 0x203dab25
mov rbx, rcx
mov rcx, rdi
mov ebp, r8d
mov r12, rdx
mov r15, r9
call fcn.2007c100
mov r9, r15
mov rdx, r12
mov r8d, ebp
mov rcx, rbx
test r14d, r14d
jne 0x203dac28
lea rdx, [rsp + 0x28]
mov r9b, 1
jmp 0x203dafa3
cmp r11d, 3
jne 0x203dab02
mov rcx, rdi
mov r9, rdx
mov rdx, r14
mov r8, rsi
call fcn.20402760
jmp case.0x203daa22.2
mov eax, 0xffffffff
jmp case.0x203daa22.2
mov eax, 1
jmp case.0x203daa22.2
test esi, esi
jne 0x203daba2
mov r9b, 1
lea rdx, [rsp + 0x30]
xor eax, eax
jmp 0x203daf8d
call fcn.20421e38
xor eax, eax
jmp case.0x203daa22.2
mov rdx, qword [rsi + 8]
test rdx, rdx
sete r9b
movzx eax, byte [0x205d8952]
cmp al, 0x53
je 0x203dafac
mov rax, rbx
test r8b, 0x40
je case.0x203daa22.2
mov r10b, 0x4c
mov al, 2
lock cmpxchg byte [0x205d8952], r10b
je 0x203dabc5
test r8d, 0x100
je 0x203daee8
cmp al, 0x53
jne 0x203dab4f
jmp 0x203dafac
test r9d, r9d
je 0x203daba2
test r8b, r8b
js 0x203daca5
mov rcx, rdx
mov rsi, rdx
call fcn.200782c0
mov rax, rsi
jmp case.0x203daa22.2
mov rax, rdx
test r8b, 0x40
jne case.0x203daa22.2
mov rcx, rdi
mov esi, r8d
call fcn.200782c0
mov r8d, esi
lea rdx, [rsp + 0x38]
xor r9d, r9d
xor eax, eax
test r8b, r8b
js 0x203daf45
mov rax, rdi
jmp case.0x203daa22.2
mov qword [rsp + 0x28], r10
cmp rcx, r10
jae 0x203dacf8
test r8b, r8b
js 0x203dacc4
mov rcx, rdi
mov esi, r8d
mov r14, rdx
mov rbx, r9
call fcn.200782c0
mov r9, rbx
mov rdx, r14
mov r8d, esi
mov rax, rdi
test r8b, 0x40
jne 0x203daefd
jmp case.0x203daa22.2
mov rcx, rdx
call fcn.20421e98
xor eax, eax
jmp case.0x203daa22.2
sub rdx, r9
cmp rdx, 0x7fffffff
mov eax, 0x7fffffff
cmovl rax, rdx
cmp rax, rbx
cmovae rax, rbx
mov eax, eax
jmp case.0x203daa22.2
test ecx, ecx
je 0x203dad2c
mov rcx, rbx
call fcn.200782c0
mov rax, rbx
jmp case.0x203daa22.2
mov rdx, rbx
call fcn.20406de4
mov eax, eax
jmp case.0x203daa22.2
test rsi, rsi
je 0x203daee8
mov rax, qword [rsp + 0x28]
xor edx, edx
cmp rsi, 8
jb 0x203dad95
mov r8, rcx
sub r8, rax
cmp r8, 0x20
jb 0x203dad95
cmp rsi, 0x20
jae 0x203dad39
xor edx, edx
jmp 0x203dad71
test rsi, rsi
je 0x203daee8
cmp rsi, 4
jb 0x203dae81
mov rax, r10
sub rax, rcx
cmp rax, 0x10
jb 0x203dae81
cmp rsi, 0x10
jae 0x203dadfa
xor eax, eax
jmp 0x203dae3c
mov rax, rbx
jmp case.0x203daa22.2
mov rdx, rsi
and rdx, 0xffffffffffffffe0
xor r8d, r8d
movups xmm0, xmmword [rax + r8]
movups xmm1, xmmword [rax + r8 + 0x10]
movups xmmword [rcx + r8], xmm0
movups xmmword [rcx + r8 + 0x10], xmm1
add r8, 0x20
cmp rdx, r8
jne 0x203dad43
cmp rsi, rdx
je 0x203daee8
test sil, 0x18
je 0x203dad95
mov r8, rdx
mov rdx, rsi
and rdx, 0xfffffffffffffff8
mov r9, qword [rax + r8]
mov qword [rcx + r8], r9
add r8, 8
cmp rdx, r8
jne 0x203dad7b
cmp rsi, rdx
je 0x203daee8
mov r9, rsi
mov r8, rdx
and r9, 3
je 0x203dadb5
mov r8, rdx
movzx r10d, byte [rax + r8]
mov byte [rcx + r8], r10b
inc r8
dec r9
jne 0x203dada4
sub rdx, rsi
cmp rdx, 0xfffffffffffffffc
ja 0x203daee8
movzx edx, byte [rax + r8]
mov byte [rcx + r8], dl
movzx edx, byte [rax + r8 + 1]
mov byte [rcx + r8 + 1], dl
movzx edx, byte [rax + r8 + 2]
mov byte [rcx + r8 + 2], dl
movzx edx, byte [rax + r8 + 3]
mov byte [rcx + r8 + 3], dl
add r8, 4
cmp rsi, r8
jne 0x203dadc2
jmp 0x203daee8
mov rax, rsi
and rax, 0xfffffffffffffff0
lea rdx, [rcx + rsi]
add rdx, 0xfffffffffffffff0
lea r8, [r10 + rsi]
add r8, 0xfffffffffffffff0
mov r9, rax
neg r9
xor r11d, r11d
movups xmm0, xmmword [r8 + r11]
movups xmmword [rdx + r11], xmm0
add r11, 0xfffffffffffffff0
cmp r9, r11
jne 0x203dae1a
cmp rax, rsi
je 0x203daee8
test sil, 0xc
je 0x203dae7e
mov rdx, rsi
and rdx, 0xfffffffffffffffc
mov r8d, esi
and r8d, 3
lea r9, [rcx + rsi]
add r9, 0xfffffffffffffffc
neg rax
lea r11, [r10 + rsi]
add r11, 0xfffffffffffffffc
mov rdi, rdx
neg rdi
mov ebx, dword [r11 + rax]
mov dword [r9 + rax], ebx
add rax, 0xfffffffffffffffc
cmp rdi, rax
jne 0x203dae63
cmp rdx, rsi
mov rsi, r8
je 0x203daee8
jmp 0x203dae81
and esi, 0xf
lea rdx, [rsi - 1]
mov r8, rsi
and r8, 3
je 0x203daea7
lea rax, [rsi - 1]
movzx r9d, byte [r10 + rsi - 1]
mov byte [rcx + rsi - 1], r9b
mov rsi, rax
dec r8
jne 0x203dae8e
jmp 0x203daeaa
mov rax, rsi
cmp rdx, 3
jb 0x203daee8
mov rdx, rax
movzx r8d, byte [r10 + rax - 1]
mov byte [rcx + rax - 1], r8b
movzx r8d, byte [r10 + rax - 2]
mov byte [rcx + rax - 2], r8b
movzx r8d, byte [r10 + rax - 3]
mov byte [rcx + rax - 3], r8b
movzx r8d, byte [r10 + rax - 4]
mov byte [rcx + rax - 4], r8b
add rdx, 0xfffffffffffffffc
mov rax, rdx
jne 0x203daeb3
mov rax, rcx
jmp case.0x203daa22.2
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
inc rcx
mov rax, r9
test r8b, 0x20
je 0x203daf40
cmp rcx, rsi
jae case.0x203daa22.2
test r8b, r8b
jns 0x203daef0
movabs rax, 0xe375780ee1b9d22d
xor qword [0x205d89d0], rax
lea rax, [0x205d89d0]
xor byte [0x205d89d8], 0x70
mov cl, 0x80
xchg byte [0x205d89d9], cl
jmp case.0x203daa22.2
mov rax, rdx
jmp case.0x203daa22.2
lea ecx, [rax - 0x5c72f63]
imul rcx, rcx, 0x38e38e39
shr rcx, 0x22
add ecx, ecx
lea ecx, [rcx + rcx*8]
neg ecx
add ecx, eax
add ecx, 0xfa38d09d
cdqe
lea r10, [0x205d8940]
movzx r11d, byte [rax + r10]
lea rsi, [0x204954d0]
xor r11b, byte [rcx + rsi]
xor r11b, 6
mov byte [rax + r10], r11b
inc eax
cmp eax, 0x12
jge 0x203daf9b
test r8d, 0x200
je 0x203daf45
jmp 0x203dabd0
mov al, 0x53
xchg byte [0x205d8952], al
mov rax, rdi
test r8b, 0x20
je case.0x203daa22.2
lea rax, [0x205d8940]
test r9b, 1
cmove rax, rdx
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret