Function at 0x180055750
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xc0
mov rax, qword [0x1800a0238]
xor rax, rsp
mov qword [rbp - 1], rax
mov r10, qword [rbp + 0x6f]
mov r15d, r9d
mov r9, qword [rbp + 0x7f]
mov r11, r8
mov qword [rbp - 0x41], r8
mov rdi, rcx
mov r8, rdx
mov qword [rbp - 0x49], rdx
mov rdx, qword [rbp + 0x87]
lea ebx, [r15 + 0x1008]
mov qword [rbp - 0x11], rcx
cmp r15d, ebx
mov rcx, qword [rbp + 0x77]
mov dword [rbp - 0x79], ebx
mov ebx, dword [rbp - 0x29]
mov qword [rbp - 0x51], r10
mov qword [rbp - 0x69], rcx
mov qword [rbp - 0x59], r9
mov qword [rbp - 0x61], rdx
ja 0x180055a35
mov r14, qword [rbp - 0x11]
mov r13, qword [rbp - 0x11]
mov rsi, qword [rbp - 0x11]
mov r12d, dword [rbp - 0x29]
mov eax, dword [rbp - 0x79]
nop
cmp r15d, 0x72cb
ja 0x180055c36
je 0x180055af6
cmp r15d, 0x71f3
ja 0x180055981
je 0x18005592f
cmp r15d, 0x7187
ja 0x1800558cf
je 0x18005589a
mov eax, r15d
sub eax, 0x2fbc
je 0x18005586c
sub eax, 0x24
je 0x180055a35
cmp eax, 0x87d
jne case.default.0x180055c7b
mov rcx, r11
call fcn.18002ae50
mov r10, qword [rbp - 0x51]
mov r9, qword [rbp - 0x59]
mov r11, qword [rbp - 0x41]
mov r8, qword [rbp - 0x49]
mov rdx, qword [rbp - 0x61]
mov rcx, qword [rbp - 0x69]
mov eax, dword [rbp - 0x79]
add r15d, 0x24
cmp r15d, eax
ja 0x180055a35
mov rdi, qword [rbp - 0x11]
jmp 0x1800557e0
mov edx, dword [r11]
lea rax, [0x1800801f4]
xor ecx, ecx
lea rbx, [0x180080524]
nop
cmp dword [rax], edx
je 0x180055f03
inc ecx
add rax, 8
cmp rax, rbx
jl 0x180055880
mov ebx, 0xffffffff
jmp 0x18005584b
test r11, r11
jne 0x180055856
lea r9, str.China_Bowl440_E
lea r8, [0x180082820]
mov dword [rbp - 0x31], 0
mov edx, 0x5836
lea rcx, [rbp - 0x31]
call fcn.18000e4c0
mov r9, qword [rbp - 0x59]
mov r10, qword [rbp - 0x51]
jmp 0x180055843
mov eax, r15d
sub eax, 0x71ab
je 0x18005591a
cmp eax, 0x24
jne case.default.0x180055c7b
mov dword [rdi], 0
lea rdx, [rbp - 0x31]
mov eax, dword [r9]
mov r8d, 0x4743
xor r9d, r9d
mov dword [rbp - 0x31], eax
xor ecx, ecx
call fcn.180036dd0
mov dword [rbp - 0x71], eax
test eax, eax
jne 0x180055a37
mov r9, qword [rbp - 0x59]
mov r10, qword [rbp - 0x51]
jmp 0x180055843
test rdi, rdi
jne case.default.0x180055c7b
lea r9, str.media_:__
jmp 0x1800558a6
movsxd rax, dword [r9]
lea rdi, [0x180000000]
shl rax, 7
mov edi, dword [rax + rdi + 0xa283c]
mov eax, dword [rcx]
test al, 7
mov ecx, 0
mov dword [rbp - 0x21], edi
setne cl
shr eax, 3
add ecx, eax
mov eax, dword [r8]
mov dword [rbp - 0x39], ecx
cmp eax, ecx
ja 0x180055977
add eax, 2
add eax, edi
cmp ecx, eax
jb 0x180055977
mov rax, qword [rbp + 0x67]
cmp dword [rax], ecx
je case.0x180055c7b.29424
mov eax, 0x16
jmp 0x180055a37
mov eax, r15d
sub eax, 0x7217
je 0x180055acf
sub eax, 0x24
je 0x1800559f8
sub eax, 0x24
je 0x1800559f0
sub eax, 0x24
je 0x1800559b3
cmp eax, 0x24
mov eax, dword [rbp - 0x79]
jne 0x180055856
add r12d, dword [rbp - 0x21]
jmp 0x180055856
mov r8d, dword [rbp - 0x39]
mov rcx, rsi
sub r8d, dword [rbp - 0x21]
mov edx, r12d
dec r8d
add rdx, r10
call fcn.180061240
mov eax, dword [rbp - 0x39]
mov rcx, r13
mov edi, dword [rbp - 0x21]
sub eax, edi
mov r8d, edi
dec eax
add r12d, eax
mov edx, r12d
add rdx, qword [rbp - 0x51]
call fcn.180061240
jmp 0x18005583b
xor r12d, r12d
jmp case.default.0x180055c7b
mov ecx, dword [rbp - 0x39]
call fcn.180064534
mov r13, rax
test rsi, rsi
je 0x180055a1d
test r14, r14
je 0x180055a1d
cmp qword [rbp - 0x19], 0
je 0x180055a1d
test rax, rax
jne 0x180055aac
mov edi, 0x6e6b
mov eax, edi
sub eax, 0x6e6b
je 0x180055a72
sub eax, 0x58
je 0x180055a5e
cmp eax, 0x58
jne 0x180055a9d
mov eax, ebx
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.18005fbe0
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test r13, r13
je 0x180055a6b
mov rcx, r13
call fcn.18006452c
mov ebx, 0xd
jmp 0x180055a9d
test rsi, rsi
je 0x180055a7f
mov rcx, rsi
call fcn.18006452c
test r14, r14
je 0x180055a8c
mov rcx, r14
call fcn.18006452c
mov rax, qword [rbp - 0x19]
test rax, rax
je 0x180055a9d
mov rcx, rax
call fcn.18006452c
add edi, 0x58
cmp edi, 0x6f1b
jbe 0x180055a22
mov rax, qword [rbp + 0x67]
mov r10, qword [rbp - 0x51]
mov eax, dword [rax]
dec eax
cmp byte [rax + r10], 0xbc
je 0x18005583f
mov dword [rbp - 0x71], 7
jmp 0x180055e0b
mov edi, dword [rbp - 0x39]
mov ecx, edi
call fcn.180064534
mov ecx, edi
mov rsi, rax
call fcn.180064534
mov ecx, edi
mov r14, rax
call fcn.180064534
mov qword [rbp - 0x19], rax
jmp 0x18005583b
mov r8d, dword [rbp - 0x39]
mov edx, 0xff
lea eax, [r8*8]
sub eax, dword [rcx]
lea ecx, [rax + 1]
sar edx, cl
not edx
test byte [r10], dl
je 0x180055b21
mov dword [rbp - 0x71], 7
jmp 0x180055e0b
mov ecx, dword [rbp - 0x21]
lea rdx, [rbp - 0x71]
mov eax, dword [r9]
mov edi, r8d
sub edi, ecx
mov dword [rbp - 0x71], ecx
mov dword [rsp + 0x30], 0x64df
lea r9, [rbp - 0x31]
dec edi
mov qword [rsp + 0x28], r13
xor r8d, r8d
mov dword [rbp - 0x31], edi
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x29], eax
mov qword [rsp + 0x20], r14
call fcn.18004d300
mov dword [rbp - 0x71], eax
cmp eax, 0
jne 0x180055e0b
xor edx, edx
test edi, edi
je 0x18005583b
cmp edi, 0x40
jb 0x180055c07
lea eax, [rdi - 1]
lea r8, [rax + rsi]
add rax, r14
cmp rsi, rax
ja 0x180055b90
cmp r8, r14
jae 0x180055c07
mov r8d, edi
and r8d, 0xffffffc0
mov r9d, 0x20
nop dword [rax]
movdqu xmm0, xmmword [rdx + rsi]
lea eax, [r9 - 0x10]
movdqu xmm1, xmmword [rdx + r14]
pxor xmm1, xmm0
movdqu xmmword [rdx + rsi], xmm1
add edx, 0x40
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
mov eax, r9d
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
lea eax, [r9 + 0x10]
add r9d, 0x40
movdqu xmm0, xmmword [rax + rsi]
movdqu xmm1, xmmword [rax + r14]
pxor xmm1, xmm0
movdqu xmmword [rax + rsi], xmm1
cmp edx, r8d
jb 0x180055ba0
cmp edx, edi
jae 0x18005583b
mov ecx, edx
mov r8, r14
add rcx, rsi
sub r8, rsi
sub edi, edx
mov edx, edi
nop
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x180055c20
jmp 0x18005583b
cmp r15d, 0x73c7
ja 0x180055e65
je 0x180055e0b
lea eax, [r15 - 0x72ef]
cmp eax, 0xb4
ja case.default.0x180055c7b
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x55f38]
mov ecx, dword [rcx + rax*4 + 0x55f1c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movsxd rax, dword [r9]
lea rcx, [rbp - 9]
shl rax, 7
lea r8, [0x180000000]
mov rdx, r14
call qword [rax + r8 + 0xa2898]
mov dword [rbp - 0x71], eax
test eax, eax
jne 0x180055e0b
mov r8d, dword [rbp - 0x21]
mov rdx, r13
mov rcx, r14
call fcn.180061140
test eax, eax
jne 0x180055cbe
mov dword [rdi], 1
xor eax, eax
mov dword [rbp - 0x71], eax
jmp 0x18005583b
mov edx, dword [rbp - 0x39]
xor r12d, r12d
mov rax, qword [rbp - 0x69]
lea ecx, [rdx*8]
sub ecx, dword [rax]
mov eax, 0xff
inc ecx
sar eax, cl
mov ecx, edx
and byte [rsi], al
sub ecx, dword [r8]
sub ecx, dword [rbp - 0x21]
sub ecx, 2
je 0x18005584b
mov rax, rsi
nop word [rax + rax]
cmp byte [rax], 0
jne 0x180055ac3
inc r12d
inc rax
cmp r12d, ecx
jb 0x180055d00
jmp 0x18005584b
movsxd rax, dword [r9]
lea rcx, [rbp - 9]
shl rax, 7
lea rdi, [0x180000000]
mov r8d, 8
mov rdx, r14
call qword [rax + rdi + 0xa2890]
mov dword [rbp - 0x71], eax
cmp eax, 0
jne 0x180055e0b
jmp 0x18005583b
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r14
mov qword [rbp - 0x29], 8
mov r9d, 0x7077
lea rcx, [rbp - 0x29]
xor r8d, r8d
xor edx, edx
call fcn.18001dad0
jmp 0x18005583b
mov eax, r12d
inc r12d
cmp byte [rax + rsi], 1
je 0x180055d90
mov dword [rbp - 0x71], 7
jmp 0x180055e0b
movsxd rax, dword [r9]
lea rcx, [rbp - 9]
shl rax, 7
lea rdx, [0x180000000]
call qword [rax + rdx + 0xa2888]
mov dword [rbp - 0x71], eax
cmp eax, 0
jne 0x180055e0b
jmp 0x18005583b
movsxd rax, dword [r9]
lea rcx, [rbp - 9]
mov r8d, dword [rdx]
lea rdi, [0x180000000]
shl rax, 7
mov rdx, r11
call qword [rax + rdi + 0xa2890]
mov dword [rbp - 0x71], eax
test eax, eax
jne 0x180055e0b
mov rcx, qword [rbp - 0x49]
mov rax, qword [rbp - 0x59]
mov edx, r12d
add rdx, rsi
mov r8d, dword [rcx]
lea rcx, [rbp - 9]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + rdi + 0xa2890]
mov dword [rbp - 0x71], eax
cmp eax, 0
je 0x18005583b
mov edi, dword [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov qword [rsp + 0x28], 0
mov r9d, 0x7077
xor r8d, r8d
mov qword [rbp - 0x29], rdi
xor edx, edx
mov qword [rsp + 0x20], rsi
mov r15d, 0x73c7
call fcn.18001dad0
mov r9d, 0x7077
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rbp - 0x29], rdi
xor edx, edx
mov qword [rsp + 0x20], r14
lea rcx, [rbp - 0x29]
call fcn.18001dad0
jmp 0x18005583b
mov eax, r15d
sub eax, 0x73eb
je 0x180055ebf
sub eax, 0x24
je 0x180055eb2
sub eax, 0x24
je 0x180055e9c
sub eax, 0x24
je 0x180055e8f
cmp eax, 0x24
jne case.default.0x180055c7b
mov eax, dword [rbp - 0x71]
jmp 0x180055a37
mov rcx, rsi
call fcn.18006452c
jmp 0x18005583b
mov rcx, qword [rbp - 0x19]
call fcn.18006452c
mov rcx, r14
call fcn.18006452c
jmp 0x18005583b
mov rcx, r13
call fcn.18006452c
jmp 0x18005583b
mov rax, qword [rbp - 0x19]
lea rcx, [rbp - 0x29]
mov edi, dword [rbp - 0x39]
mov r9d, 0x7077
mov qword [rsp + 0x28], 0
xor r8d, r8d
xor edx, edx
mov qword [rbp - 0x29], rdi
mov qword [rsp + 0x20], rax
call fcn.18001dad0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], r13
mov qword [rbp - 0x29], rdi
jmp 0x180055d62
movsxd rax, ecx
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*8 + 0x801f0]
jmp 0x180055a37