Function at 0x140074c40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe0
mov rax, qword [0x1400ff038]
xor rax, rsp
mov qword [rbp + 0xf], rax
movsxd rbx, dword [rbp + 0x77]
mov r15d, r9d
mov rax, qword [rbp + 0x7f]
mov r13d, ebx
movdqa xmm0, xmmword [0x1400ef9d0]
mov esi, r8d
imul r13d, r8d
mov r14d, edx
mov dword [rbp - 0x5d], r9d
mov r12, rcx
mov dword [rbp - 0x55], r8d
mov dword [rbp - 0x6d], edx
mov qword [rbp - 0x21], rcx
mov dword [rbp - 0x7d], r13d
mov qword [rbp - 0x19], rax
mov dword [rbp - 1], 6
mov dword [rsp + 0x20], 0x474e5089
mov dword [rsp + 0x24], 0xa1a0a0d
movdqu xmmword [rbp - 0x11], xmm0
test edx, edx
jne 0x140074ccd
mov r14d, r13d
mov dword [rbp - 0x6d], r13d
jmp 0x140074cd1
mov dword [rbp - 0x7d], r13d
lea ecx, [r13 + 1]
mov eax, r15d
mul ecx
mov dword [rbp - 0x59], ecx
mov ecx, eax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call fcn.1400b5b7c
mov qword [rbp - 0x41], rax
mov rdi, rax
test rax, rax
je 0x140074d25
mov eax, ebx
mul esi
mov ecx, eax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call fcn.1400b5b7c
mov qword [rbp - 0x39], rax
mov rsi, rax
test rax, rax
jne 0x140074d4e
mov rcx, rdi
call fcn.1400a5a0c
xor eax, eax
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.14009eb70
mov rbx, qword [rsp + 0x120]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor ecx, ecx
mov qword [rbp - 0x51], rbx
mov dword [rbp - 0x71], ecx
mov rdi, rbx
test r15d, r15d
jle 0x1400752a5
movsxd r11, r14d
lea r8, [0x1400ffed8]
movsxd r14, r13d
xor ebx, ebx
mov qword [rbp - 0x31], r14
mov qword [rsp + 0x28], r11
mov dword [rbp - 0x65], ecx
mov dword [rbp - 0x69], ebx
nop dword [rax]
nop word [rax + rax]
test ecx, ecx
mov dword [rbp - 0x75], 0x7fffffff
lea rdx, [0x1400ffef0]
cmovne rdx, r8
xor r9d, r9d
xor eax, eax
mov qword [rbp - 0x29], rdx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x40], r9d
nop word [rax + rax]
xor r15d, r15d
test eax, eax
cmovne r15d, r9d
mov dword [rbp - 0x79], r15d
cmp r15d, 5
jge 0x140075247
movsxd rcx, r15d
movsxd rax, ebx
add rax, r12
mov r8, rax
mov qword [rsp + 0x38], rax
lea rdx, [rdx + rcx*4]
neg r8
mov qword [rbp - 0x49], rdx
movsxd r10, dword [rdx]
xor ebx, ebx
mov qword [rsp + 0x30], r8
mov r12d, r15d
mov dword [rbp - 0x61], r15d
mov dword [rsp + 0x48], ebx
test rdi, rdi
jle 0x140074f40
lea r9, [rsi + r8]
mov rdx, rax
mov r8, rdi
neg r11
nop
cmp r10d, 6
ja case.default.0x140074e38
lea rcx, [0x140000000]
mov eax, dword [rcx + r10*4 + 0x75448]
add rax, rcx
jmp rax
inc rdx
sub r8, 1
jne 0x140074e20
jmp 0x140074f31
movzx eax, byte [rdx]
mov byte [r9 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.0
movzx eax, byte [rdx]
mov byte [r9 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.1
movzx eax, byte [rdx]
sub al, byte [r11 + rdx]
mov byte [r9 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.2
movzx ecx, byte [r11 + rdx]
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
shr cl, 1
sub al, cl
mov byte [r9 + rdx - 1], al
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.3
movzx eax, byte [r11 + rdx]
lea rdx, [rdx + 1]
xor ecx, ecx
test al, al
cmovne ecx, eax
movzx eax, byte [rdx - 1]
sub al, cl
mov byte [r9 + rdx - 1], al
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.4
movzx eax, byte [rdx]
mov byte [r9 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
je 0x140074f31
jmp case.0x140074e38.5
movzx eax, byte [rdx]
mov byte [r9 + rdx], al
lea rdx, [rdx + 1]
sub r8, 1
jne case.0x140074e38.6
mov r11, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
cmp rdi, r14
jge 0x1400750f5
mov r13, rdi
lea rbx, [rdi + rsi]
sub r13, r11
add rbx, r8
mov r11, r14
mov rcx, rax
sub r11, rdi
nop
cmp r10d, 6
ja case.default.0x140074f78
lea r8, [0x140000000]
mov eax, dword [r8 + r10*4 + 0x75464]
add rax, r8
jmp rax
inc rcx
sub r11, 1
jne 0x140074f60
mov ebx, dword [rsp + 0x48]
mov r13d, dword [rbp - 0x7d]
jmp 0x140075100
movzx eax, byte [rdi + rcx]
mov byte [rbx + rcx], al
lea rcx, [rcx + 1]
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.0
movzx eax, byte [rdi + rcx]
sub al, byte [rcx]
mov byte [rbx + rcx], al
lea rcx, [rcx + 1]
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.1
movzx eax, byte [rdi + rcx]
sub al, byte [rcx + r13]
mov byte [rbx + rcx], al
lea rcx, [rcx + 1]
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.2
movzx eax, byte [rcx]
movzx edx, byte [rcx + r13]
lea rcx, [rcx + 1]
add edx, eax
movzx eax, byte [rdi + rcx - 1]
shr edx, 1
sub al, dl
mov byte [rbx + rcx - 1], al
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.3
movzx r12d, byte [rcx + r13]
lea rdx, [rcx + r13]
mov rax, rdx
sub rax, rdi
movzx edi, byte [rcx]
mov r8d, edi
movzx r15d, byte [rax]
sub r8d, r15d
lea r9d, [r8 + r12]
mov eax, r9d
sub r9d, r15d
sub eax, edi
cdq
mov esi, eax
mov eax, r8d
xor esi, edx
sub esi, edx
cdq
mov r14d, eax
mov eax, r9d
xor r14d, edx
sub r14d, edx
cdq
mov r8d, eax
xor r8d, edx
sub r8d, edx
cmp esi, r14d
jg 0x140075073
cmp esi, r8d
jle 0x14007507d
cmp r14d, r8d
mov edi, r15d
cmovle edi, r12d
mov rax, qword [rbp - 0x51]
movzx eax, byte [rax + rcx]
sub al, dil
mov rdi, qword [rbp - 0x51]
mov byte [rbx + rcx], al
inc rcx
sub r11, 1
jne case.0x140074f78.4
mov rsi, qword [rbp - 0x39]
mov r14, qword [rbp - 0x31]
mov r15d, dword [rbp - 0x79]
mov r12d, dword [rbp - 0x61]
mov ebx, dword [rsp + 0x48]
mov r13d, dword [rbp - 0x7d]
jmp 0x140075100
movzx edx, byte [rcx]
movzx eax, byte [rdi + rcx]
lea rcx, [rcx + 1]
shr dl, 1
sub al, dl
mov byte [rbx + rcx - 1], al
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.5
movzx eax, byte [rdi + rcx]
sub al, byte [rcx]
mov byte [rbx + rcx], al
lea rcx, [rcx + 1]
sub r11, 1
je 0x1400750a8
jmp case.0x140074f78.6
mov r8, rax
neg r8
mov qword [rsp + 0x30], r8
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x140075232
xor ecx, ecx
test r13d, r13d
jle 0x140075190
cmp r13d, 8
jb 0x140075190
cmp dword [0x1400ff018], 2
jl 0x140075190
mov edx, r13d
xorps xmm3, xmm3
xorps xmm4, xmm4
and edx, 0x80000007
jge 0x14007513a
dec edx
or edx, 0xfffffff8
inc edx
mov eax, r13d
sub eax, edx
movsxd rdx, eax
pmovsxbd xmm1, dword [rcx + rsi]
pabsd xmm2, xmm1
pmovsxbd xmm1, dword [rcx + rsi + 4]
paddd xmm3, xmm2
add rcx, 8
pabsd xmm2, xmm1
paddd xmm2, xmm4
movdqa xmm4, xmm2
cmp rcx, rdx
jl 0x140075142
paddd xmm3, xmm2
movdqa xmm0, xmm3
psrldq xmm0, 8
paddd xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
paddd xmm3, xmm0
movd ebx, xmm3
xor r8d, r8d
xor r9d, r9d
cmp rcx, r14
jge 0x1400751e8
mov rax, r14
sub rax, rcx
cmp rax, 2
jl 0x1400751d7
lea r10, [r14 - 1]
nop dword [rax + rax]
movsx eax, byte [rcx + rsi]
cdq
xor eax, edx
sub eax, edx
add r8d, eax
movsx eax, byte [rcx + rsi + 1]
cdq
add rcx, 2
xor eax, edx
sub eax, edx
add r9d, eax
cmp rcx, r10
jl 0x1400751b0
cmp rcx, r14
jge 0x1400751e2
movsx eax, byte [rcx + rsi]
cdq
xor eax, edx
sub eax, edx
add ebx, eax
lea eax, [r8 + r9]
add ebx, eax
mov rdx, qword [rbp - 0x49]
inc r15d
mov r8, qword [rsp + 0x30]
add rdx, 4
cmp ebx, dword [rbp - 0x75]
mov rax, qword [rsp + 0x38]
cmovge r12d, dword [rsp + 0x40]
cmovge ebx, dword [rbp - 0x75]
mov r9d, r12d
mov r11, qword [rsp + 0x28]
mov dword [rsp + 0x40], r12d
mov dword [rbp - 0x75], ebx
mov dword [rbp - 0x79], r15d
mov qword [rbp - 0x49], rdx
cmp r15d, 5
jl 0x140074df3
mov eax, dword [rsp + 0x44]
jmp 0x140075237
mov r9d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x28]
mov rdx, qword [rbp - 0x29]
mov ebx, dword [rbp - 0x69]
mov r12, qword [rbp - 0x21]
inc eax
mov dword [rsp + 0x44], eax
cmp eax, 2
jl 0x140074dc0
movsxd r15, dword [rbp - 0x65]
mov r8, r14
mov rcx, qword [rbp - 0x41]
mov rdx, rsi
mov byte [r15 + rcx], r9b
inc rcx
add rcx, r15
call fcn.1400a1080
mov ecx, dword [rbp - 0x71]
lea eax, [r13 + 1]
add ebx, dword [rbp - 0x6d]
lea r8, [0x1400ffed8]
mov r11, qword [rsp + 0x28]
add r15d, eax
inc ecx
mov dword [rbp - 0x65], r15d
mov r15d, dword [rbp - 0x5d]
mov dword [rbp - 0x71], ecx
mov dword [rbp - 0x69], ebx
cmp ecx, r15d
jl 0x140074d90
mov rcx, rsi
call fcn.1400a5a0c
mov rcx, qword [rbp - 0x41]
lea r8, [rbp + 7]
mov edx, r15d
mov r9d, 8
imul edx, dword [rbp - 0x59]
call fcn.140073740
mov rcx, qword [rbp - 0x41]
mov r14, rax
call fcn.1400a5a0c
test r14, r14
je 0x140074d25
mov ecx, dword [rbp + 7]
mov rax, 0xffffffffffffffff
add ecx, 0x2d
add ecx, 0xc
cmovb rcx, rax
call fcn.1400b5b7c
mov rsi, rax
test rax, rax
je 0x140074d25
mov ecx, dword [rbp + 7]
mov edx, 0xd
mov r12, qword [rbp - 0x19]
add ecx, 0x39
mov dword [r12], ecx
mov rcx, qword [rsp + 0x20]
mov qword [rax], rcx
mov ecx, dword [rbp - 0x55]
mov dword [rax + 8], 0xd000000
mov dword [rax + 0xc], 0x52444849
mov eax, ecx
sar eax, 0x18
mov byte [rsi + 0x10], al
mov eax, ecx
sar eax, 0x10
mov byte [rsi + 0x11], al
mov eax, ecx
sar eax, 8
mov byte [rsi + 0x12], al
mov eax, r15d
mov byte [rsi + 0x13], cl
lea rcx, [rsp + 0x20]
sar eax, 0x18
mov byte [rsi + 0x14], al
mov eax, r15d
sar eax, 0x10
mov byte [rsi + 0x15], al
mov eax, r15d
sar eax, 8
mov byte [rsi + 0x16], al
movzx eax, byte [rbp + rdi*4 - 0x11]
mov byte [rsi + 0x17], r15b
mov byte [rsi + 0x18], 8
mov byte [rsi + 0x19], al
lea rax, [rsi + 0x1d]
mov word [rsi + 0x1a], 0
mov qword [rsp + 0x20], rax
mov byte [rsi + 0x1c], 0
call fcn.140074ac0
mov eax, dword [rbp + 7]
mov rdx, r14
mov rbx, qword [rsp + 0x20]
sar eax, 0x18
mov byte [rbx], al
mov eax, dword [rbp + 7]
sar eax, 0x10
mov byte [rbx + 1], al
mov eax, dword [rbp + 7]
sar eax, 8
mov byte [rbx + 2], al
movzx eax, byte [rbp + 7]
mov byte [rbx + 3], al
mov dword [rbx + 4], 0x54414449
add rbx, 8
movsxd r8, dword [rbp + 7]
mov rcx, rbx
call fcn.1400a1080
movsxd rax, dword [rbp + 7]
mov rcx, r14
add rax, rbx
mov qword [rsp + 0x20], rax
call fcn.1400a5a0c
mov edx, dword [rbp + 7]
lea rcx, [rsp + 0x20]
call fcn.140074ac0
mov rax, qword [rsp + 0x20]
lea rcx, [rsp + 0x20]
xor edx, edx
mov dword [rax], 0
mov dword [rax + 4], 0x444e4549
add rax, 8
mov qword [rsp + 0x20], rax
call fcn.140074ac0
movsxd rax, dword [r12]
add rax, rsi
cmp qword [rsp + 0x20], rax
je 0x14007543f
mov r8d, 0x1e4
lea rdx, str.C:Users_swe_r_source_reposUnnamedPreLoaderUnnamedPreLoader_stb_image_write.h
lea rcx, str.o__out__out_len
call fcn.1400b14f8
mov rax, rsi
jmp 0x140074d27