Function at 0x18001a940
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x58
lea rsi, [rcx + 0x20]
mov ebp, r8d
mov r15d, r8d
mov qword [rsp + 0x20], rcx
shr r15d, 2
mov r13, rdx
mov r14, rcx
lea eax, [r15 + 6]
mov dword [rcx + 0x18], eax
lea edx, [rax*4 + 4]
mov r8, qword [rsi + 0x108]
mov rax, rsi
mov rcx, qword [rsi + 0x100]
neg rax
and eax, 0xf
mov qword [rsp + 0x28], rdx
add rax, rsi
mov qword [rsp + 0x30], rcx
cmp r8, rax
jne 0x18001a9b6
cmp rdx, 0x3c
ja 0x18001a9d1
cmp rcx, rdx
jbe 0x18001a9ea
sub rcx, rdx
lea rdi, [r8 + rdx*4]
xor eax, eax
rep stosd dword [rdi], eax
jmp 0x18001a9ea
cmp rdx, 0x3c
ja 0x18001a9d1
cmp byte [rsi + 0xf9], 0
jne 0x18001a9d1
mov byte [rsi + 0xf9], 1
mov r9, rax
jmp 0x18001a9d4
xor r9d, r9d
cmp r8, rax
jne 0x18001a9e7
mov rdi, r8
mov byte [rsi + 0xf9], 0
xor eax, eax
rep stosd dword [rdi], eax
mov r8, r9
mov qword [rsi + 0x108], r8
mov qword [rsi + 0x100], rdx
movzx eax, byte [0x1801e8035]
mov rdi, qword [r14 + 0x128]
test al, al
jne 0x18001aa16
call fcn.180022630
movzx eax, byte [0x1801e8035]
cmp byte [0x1801e7817], 0
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x50], r12
je 0x18001ac3b
test al, al
jne 0x18001aa39
call fcn.180022630
cmp byte [0x1801e8034], 0
je 0x18001ac3b
movaps xmmword [rsp + 0x40], xmm6
mov r8, rbp
movdqu xmm6, xmmword [rbp + r13 - 0x10]
mov rdx, r13
mov rcx, rdi
mov rbx, rbp
call fcn.1800bdb90
shr rbx, 2
lea r9, [0x1801493f4]
aeskeygenassist xmm0, xmm6, 0
pextrd eax, xmm0, 3
xor eax, dword [rdi]
xor eax, 1
lea r12, [rbx*4 + 0x10]
mov dword [rdi + rbx*4], eax
mov edx, dword [rdi + 4]
xor edx, eax
lea eax, [r15 + 1]
lea r10, [rax*4]
mov dword [r10 + rdi], edx
lea eax, [r15 + 2]
mov r8d, dword [rdi + 8]
lea r11, [rax*4]
xor r8d, edx
lea eax, [r15 + 3]
lea r15, [rax*4]
mov dword [r11 + rdi], r8d
mov eax, dword [rdi + 0xc]
xor eax, r8d
mov dword [r15 + rdi], eax
mov rax, qword [rsi + 0x108]
mov rcx, qword [rsi + 0x100]
lea rdx, [rax + rcx*4]
lea rax, [r12 + rdi]
cmp rax, rdx
je 0x18001abac
lea r8, [rbx*4]
cmp ebp, 0x18
jne 0x18001ab11
mov eax, dword [rdi + 0x24]
xor eax, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x14]
xor ecx, eax
mov dword [rdi + 0x28], eax
mov dword [rdi + 0x2c], ecx
pinsrd xmm6, ecx, 3
jmp 0x18001ab56
cmp ebp, 0x20
jne 0x18001ab4f
pinsrd xmm6, dword [rdi + 0x2c], 3
mov ecx, dword [rdi + 0x14]
aeskeygenassist xmm0, xmm6, 0
pextrd eax, xmm0, 2
xor eax, dword [rdi + 0x10]
xor ecx, eax
mov dword [rdi + 0x30], eax
mov eax, dword [rdi + 0x18]
xor eax, ecx
mov dword [rdi + 0x34], ecx
mov ecx, dword [rdi + 0x1c]
xor ecx, eax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], ecx
pinsrd xmm6, ecx, 3
jmp 0x18001ab56
pinsrd xmm6, dword [rdi + 0x1c], 3
add rdi, r8
aeskeygenassist xmm0, xmm6, 0
pextrd ecx, xmm0, 3
xor ecx, dword [r9]
add r9, 4
xor ecx, dword [rdi]
mov dword [r8 + rdi], ecx
mov eax, dword [rdi + 4]
xor eax, ecx
mov dword [r10 + rdi], eax
mov ecx, dword [rdi + 8]
xor ecx, eax
mov dword [r11 + rdi], ecx
mov eax, dword [rdi + 0xc]
xor eax, ecx
mov dword [r15 + rdi], eax
mov rax, qword [rsi + 0x108]
mov rcx, qword [rsi + 0x100]
lea rdx, [rax + rcx*4]
lea rax, [r12 + rdi]
cmp rax, rdx
jne 0x18001aaf3
mov rax, qword [r14 + 8]
lea rcx, [r14 + 8]
call qword [rax + 0x38]
movaps xmm6, xmmword [rsp + 0x40]
test al, al
jne 0x18001b643
mov eax, dword [r14 + 0x18]
mov r11d, 4
mov rdi, qword [r14 + 0x128]
shl eax, 2
movdqu xmm1, xmmword [rdi]
movdqu xmm0, xmmword [rdi + rax*4]
movdqu xmmword [rdi], xmm0
movdqu xmmword [rdi + rax*4], xmm1
mov eax, dword [r14 + 0x18]
lea edx, [rax*4 - 4]
cmp edx, r11d
jbe 0x18001ac28
nop word [rax + rax]
aesimc xmm0, xmmword [rdi + rdx*4]
mov eax, r11d
add r11d, 4
aesimc xmm1, xmmword [rdi + rax*4]
lea rcx, [rdi + rax*4]
movdqu xmmword [rcx], xmm0
movdqu xmmword [rdi + rdx*4], xmm1
add edx, 0xfffffffc
cmp r11d, edx
jb 0x18001ac00
mov eax, r11d
aesimc xmm0, xmmword [rdi + rax*4]
movdqu xmmword [rdi + rax*4], xmm0
jmp 0x18001b643
mov rbx, rbp
mov r9, rbp
and rbx, 0xfffffffffffffffc
mov r8, r13
mov rdx, rbx
mov rcx, rdi
mov r12, rbp
call fcn.18001c290
sub rbx, rbp
lea rcx, [rdi + rbp]
mov r8, rbx
xor edx, edx
call fcn.1800beae0
lea r8, [rbp + 3]
mov rdx, rdi
and r8, 0xfffffffffffffffc
mov rcx, rdi
call fcn.18001c1a0
lea r9, sym.MZ_B_9V_N_IMY_ToElo0.GX_qAb_rTZsvR__kiB_qQR_Yr_
shr r12, 2
lea eax, [r15 - 1]
lea r10, [rax*4]
mov edx, dword [r10 + rdi]
lea r13, [r12*4 + 0x10]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx r8d, byte [rcx + r9 + 0x1491c0]
movzx ecx, al
xor r8d, 1
shl r8d, 8
movzx eax, byte [rcx + r9 + 0x1491c0]
xor r8d, eax
movzx eax, dl
shl r8d, 8
shr edx, 0x18
movzx eax, byte [rax + r9 + 0x1491c0]
xor r8d, eax
movzx eax, dl
shl r8d, 8
movzx eax, byte [rax + r9 + 0x1491c0]
lea r9, [0x180149094]
xor r8d, eax
lea eax, [r15 + 1]
xor r8d, dword [rdi]
mov dword [rdi + r12*4], r8d
mov edx, dword [rdi + 4]
lea r11, [rax*4]
xor edx, r8d
lea eax, [r15 + 2]
mov dword [r11 + rdi], edx
lea rbx, [rax*4]
mov r8d, dword [rdi + 8]
lea eax, [r15 + 3]
lea r15, [rax*4]
xor r8d, edx
mov dword [rbx + rdi], r8d
mov eax, dword [rdi + 0xc]
xor eax, r8d
mov dword [r15 + rdi], eax
mov rax, qword [rsi + 0x108]
mov rcx, qword [rsi + 0x100]
lea rdx, [rax + rcx*4]
lea rax, [rdi + r13]
cmp rax, rdx
je 0x18001aeb0
lea r12, [r12*4]
lea r14, sym.MZ_B_9V_N_IMY_ToElo0.GX_qAb_rTZsvR__kiB_qQR_Yr_
cmp ebp, 0x18
jne 0x18001ad8d
mov ecx, dword [rdi + 0x24]
xor ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0x14]
xor eax, ecx
mov dword [rdi + 0x28], ecx
mov dword [rdi + 0x2c], eax
jmp 0x18001ae0a
cmp ebp, 0x20
jne 0x18001ae0a
mov edx, dword [rdi + 0x2c]
mov eax, edx
shr eax, 0x18
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx r8d, byte [rcx + r14 + 0x1491c0]
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14 + 0x1491c0]
xor r8d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14 + 0x1491c0]
mov ecx, dword [rdi + 0x18]
xor r8d, eax
shl r8d, 8
movzx eax, dl
movzx eax, byte [rax + r14 + 0x1491c0]
xor r8d, eax
mov eax, dword [rdi + 0x14]
xor r8d, dword [rdi + 0x10]
xor eax, r8d
mov dword [rdi + 0x30], r8d
xor ecx, eax
mov dword [rdi + 0x34], eax
mov eax, dword [rdi + 0x1c]
xor eax, ecx
mov dword [rdi + 0x38], ecx
mov dword [rdi + 0x3c], eax
add rdi, r12
mov edx, dword [r10 + rdi]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx r8d, byte [rcx + r14 + 0x1491c0]
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r14 + 0x1491c0]
xor r8d, eax
movzx eax, dl
shl r8d, 8
shr edx, 0x18
movzx eax, byte [rax + r14 + 0x1491c0]
xor r8d, eax
movzx eax, dl
shl r8d, 8
movzx eax, byte [rax + r14 + 0x1491c0]
xor r8d, eax
xor r8d, dword [rdi]
xor r8d, dword [r9]
add r9, 4
mov dword [r12 + rdi], r8d
mov eax, dword [rdi + 4]
xor eax, r8d
mov dword [r11 + rdi], eax
mov ecx, dword [rdi + 8]
xor ecx, eax
mov dword [rbx + rdi], ecx
mov eax, dword [rdi + 0xc]
xor eax, ecx
mov dword [r15 + rdi], eax
mov rax, qword [rsi + 0x108]
mov rcx, qword [rsi + 0x100]
lea rdx, [rax + rcx*4]
lea rax, [rdi + r13]
cmp rax, rdx
jne 0x18001ad72
mov r14, qword [rsp + 0x20]
mov rax, qword [r14 + 8]
lea rcx, [r14 + 8]
mov rbx, qword [r14 + 0x128]
call qword [rax + 0x38]
test al, al
je 0x18001af90
movzx eax, byte [0x1801e7815]
test al, al
jne 0x18001af61
xor esi, esi
lea r11, sym.MZ_B_9V_N_IMY_ToElo0.GX_qAb_rTZsvR__kiB_qQR_Yr_
mov r10d, esi
nop word [rax + rax]
movzx edi, byte [r10 + r11 + 0x1491c0]
mov edx, edi
shr edx, 7
imul r9d, edx, 0x1b000000
lea r8d, [rdi + rdi]
imul ecx, edx, 0x11b
mov eax, r8d
shl eax, 0x18
xor r9, rax
mov eax, edi
shl eax, 8
xor rcx, rdi
or eax, edi
shl eax, 8
or r9, rax
mov eax, r8d
xor rcx, rax
or rcx, r9
shl rcx, 0x20
or rcx, r9
mov qword [r11 + r10*8 + 0x1e7820], rcx
inc r10
cmp r10, 0x100
jl 0x18001aef0
mov qword [0x1801e8028], rsi
mov qword [0x1801e8020], rsi
mov byte [0x1801e7815], 1
mov r8d, 0x10
mov rdx, rbx
mov rcx, rbx
call fcn.18001c1a0
mov eax, dword [r14 + 0x18]
mov r8d, 0x10
shl eax, 2
lea rcx, [rbx + rax*4]
mov rdx, rcx
call fcn.18001c1a0
jmp 0x18001b614
movzx eax, byte [0x1801e7814]
test al, al
jne 0x18001afa0
call fcn.18001a7a0
mov eax, dword [r14 + 0x18]
lea r12, sym.MZ_B_9V_N_IMY_ToElo0.GX_qAb_rTZsvR__kiB_qQR_Yr_
mov r11d, 4
lea esi, [rax*4 - 4]
cmp esi, r11d
jbe 0x18001b3a3
lea ebp, [rsi + 2]
lea r15d, [r11 + 2]
nop dword [rax + rax]
mov eax, r11d
lea r8, [rbx + rsi*4]
lea r10, [rbx + rax*4]
mov edi, dword [r10]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov r9d, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
mov edi, dword [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r10]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d3]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
lea eax, [r15 - 1]
mov dword [r10], edx
lea r10, [rbx + rax*4]
mov dword [r8], r9d
mov edi, dword [r10]
mov eax, edi
shr eax, 0x10
movzx ecx, al
mov eax, edi
shr eax, 8
shr edi, 0x18
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov r9d, dword [rdx + r12 + 0x1e80d1]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d2]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d4]
movzx eax, byte [r10]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d3]
lea eax, [rbp - 1]
mov edi, dword [rbx + rax*4]
lea r8, [rbx + rax*4]
mov eax, edi
shr eax, 0x18
movzx ecx, al
movzx edx, byte [rcx + r12 + 0x1491c0]
shl edx, 3
mov edx, dword [rdx + r12 + 0x1e80d4]
mov eax, edi
shr eax, 0x10
movzx ecx, al
shr edi, 8
movzx eax, byte [rcx + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
mov dword [r10], edx
mov dword [r8], r9d
lea r8, [rbx + rbp*4]
mov eax, r15d
mov edi, dword [rbx + rax*4]
lea r10, [rbx + rax*4]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov r9d, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
mov edi, dword [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r10]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d3]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
lea eax, [r15 + 1]
mov dword [r10], edx
lea r10, [rbx + rax*4]
mov dword [r8], r9d
mov edi, dword [r10]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov r9d, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d1]
add r11d, 4
shr edi, 8
add r15d, 4
movzx eax, dil
add esi, 0xfffffffc
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r10]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor r9d, dword [rax + r12 + 0x1e80d3]
lea eax, [rbp + 1]
mov edi, dword [rbx + rax*4]
lea r8, [rbx + rax*4]
mov eax, edi
lea ebp, [rbp - 4]
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
mov dword [r10], edx
mov dword [r8], r9d
cmp r11d, esi
jb 0x18001afd0
mov eax, r11d
lea r8, [rbx + rax*4]
mov edi, dword [r8]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
lea eax, [r11 + 1]
mov edi, dword [rbx + rax*4]
mov dword [r8], edx
lea r8, [rbx + rax*4]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
lea eax, [r11 + 2]
mov edi, dword [rbx + rax*4]
mov dword [r8], edx
lea r8, [rbx + rax*4]
mov eax, edi
shr eax, 0x18
movzx ecx, al
mov eax, edi
shr eax, 0x10
shr edi, 8
movzx edx, byte [rcx + r12 + 0x1491c0]
movzx ecx, al
shl edx, 3
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
lea eax, [r11 + 3]
mov edi, dword [rbx + rax*4]
mov dword [r8], edx
lea r8, [rbx + rax*4]
mov eax, edi
shr eax, 0x18
movzx ecx, al
movzx edx, byte [rcx + r12 + 0x1491c0]
mov eax, edi
shr eax, 0x10
movzx ecx, al
shl edx, 3
shr edi, 8
movzx eax, byte [rcx + r12 + 0x1491c0]
mov edx, dword [rdx + r12 + 0x1e80d4]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d1]
movzx eax, dil
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d2]
movzx eax, byte [r8]
movzx eax, byte [rax + r12 + 0x1491c0]
shl eax, 3
xor edx, dword [rax + r12 + 0x1e80d3]
mov dword [r8], edx
mov eax, dword [r14 + 0x18]
mov edx, dword [rbx]
shl eax, 2
bswap edx
mov ecx, dword [rbx + rax*4]
bswap ecx
mov dword [rbx], ecx
mov eax, dword [r14 + 0x18]
shl eax, 2
mov dword [rbx + rax*4], edx
mov eax, dword [r14 + 0x18]
mov edx, dword [rbx + 4]
bswap edx
lea eax, [rax*4 + 1]
mov eax, dword [rbx + rax*4]
bswap eax
mov dword [rbx + 4], eax
mov eax, dword [r14 + 0x18]
lea eax, [rax*4 + 1]
mov dword [rbx + rax*4], edx
mov eax, dword [r14 + 0x18]
mov edx, dword [rbx + 8]
bswap edx
lea eax, [rax*4 + 2]
mov eax, dword [rbx + rax*4]
bswap eax
mov dword [rbx + 8], eax
mov eax, dword [r14 + 0x18]
lea eax, [rax*4 + 2]
mov dword [rbx + rax*4], edx
mov eax, dword [r14 + 0x18]
mov edx, dword [rbx + 0xc]
bswap edx
lea eax, [rax*4 + 3]
mov eax, dword [rbx + rax*4]
bswap eax
mov dword [rbx + 0xc], eax
mov eax, dword [r14 + 0x18]
lea eax, [rax*4 + 3]
mov dword [rbx + rax*4], edx
cmp byte [0x1801e8035], 0
jne 0x18001b622
call fcn.180022630
cmp byte [0x1801e7817], 0
je 0x18001b643
mov r8d, dword [r14 + 0x18]
lea rcx, [rbx + 0x10]
shl r8d, 4
mov rdx, rcx
sub r8d, 0x10
call fcn.18001c1a0
mov r12, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x58
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret