Function at 0x14083ddc0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r15
lea rbp, [r11 - 0x198]
sub rsp, 0x278
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rbp + 0x100], rax
movsd xmm4, qword [0x1408bae80]
xorps xmm3, xmm3
movsd qword [rsp + 0x58], xmm3
mov r15, rcx
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x58], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x30], xmm3
movsd xmm0, qword [rsp + 0x30]
comisd xmm4, xmm0
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x70], rcx
jbe 0x14083df3c
movsd xmm5, qword [0x1408ba6a8]
movaps xmmword [r11 - 0x48], xmm6
movsd xmm6, qword [0x1408b4360]
movaps xmmword [r11 - 0x58], xmm7
movsd xmm7, qword [0x1408ba810]
movaps xmmword [r11 - 0x68], xmm8
movsd xmm8, qword [0x1408ba6f0]
movaps xmmword [r11 - 0x78], xmm9
movsd xmm9, qword [0x1408ba758]
movaps xmmword [r11 - 0x88], xmm10
movsd xmm10, qword [0x1408ba770]
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 + 0x58]
movsd qword [rsp + 0x58], xmm2
movsd xmm0, qword [rsp + 0x58]
comisd xmm0, xmm10
jbe 0x14083def1
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm6
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm4, xmm1
ja 0x14083de80
movaps xmm10, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm6, xmmword [rsp + 0x250]
movsd xmm0, qword [rsp + 0x58]
xor esi, esi
comisd xmm3, xmm0
mov qword [rsp + 0x2b0], rbx
mov qword [rsp + 0x260], r14
jbe 0x14083df69
call fcn.14087381e
call fcn.14087389c
jmp 0x14083edf2
mov qword [rsp + 0x270], r12
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x268], r13
mov eax, esi
nop
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x14083df80
mov r9d, esi
lea r14, [fcn.14087389c]
xor cl, cl
mov ebx, 0xff
mov r10d, 1
mov edi, esi
cmp ebx, r10d
jbe 0x14083dfc0
nop dword [rax]
lea r10d, [r10*2 + 1]
cmp r10d, ebx
jb 0x14083dfb0
nop dword [rax]
movzx eax, cl
movzx edx, byte [rbp + rax - 0x80]
mov eax, r9d
test r9d, r9d
je 0x14083e01a
sub eax, 1
je 0x14083e00a
sub eax, 1
je 0x14083dffa
cmp eax, 1
je 0x14083dfea
lea eax, [r9 - 4]
movzx eax, byte [rax + r14]
jmp 0x14083e025
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x14083e025
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x14083e025
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x14083e025
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
add al, dl
lea r8d, [r9 + 1]
movzx edx, al
cmp r8d, 0x17
mov r9d, esi
cmovb r9d, r8d
lea eax, [rdx + 0x17]
movzx ecx, al
cmovb ecx, edx
inc edi
movzx r11d, cl
mov eax, r11d
and eax, r10d
cmp edi, 0xb
jbe 0x14083e059
xor edx, edx
div ebx
mov eax, edx
movzx ecx, r11b
cmp eax, ebx
ja 0x14083dfc0
je 0x14083e085
mov edx, eax
mov ecx, ebx
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, r11b
add ebx, 0xffffffff
jne 0x14083dfa0
movzx edi, byte [rbp - 0x7b]
movzx ecx, byte [rbp - 0x79]
movzx edx, byte [rbp + r11 - 0x80]
movss xmm0, dword [0x1408bb030]
movss xmm1, dword [0x1408baff4]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [0x1408bafb0]
movss dword [rsp + 0x38], xmm1
movss xmm1, dword [0x1408baf70]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1408baf30]
movss dword [rsp + 0x28], xmm1
movss xmm1, dword [0x1408ba324]
movss dword [rsp + 0x30], xmm0
movss xmm0, dword [0x1408baea0]
movss dword [rsp + 0x60], xmm1
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
mulss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
comiss xmm0, xmm1
jbe 0x14083e252
movss xmm1, dword [rsp + 0x50]
mov ebx, esi
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
mulss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
subss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
jmp 0x14083e2ec
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x58]
subss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x60]
divss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movzx r15d, byte [rbp - 0x7d]
lea r8, [fcn.14087381e]
mov r10, rdx
lea r13d, [rbx + rbx]
movzx edx, byte [rbp + rdx - 0x80]
movsxd rax, r13d
mov byte [rsp + 0x48], dl
movzx r11d, byte [rax + r8]
movzx eax, byte [rax + r8 + 1]
sub r11b, 6
add al, 0x41
shl r11b, 4
or r11b, al
mov r8, rcx
movzx eax, byte [rbp - 0x7f]
mov byte [rsp + 0x20], r11b
add r15b, byte [rbp + rax - 0x80]
lea r14d, [rax + 1]
movzx r9d, r15b
movzx eax, byte [rbp + r9 - 0x80]
mov byte [rbp + r10 - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx ecx, r14b
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], dl
add dil, byte [rbp + rdx - 0x80]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r10 - 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, rdx
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
lea ecx, [rbx + 1]
xor dl, byte [rbp + rax - 0x80]
xor dl, r11b
cmp ecx, 0x1e
jge 0x14083e49e
movzx esi, byte [rsp + 0x48]
mov r12d, 0x1e
sub r12d, ecx
nop dword [rax]
movzx r9d, byte [rsp + 0x20]
lea rcx, [fcn.14087381e]
movzx r8d, dl
add r13d, 2
movsxd rax, r13d
add r15b, sil
movzx r10d, r15b
inc r14b
mov dword [rsp + 0x58], r13d
movzx r13d, byte [rbp + r9 - 0x80]
movzx r11d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add r11b, 0x41
sub al, 6
movzx ecx, r14b
shl al, 4
or r11b, al
mov dword [rsp + 0x30], ebx
movzx eax, byte [rbp + r10 - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx eax, byte [rbp + r8 - 0x80]
mov byte [rbp + r10 - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], r13b
add dil, byte [rbp + r13 - 0x80]
movzx eax, dil
mov byte [rsp + 0x20], r11b
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r9 - 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 + r10 - 0x80]
add rax, r13
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
xor dl, byte [rbp + rax - 0x80]
xor dl, r11b
add ebx, 1
je 0x14083e489
mov eax, dword [rsp + 0x30]
movsx ecx, dl
mov word [rbp + rax*2 + 0x80], cx
movzx esi, r13b
mov r13d, dword [rsp + 0x58]
sub r12, 1
jne 0x14083e3c0
xor esi, esi
movzx edx, dl
lea rcx, [fcn.14087381e]
movzx r9d, r11b
mov r12d, ebx
inc ebx
mov dword [rsp + 0x30], ebx
movzx r13d, byte [rbp + r9 - 0x80]
lea eax, [rbx + rbx]
cdqe
movzx r10d, byte [rax + rcx]
movzx eax, byte [rax + rcx + 1]
sub r10b, 6
add al, 0x41
shl r10b, 4
or r10b, al
movzx eax, r14b
inc r14b
movzx ecx, r14b
add r15b, byte [rbp + rax - 0x80]
movzx r8d, r15b
movzx eax, byte [rbp + r8 - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx eax, byte [rbp + rdx - 0x80]
mov byte [rbp + r8 - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + rdx - 0x80], al
mov byte [rbp + rcx - 0x80], r13b
add dil, byte [rbp + r13 - 0x80]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + rdx - 0x80]
add rcx, rax
movzx eax, byte [rbp + r9 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r8 - 0x80]
add rcx, r13
movzx edx, byte [rbp + rax - 0x80]
movzx eax, cl
movzx r8d, byte [rbp + rdx - 0x80]
xor r8b, byte [rbp + rax - 0x80]
xor r8b, r10b
test ebx, ebx
je 0x14083e560
movsx ecx, r8b
mov word [rbp + r12*2 + 0x80], cx
movss xmm0, dword [0x1408bb000]
lea rcx, [fcn.14087381e]
movss xmm1, dword [0x1408baf80]
inc ebx
movzx r11d, r10b
add r15b, r13b
movzx r10d, r15b
inc r14b
mov dword [rsp + 0x60], ebx
lea eax, [rbx + rbx]
movzx r12d, byte [rbp + r11 - 0x80]
mov dword [rsp + 0x58], eax
cdqe
movzx r9d, byte [rax + rcx]
movzx eax, byte [rax + rcx + 1]
sub r9b, 6
add al, 0x41
shl r9b, 4
or r9b, al
movzx eax, byte [rbp + r10 - 0x80]
mov byte [rbp + r11 - 0x80], al
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x1408baef8]
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
comiss xmm0, xmm1
jbe 0x14083e67e
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movzx eax, r8b
movzx ecx, byte [rbp + rax - 0x80]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
addss xmm1, xmm0
mov byte [rbp + r10 - 0x80], cl
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
jmp 0x14083e799
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
addss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
comiss xmm0, xmm1
jbe 0x14083e757
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x28]
mulss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x28]
divss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
jmp 0x14083e799
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movss xmm2, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x28], xmm2
movss xmm1, dword [rsp + 0x28]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm1
movzx edx, r8b
movzx ecx, r14b
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + rdx - 0x80], al
mov byte [rbp + rcx - 0x80], r12b
add dil, byte [rbp + r12 - 0x80]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + rdx - 0x80]
add rcx, rax
movzx eax, byte [rbp + r11 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r10 - 0x80]
add rcx, r12
movzx edx, byte [rbp + rax - 0x80]
movzx eax, cl
movzx r8d, byte [rbp + rdx - 0x80]
xor r8b, byte [rbp + rax - 0x80]
xor r8b, r9b
test ebx, ebx
je 0x14083e804
mov eax, dword [rsp + 0x30]
movsx ecx, r8b
mov word [rbp + rax*2 + 0x80], cx
movsd xmm0, qword [0x1408bad98]
inc ebx
movsd xmm1, qword [0x1408baba8]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408ba980]
movsd qword [rsp + 0x50], xmm1
lea ecx, [rbx + rbx]
movsd qword [rsp + 0x38], xmm0
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
mov dword [rsp + 0x30], ecx
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x38]
comisd xmm2, xmm0
jbe 0x14083e8cb
movsd xmm1, qword [rsp + 0x38]
mov eax, ecx
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
jmp 0x14083e90f
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
subsd xmm1, xmm0
mov dword [rsp + 0x30], ecx
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
cdqe
lea r13, [fcn.14087381e]
movzx r10d, r9b
add r15b, r12b
movzx r9d, r15b
inc r14b
movzx r8d, r8b
movzx r11d, byte [rax + r13]
movzx edx, byte [rbp + r10 - 0x80]
sub r11b, 6
movsxd rax, ecx
shl r11b, 4
mov byte [rsp + 0x48], dl
movsd qword [rsp + 0x50], xmm1
movzx ecx, byte [rax + r13 + 1]
movzx eax, byte [rbp + r9 - 0x80]
add cl, 0x41
mov byte [rbp + r10 - 0x80], al
or r11b, cl
movzx eax, byte [rbp + r8 - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx ecx, r14b
mov byte [rsp + 0x20], r11b
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], dl
add dil, byte [rbp + rdx - 0x80]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r8 - 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 + r9 - 0x80]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
xor dl, byte [rbp + rax - 0x80]
xor dl, r11b
test ebx, ebx
je 0x14083e9d6
mov eax, dword [rsp + 0x60]
movsx ecx, dl
mov word [rbp + rax*2 + 0x80], cx
lea ecx, [rbx + 1]
cmp ecx, 0x3f
jge 0x14083eacf
mov esi, dword [rsp + 0x30]
mov r12d, 0x3f
sub r12d, ecx
nop
movzx r10d, byte [rsp + 0x20]
add esi, 2
add r15b, byte [rsp + 0x48]
inc r14b
movzx r8d, dl
movsxd rax, esi
movzx r9d, r15b
movzx ecx, r14b
mov dword [rsp + 0x30], ebx
movzx r11d, byte [rax + r13]
movzx eax, byte [rax + r13 + 1]
sub r11b, 6
movzx r13d, byte [rbp + r10 - 0x80]
add al, 0x41
shl r11b, 4
or r11b, al
movzx eax, byte [rbp + r9 - 0x80]
mov byte [rbp + r10 - 0x80], al
movzx eax, byte [rbp + r8 - 0x80]
mov byte [rbp + r9 - 0x80], al
movzx eax, byte [rbp + rcx - 0x80]
mov byte [rbp + r8 - 0x80], al
mov byte [rbp + rcx - 0x80], r13b
add dil, byte [rbp + r13 - 0x80]
movzx eax, dil
mov byte [rsp + 0x20], r11b
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r8 - 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 + r9 - 0x80]
add rax, r13
movzx eax, al
movzx edx, byte [rbp + rcx - 0x80]
xor dl, byte [rbp + rax - 0x80]
xor dl, r11b
add ebx, 1
je 0x14083eab0
mov eax, dword [rsp + 0x30]
movsx ecx, dl
mov word [rbp + rax*2 + 0x80], cx
mov byte [rsp + 0x48], r13b
lea r13, [fcn.14087381e]
sub r12, 1
jne 0x14083e9f0
xor esi, esi
lea r13, [fcn.14087381e]
movsd xmm0, qword [0x1408bad88]
movsd xmm1, qword [0x1408bacd8]
movzx r10d, r11b
movzx edx, dl
mov r12d, ebx
inc ebx
movzx ecx, byte [rbp + r10 - 0x80]
lea eax, [rbx + rbx]
cdqe
movzx r9d, byte [rax + r13]
movzx eax, byte [rax + r13 + 1]
sub r9b, 6
mov r13, qword [rsp + 0x268]
add al, 0x41
shl r9b, 4
or r9b, al
movzx eax, r14b
inc r14b
movzx r8d, r14b
add r15b, byte [rbp + rax - 0x80]
movzx r11d, r15b
movzx eax, byte [rbp + r11 - 0x80]
mov byte [rbp + r10 - 0x80], al
movzx eax, byte [rbp + rdx - 0x80]
mov byte [rbp + r11 - 0x80], al
movzx eax, byte [rbp + r8 - 0x80]
mov byte [rbp + rdx - 0x80], al
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408bac00]
movsd qword [rsp + 0x28], xmm1
movsd xmm1, qword [0x1408bab10]
movsd qword [rsp + 0x60], xmm0
movsd xmm0, qword [0x1408baa40]
movsd qword [rsp + 0x38], xmm1
movsd xmm1, qword [0x1408b80b0]
movsd qword [rsp + 0x50], xmm0
movsd xmm0, qword [0x1408ba860]
movsd qword [rsp + 0x58], xmm1
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x60]
addsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x58]
comisd xmm0, xmm1
jbe 0x14083ecea
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x28]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x50]
divsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
jmp 0x14083ed89
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
mov byte [rbp + r8 - 0x80], cl
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x28]
mulsd xmm2, xmm0
movsd qword [rsp + 0x28], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
addsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
test ebx, ebx
je 0x14083edde
add dil, byte [rbp + rcx - 0x80]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + rdx - 0x80]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r11 - 0x80]
movzx edx, byte [rbp + rax - 0x80]
movzx eax, byte [rbp + r8 - 0x80]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rdx - 0x80]
xor cl, byte [rbp + rax - 0x80]
xor cl, r9b
movsx ecx, cl
mov word [rbp + r12*2 + 0x80], cx
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x270]
mov word [rbp + 0xfc], si
movsxd rdi, dword [rsp + 0x68]
test rdi, rdi
jle 0x14083ee48
mov rbx, rsi
lea rcx, [rbp + 0x80]
mov rax, 0xffffffffffffffff
nop dword [rax]
cmp word [rcx + rax*2 + 2], 0
lea rax, [rax + 1]
jne 0x14083ee10
lea r14, [rax - 1]
lea rcx, [rsp + 0x6c]
call fcn.140884a94
mov eax, dword [rsp + 0x6c]
xor edx, edx
div r14
movzx eax, word [rbp + rdx*2 + 0x80]
mov word [r15 + rbx*2], ax
inc rbx
cmp rbx, rdi
jl 0x14083ee20
mov r14, qword [rsp + 0x260]
mov rbx, qword [rsp + 0x2b0]
mov word [r15 + rdi*2], si
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14087bc90
add rsp, 0x278
pop r15
pop rdi
pop rsi
pop rbp
ret