Function at 0x140133f80
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r13
sub rsp, 0x30
movzx eax, word [rcx + 0x548d8]
xor esi, esi
mov rbx, rcx
mov word [rsp + 0x68], ax
mov rcx, qword [rcx + 0x54860]
xor r8d, r8d
movsxd rdi, edx
mov r13d, esi
mov rdx, rdi
mov dword [rsp + 0x60], esi
mov ebp, esi
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
jne 0x140134428
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp eax, 0x4d
jne 0x140134428
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
cmp eax, 0x52
jne 0x140134428
mov rcx, qword [rbx + 0x54860]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x28], r14
mov rax, qword [rcx]
call qword [rax + 0x30]
mov ecx, 0x101
movsx edx, ax
movsx ecx, cx
imul edx, ecx
mov rcx, rbx
mov word [rbx + 0x548d8], dx
call fcn.1401182f0
mov rcx, qword [rbx + 0x54860]
lea r14d, [rdi + 8]
add r14d, eax
mov rax, qword [rcx]
call qword [rax + 0x28]
sub rax, 8
movsxd rcx, r14d
cmp rcx, rax
jle 0x140134061
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x28]
lea r14d, [rax - 8]
mov rcx, qword [rbx + 0x54860]
mov qword [rsp + 0x20], r15
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov r12, rax
cmp eax, r14d
jge 0x140134404
nop
mov edi, esi
mov esi, 4
nop word [rax + rax]
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x30]
shl edi, 8
or edi, eax
sub rsi, 1
jne 0x140134090
mov rcx, rbx
call fcn.1401182f0
mov r15d, eax
test eax, eax
js 0x140134419
cmp edi, 0x505244
je 0x14013439a
cmp edi, 0x524946
je 0x140134173
cmp edi, 0x545457
je 0x14013414c
cmp edi, 0x574247
jne 0x1401343cb
mov rcx, rbx
call fcn.1401182f0
lea rcx, [rbx + 0x104]
lea rdx, str.DiMAGE_A200
call fcn.1402ec350
mov rdi, rsi
test eax, eax
mov ebp, 3
cmovne rbp, rsi
lea esi, [rdi + 4]
mov rcx, rbx
call fcn.140120ef0
movzx eax, ax
movd xmm0, eax
mov rax, rdi
sar rax, 1
xor rax, rbp
xor rax, rdi
inc rdi
cvtdq2ps xmm0, xmm0
movss dword [rbx + rax*4 + 0x25014], xmm0
sub rsi, 1
jne 0x140134113
mov ebp, dword [rsp + 0x60]
jmp 0x1401343cb
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rdx, rax
mov rcx, rbx
call fcn.140145ce0
movsxd rax, r14d
mov qword [rbx + 0x548f8], rax
jmp 0x1401343cb
lea rcx, [rbx + 0x104]
mov r8d, 9
lea rdx, [0x140376a90]
call fcn.140308184
test eax, eax
jne 0x1401343cb
mov rcx, qword [rbx + 0x54860]
mov edx, 8
mov rax, qword [rcx]
lea r8d, [rdx - 7]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293e4], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293ec], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293c4], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293cc], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x29454], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x2945c], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x29494], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x2949c], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293f4], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x293fc], eax
call fcn.1401182f0
mov rcx, rbx
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x29464], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x2946c], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x29474], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x2947c], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x29484], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x2948c], eax
call fcn.140120ef0
movzx eax, ax
mov rcx, rbx
mov dword [rbx + 0x294a4], eax
call fcn.140120ef0
movzx eax, ax
mov dword [rbx + 0x294ac], eax
mov dword [rbx + 0x294b0], 0x100
mov dword [rbx + 0x294a8], 0x100
mov dword [rbx + 0x294a0], 0x100
mov dword [rbx + 0x29498], 0x100
mov dword [rbx + 0x29490], 0x100
mov dword [rbx + 0x29488], 0x100
mov dword [rbx + 0x29480], 0x100
mov dword [rbx + 0x29478], 0x100
mov dword [rbx + 0x29470], 0x100
mov dword [rbx + 0x29468], 0x100
mov dword [rbx + 0x29460], 0x100
mov dword [rbx + 0x29458], 0x100
mov dword [rbx + 0x29400], 0x100
mov dword [rbx + 0x293f8], 0x100
mov dword [rbx + 0x293f0], 0x100
mov dword [rbx + 0x293e8], 0x100
mov dword [rbx + 0x293d0], 0x100
mov dword [rbx + 0x293c8], 0x100
jmp 0x1401343cb
mov rcx, qword [rbx + 0x54860]
mov edx, 8
mov rax, qword [rcx]
lea r8d, [rdx - 7]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.140120ef0
mov rcx, rbx
movzx r13d, ax
call fcn.140120ef0
movzx ebp, ax
mov dword [rsp + 0x60], ebp
mov rcx, qword [rbx + 0x54860]
lea eax, [r15 + 8]
add eax, r12d
xor r8d, r8d
movsxd rdx, eax
mov r9, qword [rcx]
call qword [r9 + 0x18]
mov rcx, qword [rbx + 0x54860]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov r12d, eax
mov esi, 0
cmp eax, r14d
jl 0x140134080
movzx eax, word [rsp + 0x68]
mov word [rbx + 0x548d8], ax
mov word [rbx + 0x10], r13w
mov word [rbx + 0x12], bp
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x28]
add rsp, 0x30
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
ret