Function at 0x1401e43d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov qword [rbp], 0xfffffffffffffffe
mov eax, dword [0x1405a9da0]
mov ecx, dword [0x1405ad230]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x1401e44b0
call fcn.14009abe0
mov rsi, rax
movzx eax, byte [0x1405a9db8]
movzx ecx, byte [0x14054db00]
lea edx, [rcx + 0x12]
xor dl, al
not al
and al, 0xfe
or al, dl
lea edx, [rcx + 0x10]
mov r8b, 0xef
sub r8b, cl
and r8b, al
not al
and al, dl
or r8b, al
je 0x1401e4480
call fcn.14009abe0
mov rcx, qword [0x1405a9da8]
sub rcx, qword [0x14054daf8]
sub rcx, rax
movabs rax, 0xc3bee2612da96958
add rax, rcx
movabs rcx, 0xa25f25887dfe1e6
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rcx, [rdx + rax*2]
jmp 0x1401e4482
xor ecx, ecx
add rcx, rsi
mov rdx, qword [0x14054daf8]
sub rdx, qword [0x1405a9db0]
movabs rax, 0x321b2b464a76b4c2
add rax, rcx
add rax, rdx
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov dword [rsp + 0x20], 0xb3ab4e8
lea rdx, [0x1405a9da0]
mov ecx, 1
mov r8d, 0xc0614483
mov r9d, 0x109660b3
call fcn.1401e5a40
cmp dword [0x1405a9da0], 0xffffffff
jne 0x1401e440e
lea rcx, [0x1405a9d70]
call fcn.140267a10
cmp dword [0x14054db04], 0xebbf0165
jne 0x1401e4516
movsxd rdi, dword [0x14046a010]
mov eax, dword [0x1405a9dcc]
mov ecx, 0x1440fedd
add ecx, dword [0x14054db04]
cmp eax, ecx
jl 0x1401e451e
mov eax, dword [0x14046a010]
jmp 0x1401e44fa
cmp dword [0x14054db04], 0xebbf0165
jne 0x1401e4535
mov eax, dword [0x1405a9dcc]
cmp eax, 0x2b
jl 0x1401e4542
mov eax, dword [0x1405a9dcc]
cmp eax, 0x34
jge 0x1401e4535
jmp 0x1401e452a
mov esi, dword [0x14046a014]
xorps xmm0, xmm0
movups xmmword [0x1405a9d88], xmm0
mov qword [0x1405a9d98], 0
call fcn.14009abe0
movabs rcx, 0x1a51b0699abe5029
add rdi, rcx
lea rcx, [0x14046a010]
xor rdi, rcx
mov rdx, rdi
not rdx
and rdx, rcx
lea rcx, [rdi + rdx*2]
movabs r8, 0xe5ae4f966541afd7
add r8, rcx
mov qword [0x1405a9da8], rax
mov eax, dword [0x1405a9dc8]
mov edi, dword [0x14054d930]
mov eax, dword [0x1405a9dcc]
mov ecx, dword [0x14054db04]
mov edx, ecx
xor edx, 0x1440fef9
and ecx, 0x1440fef9
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x1401e45a0
mov edx, 0x1440fec5
lea ebx, [rdi + 1]
mov r9d, 0x1440fe9b
lea r10d, [rdi + rdi]
lea ecx, [r10 + rdi*2]
mov eax, 1
sub eax, ecx
mov ecx, dword [0x1405a9dcc]
mov r11d, dword [0x14054db04]
add r11d, edx
cmp ecx, r11d
jge 0x1401e461f
mov dword [0x14054d930], ebx
mov ecx, dword [0x1405a9dc8]
lea r11d, [rcx - 1]
imul r11d, ecx
and r11d, 1
mov ecx, dword [0x14054db04]
add ecx, r9d
cmp r11d, ecx
je 0x1401e464f
mov r11d, r10d
mov ecx, eax
shl r11d, cl
shl r11d, cl
mov ecx, r11d
sub ecx, eax
imul ecx, eax
mov r14d, r11d
shl r14d, cl
add r14d, r11d
mov dword [0x14054d930], r14d
mov ecx, dword [0x1405a9dcc]
cmp ecx, 0x29
jge 0x1401e45e4
jmp 0x1401e45f9
xor r14d, r14d
mov r15d, 0
test edi, ebx
jne 0x1401e46af
mov eax, dword [0x1405a9dc8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e468c
mov ecx, dword [0x1405a9dc8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x1440fe9d
add ecx, dword [0x14054db04]
xor edx, edx
div ecx
test edx, edx
je 0x1401e4699
mov eax, dword [0x1405a9dcc]
cmp eax, 0x17
jge 0x1401e468c
jmp 0x1401e466d
xor eax, eax
mov r14d, 0
mov r15d, 0
test esi, esi
jg 0x1401e480c
mov qword [rbp - 8], 0xf
mov qword [rbp - 0x10], 0xc
mov dword [rsp + 0x20], 0x9f7bbdbe
mov ecx, 1
mov edx, 1
mov r8d, 0xd33c338e
mov r9d, 0xd3b1aad9
call fcn.1401e5790
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov eax, dword [rax + 8]
mov dword [rbp - 0x18], eax
mov byte [rbp - 0x14], 0
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x20]
call fcn.140269f00
lea rcx, [0x1405a9d70]
lea rsi, [rbp - 0x38]
mov rdx, rsi
mov r8d, 0x55db1de0
call fcn.1401e5120
mov rcx, rsi
call fcn.1400a82e0
mov rax, qword [rbp - 8]
movabs rcx, 0x321b2b464a76b4d1
add rcx, qword [0x14054daf8]
cmp rax, rcx
jbe 0x1401e4790
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + rax]
sub rdx, rax
inc rdx
movabs r8, 0x321b2b464a76c4c1
add r8, qword [0x14054daf8]
cmp rdx, r8
jbe 0x1401e478b
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401e489a
sub rax, qword [0x14054daf8]
movabs rdx, 0xcde4d4b9b5894b66
add rdx, rax
mov rcx, r8
call fcn.1400a82c0
lea rcx, [0x1405a9d70]
call fcn.140267b30
test al, al
je 0x1401e4b15
lea rcx, [0x1405a9d70]
call fcn.140267b20
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov ecx, 1
xor edx, edx
mov r8d, 0xe7e8c8eb
mov r9d, 0x3635ca4e
call fcn.1401e53e0
lea rcx, [rbp - 0x20]
mov edx, 0x26
mov r9, rax
call fcn.14008a200
lea rcx, [0x1405a9d70]
lea rdx, [rbp - 0x20]
call fcn.140269d50
mov cl, 1
test cl, cl
jne 0x1401e489f
jmp 0x1401e48c2
xor r14d, r14d
xor r15d, r15d
jmp 0x1401e4849
not r15
not r14
mov r9, r14
and r9, rdx
not rdx
mov r10, r15
and r10, rcx
not rcx
xor r15, rcx
xor r14, rdx
and r14, rdx
or r14, r9
and r15, rcx
or r15, r10
add eax, 0x10
cmp eax, esi
jge 0x1401e46af
movsxd rcx, eax
mov edx, dword [0x1405a9dcc]
cmp edx, 9
jg 0x1401e484c
add rcx, r8
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov r9d, dword [0x1405a9dc8]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x1401e488b
mov r9d, dword [0x1405a9dc8]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1401e4814
mov r9d, dword [0x1405a9dcc]
cmp r9d, 0x12
jge 0x1401e488b
jmp 0x1401e4876
call fcn.1403fe3cc
mov rcx, qword [0x14046a020]
mov rdx, qword [0x14046a018]
mov r8d, dword [0x1405a9dc8]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1401e48d2
mov rcx, qword [0x14046a020]
mov rcx, qword [0x14046a018]
jmp 0x1401e489f
xor r8d, r8d
lea r9, [fcn.1401e43d0]
add r9d, r9d
add r9d, 0x27a0
mov r10d, dword [0x1405a9dc8]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
jne 0x1401e4900
test r8b, r8b
je 0x1401e491f
mov r10d, dword [0x14054db04]
lea r11d, [r10 + 0x1440fe9c]
and r11d, r9d
add r10d, 0x1440fe9b
cmp r11d, r10d
jne 0x1401e48e6
jmp 0x1401e48fb
xor r8d, r8d
test edi, ebx
setne r8b
lea r10, [r8 + r8*2]
not r10
shl r8, 2
xor r9d, r9d
add r8, r10
adc r9, 0xffffffffffffffff
sub rdx, r14
sbb rcx, r15
mov r10d, dword [0x1405a9dc8]
lea r11d, [r10 + 1]
imul r11d, r10d
test r11b, 1
jne 0x1401e4965
mov r10d, dword [0x1405a9dcc]
cmp r10d, 0x5a
jl 0x1401e4974
mov r10d, dword [0x1405a9dcc]
cmp r10d, 0x52
jge 0x1401e4965
jmp 0x1401e4958
xor rcx, r9
xor rdx, r8
not rdx
not rcx
and rdx, r8
and rcx, r9
or rcx, rdx
setne cl
or cl, byte [0x1405a9c28]
and cl, 1
mov byte [0x1405a9c28], cl
mov qword [0x1405a9d88], rax
mov rax, qword [rbp - 8]
cmp rax, 0xf
jbe 0x1401e4a1b
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + rax]
sub rdx, rax
inc rdx
cmp rdx, 0x1000
jb 0x1401e4a16
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
movabs rdx, 0xd24971d2a992722
mov r9, rcx
xor r9, rdx
and rcx, rdx
lea rcx, [r9 + rcx*2]
sub rcx, r8
movabs rdx, 0xf2db68e2d566d8de
add rdx, rcx
movabs rcx, 0x321b2b464a76b4e2
add rcx, qword [0x14054daf8]
cmp rdx, rcx
jae 0x1401e4bf0
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a82c0
mov qword [rbp - 0x10], 0
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
xor ecx, ecx
xor edx, edx
mov r8d, 0x330cf17f
mov r9d, 0xc0614483
call fcn.1401e51b0
lea rcx, [rbp - 0x20]
mov edx, 0x28
mov r9, rax
call fcn.14008a200
lea rcx, [0x1405a9d70]
lea rdx, [rbp - 0x20]
call fcn.140269d50
mov qword [0x1405a9d90], rax
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x1401e4aed
mov rcx, qword [rbp - 0x20]
mov edx, eax
not edx
and edx, 1
mov r8, rax
and r8, 0xfffffffffffffffe
or r8, rdx
mov r9d, eax
and r9d, 1
mov r10, qword [0x14054daf8]
movabs rdx, 0x321b2b464a76b4c4
mov r11, r10
xor r11, rdx
and rdx, r10
lea rdx, [r11 + rdx*2]
imul rdx, r9
add rdx, r8
movabs r8, 0x321b2b464a76c4c1
add r8, r10
cmp rdx, r8
jbe 0x1401e4ae8
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1401e4bf5
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a82c0
lea rax, [0x140445360]
cmp qword [0x1405a9d88], rax
sete al
movzx ecx, byte [0x1405a9c28]
test cl, al
jne 0x1401e4ba7
xor cl, al
jne 0x1401e4ba7
mov rax, qword [0x1405a9d88]
test rax, rax
je 0x1401e4b63
cmp qword [0x1405a9d90], 0
je 0x1401e4b63
lea rcx, [0x1401e4fa0]
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0
lea r8, [0x1405a9d98]
lea rdx, [rbp - 0x20]
mov ecx, 2
call qword [case.0x14013008b.0]
test eax, eax
je 0x1401e4b63
mov qword [0x1405a9d90], 0
lea rcx, [0x1401e4f30]
mov edx, 0x109660b3
mov r8d, 0x88f1c7c8
mov r9d, 0x6a1ba81c
call fcn.1400a9450
mov dword [rsp + 0x20], 0xb3ab4e8
lea rdx, [0x1405a9da0]
xor ecx, ecx
mov r8d, 0xc0614483
mov r9d, 0x109660b3
call fcn.1401e5a40
jmp 0x1401e440e
lea rax, [0x140463328]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
lea rax, [0x1404639f8]
mov qword [rbp - 0x38], rax
mov byte [rbp - 0x30], 1
lea rcx, [rbp - 0x38]
call fcn.140446c6c
lea rax, [0x1404639c8]
mov qword [rbp - 0x20], rax
lea rdx, [0x1404be790]
lea rcx, [rbp - 0x20]
call fcn.140446bcc
call fcn.1403fe3cc
call fcn.1403fe3cc
int3