Function at 0x10002868
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x28
cmp byte [rcx], 0
mov rbp, rcx
mov esi, 0xb30a3572
je 0x10002c15
lea rcx, str.4015
call fcn.1002bb20
movzx edi, word [rbp]
lea rcx, str.2853
sub di, ax
call fcn.1002bb20
lea rcx, str.2086
sub di, ax
call fcn.1002bb20
lea rcx, str.2744
sub di, ax
call fcn.1002bb20
lea rcx, str.1759
sub di, ax
call fcn.1002bb20
lea rcx, str.4510
sub di, ax
call fcn.1002bb20
lea rcx, str.2013
sub di, ax
call fcn.1002bb20
lea rcx, str.3199
sub di, ax
call fcn.1002bb20
lea rcx, str.2175
sub di, ax
call fcn.1002bb20
lea rcx, str.2189
sub di, ax
call fcn.1002bb20
lea rcx, str.1822
sub di, ax
call fcn.1002bb20
lea rcx, str.2224
sub di, ax
call fcn.1002bb20
lea rcx, str.4059
sub di, ax
call fcn.1002bb20
lea rcx, str.2940
sub di, ax
call fcn.1002bb20
lea rcx, str.2358
sub di, ax
call fcn.1002bb20
lea rcx, str.4129
sub di, ax
call fcn.1002bb20
lea rcx, str.1152
sub di, ax
call fcn.1002bb20
lea rcx, str.3237
lea ebx, [rdi + rax]
call fcn.1002bb20
lea rcx, str.2179
add ebx, eax
call fcn.1002bb20
lea rcx, str.4358
add ebx, eax
call fcn.1002bb20
lea rcx, str.3966
add ebx, eax
call fcn.1002bb20
lea rcx, str.3163
add ebx, eax
call fcn.1002bb20
lea rcx, str.4259
add ebx, eax
call fcn.1002bb20
lea rcx, str.2955
add ebx, eax
call fcn.1002bb20
lea rcx, str.1700
add ebx, eax
call fcn.1002bb20
lea rcx, str.2375
add ebx, eax
call fcn.1002bb20
lea rcx, str.2585
add ebx, eax
call fcn.1002bb20
lea rcx, str.3688
add ebx, eax
call fcn.1002bb20
lea rcx, str.4223
add ebx, eax
call fcn.1002bb20
lea rcx, str.2153
add ebx, eax
call fcn.1002bb20
lea rcx, str.3082
add ebx, eax
call fcn.1002bb20
lea rcx, str.3082
add ebx, eax
add rbp, 1
call fcn.1002bb20
movzx ebx, bx
lea rcx, str.2153
sub ebx, eax
mov eax, esi
ror eax, 8
add ebx, eax
call fcn.1002bb20
lea rcx, str.4223
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3688
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2585
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2375
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1700
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2955
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4259
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3163
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3966
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4358
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2179
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3237
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1152
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4129
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2358
add ebx, eax
call fcn.1002bb20
lea rcx, str.2940
add ebx, eax
call fcn.1002bb20
lea rcx, str.4059
add ebx, eax
call fcn.1002bb20
lea rcx, str.2224
add ebx, eax
call fcn.1002bb20
lea rcx, str.1822
add ebx, eax
call fcn.1002bb20
add ebx, eax
lea rcx, str.2189
call fcn.1002bb20
lea rcx, str.2175
add ebx, eax
call fcn.1002bb20
lea rcx, str.3199
add ebx, eax
call fcn.1002bb20
lea rcx, str.2013
add ebx, eax
call fcn.1002bb20
lea rcx, str.4510
add ebx, eax
call fcn.1002bb20
lea rcx, str.1759
add ebx, eax
call fcn.1002bb20
lea rcx, str.2744
add ebx, eax
call fcn.1002bb20
lea rcx, str.2086
add ebx, eax
call fcn.1002bb20
lea rcx, str.2853
add ebx, eax
call fcn.1002bb20
lea rcx, str.4015
add ebx, eax
call fcn.1002bb20
add eax, ebx
xor esi, eax
cmp byte [rbp], 0
jne 0x10002882
mov eax, esi
add rsp, 0x28
pop rdi
pop rsi
pop rbp
pop rbx
ret