Function at 0x1400567f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movsx eax, byte [rdx]
mov rbx, rdx
add eax, 0xffffffde
mov rdi, rcx
cmp eax, 0x59
ja case.0x14005631b.35
lea rcx, [0x140000000]
cdqe
movzx eax, byte [rcx + rax + 0x56438]
mov r8d, dword [rcx + rax*4 + 0x56418]
add r8, rcx
jmp r8
lea rcx, [rdx + 1]
mov r8d, 3
lea rdx, [0x1400f1684]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne case.0x14005631b.35
mov dword [rdi + 0x18], 2
lea rax, [rbx + 4]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, [rdx + 1]
mov r8d, 4
lea rdx, str.alse
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne case.0x14005631b.35
mov dword [rdi + 0x18], eax
lea rax, [rbx + 5]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
lea rcx, [rdx + 1]
mov r8d, 3
lea rdx, [0x1400f1690]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne case.0x14005631b.35
mov dword [rdi + 0x18], 1
lea rax, [rbx + 4]
mov dword [rdi + 0x28], 1
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1400564a0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1400569c0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x140056c10
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1400567f0
mov qword [0x140106718], rbx
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
push rbx
push rbp
push rdi
sub rsp, 0x40
mov rax, qword [0x140104040]
xor rax, rsp
mov qword [rsp + 0x30], rax
xor ebx, ebx
lea rdi, [rdx + 1]
cmp byte [rdx], 0x22
mov rbp, rcx
mov rax, rdi
je 0x1400564d6
mov qword [0x140106718], rdx
xor eax, eax
jmp 0x14005678a
movzx ecx, byte [rdi]
cmp cl, 0x22
je 0x1400564fc
nop
test cl, cl
je 0x1400564fc
add ebx, 1
je 0x1400564fc
inc rax
cmp cl, 0x5c
jne 0x1400564f4
inc rax
movzx ecx, byte [rax]
cmp cl, 0x22
jne 0x1400564e0
mov rax, qword [0x140106710]
test rax, rax
jne 0x140056526
lea ecx, [rax + 8]
call fcn.1400889a0
lea rcx, vtable.spine::DefaultSpineExtension.0
mov qword [rsp + 0x20], rax
mov qword [0x140106710], rax
mov qword [rax], rcx
mov rcx, qword [rax]
mov qword [rsp + 0x70], rsi
mov r10, qword [rcx + 8]
lea ecx, [rbx + 1]
movsxd rdx, ecx
lea rcx, [method.spine::DefaultSpineExtension.virtual_8]
cmp r10, rcx
jne 0x140056554
test rdx, rdx
je 0x14005656f
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
jmp 0x140056567
mov r9d, 0xf1
lea r8, str.D:Temporary_spine_viewer_versions4.1_src_spineJson.cpp
mov rcx, rax
call r10
mov rsi, rax
test rax, rax
jne 0x140056576
xor eax, eax
jmp 0x140056785
movzx eax, byte [rdi]
mov rbx, rsi
cmp al, 0x22
je 0x14005676c
mov qword [rsp + 0x78], r14
lea r14, [0x140000000]
test al, al
je 0x140056767
inc rdi
cmp al, 0x5c
je 0x1400565a9
mov byte [rbx], al
inc rbx
jmp 0x14005675c
movsx edx, byte [rdi]
lea eax, [rdx - 0x62]
cmp eax, 0x13
ja case.0x1400565c5.99
cdqe
mov ecx, dword [r14 + rax*4 + 0x567a0]
add rcx, r14
jmp rcx
mov byte [rbx], 8
jmp 0x140056756
mov byte [rbx], 0xc
jmp 0x140056756
mov byte [rbx], 0xa
jmp 0x140056756
mov byte [rbx], 0xd
jmp 0x140056756
mov byte [rbx], 9
jmp 0x140056756
lea rcx, [rdi + 1]
lea r8, [rsp + 0x28]
lea rdx, [0x1400f1694]
call fcn.140003cb0
mov ecx, dword [rsp + 0x28]
add rdi, 4
lea eax, [rcx - 1]
cmp eax, 0xdbfe
jbe 0x140056622
cmp ecx, 0xe000
jb 0x140056759
lea eax, [rcx - 0xd800]
cmp eax, 0x3ff
ja 0x140056690
cmp byte [rdi + 1], 0x5c
jne 0x140056759
cmp byte [rdi + 2], 0x75
jne 0x140056759
lea rcx, [rdi + 3]
lea r8, [rsp + 0x2c]
lea rdx, [0x1400f1694]
call fcn.140003cb0
mov edx, dword [rsp + 0x2c]
add rdi, 6
lea eax, [rdx - 0xdc00]
cmp eax, 0x3ff
ja 0x140056759
mov ecx, dword [rsp + 0x28]
and edx, 0x3ff
and ecx, 0x3ff
shl ecx, 0xa
or ecx, edx
add ecx, 0x10000
mov dword [rsp + 0x28], ecx
cmp ecx, 0x80
jae 0x1400566a8
mov edx, 1
inc rbx
mov r8d, edx
jmp 0x14005673f
cmp ecx, 0x800
jae 0x1400566bd
mov edx, 2
add rbx, rdx
mov r9d, edx
jmp 0x140056726
cmp ecx, 0x10000
jae 0x1400566d2
mov edx, 3
add rbx, rdx
mov r10d, edx
jmp 0x14005670d
add rbx, 4
mov edx, 4
mov eax, edx
mov r10d, eax
mov r9d, eax
mov r11d, eax
dec eax
sub eax, 1
je 0x140056726
sub eax, 1
je 0x14005670d
cmp eax, 1
jne 0x14005674f
and cl, 0x3f
dec rbx
or cl, 0x80
mov byte [rbx], cl
mov ecx, dword [rsp + 0x28]
shr ecx, 6
mov dword [rsp + 0x28], ecx
and cl, 0x3f
dec rbx
or cl, 0x80
mov r9, r10
mov byte [rbx], cl
mov ecx, dword [rsp + 0x28]
shr ecx, 6
mov dword [rsp + 0x28], ecx
and cl, 0x3f
dec rbx
or cl, 0x80
mov r8, r9
mov byte [rbx], cl
mov ecx, dword [rsp + 0x28]
shr ecx, 6
mov dword [rsp + 0x28], ecx
dec rbx
mov r11, r8
or cl, byte [rdx + r14 + 0xf0434]
mov byte [rbx], cl
add rbx, r11
jmp 0x140056759
mov byte [rbx], dl
inc rbx
inc rdi
movzx eax, byte [rdi]
cmp al, 0x22
jne 0x140056590
mov r14, qword [rsp + 0x78]
mov byte [rbx], 0
lea rax, [rdi + 1]
cmp byte [rdi], 0x22
mov qword [rbp + 0x20], rsi
cmovne rax, rdi
mov dword [rbp + 0x18], 4
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140088980
add rsp, 0x40
pop rdi
pop rbp
pop rbx
ret
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rdi
sub rsp, 0x60
movaps xmmword [rax - 0x18], xmm6
mov rdi, rdx
mov qword [rax + 8], rsi
mov rbp, rcx
movzx esi, byte [rdx]
xorps xmm6, xmm6
mov qword [rax + 0x10], r14
movaps xmmword [rax - 0x28], xmm7
xorps xmm7, xmm7
movaps xmmword [rax - 0x48], xmm9
movzx eax, sil
cmp sil, 0x2d
jne 0x140056832
movzx eax, byte [rdx + 1]
movsd xmm9, qword [0x1400f2c20]
lea rbx, [rdx + 1]
cmovne rbx, rdi
xor r14d, r14d
cmp al, 0x30
jl 0x140056879
nop word [rax + rax]
cmp al, 0x39
ja 0x1400568de
movzx eax, al
inc rbx
sub eax, 0x30
mulsd xmm6, xmm9
movd xmm0, eax
movzx eax, byte [rbx]
cvtdq2pd xmm0, xmm0
addsd xmm6, xmm0
cmp al, 0x30
jge 0x140056850
cmp al, 0x2e
jne 0x1400568de
movzx eax, byte [rbx + 1]
inc rbx
movaps xmmword [rsp + 0x30], xmm8
movaps xmm8, xmm7
mov ecx, r14d
cmp al, 0x30
jl 0x1400568bd
cmp al, 0x39
ja 0x1400568bd
movzx eax, al
inc rbx
sub eax, 0x30
mulsd xmm8, xmm9
inc ecx
movd xmm0, eax
movzx eax, byte [rbx]
cvtdq2pd xmm0, xmm0
addsd xmm8, xmm0
cmp al, 0x30
jge 0x140056895
movd xmm1, ecx
movaps xmm0, xmm9
cvtdq2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
divsd xmm8, xmm0
addsd xmm6, xmm8
movaps xmm8, xmmword [rsp + 0x30]
cmp sil, 0x2d
mov rsi, qword [rsp + 0x70]
jne 0x1400568f0
xorps xmm6, xmmword [0x1400f2dc0]
movzx eax, byte [rbx]
sub al, 0x45
test al, 0xdf
jne 0x140056960
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x2d
jne 0x14005690c
mov r14d, 0xffffffff
jmp 0x140056910
cmp al, 0x2b
jne 0x140056917
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x30
jl 0x140056945
nop dword [rax + rax]
cmp al, 0x39
ja 0x140056945
movzx eax, al
inc rbx
sub eax, 0x30
mulsd xmm7, xmm9
movd xmm2, eax
movzx eax, byte [rbx]
cvtdq2pd xmm2, xmm2
addsd xmm7, xmm2
cmp al, 0x30
jge 0x140056920
movaps xmm1, xmm7
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
test r14d, r14d
je 0x14005695c
divsd xmm6, xmm0
jmp 0x140056960
mulsd xmm6, xmm0
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x40]
mov r14, qword [rsp + 0x78]
cmp rbx, rdi
je 0x140056994
xorps xmm0, xmm0
mov dword [rbp + 0x18], 3
cvttsd2si ecx, xmm6
mov rax, rbx
cvtsd2ss xmm0, xmm6
mov dword [rbp + 0x28], ecx
movss dword [rbp + 0x2c], xmm0
jmp 0x14005699d
mov qword [0x140106718], rdi
xor eax, eax
movaps xmm6, xmmword [rsp + 0x50]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
mov dword [rcx + 0x18], 5
lea rbx, [rdx + 1]
test rbx, rbx
je 0x1400569fe
movzx eax, byte [rbx]
test al, al
je 0x1400569fe
nop dword [rax]
cmp al, 0x20
ja 0x1400569fe
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x1400569f0
cmp byte [rbx], 0x5d
jne 0x140056a0c
lea rax, [rbx + 1]
jmp 0x140056bf5
lea rbp, vtable.spine::DefaultSpineExtension.0
mov rax, qword [0x140106710]
test rax, rax
jne 0x140056a36
lea ecx, [rax + 8]
call fcn.1400889a0
mov qword [rsp + 0x40], rax
mov qword [rax], rbp
mov qword [0x140106710], rax
mov rcx, qword [rax]
mov r10, qword [rcx + 0x10]
lea r14, [fcn.1400546c0]
cmp r10, r14
jne 0x140056a6f
mov ecx, 0x38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140056a87
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x30], rcx
jmp 0x140056a87
mov r9d, 0x1ab
lea r8, str.D:Temporary_spine_viewer_versions4.1_src_spineJson.cpp
mov edx, 0x38
mov rcx, rax
call r10
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140056aa0
xor edx, edx
mov rcx, rax
call fcn.1400560f0
mov rdi, rax
jmp 0x140056aa2
xor edi, edi
mov qword [rsi + 0x10], rdi
test rdi, rdi
je 0x140056bf3
movzx eax, byte [rbx]
test al, al
je 0x140056ac4
cmp al, 0x20
ja 0x140056ac4
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056ab6
mov rdx, rbx
mov rcx, rdi
call fcn.1400562e0
mov rbx, rax
test rax, rax
je 0x140056bf3
movzx eax, byte [rax]
test al, al
je 0x140056af0
cmp al, 0x20
ja 0x140056af0
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056ae2
mov dword [rsi + 0x1c], 1
movzx eax, byte [rbx]
cmp al, 0x2c
jne 0x140056be4
mov rax, qword [0x140106710]
test rax, rax
jne 0x140056b25
lea ecx, [rax + 8]
call fcn.1400889a0
mov qword [rsp + 0x40], rax
mov qword [rax], rbp
mov qword [0x140106710], rax
mov rcx, qword [rax]
mov r10, qword [rcx + 0x10]
cmp r10, r14
jne 0x140056b57
mov ecx, 0x38
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140056b6f
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov qword [rax + 0x30], rcx
jmp 0x140056b6f
mov r9d, 0x1b9
lea r8, str.D:Temporary_spine_viewer_versions4.1_src_spineJson.cpp
mov edx, 0x38
mov rcx, rax
call r10
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140056b88
xor edx, edx
mov rcx, rax
call fcn.1400560f0
mov rcx, rax
jmp 0x140056b8a
xor ecx, ecx
test rcx, rcx
je 0x140056bf3
mov qword [rdi + 8], rcx
mov rdi, rcx
lea rdx, [rbx + 1]
test rdx, rdx
je 0x140056bb4
movzx eax, byte [rdx]
test al, al
je 0x140056bb4
cmp al, 0x20
ja 0x140056bb4
inc rdx
movzx eax, byte [rdx]
test al, al
jne 0x140056ba6
call fcn.1400562e0
mov rbx, rax
test rax, rax
je 0x140056bf3
movzx eax, byte [rax]
test al, al
je 0x140056bd6
cmp al, 0x20
ja 0x140056bd6
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056bc8
inc dword [rsi + 0x1c]
movzx eax, byte [rbx]
cmp al, 0x2c
je 0x140056b02
cmp al, 0x5d
je 0x140056a03
mov qword [0x140106718], rbx
xor eax, eax
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rbp, rcx
mov dword [rcx + 0x18], 6
lea rbx, [rdx + 1]
xor r14d, r14d
test rbx, rbx
jne 0x140056c41
mov ebx, r14d
jmp 0x140056c56
movzx eax, byte [rbx]
test al, al
je 0x140056c56
cmp al, 0x20
ja 0x140056c56
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056c48
cmp byte [rbx], 0x7d
jne 0x140056c64
lea rax, [rbx + 1]
jmp 0x140056efd
lea r15, vtable.spine::DefaultSpineExtension.0
mov rax, qword [0x140106710]
test rax, rax
jne 0x140056c8e
lea ecx, [rax + 8]
call fcn.1400889a0
mov qword [rsp + 0x50], rax
mov qword [rax], r15
mov qword [0x140106710], rax
mov rcx, qword [rax]
mov r10, qword [rcx + 0x10]
lea r12, [fcn.1400546c0]
mov r9d, 0x1e3
lea r8, str.D:Temporary_spine_viewer_versions4.1_src_spineJson.cpp
mov edx, 0x38
mov rcx, rax
cmp r10, r12
jne 0x140056cbd
call fcn.1400546c0
jmp 0x140056cc0
call r10
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140056cd9
xor edx, edx
mov rcx, rax
call fcn.1400560f0
mov rsi, rax
jmp 0x140056cdc
mov rsi, r14
mov qword [rbp + 0x10], rsi
test rsi, rsi
je 0x140056efb
movzx eax, byte [rbx]
test al, al
je 0x140056cfe
cmp al, 0x20
ja 0x140056cfe
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056cf0
mov rdx, rbx
mov rcx, rsi
call 0x1400564a0
mov rcx, rax
test rax, rax
je 0x140056efb
movzx eax, byte [rax]
test al, al
je 0x140056d2e
nop dword [rax]
cmp al, 0x20
ja 0x140056d2e
inc rcx
movzx eax, byte [rcx]
test al, al
jne 0x140056d20
mov rax, qword [rsi + 0x20]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x20], r14
cmp byte [rcx], 0x3a
je 0x140056d4b
mov qword [0x140106718], rcx
jmp 0x140056efb
lea rdx, [rcx + 1]
test rdx, rdx
jne 0x140056d59
mov rdx, r14
jmp 0x140056d6e
movzx eax, byte [rdx]
test al, al
je 0x140056d6e
cmp al, 0x20
ja 0x140056d6e
inc rdx
movzx eax, byte [rdx]
test al, al
jne 0x140056d60
mov rcx, rsi
call fcn.1400562e0
mov rbx, rax
test rax, rax
je 0x140056efb
movzx eax, byte [rax]
test al, al
je 0x140056d9e
nop dword [rax]
cmp al, 0x20
ja 0x140056d9e
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056d90
mov dword [rbp + 0x1c], 1
movzx eax, byte [rbx]
cmp al, 0x2c
jne 0x140056eec
mov rax, qword [0x140106710]
test rax, rax
jne 0x140056dd3
lea ecx, [rax + 8]
call fcn.1400889a0
mov qword [rsp + 0x50], rax
mov qword [rax], r15
mov qword [0x140106710], rax
mov rcx, qword [rax]
mov r10, qword [rcx + 0x10]
mov r9d, 0x1fa
lea r8, str.D:Temporary_spine_viewer_versions4.1_src_spineJson.cpp
mov edx, 0x38
mov rcx, rax
cmp r10, r12
jne 0x140056dfb
call fcn.1400546c0
jmp 0x140056dfe
call r10
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140056e17
xor edx, edx
mov rcx, rax
call fcn.1400560f0
mov rdi, rax
jmp 0x140056e1a
mov rdi, r14
test rdi, rdi
je 0x140056efb
mov qword [rsi + 8], rdi
mov rsi, rdi
lea rdx, [rbx + 1]
test rdx, rdx
jne 0x140056e38
mov rdx, r14
jmp 0x140056e4e
movzx eax, byte [rdx]
test al, al
je 0x140056e4e
nop
cmp al, 0x20
ja 0x140056e4e
inc rdx
movzx eax, byte [rdx]
test al, al
jne 0x140056e40
mov rcx, rdi
call 0x1400564a0
mov rcx, rax
test rax, rax
je 0x140056efb
movzx eax, byte [rax]
test al, al
je 0x140056e7e
nop dword [rax]
cmp al, 0x20
ja 0x140056e7e
inc rcx
movzx eax, byte [rcx]
test al, al
jne 0x140056e70
mov rax, qword [rdi + 0x20]
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x20], r14
cmp byte [rcx], 0x3a
jne 0x140056d3f
lea rdx, [rcx + 1]
test rdx, rdx
jne 0x140056ea1
mov rdx, r14
jmp 0x140056eb6
movzx eax, byte [rdx]
test al, al
je 0x140056eb6
cmp al, 0x20
ja 0x140056eb6
inc rdx
movzx eax, byte [rdx]
test al, al
jne 0x140056ea8
mov rcx, rdi
call fcn.1400562e0
mov rbx, rax
test rax, rax
je 0x140056efb
movzx eax, byte [rax]
test al, al
je 0x140056ede
nop dword [rax]
cmp al, 0x20
ja 0x140056ede
inc rbx
movzx eax, byte [rbx]
test al, al
jne 0x140056ed0
inc dword [rbp + 0x1c]
movzx eax, byte [rbx]
cmp al, 0x2c
je 0x140056db0
cmp al, 0x7d
je 0x140056c5b
mov qword [0x140106718], rbx
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret