Function at 0x140098f90
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x108]
sub rsp, 0x208
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov qword [rsp + 0x60], r9
mov rax, r8
mov qword [rsp + 0x58], rax
mov r11, rdx
mov qword [rsp + 0x68], rdx
mov r10, rcx
mov qword [rsp + 0x50], rcx
test rdx, rdx
je 0x140099c71
mov esi, dword [rdx + 4]
test esi, esi
je 0x140099c71
mov edi, dword [rdx + 8]
test edi, edi
je 0x140099c71
mov ebx, dword [rdx]
test ebx, ebx
je 0x140099c71
cmp qword [rdx + 0x18], 0
je 0x140099008
cmp dword [rdx + 0x10], 0
jne 0x140099037
cmp qword [rdx + 0x28], 0
je 0x140099015
cmp dword [rdx + 0x20], 0
jne 0x140099037
cmp qword [rdx + 0x38], 0
je 0x140099022
cmp dword [rdx + 0x30], 0
jne 0x140099037
cmp qword [rdx + 0x48], 0
je 0x140099c71
cmp dword [rdx + 0x40], 0
je 0x140099c71
test rax, rax
je 0x140099c71
lea rcx, [r8 + 8]
test rcx, rcx
je 0x140099c71
mov eax, dword [rcx]
test eax, eax
js 0x140099c71
mov edx, dword [rcx + 4]
test edx, edx
js 0x140099c71
mov r8d, dword [rcx + 8]
test r8d, r8d
jle 0x140099c71
mov r9d, dword [rcx + 0xc]
test r9d, r9d
jle 0x140099c71
add eax, r8d
cmp eax, esi
jg 0x140099c71
lea eax, [r9 + rdx]
cmp eax, edi
jg 0x140099c71
movups xmm1, xmmword [rcx]
mov qword [rsp + 0x1e8], r15
mov r15, qword [r10 + 8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rsp + 0x40], r15
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rsp + 0x70], xmm1
mov r10d, dword [rsp + 0x74]
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
movdqa xmm0, xmm1
shr rax, 0x20
psrldq xmm0, 8
movd r8d, xmm0
cmp r8d, eax
cmovg eax, r8d
shr ebx, 0x1c
cdq
sub eax, edx
sar eax, 1
neg eax
mov ecx, eax
cdq
sub eax, edx
movd edx, xmm1
sar eax, 1
sub r10d, eax
lea r9d, [rcx + r8]
sub edx, eax
mov r8d, dword [rsp + 0x7c]
add r8d, ecx
cmp ebx, 2
jne 0x140099137
and edx, 0xfffffffe
test r9b, 1
je 0x140099155
inc r9d
jmp 0x140099155
cmp ebx, 3
jne 0x140099155
and edx, 0xfffffffe
test r9b, 1
je 0x140099148
inc r9d
and r10d, 0xfffffffe
test r8b, 1
je 0x140099155
inc r8d
lea ecx, [rsi - 1]
mov dword [rsp + 0x48], ecx
cmp edx, ecx
jg 0x14009916b
xor ecx, ecx
test edx, edx
cmovns ecx, edx
mov dword [rsp + 0x48], ecx
lea eax, [rdi - 1]
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x4c], eax
cmp r10d, eax
jg 0x140099188
xor eax, eax
test r10d, r10d
cmovns eax, r10d
mov dword [rsp + 0x4c], eax
sub esi, ecx
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x34], esi
cmp r9d, esi
jg 0x1400991a4
xor esi, esi
test r9d, r9d
cmovns esi, r9d
mov dword [rsp + 0x34], esi
sub edi, eax
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x38], edi
cmp r8d, edi
jg 0x1400991c0
xor edi, edi
test r8d, r8d
cmovns edi, r8d
mov dword [rsp + 0x38], edi
lea rax, [rbp + 0x80]
mov dword [rsp + 0x7c], edi
mov r9d, 0xc8
mov qword [rsp + 0x20], rax
mov r8, r11
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1400b53b0
mov ebx, eax
test eax, eax
jne 0x140099c56
mov qword [rsp + 0x200], r12
mov qword [rsp + 0x1f0], r14
mov r14d, dword [rbp + 0x84]
test r14d, r14d
je 0x140099c26
mov r12d, dword [rbp + 0x88]
test r12d, r12d
je 0x140099c26
mov rax, qword [r15]
xorps xmm0, xmm0
mov edx, r14d
mov qword [rsp + 0x1f8], r13
imul edx, r12d
mov rcx, r15
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
call qword [rax + 8]
mov qword [rsp + 0x70], rax
mov r15, rax
test rax, rax
je 0x140099280
mov r13d, 0x40000001
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x30], r13d
mov edi, r14d
mov dword [rbp + 0x40], r14d
mov esi, r12d
mov dword [rbp + 0x34], r14d
mov dword [rbp + 0x38], r12d
jmp 0x1400992af
xorps xmm0, xmm0
mov ebx, 0xfffffffd
movups xmmword [rbp + 0x30], xmm0
mov r13d, dword [rbp + 0x30]
mov edi, dword [rbp + 0x34]
mov esi, dword [rbp + 0x38]
movups xmmword [rbp + 0x40], xmm0
mov r15, qword [rbp + 0x48]
mov qword [rsp + 0x70], r15
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
test ebx, ebx
jne 0x140099c2d
mov r8d, dword [rbp + 0x80]
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x78], r14d
mov dword [rbp - 0x74], r12d
cmp r8d, 0x20200001
ja 0x14009938b
lea ecx, [r8 - 0x10200001]
test ecx, 0xefffffff
je 0x1400993a2
lea ecx, [r8 - 0x20000001]
cmp ecx, 1
ja 0x1400993b8
xor edx, edx
mov eax, r14d
div edi
xor edx, edx
mov r14d, eax
mov eax, r12d
div esi
sub r8d, 0x20000001
je 0x140099330
cmp r8d, 1
jne 0x1400993b8
mov ecx, dword [rbp + 0x90]
mov edx, r8d
imul ecx, eax
jmp 0x14009933b
mov ecx, dword [rbp + 0x90]
imul ecx, eax
xor edx, edx
mov r11, qword [rbp + 0x98]
add r14d, r14d
add r11, rdx
mov r8, r15
mov r10d, esi
test esi, esi
je 0x1400993b8
mov ebx, ecx
dec r10d
mov rdx, r11
mov eax, edi
test edi, edi
je 0x140099381
mov r9d, r14d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx]
add rdx, r9
mov byte [r8], cl
inc r8
add eax, 0xffffffff
jne 0x140099370
add r11, rbx
test r10d, r10d
jne 0x140099354
jmp 0x1400993b8
lea eax, [r8 - 0x30100001]
test eax, 0xffeffffe
jne 0x1400993b8
cmp r8d, 0x30200002
je 0x1400993b8
lea r9, [rbp + 0x30]
xor edx, edx
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x80]
call fcn.14007b1b0
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x80]
call fcn.140081c90
test edi, edi
je 0x140099c0e
test esi, esi
je 0x140099c0e
test r13d, r13d
je 0x140099c0e
test r15, r15
je 0x1400993ed
cmp dword [rbp + 0x40], 0
jne 0x14009941c
cmp qword [rbp + 0x58], 0
je 0x1400993fa
cmp dword [rbp + 0x50], 0
jne 0x14009941c
cmp qword [rbp + 0x68], 0
je 0x140099407
cmp dword [rbp + 0x60], 0
jne 0x14009941c
cmp qword [rbp + 0x78], 0
je 0x140099c0e
cmp dword [rbp + 0x70], 0
je 0x140099c0e
cmp r13d, 0x40000001
jne 0x140099c0e
mov rcx, qword [rsp + 0x50]
xorps xmm0, xmm0
mov edx, edi
imul edx, esi
movups xmmword [rbp - 0x20], xmm0
mov rcx, qword [rcx + 8]
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov rax, qword [rcx]
movups xmmword [rbp + 0x10], xmm0
mov dword [rsp + 0x30], edx
movups xmmword [rbp + 0x20], xmm0
call qword [rax + 8]
test rax, rax
je 0x140099bf0
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp - 0x80], rax
xor r14d, r14d
mov dword [rbp - 0x10], edi
mov dword [rbp - 0x1c], edi
mov dword [rbp - 0x18], esi
mov dword [rbp - 0x20], r13d
nop dword [rax + rax]
movsxd rcx, dword [rbp + r14 - 0x10]
mov ebx, esi
movsxd rdx, dword [rbp + r14 + 0x40]
mov r8d, ecx
cmp edx, ecx
cmovl r8d, edx
test rax, rax
je 0x1400994ad
mov eax, 0x40000001
and eax, 0xf0000000
cmp eax, 0x30000000
jne 0x1400994ad
sar ebx, 1
mov rdi, qword [rbp + r14 + 0x48]
mov r12, rdx
mov rsi, qword [rbp + r14 - 8]
mov r13, rcx
movsxd r15, r8d
mov r8, r15
mov rdx, rdi
mov rcx, rsi
call fcn.1400fd5d8
add rdi, r12
add rsi, r13
sub ebx, 1
jne 0x1400994c0
mov rax, qword [rbp - 0x80]
add r14, 0x10
mov esi, dword [rbp + 0x38]
inc rax
mov qword [rbp - 0x80], rax
cmp rax, 1
jl 0x140099480
mov eax, dword [rbp + 0x34]
lea r9d, [rbx + 0x15]
mov r15, qword [rsp + 0x50]
lea r8, [rbp - 0x80]
xor r12d, r12d
mov dword [rbp - 0x78], eax
mov eax, esi
mov qword [rbp - 0x80], r12
lea rdx, [rbp - 0x20]
mov dword [rbp - 0x74], eax
mov rcx, r15
mov dword [r15 + 0x3c8], r12d
call fcn.140086610
mov ebx, eax
test eax, eax
jne 0x140099c13
mov rdi, qword [rbp - 8]
mov r9, qword [rsp + 0x70]
mov r8, rdi
sub r9, rdi
nop dword [rax]
movzx eax, byte [r8 + r9]
movzx edx, byte [r8]
lea r8, [r8 + 1]
sub edx, eax
mov ecx, edx
sar ecx, 0x1f
movzx eax, cl
xor al, dl
sub al, cl
sub dword [rsp + 0x30], 1
mov byte [r8 - 1], al
jne 0x140099540
mov r14, qword [rsp + 0x40]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140081c90
mov esi, dword [rbp - 0x1c]
test esi, esi
je 0x140099bc1
mov ebx, dword [rbp - 0x18]
test ebx, ebx
je 0x140099bc1
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x140099bc1
test rdi, rdi
je 0x1400995a3
cmp dword [rbp - 0x10], r12d
jne 0x1400995cf
cmp qword [rbp + 8], r12
je 0x1400995af
cmp dword [rbp], r12d
jne 0x1400995cf
cmp qword [rbp + 0x18], r12
je 0x1400995bb
cmp dword [rbp + 0x10], r12d
jne 0x1400995cf
cmp qword [rbp + 0x28], r12
je 0x140099bc1
cmp dword [rbp + 0x20], r12d
je 0x140099bc1
cmp eax, 0x40000001
jne 0x140099bc1
mov rcx, qword [r15 + 8]
xorps xmm0, xmm0
mov edx, esi
imul edx, ebx
movups xmmword [rbp - 0x70], xmm0
mov rax, qword [rcx]
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
call qword [rax + 8]
test rax, rax
je 0x1400996e0
mov qword [rbp - 0x58], rax
mov r14, r12
mov rax, r12
mov dword [rbp - 0x60], esi
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x6c], esi
mov dword [rbp - 0x68], ebx
mov dword [rbp - 0x70], 0x40000001
nop dword [rax + rax]
movsxd rcx, dword [rbp + r14 - 0x60]
movsxd rdx, dword [rbp + r14 - 0x10]
mov r8d, ecx
cmp edx, ecx
cmovl r8d, edx
test rax, rax
je 0x14009965b
mov eax, 0x40000001
and eax, 0xf0000000
cmp eax, 0x30000000
jne 0x14009965b
sar ebx, 1
mov rdi, qword [rbp + r14 - 8]
mov r12, rdx
mov rsi, qword [rbp + r14 - 0x58]
mov r13, rcx
movsxd r15, r8d
nop
mov r8, r15
mov rdx, rdi
mov rcx, rsi
call fcn.1400fd5d8
add rdi, r12
add rsi, r13
sub ebx, 1
jne 0x140099670
mov rax, qword [rsp + 0x70]
add r14, 0x10
mov ebx, dword [rbp - 0x18]
inc rax
mov qword [rsp + 0x70], rax
cmp rax, 1
jl 0x140099630
mov eax, dword [rbp - 0x1c]
lea r8, [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x78], eax
mov eax, ebx
mov dword [rsp + 0x7c], ebx
mov dword [rcx + 0x3c8], edx
lea r9d, [rdx + 7]
lea rdx, [rbp - 0x70]
call fcn.140086610
mov ebx, eax
mov r14, qword [rsp + 0x40]
jmp 0x1400996fc
xorps xmm0, xmm0
mov ebx, 0xfffffffd
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
test ebx, ebx
jne 0x140099bc6
mov r13d, dword [rbp - 0x6c]
mov rcx, r14
mov ebx, dword [rbp - 0x68]
mov eax, r13d
shl eax, 0xa
cdq
idiv dword [rsp + 0x34]
mov edi, eax
mov dword [rsp + 0x34], eax
mov eax, ebx
shl eax, 0xa
cdq
idiv dword [rsp + 0x38]
lea rdx, [rbp - 0x20]
mov esi, eax
mov dword [rsp + 0x38], eax
call fcn.140081c90
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x68]
movups xmm1, xmmword [rax + 0x20]
movd ecx, xmm1
movdqa xmm0, xmm1
psrldq xmm0, 4
movd edx, xmm0
movdqa xmm0, xmm1
sub ecx, dword [rsp + 0x48]
imul ecx, edi
sub edx, dword [rsp + 0x4c]
imul edx, esi
movups xmmword [rsp + 0x70], xmm1
mov r10d, ecx
psrldq xmm0, 8
sar r10d, 0x1f
add r10d, ecx
psrldq xmm1, 0xc
mov ecx, edx
sar r10d, 9
sar ecx, 0x1f
inc r10d
add ecx, edx
sar r10d, 1
sar ecx, 9
add r10d, 0xfffffff5
inc ecx
movd r8d, xmm0
sar ecx, 1
add ecx, 0xfffffff5
movd r9d, xmm1
imul r8d, edi
mov r12d, ecx
mov r11d, ecx
mov edi, ecx
imul r9d, esi
mov r15d, ecx
mov edx, r8d
sar edx, 0x1f
add edx, r8d
mov eax, r9d
mov r8d, dword [r14]
sar edx, 9
sar eax, 0x1f
inc edx
add r9d, eax
sar edx, 1
sar r9d, 9
add edx, 0x16
inc r9d
shr r8d, 0x1c
sar r9d, 1
mov eax, ecx
add r9d, 0x16
cmp r8d, 2
jne 0x140099800
and r10d, 0xfffffffe
and edx, 0xfffffffe
jmp 0x140099821
cmp r8d, 3
jne 0x140099821
and eax, 0xfffffffe
and r10d, 0xfffffffe
and edx, 0xfffffffe
mov r12d, eax
and r9d, 0xfffffffe
mov r11d, eax
mov edi, eax
mov r15d, eax
mov ecx, eax
lea esi, [r13 - 1]
cmp r10d, esi
jg 0x14009983b
xor r8d, r8d
test r10d, r10d
cmovns r8d, r10d
mov dword [rsp + 0x70], r8d
jmp 0x140099842
mov r8d, esi
mov dword [rsp + 0x70], esi
cmp r10d, esi
cmovg r11d, edi
cmovg eax, r12d
lea edi, [rbx - 1]
cmovg r15d, ecx
cmp eax, edi
jg 0x140099863
xor ecx, ecx
test r11d, r11d
cmovns ecx, r15d
jmp 0x140099865
mov ecx, edi
mov eax, r13d
mov dword [rsp + 0x74], ecx
sub eax, r8d
cmp edx, eax
jg 0x14009987a
xor eax, eax
test edx, edx
cmovns eax, edx
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, ecx
cmp r9d, eax
jg 0x140099890
xor eax, eax
test r9d, r9d
cmovns eax, r9d
mov r15d, dword [rbp - 0x70]
lea r8, [rsp + 0x70]
mov dword [rsp + 0x7c], eax
lea rcx, [rbp - 0x70]
mov eax, r15d
xor r9d, r9d
shr eax, 0x14
xor edx, edx
and eax, 3
inc eax
mov dword [rsp + 0x30], eax
cmp eax, 1
jbe 0x1400998e4
call fcn.14005fbc0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.14005fbc0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.14005fbc0
jmp 0x14009991c
cmp r15d, 0x40000001
jne 0x1400998f4
call fcn.14005fbc0
jmp 0x14009991c
call fcn.1400a12d0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.1400a12d0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.1400a12d0
mov rax, qword [rsp + 0x58]
movups xmm1, xmmword [rax + 0x30]
movd ecx, xmm1
movdqa xmm0, xmm1
psrldq xmm0, 4
movd edx, xmm0
movdqa xmm0, xmm1
sub ecx, dword [rsp + 0x48]
imul ecx, dword [rsp + 0x34]
sub edx, dword [rsp + 0x4c]
imul edx, dword [rsp + 0x38]
psrldq xmm0, 8
movd r8d, xmm0
mov r10d, ecx
sar r10d, 0x1f
imul r8d, dword [rsp + 0x34]
add r10d, ecx
mov ecx, edx
sar r10d, 9
sar ecx, 0x1f
inc r10d
add ecx, edx
sar r10d, 1
sar ecx, 9
add r10d, 0xfffffff5
mov edx, r8d
inc ecx
sar edx, 0x1f
add edx, r8d
sar ecx, 1
add ecx, 0xfffffff5
sar edx, 9
inc edx
mov eax, ecx
sar edx, 1
mov r12d, ecx
movups xmmword [rsp + 0x70], xmm1
add edx, 0x16
mov r11d, ecx
psrldq xmm1, 0xc
mov r13d, ecx
movd r9d, xmm1
imul r9d, dword [rsp + 0x38]
mov r8d, r9d
sar r8d, 0x1f
add r8d, r9d
mov r9d, dword [r14]
sar r8d, 9
mov r14d, ecx
inc r8d
shr r9d, 0x1c
sar r8d, 1
add r8d, 0x16
cmp r9d, 2
jne 0x1400999e9
and r10d, 0xfffffffe
and edx, 0xfffffffe
jmp 0x140099a0b
cmp r9d, 3
jne 0x140099a0b
and eax, 0xfffffffe
and r10d, 0xfffffffe
and edx, 0xfffffffe
mov r12d, eax
and r8d, 0xfffffffe
mov r11d, eax
mov r13d, eax
mov r14d, eax
mov ecx, eax
cmp r10d, esi
jg 0x140099a21
xor r9d, r9d
test r10d, r10d
cmovns r9d, r10d
mov dword [rsp + 0x70], r9d
jmp 0x140099a28
mov r9d, esi
mov dword [rsp + 0x70], esi
cmp r10d, esi
cmovg r14d, ecx
cmovg r11d, r13d
cmovg eax, r12d
xor r12d, r12d
cmp eax, edi
jg 0x140099a48
test r11d, r11d
mov edi, r12d
cmovns edi, r14d
mov esi, dword [rbp - 0x6c]
mov eax, esi
sub eax, r9d
mov dword [rsp + 0x74], edi
cmp edx, eax
jg 0x140099a60
test edx, edx
mov eax, r12d
cmovns eax, edx
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, edi
cmp r8d, eax
jg 0x140099a77
test r8d, r8d
mov eax, r12d
cmovns eax, r8d
xor r9d, r9d
mov dword [rsp + 0x7c], eax
xor edx, edx
lea r8, [rsp + 0x70]
cmp dword [rsp + 0x30], 1
lea rcx, [rbp - 0x70]
jbe 0x140099aba
call fcn.14005fbc0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.14005fbc0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.14005fbc0
jmp 0x140099af2
cmp r15d, 0x40000001
jne 0x140099aca
call fcn.14005fbc0
jmp 0x140099af2
call fcn.1400a12d0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.1400a12d0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.1400a12d0
mov r9, qword [rbp - 0x58]
mov r8d, r12d
imul ebx, esi
mov r10d, ebx
nop
movzx edx, byte [r9]
lea r9, [r9 + 1]
add edx, 0xfffffffd
mov ecx, r8d
add r8d, edx
movzx eax, dl
cmp edx, 0xe
cmova eax, r12d
cmova r8d, ecx
mov byte [r9 - 1], al
sub r10d, 1
jne 0x140099b00
imul ecx, ebx, 0x49
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
sub r8d, edx
cmovns eax, r8d
imul ecx, eax, 0x96
mov eax, ecx
cdq
idiv ebx
sub ecx, edx
imul edx, ebx, 0xff
cmp ecx, edx
cmovle edx, ecx
imul ecx, ebx, 0x32
cmp edx, ecx
jg 0x140099b6a
mov al, 0x32
jmp 0x140099b95
imul eax, ebx, 0xc8
cmp edx, eax
jle 0x140099b78
mov al, 0x96
jmp 0x140099b95
sub edx, ecx
imul ecx, ebx, 0x96
imul eax, edx, 0x64
cdq
idiv ecx
add eax, 0x32
test eax, 0xffffff00
je 0x140099b95
neg eax
sar eax, 0x1f
mov rdx, qword [rsp + 0x58]
mov ebx, r12d
mov r8, qword [rsp + 0x60]
mov ecx, dword [rdx + 0x60]
cmp ecx, 2
jne 0x140099bb0
mov byte [r8], al
mov ecx, dword [rdx + 0x60]
cmp ecx, 1
je 0x140099bba
cmp ecx, 4
jne 0x140099bc6
shr al, 1
mov byte [r8], al
jmp 0x140099bc6
mov ebx, 0xfffffffc
mov r15, qword [rsp + 0x40]
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.140081c90
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140081c90
jmp 0x140099c32
xorps xmm0, xmm0
mov ebx, 0xfffffffd
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
jmp 0x140099c13
mov ebx, 0xfffffffc
mov r15, qword [rsp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140081c90
jmp 0x140099c32
mov ebx, 0xfffffffc
jmp 0x140099c3a
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x1f8]
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140081c90
mov r14, qword [rsp + 0x1f0]
mov r12, qword [rsp + 0x200]
lea rdx, [rbp + 0x80]
mov rcx, r15
call fcn.140081c90
mov r15, qword [rsp + 0x1e8]
mov eax, ebx
jmp 0x140099c76
mov eax, 0xfffffffc
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400fc4b0
add rsp, 0x208
pop rdi
pop rsi
pop rbx
pop rbp
ret