Function at 0x140028ff0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rsi, rcx
mov eax, 0x8000017c
shl eax, 1
mov ecx, 0x8000017c
shr ecx, 0x1f
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1400290d0
mov rax, rsi
add rax, 0x10
mov qword [rsp + 0x50], rax
mov eax, 0x17e00
shl eax, 0x19
mov ecx, 0x17e00
shr ecx, 7
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
call fcn.14006c8e9
mov ecx, 0x2d472a77
sub ecx, 0x2d472a77
cmp eax, ecx
jne 0x140029336
jmp 0x140029113
cmp ecx, 0x2f8
jl 0x14002948e
jmp 0x140029171
call fcn.14006c76a
xor ecx, ecx
test eax, eax
setne cl
lea rax, case.0x140029090.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140113b10]
add ecx, 0xfd6aff9
movsxd rcx, ecx
sub rax, rcx
jmp rax
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.140019d20
add rdi, 0xa0
mov qword [rsp + 0x30], rdi
jmp 0x1400294b4
jmp 0x1400290d0
call fcn.14006c689
xor ecx, ecx
shl ecx, 0xc
xor edx, edx
shr edx, 0x14
or ecx, edx
cmp eax, ecx
je 0x1400294b9
jmp 0x140029270
call fcn.14006c636
xor ecx, ecx
shr ecx, 0x18
xor edx, edx
shl edx, 8
or ecx, edx
cmp eax, ecx
jne 0x1400294df
jmp 0x1400291c1
call fcn.14006c845
xor ecx, ecx
test eax, eax
setne cl
lea rax, case.0x140029111.0
mov rax, qword [rax + rcx*8]
mov ecx, dword [0x140113b28]
rol ecx, 0x15
sub rax, rcx
jmp rax
call fcn.14006c91f
mov ecx, 0x1319a8c9
add ecx, 0xece65737
mov rdx, qword [rsi + 8]
mov qword [rsp + 0x40], rdx
mov edx, 0x740e788a
xor edx, 0x740e7a7d
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x140029210
jmp 0x140029113
mov eax, 0x11afa981
sub eax, 0x11afa681
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
call fcn.14006c709
mov ecx, 0xc680ad9b
xor ecx, 0xc680ad9b
cmp eax, ecx
je 0x1400291ca
jmp 0x14002950e
cmp qword [rsp + 0x28], 0
sete al
and al, 1
mov byte [rsp + 0x27], al
mov eax, 0xddff5082
xor eax, 0xddff5383
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
cmp ecx, 0x2fc
jl 0x140029419
jmp 0x1400291da
mov rax, qword [rsi]
mov qword [rsp + 0x48], rax
mov eax, 0x46e24b3c
sub eax, 0x46e2483d
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
mov eax, dword [rsp + 0x20]
jmp 0x1400294df
mov eax, 0x794fba84
xor eax, 0x794fb87e
mov dword [rsp + 0x20], eax
jmp 0x14002916c
cmp ecx, 0x2ff
jl 0x14002943b
jmp 0x140029255
test cl, 1
jne 0x1400290ee
jmp 0x140029067
mov eax, 0x5f6
shl eax, 0x1f
mov ecx, 0x5f6
shr ecx, 1
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
jmp 0x1400290b0
mov rax, qword [rsi]
mov qword [rsp + 0x28], rax
mov eax, 0xee66c6d9
xor eax, 0xee66c421
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
cmp ecx, 0x2fa
jl 0x140029215
jmp 0x14002942a
mov eax, 0x62352f2d
add eax, 0x9dcad3d0
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
jmp 0x1400290b0
cmp ecx, 0x300
jl 0x1400290b2
jmp 0x140029500
test al, 1
jne 0x140029158
jmp 0x14002923d
call fcn.14006c6cb
mov ecx, 0x2224f461
sub ecx, 0x2224f461
mov edx, 0x2a6532df
add edx, 0xd59ad017
mov dword [rsp + 0x20], edx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x38], rdx
cmp eax, ecx
jne 0x140029383
jmp 0x140029270
call fcn.14006c802
mov edi, eax
xor ebp, ebp
shr ebp, 8
xor eax, eax
shl eax, 0x18
or ebp, eax
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.140019d20
add rbx, 0xa0
cmp rbx, qword [rsp + 0x40]
sete al
mov qword [rsp + 0x30], rbx
cmp edi, ebp
jne 0x1400292a3
jmp 0x140029266
call fcn.14005886c
mov edx, 0xf710695a
xor edx, 0xf710695a
mov rcx, qword [rsp + 0x28]
cmp rcx, qword [rsp + 0x40]
sete cl
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x28]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
cmp eax, edx
jne 0x1400291e8
jmp 0x140029546
mov rax, qword [rsi + 8]
mov qword [rsp + 0x40], rax
mov eax, 0xbdc000
shl eax, 0x12
mov ecx, 0xbdc000
shr ecx, 0xe
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x140029051
jmp 0x1400290b0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax]
sub rdx, rcx
call fcn.140017c50
mov rcx, rsi
xor edx, edx
mov r8d, 0x18
call fcn.1400d8c10
mov eax, 0x5f60
shr eax, 5
mov ecx, 0x5f60
shl ecx, 0x1b
or eax, ecx
mov dword [rsp + 0x20], eax
jmp 0x1400290b0
cmp ecx, 0x2f9
jl 0x140029056
jmp 0x140029230
cmp ecx, 0x2fb
jl 0x1400291a6
jmp 0x1400294d6
cmp ecx, 0x2fd
jl 0x140029039
jmp 0x14002949b
call fcn.14006c8bd
mov ecx, 0x50383e0
add ecx, 0xfafc7c20
cmp eax, ecx
jne 0x140029546
jmp 0x1400292f8
cmp ecx, 0x2f7
je 0x140029449
jmp 0x1400293be
call fcn.14006c7db
xor ecx, ecx
shl ecx, 2
xor edx, edx
shr edx, 0x1e
or ecx, edx
cmp eax, ecx
je 0x140029092
jmp 0x1400292a3
mov eax, 0x464a71dc
xor eax, 0x464a732a
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
jmp 0x1400290cb
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
ret
call fcn.14006c661
mov edx, 0x6e9aa448
add edx, 0x91655bb8
mov ecx, dword [rsp + 0x20]
cmp eax, edx
jne 0x1400291c1
jmp 0x140029198
cmp ecx, 0x301
jl 0x140029015
jmp 0x140029536
call fcn.14006c732
mov ecx, 0x3cc4e510
add ecx, 0xc33b1af0
mov edx, 0xa8c06ee0
xor edx, 0xa8c06c1a
mov dword [rsp + 0x20], edx
cmp eax, ecx
jne 0x14002950e
jmp 0x140029250
test byte [rsp + 0x27], 1
jne 0x1400291f6
jmp 0x140029145
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
jmp 0x1400292f8
cmp eax, 0x3106e9c1
rol byte [rcx + 0x1ebeff9], 0xac
setne al
ret
int 0x27
mov ecx, 0x2bd69c39
xor edx, edx
div ecx
xor eax, 0xd52c5c11
xor ecx, ecx
cmp eax, 0x98e9bf92
setb cl
mov eax, ecx
ret
or ecx, dword [rcx]
enter 0xffffffffffffe0c1, 0x12
mov ecx, 0xab7085cb
xor edx, edx
div ecx
xor ecx, ecx
cmp eax, 0x9201e743
setb cl
mov eax, ecx
ret
invalid