Function at 0x1400a2220
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x500]
sub rsp, 0x600
mov rax, qword [0x140a630a8]
xor rax, rsp
mov qword [rbp + 0x4a0], rax
xor r12d, r12d
xorps xmm0, xmm0
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x68], r12
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x70], r12
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rcx + r8*2], r12w
jne 0x1400a2270
mov rdx, rcx
lea rcx, [rsp + 0x58]
call fcn.140091560
cmp qword [rsp + 0x70], 8
lea rcx, [rsp + 0x58]
mov r8, qword [rsp + 0x58]
lea rbx, [rsp + 0x58]
mov rax, qword [rsp + 0x68]
lea rsi, [rsp + 0x58]
cmovae rcx, r8
cmovae rbx, r8
cmovae rsi, r8
lea r14, [rcx + rax*2]
cmp rbx, r14
je 0x1400a22d5
sub rsi, rbx
nop
movzx ecx, word [rbx]
call fcn.14089a240
mov word [rbx + rsi], ax
add rbx, 2
cmp rbx, r14
jne 0x1400a22c0
xor edx, edx
lea rcx, [rbp + 0x80]
mov r8d, 0x208
call fcn.1408940e0
xor edx, edx
lea rcx, [rbp + 0x290]
mov r8d, 0x208
call fcn.1408940e0
movsd xmm4, qword [0x1408c8d08]
xorps xmm3, xmm3
movsd qword [rsp + 0x48], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x48], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x30], xmm3
movsd xmm0, qword [rsp + 0x30]
comisd xmm4, xmm0
jbe 0x1400a245c
movsd xmm5, qword [0x1408c8330]
movaps xmmword [rsp + 0x5f0], xmm6
movsd xmm6, qword [0x1408c83a8]
movaps xmmword [rsp + 0x5e0], xmm7
movsd xmm7, qword [0x1408c8558]
movaps xmmword [rsp + 0x5d0], xmm8
movsd xmm8, qword [0x1408c83e8]
movaps xmmword [rsp + 0x5c0], xmm9
movsd xmm9, qword [0x1408c8448]
movaps xmmword [rsp + 0x5b0], xmm10
movsd xmm10, qword [0x1408c84b8]
nop dword [rax]
nop dword [rax + rax]
movsd xmm2, qword [rsp + 0x30]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm8
subsd xmm2, xmm1
mulsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x48]
movsd qword [rsp + 0x48], xmm2
movsd xmm0, qword [rsp + 0x48]
comisd xmm0, xmm10
jbe 0x1400a2411
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm6
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm4, xmm1
ja 0x1400a23a0
movaps xmm10, xmmword [rsp + 0x5b0]
movaps xmm9, xmmword [rsp + 0x5c0]
movaps xmm8, xmmword [rsp + 0x5d0]
movaps xmm7, xmmword [rsp + 0x5e0]
movaps xmm6, xmmword [rsp + 0x5f0]
movsd xmm0, qword [rsp + 0x48]
comisd xmm3, xmm0
mov qword [rsp + 0x638], r13
mov qword [rsp + 0x640], r15
jbe 0x1400a2487
call fcn.140887f42
call fcn.140887f48
jmp 0x1400a2c50
mov eax, r12d
lea rcx, [rbp - 0x80]
nop
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x1400a2490
mov r9d, r12d
lea rsi, fcn.140887f48
xor cl, cl
mov r10d, 0xff
mov edi, 1
nop word [rax + rax]
mov ebx, r12d
mov r11d, edi
cmp r10d, edi
jbe 0x1400a24e0
nop dword [rax + rax]
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x1400a24d0
nop dword [rax]
movzx eax, cl
movzx r8d, byte [rbp + rax - 0x80]
mov eax, r9d
test r9d, r9d
je 0x1400a2537
sub eax, edi
je 0x1400a2527
sub eax, edi
je 0x1400a2517
cmp eax, edi
je 0x1400a2507
lea eax, [r9 - 4]
add r8b, byte [rax + rsi]
jmp 0x1400a2545
movsd xmm0, qword [rsp + 0x48]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1400a2542
movsd xmm0, qword [rsp + 0x48]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1400a2542
movsd xmm0, qword [rsp + 0x48]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1400a2542
movsd xmm0, qword [rsp + 0x48]
cvttsd2si rax, xmm0
add r8b, al
lea edx, [r9 + 1]
mov r9d, r12d
lea eax, [r8 + 0x18]
cmp edx, 0x18
movzx ecx, al
movzx eax, r8b
cmovb r9d, edx
cmovb ecx, eax
inc ebx
movzx r8d, cl
mov eax, r8d
and eax, r11d
cmp ebx, 0xb
jbe 0x1400a2579
xor edx, edx
div r10d
mov eax, edx
movzx ecx, r8b
cmp eax, r10d
ja 0x1400a24e0
je 0x1400a25a7
mov edx, eax
mov ecx, r10d
movzx eax, byte [rbp + rcx - 0x80]
xor al, byte [rbp + rdx - 0x80]
mov byte [rbp + rcx - 0x80], al
xor byte [rbp + rdx - 0x80], al
movzx eax, byte [rbp + rdx - 0x80]
xor byte [rbp + rcx - 0x80], al
movzx ecx, r8b
add r10d, 0xffffffff
jne 0x1400a24c0
movzx r14d, byte [rbp - 0x7b]
lea rsi, [fcn.140887f42]
movzx ebx, byte [rsi + 1]
movzx eax, byte [rsi]
movzx ecx, byte [rbp - 0x79]
movzx edx, byte [rbp + r8 - 0x80]
movsd xmm0, qword [0x1408c8a90]
movsd xmm1, qword [0x1408c88a8]
movsd qword [rsp + 0x30], xmm0
movsd xmm0, qword [0x1408c86b0]
movsd qword [rsp + 0x40], xmm1
movsd qword [rsp + 0x48], xmm0
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
comisd xmm1, xmm0
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
jbe 0x1400a2694
movsd xmm2, qword [rsp + 0x30]
sub bl, 0x6c
movsd xmm0, qword [rsp + 0x48]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
jmp 0x1400a2790
movsd xmm2, qword [rsp + 0x40]
xor bl, bl
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
comisd xmm1, xmm0
movsd xmm1, qword [rsp + 0x30]
jbe 0x1400a275a
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
jmp 0x1400a2796
movsd xmm0, qword [rsp + 0x48]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [0x1408c8a10]
movsd xmm1, qword [0x1408c8850]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408c8680]
movsd qword [rsp + 0x48], xmm1
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
addsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
comisd xmm1, xmm0
jbe 0x1400a2931
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
divsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
jbe 0x1400a28f7
mulsd xmm1, xmm0
xor al, al
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
jmp 0x1400a2978
divsd xmm1, xmm0
xor al, al
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
jmp 0x1400a2978
movsd xmm1, qword [rsp + 0x30]
sub al, 8
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
shl al, 4
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movzx r11d, byte [rbp + rdx - 0x80]
or bl, al
movzx r15d, byte [rbp - 0x7f]
mov r8, rcx
movzx r12d, byte [rbp - 0x7d]
movzx r10d, byte [rsi + 2]
movsd xmm0, qword [0x1408c8c58]
sub r10b, 8
add r12b, byte [rbp + r15 - 0x80]
inc r15b
movsd xmm1, qword [0x1408c8a30]
movzx r9d, r12b
add r12b, r11b
movzx r13d, bl
shl r10b, 4
movzx eax, byte [rbp + r9 - 0x80]
mov byte [rbp + rdx - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx ecx, r15b
inc r15b
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], r11b
add r14b, byte [rbp + r11 - 0x80]
movzx eax, r14b
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + rdx - 0x80]
add rcx, rax
movzx eax, byte [rbp + r8 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r9 - 0x80]
add rax, r11
movzx r9d, r12b
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
movzx ecx, byte [rsi + 3]
sub cl, 0x6c
xor dl, byte [rbp + rax - 0x80]
or r10b, cl
movzx eax, byte [rbp + r9 - 0x80]
xor dl, bl
movzx ebx, byte [rbp + r13 - 0x80]
mov byte [rbp + r13 - 0x80], al
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408c8778]
movsd qword [rsp + 0x30], xmm1
movsd qword [rsp + 0x48], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
subsd xmm1, xmm0
movzx r8d, dl
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
comisd xmm2, xmm0
jbe 0x1400a2b05
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
movzx eax, byte [rbp + r8 - 0x80]
subsd xmm2, xmm0
mov byte [rbp + r9 - 0x80], al
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
jmp 0x1400a2b47
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movzx ecx, r15b
inc r15b
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], bl
add r14b, byte [rbp + rbx - 0x80]
movzx eax, r14b
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r8 - 0x80]
add rcx, rax
movzx eax, byte [rbp + r13 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r9 - 0x80]
add rax, rbx
add bl, r12b
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
movzx r11d, bl
movzx ecx, r15b
xor dl, byte [rbp + rax - 0x80]
xor dl, r10b
movzx r10d, r10b
movsx eax, dl
mov word [rsp + 0x78], ax
movzx eax, byte [rbp + r11 - 0x80]
movzx r8d, byte [rbp + r10 - 0x80]
mov byte [rbp + r10 - 0x80], al
movzx r9d, dl
mov edx, r8d
movzx eax, byte [rbp + r9 - 0x80]
mov byte [rbp + r11 - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx eax, byte [rsi + 5]
mov byte [rbp + rcx - 0x80], r8b
sub al, 0x6c
add r14b, byte [rbp + rdx - 0x80]
movzx r8d, byte [rsi + 4]
sub r8b, 8
shl r8b, 4
or r8b, al
movzx eax, r14b
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r9 - 0x80]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r11 - 0x80]
add rax, rdx
xor r8b, byte [rbp + rcx - 0x80]
movzx ecx, al
xor r8b, byte [rbp + rcx - 0x80]
xor r12d, r12d
movsx eax, r8b
mov word [rsp + 0x7a], ax
mov word [rsp + 0x7c], r12w
lea rdi, [r12 - 1]
cmp qword [rsp + 0x70], 8
lea rcx, [rsp + 0x58]
lea r8, [rbp + 0x290]
mov qword [rsp + 0x20], r12
cmovae rcx, qword [rsp + 0x58]
lea rdx, [rbp + 0x80]
xor r9d, r9d
call fcn.14089a4f0
lea rax, [rbp + 0x80]
lea r8, [rsp + 0x78]
sub r8, rax
nop dword [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1400a2ca4
add rax, 2
test ecx, ecx
jne 0x1400a2c90
test edx, edx
jne 0x1400a2d09
lea rax, [rbp + 0x290]
nop
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400a2cb0
cmp rdi, 2
jae 0x1400a2d09
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1400a2d02
mov rcx, qword [rsp + 0x58]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a2cfd
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a2f5a
call fcn.140890cbc
xor al, al
jmp 0x1400a2f24
movsxd rbx, dword [rsp + 0x68]
xor cl, cl
xor r15b, r15b
mov byte [rsp + 0x38], cl
xor dil, dil
mov byte [rsp + 0x50], r15b
xor r13b, r13b
mov byte [rsp + 0x40], cl
mov r14d, r12d
test rbx, rbx
jle 0x1400a2edc
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
nop dword [rax]
cmp rdx, 8
lea rax, [rsp + 0x58]
cmovae rax, r8
cmp word [rax + rbx*2], 0x2e
jne 0x1400a2d5c
mov dil, 1
jmp 0x1400a2eb9
test dil, dil
je 0x1400a2d88
cmp rdx, 8
lea rax, [rsp + 0x58]
cmovae rax, r8
xor dil, dil
cmp word [rax + rbx*2], 0x29
jne 0x1400a2d80
mov r13b, 1
jmp 0x1400a2eb9
mov r15b, 1
mov byte [rsp + 0x50], r15b
test r13b, r13b
je 0x1400a2de9
cmp rdx, 8
lea rax, [rsp + 0x58]
cmovae rax, r8
cmp word [rax + rbx*2], 0x28
jne 0x1400a2db9
mov r15b, 1
xor r13b, r13b
movzx ecx, r15b
mov byte [rsp + 0x50], r15b
mov byte [rsp + 0x38], cl
jmp 0x1400a2eb9
cmp rdx, 8
lea rcx, [rsp + 0x58]
cmovae rcx, r8
movzx ecx, word [rcx + rbx*2]
call fcn.14089a130
test eax, eax
je 0x1400a2edc
cmp r12d, 3
jge 0x1400a2edc
inc r12d
jmp 0x1400a2eaa
test cl, cl
je 0x1400a2e3d
cmp rdx, 8
mov byte [rsp + 0x38], 0
lea rax, [rsp + 0x58]
cmovae rax, r8
movzx esi, word [rax + rbx*2]
movzx ecx, si
call fcn.14089a130
movzx ecx, si
mov dword [rsp + 0x30], eax
call fcn.14089a124
test eax, eax
je 0x1400a2e27
movzx ecx, si
call fcn.14089a13c
test eax, eax
jne 0x1400a2e2e
cmp dword [rsp + 0x30], 0
je 0x1400a2eaa
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x38]
test r15b, r15b
je 0x1400a2eb9
cmp rdx, 8
lea rax, [rsp + 0x58]
cmovae rax, r8
cmp word [rax + rbx*2], 0x5f
je 0x1400a2ec7
cmp rdx, 8
lea rax, [rsp + 0x58]
cmovae rax, r8
movzx esi, word [rax + rbx*2]
movzx ecx, si
call fcn.14089a130
test eax, eax
movzx ecx, si
setne r15b
call fcn.14089a124
test eax, eax
je 0x1400a2e90
movzx ecx, si
call fcn.14089a13c
test eax, eax
je 0x1400a2e90
mov r15b, 1
xor ecx, ecx
movzx eax, r15b
cmp r14d, 0xa
cmovl ecx, eax
test cl, cl
je 0x1400a2edc
movzx r15d, byte [rsp + 0x50]
inc r14d
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x38]
dec rbx
test rbx, rbx
jg 0x1400a2d40
jmp 0x1400a2ee6
mov ebx, dword [rsp + 0x40]
cmp r14d, 3
movzx ebx, bl
mov eax, 1
cmovge ebx, eax
jmp 0x1400a2eea
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x40]
cmp rdx, 8
jb 0x1400a2f21
lea rdx, [rdx*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x1400a2f19
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a2f5a
mov rcx, r8
call fcn.140890cbc
movzx eax, bl
mov r15, qword [rsp + 0x640]
mov r13, qword [rsp + 0x638]
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.140890ac0
mov rbx, qword [rsp + 0x648]
add rsp, 0x600
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.140899d20
int3