Function at 0x1800593c0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x20
xor ebx, ebx
lea r10, str.MP0_FIREWORK_TYPE_1_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x1800587e0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_1_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058850
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_1_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x1800588c0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_2_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058930
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_2_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x1800589a0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_2_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058a10
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_3_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058a80
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_3_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058af0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_3_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058b60
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_4_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058bd0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_4_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058c40
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP0_FIREWORK_TYPE_4_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058cb0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_1_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058d20
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_1_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058d90
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_1_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058e00
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_2_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058e70
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_2_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058ee0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_2_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058f50
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_3_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180058fc0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_3_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180059030
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_3_BLUE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x1800590a0
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_4_WHITE
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180059110
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r10, str.MP1_FIREWORK_TYPE_4_RED
mov r9d, ebx
mov r8b, 0x4d
nop word [rax + rax]
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r10]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
test r8b, r8b
jne 0x180059180
lea eax, [r9 + r9*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
call fcn.180057690
lea r9, str.MP1_FIREWORK_TYPE_4_BLUE
mov r8b, 0x4d
nop dword [rax]
nop word [rax + rax]
movzx edx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
cmp r8b, 0x19
movzx r8d, byte [r9]
lea eax, [rdx + 0x20]
movzx ecx, al
cmova ecx, edx
movsx eax, cl
add eax, ebx
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
test r8b, r8b
jne 0x1800591f0
lea eax, [rbx + rbx*8]
mov edx, 0x77359400
mov ecx, eax
mov r8d, 1
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
add rsp, 0x20
pop rbx
jmp fcn.180057690
jmp 0x1800587c0