Function at 0x1400aeee0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b0], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400aef31
mov byte [rsi], 0
mov edx, dword [rdi + 0x120]
mov eax, dword [0x1405a9694]
cmp eax, 0x17
jl 0x1400aef36
mov byte [rsi], 0
jmp 0x1400aef1d
mov cl, 1
test dl, 2
jne 0x1400b037b
lea r12, [rdi + 0x120]
mov r8d, edx
not r8d
mov eax, edx
xor eax, 2
mov r9d, r8d
and r9d, 0xfffffffd
or r9d, eax
not r9d
mov r10d, 0x2ea84cf
lea eax, [rdx*4]
sub eax, edx
mov r11d, edx
sub r11d, eax
imul r11d, eax
xor r11d, edx
nop dword [rax]
mov eax, dword [0x1405a9694]
cmp eax, 0x31
jg 0x1400aefbd
mov eax, dword [0x140537b00]
add eax, r10d
mov ecx, r8d
xor ecx, edx
and ecx, eax
xor ecx, edx
or ecx, r9d
mov dword [rdi + 0x120], ecx
mov eax, dword [rdi + 0x1a4]
mov ecx, dword [0x1405a9690]
lea ebx, [rcx - 1]
imul ebx, ecx
test bl, 1
je 0x1400af021
mov ecx, edx
sub ecx, dword [0x140537b00]
add cl, cl
add cl, 0x62
mov eax, edx
shl eax, cl
mov ebx, edx
mov ecx, eax
shl ebx, cl
mov r14d, edx
sub r14d, ebx
imul r14d, ebx
sub r14d, edx
and r14d, edx
mov ecx, r11d
sub ecx, r14d
sub ecx, r14d
sub r14d, ecx
imul r14d, ecx
mov eax, r14d
shl eax, cl
mov ecx, eax
shl r14d, cl
mov ebx, r14d
shl ebx, cl
or ebx, r14d
mov dword [rdi + 0x120], ebx
cmp dword [0x140537b00], 0xfd157b33
jne 0x1400aef80
jmp 0x1400aef8b
lea ecx, [rax + 0xcb]
mov r8d, dword [0x1405a9694]
cmp r8d, 0x1e
jge 0x1400af048
mov r14, qword [0x14052cc00]
mov r8d, dword [0x1405a9694]
cmp r8d, 0x47
jl 0x1400af051
mov r8, qword [0x14052cc00]
jmp 0x1400af034
mov r8b, 1
nop word cs:[rax + rax]
movsxd r15, dword [r14]
test r8b, r8b
jne 0x1400af082
nop dword [rax + rax]
mov r9d, dword [r14]
mov r9d, dword [0x1405a9694]
cmp r9d, 0x4f
jge 0x1400af070
jmp 0x1400af060
movabs rbx, 0xc30fae27f90b632d
add rbx, qword [0x140537b08]
mov r8d, dword [0x1404650ac]
mov dword [rbp + 0x18c], r8d
mov dword [rdi + 0x1a4], ecx
mov rcx, qword [rdi + 0x110]
cmp dword [rcx + 8], 0
jne 0x1400af0c9
cmp qword [rcx + 8], 0
jne 0x1400af0c9
and edx, 0xfffffffd
mov dword [r12], edx
xor ecx, ecx
jmp 0x1400b037b
mov qword [rbp + 0x198], r12
add eax, 0xcc
mov dword [rdi + 0x1a4], eax
lea rax, [0x140465328]
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], 0
mov word [rbp + 0x16c], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov dword [rbp + 0x180], 0
mov rcx, qword [rdi + 0x108]
mov eax, dword [rdi + 0x160]
mov r10d, eax
shr r10d, 0xe
and r10d, 1
mov r11d, eax
xor r11d, 0xefffffff
mov r13d, dword [rdi + 0x178]
mov r12d, dword [rdi + 0x16c]
mov r9d, dword [rdi + 0x168]
mov r8d, dword [rdi + 0x11c]
mov edx, dword [rdi + 0x118]
test r11d, eax
setne byte [rsp + 0x30]
lea rax, [rbp + 0x160]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r12d
mov byte [rsp + 0x38], r10b
mov dword [rsp + 0x58], 0x7308e96c
mov dword [rsp + 0x50], 0x9beb3aa6
mov dword [rsp + 0x48], 0xec2b097b
call fcn.140115310
test eax, eax
je 0x1400af1b9
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov r10, qword [rbp + 0x198]
jne 0x1400afa0b
jmp 0x1400af9c7
mov r13, r14
xor r13, r14
not r13
and r13, r15
xor r13, r14
and r15, r14
imul rbx, r15
movzx eax, byte [0x140537b10]
add al, 0x58
cmp byte [rbp + 0x16a], 0
movzx ecx, byte [rbp + 0x16b]
movzx edx, byte [rbp + 0x16c]
jne 0x1400af1f7
cmp cl, al
jne 0x1400af1f7
test dl, dl
je 0x1400af1fe
or byte [rdi + 0x162], 0x20
add r13, rbx
mov r12, qword [rbp + 0x198]
nop dword [rax + rax]
mov r8d, dword [0x1405a9690]
lea r9d, [r8 + 1]
imul r9d, r8d
test r9b, 1
jne 0x1400af254
mov r8d, dword [rdi + 0x1a4]
lea r9d, [r8 + 1]
mov dword [rdi + 0x1a4], r9d
movzx r9d, byte [rbp + 0x168]
mov r10d, dword [0x1405a9690]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
je 0x1400af275
mov dword [rdi + 0x1a4], 0
mov r8d, dword [0x1405a9690]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1400af210
jmp 0x1400af225
test r9b, r9b
je 0x1400af361
test byte [rdi + 0x161], 0x40
je 0x1400af54a
cmp byte [rbp + 0x169], 0
je 0x1400af54a
lea rbx, [rbp - 0x10]
lea r12, [0x1404639f8]
mov r13d, 0x2ea8509
nop dword [rax]
movzx edx, word [0x1405a92cc]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
mov r14, rax
test rax, rax
cmove r14, r12
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rcx, r14
mov edx, 0x79466bed
mov r8d, 0xd2426b83
mov r9d, 0x5eef3b06
call fcn.1400ac220
mov r15, rax
mov eax, dword [0x1405a9694]
mov ecx, dword [0x140537b00]
add ecx, r13d
cmp eax, ecx
jl 0x1400af673
movzx edx, word [0x1405a92cc]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
mov qword [rbp], 0
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov eax, dword [0x1405a9694]
cmp eax, 0x23
jmp 0x1400af2b0
add r8d, 2
mov dword [rdi + 0x1a4], r8d
mov eax, dword [rdi + 0x160]
mov ecx, eax
xor ecx, 0x4000
and ecx, eax
mov dword [rdi + 0x160], ecx
inc dword [rdi + 0x1a4]
mov ecx, dword [rdi + 0x160]
mov eax, dword [0x140537b00]
mov edx, eax
xor edx, 0x2ea84cc
and eax, 0x2ea84cc
lea eax, [rdx + rax*2]
xor eax, ecx
not eax
and eax, 0xf7ffffff
mov dword [rdi + 0x160], eax
movsxd rbx, dword [rbp + 0x174]
mov eax, dword [rbp + 0x178]
mov r8d, 0x2ebd64d
add r8d, dword [0x140537b00]
cdq
idiv r8d
mov r10d, eax
cmp byte [rbp + 0x168], 0
mov dword [rbp + 0x1ac], eax
je 0x1400af714
mov eax, dword [0x140537b00]
lea edx, [rax + 0x2fa84cd]
add eax, 0x2ea84cc
xor eax, edx
xor eax, ecx
test eax, ecx
je 0x1400af714
cmp byte [rbp + 0x16c], 0
je 0x1400af714
cmp byte [rbp + 0x16d], 0
jne 0x1400af714
movsxd rax, r10d
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a9306]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
lea r14, [rbp - 0x18]
mov rcx, r14
mov rdx, rax
call fcn.1400ad430
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0xa1857f5c
call fcn.1401138d0
lea r15, [rbp + 0x130]
mov rcx, r15
mov rdx, rax
call fcn.1400ad430
mov edx, dword [rdi + 0x118]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a8
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140121200
lea r14, [rbp + 0x130]
lea r15, [rbp - 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x1405a9694]
cmp eax, 0x48
jg 0x1400af52d
mov rcx, r14
call fcn.1400716d0
mov rcx, r15
call fcn.1400716d0
cmp dword [rbp + 0x110], 2
sete al
or al, byte [0x1405a96a8]
mov ecx, dword [0x1405a9690]
mov edx, dword [0x140537b00]
neg edx
add edx, ecx
add edx, 0xfd157b32
imul edx, ecx
test dl, 1
je 0x1400af6c9
mov rcx, r14
call fcn.1400716d0
mov rcx, r15
call fcn.1400716d0
mov eax, dword [0x1405a9694]
cmp eax, 0xd
jge 0x1400af4e0
jmp 0x1400af4eb
add r8d, 2
mov dword [rdi + 0x1a4], r8d
mov r8d, dword [rdi + 0x160]
mov r9d, 0x2ea44cc
add r9d, dword [0x140537b00]
and r9d, r8d
mov dword [rdi + 0x160], r9d
mov r9d, 0xaea84cd
add r9d, dword [0x140537b00]
xor cl, al
or cl, dl
sete al
test r8d, r9d
je 0x1400af382
test al, al
jne 0x1400af382
mov qword [rbp + 0x1a0], r13
lea rbx, [rbp - 0x18]
mov r12d, 0x88888889
mov r15d, 0x2ea84cf
mov r13d, 0x2ea84ce
lea rax, [fcn.1400aeee0]
lea r14d, [rax + rax]
add r14d, 0x3700
nop word [rax + rax]
mov eax, dword [0x1405a9694]
cmp eax, 0x13
jg 0x1400af643
mov rcx, rbx
mov edx, 0x5189cc3f
mov r8d, 0x403a8fae
mov r9d, 0x8e6af832
call fcn.140115470
mov ecx, dword [rbp - 0x18]
imul rcx, r12
shr rcx, 0x25
sub ecx, dword [rbp + 0x180]
mov dword [rbp + 0xe8], ecx
mov eax, dword [rdi + 0x170]
cmp eax, 0xffffffff
setne r8b
neg eax
cmp ecx, eax
setl r9b
mov edx, dword [0x1405a9690]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140537b00]
add r10d, r15d
xor edx, edx
div r10d
test edx, edx
je 0x1400af8f3
mov rcx, rbx
mov edx, 0x5189cc3f
mov r8d, 0x403a8fae
mov r9d, 0x8e6af832
call fcn.140115470
mov eax, dword [0x140537b00]
add eax, r13d
test r14d, eax
jne 0x1400af5d0
jmp 0x1400af5db
cmp r15, 0xf
jbe 0x1400af99f
mov eax, 0x2ea84ce
add eax, dword [0x140537b00]
lea rcx, [fcn.1400aeee0]
add ecx, ecx
add ecx, 0xb60
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
cmp ecx, 0xffffffff
je 0x1400af6b6
mov rcx, rbx
mov rdx, r15
mov r9, r14
call fcn.14008a200
mov rcx, rbx
mov rdx, r15
mov r9, r14
call fcn.14008a200
jmp 0x1400afa78
test al, 1
jne 0x1400afb30
cmp dword [0x140537b00], 0xfd157b33
mov r10d, dword [rbp + 0x1ac]
nop word cs:[rax + rax]
or byte [r12 + 1], 8
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x2ea84cd
add eax, dword [0x140537b00]
cmp ecx, eax
jne 0x1400af6f0
add dword [rdi + 0x1a4], 0xffffff31
mov ecx, dword [rdi + 0x18c]
test ecx, ecx
sete al
movzx edx, byte [0x1405a96b0]
test dl, al
jne 0x1400af8a0
xor dl, al
jne 0x1400af8a0
cmp byte [rbp + 0x16a], 0
je 0x1400af8a0
mov eax, dword [rbp + 0x170]
test eax, eax
je 0x1400af8a0
cmp eax, ecx
jae 0x1400af8a0
mov ecx, dword [0x1405a9694]
mov edx, 0x2ea8520
add edx, dword [0x140537b00]
cmp ecx, edx
nop word cs:[rax + rax]
lea rcx, [fcn.1400aeee0]
add ecx, ecx
add ecx, 0x4640
mov edx, ecx
not edx
test edx, ecx
jne 0x1400af780
mov ecx, dword [r12]
mov edx, dword [0x140537b00]
lea r8d, [rdx + 0x2ea88cd]
add edx, 0x2ea84cc
xor r8d, edx
not r8d
or r8d, ecx
xor ecx, 0x400
not r8d
or r8d, ecx
xor r8d, edx
jne 0x1400af8a0
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a9300]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
lea r14, [rbp - 0x18]
mov rcx, r14
mov rdx, rax
call fcn.1400ad430
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0xa1857f5c
call fcn.1401138d0
lea r15, [rbp + 0x130]
mov rcx, r15
mov rdx, rax
call fcn.1400ad430
mov edx, dword [rdi + 0x118]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a2
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140121200
lea rcx, [rbp + 0x130]
call fcn.1400716d0
lea rcx, [rbp - 0x18]
call fcn.1400716d0
cmp dword [rbp + 0x110], 2
mov r10d, dword [rbp + 0x1ac]
je 0x1400afb30
or byte [r12 + 1], 4
imul r9, rbx, 0xffffffffc22e4507
shr r9, 0x20
add r9d, ebx
mov eax, r9d
shr eax, 0x1f
sar r9d, 0x10
add r9d, eax
xor eax, eax
cmp byte [rbp + 0x16b], 0
je 0x1400af8d9
cmp dword [rbp + 0x174], 0
js 0x1400af8d9
cmp r9d, dword [rdi + 0x188]
setle al
mov dword [rbp + 0x15c], eax
mov eax, dword [0x1405a9694]
cmp eax, 0x58
jg 0x1400afbb0
jmp 0x1400afb6e
and r8b, r9b
jne 0x1400af90f
mov eax, dword [rdi + 0x174]
cmp eax, 0xffffffff
je 0x1400af9b4
cmp ecx, eax
jle 0x1400af9b4
movzx edx, word [0x1405a92ce]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
mov rcx, rbx
mov rdx, rax
call fcn.1400ad430
mov eax, 0x408
add rax, qword [rdi + 0x108]
mov edx, dword [rdi + 0x118]
lea rcx, [rbp + 0xe8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x30], 0x186a9
lea rcx, [rbp + 0x130]
xor r8d, r8d
mov r9d, 4
call fcn.140121200
mov eax, dword [0x1405a9694]
cmp eax, 0x4b
jle 0x1400afb3d
jmp 0x1400afb60
cmp dword [0x140537b00], 0xfd157b33
je 0x1400afa35
jmp 0x1400afa5e
mov r12, qword [rbp + 0x198]
mov r13, qword [rbp + 0x1a0]
jmp 0x1400af382
and byte [r10], 0xfd
mov ecx, dword [0x1405a9690]
lea eax, [rcx - 1]
imul eax, ecx
mov r8d, dword [0x140537b00]
mov ecx, r8d
xor ecx, 0x2ea84cf
mov edx, r8d
and edx, 0x2ea84cf
lea r9d, [rcx + rdx*2]
xor ecx, ecx
xor edx, edx
div r9d
add r8d, 0x2ea84cd
cmp edx, r8d
je 0x1400b037b
mov eax, dword [r10]
mov ecx, 0xfffffffd
sub ecx, eax
mov edx, ecx
sub edx, eax
imul edx, eax
mov eax, ecx
sub eax, edx
imul eax, edx
mov edx, ecx
sub edx, eax
imul edx, eax
xor edx, ecx
not edx
and edx, ecx
mov dword [r10], edx
jmp 0x1400af9c7
mov qword [rbp], r15
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140446180
mov byte [rbp + r15 - 0x10], 0
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1400afa78
mov qword [rbp], r15
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140446180
mov byte [rbp + r15 - 0x10], 0
jmp 0x1400afa35
lea rax, [0x140463118]
mov qword [rbp - 0x18], rax
mov eax, 0x408
add rax, qword [rdi + 0x108]
mov edx, dword [rdi + 0x118]
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x186a6
lea rcx, [rbp + 0x130]
xor r8d, r8d
mov r9d, 4
call fcn.140121200
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x1400afb30
mov rcx, qword [rbp - 0x10]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400afb2b
mov r8, qword [rcx - 8]
mov rdx, qword [0x140537b08]
add rcx, rdx
sub rcx, r8
movabs r9, 0xc30fae27f90b6323
add r9, rcx
movabs rcx, 0xc30fae27f90b634b
add rcx, rdx
cmp r9, rcx
jae 0x1400afb38
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a82c0
mov byte [rsi], 1
jmp 0x1400af0c2
call fcn.1403fe3cc
lea rcx, [rbp - 0x18]
call fcn.1400716d0
movzx eax, byte [0x140537b10]
add al, 0x59
mov byte [rsi], al
mov eax, dword [0x1405a9694]
cmp eax, 0x1f
jl 0x1400af0c2
lea rcx, [rbp - 0x18]
call fcn.1400716d0
mov byte [rsi], 1
jmp 0x1400afb3d
cmp byte [rbp + 0x16c], 0
setne cl
cmp dword [rbp + 0x178], 0
setns r8b
mov edx, dword [0x1405a9690]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, 0x2ea84cf
add r11d, dword [0x140537b00]
xor edx, edx
div r11d
test edx, edx
je 0x1400afbc3
nop word cs:[rax + rax]
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400afbb0
jmp 0x1400afb6e
and cl, r8b
je 0x1400afbda
cmp r10d, dword [rdi + 0x188]
setle al
mov dword [rbp + 0x1a0], eax
jmp 0x1400afbe4
mov dword [rbp + 0x1a0], 0
mov ebx, dword [0x14052cbf8]
lea r14d, [rbx + 1]
mov r11d, 0x2ea84cf
mov r15d, 1
sub r15d, ebx
lea r8d, [r15 + r15]
sub r8d, r15d
nop word cs:[rax + rax]
mov dword [0x14052cbf8], r14d
mov ecx, dword [0x1405a9690]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140537b00]
add ecx, r11d
xor edx, edx
div ecx
test edx, edx
je 0x1400afc54
mov eax, r15d
mov ecx, r8d
shl eax, cl
mov edx, r15d
mov ecx, eax
shl edx, cl
mov eax, r15d
mov ecx, edx
shl eax, cl
add eax, edx
mov dword [0x14052cbf8], eax
jmp 0x1400afc10
test ebx, r14d
je 0x1400afc5d
xor eax, eax
jmp 0x1400afc71
xor ecx, ecx
mov eax, 0
cmp dword [rbp + 0x18c], 0
jg 0x1400afd81
cmp dword [rdi + 0x188], 0
mov r11d, dword [rbp + 0x15c]
je 0x1400b01a6
mov ecx, r11d
or cl, byte [rbp + 0x1a0]
je 0x1400b01a6
mov r15d, 0x200
and r15d, dword [r12]
xor ecx, ecx
test cl, cl
jne 0x1400afcc7
test ebx, r14d
setne dl
movzx r13d, byte [0x1404650a8]
mov r8d, dword [0x1405a9690]
lea r10d, [r8 - 1]
imul r10d, r8d
test r10b, 1
je 0x1400afcdb
movzx edx, byte [0x1404650a8]
mov edx, dword [0x1405a9694]
cmp edx, 0x54
jge 0x1400afca0
jmp 0x1400afca4
dec dl
sub r13b, al
mov eax, dword [0x1405a9694]
mov ecx, 0x2ea84f8
add ecx, dword [0x140537b00]
cmp eax, ecx
jl 0x1400afd37
mov eax, r13d
mov ecx, edx
shl al, cl
sub cl, al
shl al, cl
mov r8d, eax
shl r8b, cl
sub r8b, al
and r8b, al
movzx eax, byte [0x1405a96a8]
cmp r8b, 1
mov ecx, eax
adc cl, 0xff
add al, cl
mul cl
mov r8d, eax
lea r10d, [r8 + rcx]
mov eax, ecx
mul r10b
or al, r8b
and al, 1
mov byte [0x1405a96a8], al
mov eax, r13d
not al
xor r13b, dl
not dl
and dl, al
or dl, r13b
cmp dl, 0xff
setne al
or al, byte [0x1405a96a8]
and al, 1
mov byte [0x1405a96a8], al
mov eax, dword [0x1405a9690]
mov ecx, dword [0x140537b00]
neg ecx
add ecx, eax
add ecx, 0xfd157b32
imul ecx, eax
test cl, 1
jne 0x1400aff31
jmp 0x1400aff12
mov edx, 0x2ea84cd
xor r15d, r15d
xor eax, eax
jmp 0x1400afdcd
not r13b
and al, r13b
xor al, r11b
mov r10d, dword [0x140537b00]
mov r11d, 0x2ea84ce
add r10d, r11d
mov r11d, r15d
xor r11d, r10d
and r10d, r15d
lea r15d, [r11 + r10*2]
cmp r15d, dword [rbp + 0x18c]
mov r12, qword [rbp + 0x198]
mov r13, r8
jge 0x1400afc71
mov r11d, dword [0x1405a9694]
nop word cs:[rax + rax]
mov r11d, dword [0x1405a9694]
cmp r11d, 0x20
mov r11d, dword [0x1405a9690]
lea r12d, [r11 - 1]
imul r12d, r11d
and r12d, 1
mov r11d, dword [0x140537b00]
add r11d, edx
cmp r12d, r11d
jne 0x1400afdeb
mov r11d, dword [0x1405a9694]
cmp r11d, 0x32
jg 0x1400afde0
movsxd r11, r15d
nop dword [rax]
test cl, cl
jne 0x1400afe20
mov r12d, dword [0x1405a9694]
cmp r12d, 0xb
jl 0x1400afe50
nop word cs:[rax + rax]
mov r10d, dword [0x1405a9694]
cmp r10d, 0x5d
jge 0x1400afe40
jmp 0x1400afe20
mov r8, r13
add r11, r13
mov r12d, dword [0x1405a9694]
cmp r12d, 0xf
jle 0x1400afe89
nop word cs:[rax + rax]
movzx r10d, byte [r11]
mov r10d, dword [0x1405a9690]
lea r12d, [r10 - 1]
imul r12d, r10d
test r12b, 1
jne 0x1400afe70
movzx r13d, byte [r11]
movzx r12d, byte [0x140537b10]
add r12b, 0x57
mov r11d, r12d
xor r11b, r12b
not r11b
and r11b, al
xor r11b, r12b
mov r12d, dword [0x1405a9690]
lea r10d, [r12 - 1]
imul r10d, r12d
test r10b, 1
je 0x1400afed5
nop
mov r10d, dword [0x1405a9690]
lea r12d, [r10 - 1]
imul r12d, r10d
test r12b, 1
jne 0x1400afec0
and r11b, r13b
mov r10d, dword [0x1405a9690]
lea r12d, [r10 - 1]
imul r12d, r10d
test r12b, 1
je 0x1400afd90
nop word cs:[rax + rax]
mov r10d, dword [0x1405a9694]
cmp r10d, 0xa
jge 0x1400aff00
jmp 0x1400afd90
mov eax, dword [0x140537b00]
lea ecx, [rax + 0x2ea84ce]
lea rdx, [fcn.1400aeee0]
add edx, edx
add edx, 0xbc0
test edx, ecx
je 0x1400aff56
lea rax, [fcn.1400aeee0]
add eax, eax
add eax, 0x2ee0
mov ecx, eax
not ecx
nop word cs:[rax + rax]
test ecx, eax
jne 0x1400aff50
jmp 0x1400aff12
add eax, 0x2ea84cd
cmp r15d, eax
mov r12, qword [rbp + 0x198]
jne 0x1400b01a6
mov qword [rbp + 0x190], 0
mov eax, r11d
and al, byte [rbp + 0x1a0]
cmp al, 1
jne 0x1400aff94
mov eax, dword [rbp + 0x1ac]
cmp r9d, eax
cmovl eax, r9d
cdqe
jmp 0x1400affa6
test r11b, r11b
mov eax, dword [rbp + 0x1ac]
je 0x1400b0052
movsxd rax, r9d
mov qword [rbp + 0x190], rax
lea r14, [rbp - 0x18]
lea rbx, [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400afff7
mov rcx, r14
mov edx, 1
call fcn.1400b06d0
movzx edx, word [0x1405a9302]
mov rcx, qword [rdi + 0x190]
mov eax, dword [0x1405a9694]
cmp eax, 0x3d
jle 0x1400b0017
mov rcx, r14
mov edx, 1
call fcn.1400b06d0
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1400affc0
jmp 0x1400affd1
call fcn.14026adb0
mov r8, rax
mov ecx, dword [0x1405a9690]
mov r9d, dword [0x140537b00]
mov eax, ecx
sub eax, r9d
add eax, 0xfd157b32
imul eax, ecx
lea ecx, [r9 + 0x2ea84cf]
xor edx, edx
div ecx
add r9d, 0x2ea84cd
cmp edx, r9d
jne 0x1400b0070
jmp 0x1400b0064
cmp byte [rbp + 0x1a0], 0
jne 0x1400aff90
jmp 0x1400affad
mov eax, dword [0x1405a9694]
cmp eax, 0x48
jl 0x1400b008b
nop
mov eax, dword [0x140537b00]
mov ecx, eax
xor ecx, 0x2ea84cd
and eax, 0x2ea84cd
add eax, eax
add eax, ecx
jne 0x1400b0070
jmp 0x1400b0064
mov rcx, rbx
mov rdx, r8
call fcn.1400b0920
mov rdx, qword [rbp + 0x190]
mov rcx, rbx
call fcn.1400b0e20
lea rcx, [rbp]
lea rdx, [rbp + 0x110]
call fcn.140113350
lea rbx, [rbp + 0x130]
lea rdx, [rbp + 0x110]
mov rcx, rbx
call fcn.1400b1240
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0xa1857f5c
call fcn.1401138d0
lea r14, [rbp + 0xe8]
mov rcx, r14
mov rdx, rax
call fcn.1400ad430
mov edx, dword [0x1405a96ac]
add edx, dword [rdi + 0x118]
lea rax, [rbp + 0x190]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a1
lea rcx, [rbp + 0xe0]
xor r8d, r8d
mov r9d, 2
call fcn.140121200
lea rcx, [rbp + 0xe8]
call fcn.1400716d0
lea rcx, [rbp + 0x130]
call fcn.1400716d0
lea rcx, [rbp + 0x110]
call fcn.1400864d0
cmp dword [rbp + 0xe0], 2
jne 0x1400b0197
cmp dword [0x140537b00], 0xfd157b33
je 0x1400b0186
mov byte [rsi], 1
lea rcx, [rbp - 0x18]
call fcn.1400b1350
mov byte [rsi], 1
lea rcx, [rbp - 0x18]
call fcn.1400b1350
jmp 0x1400af0c2
or byte [r12 + 1], 2
lea rcx, [rbp - 0x18]
call fcn.1400b1350
cmp byte [rbp + 0x168], 0
je 0x1400b0345
mov eax, dword [0x1405a9690]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop word cs:[rax + rax]
mov ecx, dword [rdi + 0x184]
mov eax, 0x2ea84cd
add eax, dword [0x140537b00]
mov edx, dword [0x1405a9694]
cmp edx, 0xb
jg 0x1400b01d0
cmp ecx, eax
je 0x1400b0345
mov eax, dword [rbp + 0x17c]
cmp ecx, eax
ja 0x1400b0345
mov ecx, dword [r12]
mov edx, ecx
not edx
mov r8d, 0x2ea85cd
add r8d, dword [0x140537b00]
xor r8d, ecx
xor ecx, 0xfffffeff
and ecx, edx
or ecx, r8d
cmp ecx, 0xffffffff
jne 0x1400b0345
mov qword [rbp + 0xe8], rax
movzx edx, word [0x1405a9304]
mov rcx, qword [rdi + 0x190]
mov r8d, 0xa1d32870
mov r9d, 0xf0fda6ab
call fcn.1400ab950
lea rbx, [rbp - 0x18]
mov rcx, rbx
mov rdx, rax
call fcn.1400ad430
xor ecx, ecx
mov edx, 1
mov r8d, 0x1c3f2204
mov r9d, 0xa1857f5c
call fcn.1401138d0
lea r14, [rbp + 0x130]
mov rcx, r14
mov rdx, rax
call fcn.1400ad430
mov edx, dword [rdi + 0x118]
lea rax, [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 3
mov dword [rsp + 0x30], 0x186a7
lea rcx, [rbp + 0x110]
xor r8d, r8d
mov r9d, 2
call fcn.140121200
lea rcx, [rbp + 0x130]
call fcn.1400716d0
lea rcx, [rbp - 0x18]
call fcn.1400716d0
mov rax, qword [rbp + 0x110]
mov ecx, 0xffffffff
xor rcx, rax
movabs rdx, 0xffffffff00000000
xor rdx, rax
not rax
and rdx, rax
or rdx, rcx
mov rax, qword [0x140537b08]
movabs rcx, 0xc30fae27f90b632a
xor rcx, rax
movabs r8, 0x430fae27f90b632a
and r8, rax
lea rax, [rcx + r8*2]
xor rax, rdx
cmp rax, 2
je 0x1400afb30
or byte [r12 + 1], 1
mov eax, dword [r12]
mov ecx, eax
not ecx
mov edx, 0x2ea8bcd
add edx, dword [0x140537b00]
mov r8d, edx
not r8d
and r8d, ecx
mov r9d, eax
xor r9d, edx
or r9d, r8d
not r9d
mov cl, 1
cmp r9d, edx
je 0x1400b037b
and eax, 0xfffffffd
mov dword [r12], eax
mov eax, ecx
add rsp, 0x238
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret