Function at 0x140099760
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 0x14009a441
mov esi, dword [rdx + 4]
test esi, esi
je 0x14009a441
mov edi, dword [rdx + 8]
test edi, edi
je 0x14009a441
mov ebx, dword [rdx]
test ebx, ebx
je 0x14009a441
cmp qword [rdx + 0x18], 0
je 0x1400997d8
cmp dword [rdx + 0x10], 0
jne 0x140099807
cmp qword [rdx + 0x28], 0
je 0x1400997e5
cmp dword [rdx + 0x20], 0
jne 0x140099807
cmp qword [rdx + 0x38], 0
je 0x1400997f2
cmp dword [rdx + 0x30], 0
jne 0x140099807
cmp qword [rdx + 0x48], 0
je 0x14009a441
cmp dword [rdx + 0x40], 0
je 0x14009a441
test rax, rax
je 0x14009a441
lea rcx, [r8 + 8]
test rcx, rcx
je 0x14009a441
mov eax, dword [rcx]
test eax, eax
js 0x14009a441
mov edx, dword [rcx + 4]
test edx, edx
js 0x14009a441
mov r8d, dword [rcx + 8]
test r8d, r8d
jle 0x14009a441
mov r9d, dword [rcx + 0xc]
test r9d, r9d
jle 0x14009a441
add eax, r8d
cmp eax, esi
jg 0x14009a441
lea eax, [r9 + rdx]
cmp eax, edi
jg 0x14009a441
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 0x140099907
and edx, 0xfffffffe
test r9b, 1
je 0x140099925
inc r9d
jmp 0x140099925
cmp ebx, 3
jne 0x140099925
and edx, 0xfffffffe
test r9b, 1
je 0x140099918
inc r9d
and r10d, 0xfffffffe
test r8b, 1
je 0x140099925
inc r8d
lea ecx, [rsi - 1]
mov dword [rsp + 0x48], ecx
cmp edx, ecx
jg 0x14009993b
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 0x140099958
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 0x140099974
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 0x140099990
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.1400b5b80
mov ebx, eax
test eax, eax
jne 0x14009a426
mov qword [rsp + 0x200], r12
mov qword [rsp + 0x1f0], r14
mov r14d, dword [rbp + 0x84]
test r14d, r14d
je 0x14009a3f6
mov r12d, dword [rbp + 0x88]
test r12d, r12d
je 0x14009a3f6
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 0x140099a50
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 0x140099a7f
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 0x14009a3fd
mov r8d, dword [rbp + 0x80]
mov qword [rbp - 0x80], 0
mov dword [rbp - 0x78], r14d
mov dword [rbp - 0x74], r12d
cmp r8d, 0x20200001
ja 0x140099b5b
lea ecx, [r8 - 0x10200001]
test ecx, 0xefffffff
je 0x140099b72
lea ecx, [r8 - 0x20000001]
cmp ecx, 1
ja 0x140099b88
xor edx, edx
mov eax, r14d
div edi
xor edx, edx
mov r14d, eax
mov eax, r12d
div esi
sub r8d, 0x20000001
je 0x140099b00
cmp r8d, 1
jne 0x140099b88
mov ecx, dword [rbp + 0x90]
mov edx, r8d
imul ecx, eax
jmp 0x140099b0b
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 0x140099b88
mov ebx, ecx
dec r10d
mov rdx, r11
mov eax, edi
test edi, edi
je 0x140099b51
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 0x140099b40
add r11, rbx
test r10d, r10d
jne 0x140099b24
jmp 0x140099b88
lea eax, [r8 - 0x30100001]
test eax, 0xffeffffe
jne 0x140099b88
cmp r8d, 0x30200002
je 0x140099b88
lea r9, [rbp + 0x30]
xor edx, edx
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x80]
call fcn.14007b980
mov rcx, qword [rsp + 0x40]
lea rdx, [rbp + 0x80]
call fcn.140082460
test edi, edi
je 0x14009a3de
test esi, esi
je 0x14009a3de
test r13d, r13d
je 0x14009a3de
test r15, r15
je 0x140099bbd
cmp dword [rbp + 0x40], 0
jne 0x140099bec
cmp qword [rbp + 0x58], 0
je 0x140099bca
cmp dword [rbp + 0x50], 0
jne 0x140099bec
cmp qword [rbp + 0x68], 0
je 0x140099bd7
cmp dword [rbp + 0x60], 0
jne 0x140099bec
cmp qword [rbp + 0x78], 0
je 0x14009a3de
cmp dword [rbp + 0x70], 0
je 0x14009a3de
cmp r13d, 0x40000001
jne 0x14009a3de
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 0x14009a3c0
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 0x140099c7d
mov eax, 0x40000001
and eax, 0xf0000000
cmp eax, 0x30000000
jne 0x140099c7d
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.1400fddb8
add rdi, r12
add rsi, r13
sub ebx, 1
jne 0x140099c90
mov rax, qword [rbp - 0x80]
add r14, 0x10
mov esi, dword [rbp + 0x38]
inc rax
mov qword [rbp - 0x80], rax
cmp rax, 1
jl 0x140099c50
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.140086de0
mov ebx, eax
test eax, eax
jne 0x14009a3e3
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 0x140099d10
mov r14, qword [rsp + 0x40]
lea rdx, [rbp + 0x30]
mov rcx, r14
call fcn.140082460
mov esi, dword [rbp - 0x1c]
test esi, esi
je 0x14009a391
mov ebx, dword [rbp - 0x18]
test ebx, ebx
je 0x14009a391
mov eax, dword [rbp - 0x20]
test eax, eax
je 0x14009a391
test rdi, rdi
je 0x140099d73
cmp dword [rbp - 0x10], r12d
jne 0x140099d9f
cmp qword [rbp + 8], r12
je 0x140099d7f
cmp dword [rbp], r12d
jne 0x140099d9f
cmp qword [rbp + 0x18], r12
je 0x140099d8b
cmp dword [rbp + 0x10], r12d
jne 0x140099d9f
cmp qword [rbp + 0x28], r12
je 0x14009a391
cmp dword [rbp + 0x20], r12d
je 0x14009a391
cmp eax, 0x40000001
jne 0x14009a391
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 0x140099eb0
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 0x140099e2b
mov eax, 0x40000001
and eax, 0xf0000000
cmp eax, 0x30000000
jne 0x140099e2b
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.1400fddb8
add rdi, r12
add rsi, r13
sub ebx, 1
jne 0x140099e40
mov rax, qword [rsp + 0x70]
add r14, 0x10
mov ebx, dword [rbp - 0x18]
inc rax
mov qword [rsp + 0x70], rax
cmp rax, 1
jl 0x140099e00
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.140086de0
mov ebx, eax
mov r14, qword [rsp + 0x40]
jmp 0x140099ecc
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 0x14009a396
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.140082460
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 0x140099fd0
and r10d, 0xfffffffe
and edx, 0xfffffffe
jmp 0x140099ff1
cmp r8d, 3
jne 0x140099ff1
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 0x14009a00b
xor r8d, r8d
test r10d, r10d
cmovns r8d, r10d
mov dword [rsp + 0x70], r8d
jmp 0x14009a012
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 0x14009a033
xor ecx, ecx
test r11d, r11d
cmovns ecx, r15d
jmp 0x14009a035
mov ecx, edi
mov eax, r13d
mov dword [rsp + 0x74], ecx
sub eax, r8d
cmp edx, eax
jg 0x14009a04a
xor eax, eax
test edx, edx
cmovns eax, edx
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, ecx
cmp r9d, eax
jg 0x14009a060
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 0x14009a0b4
call fcn.140060390
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.140060390
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.140060390
jmp 0x14009a0ec
cmp r15d, 0x40000001
jne 0x14009a0c4
call fcn.140060390
jmp 0x14009a0ec
call fcn.1400a1aa0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.1400a1aa0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.1400a1aa0
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 0x14009a1b9
and r10d, 0xfffffffe
and edx, 0xfffffffe
jmp 0x14009a1db
cmp r9d, 3
jne 0x14009a1db
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 0x14009a1f1
xor r9d, r9d
test r10d, r10d
cmovns r9d, r10d
mov dword [rsp + 0x70], r9d
jmp 0x14009a1f8
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 0x14009a218
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 0x14009a230
test edx, edx
mov eax, r12d
cmovns eax, edx
mov dword [rsp + 0x78], eax
mov eax, ebx
sub eax, edi
cmp r8d, eax
jg 0x14009a247
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 0x14009a28a
call fcn.140060390
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.140060390
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.140060390
jmp 0x14009a2c2
cmp r15d, 0x40000001
jne 0x14009a29a
call fcn.140060390
jmp 0x14009a2c2
call fcn.1400a1aa0
lea r8, [rsp + 0x70]
mov dl, 1
lea rcx, [rbp - 0x70]
mov r9b, 0x7f
call fcn.1400a1aa0
lea r8, [rsp + 0x70]
mov dl, 2
lea rcx, [rbp - 0x70]
call fcn.1400a1aa0
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 0x14009a2d0
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 0x14009a33a
mov al, 0x32
jmp 0x14009a365
imul eax, ebx, 0xc8
cmp edx, eax
jle 0x14009a348
mov al, 0x96
jmp 0x14009a365
sub edx, ecx
imul ecx, ebx, 0x96
imul eax, edx, 0x64
cdq
idiv ecx
add eax, 0x32
test eax, 0xffffff00
je 0x14009a365
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 0x14009a380
mov byte [r8], al
mov ecx, dword [rdx + 0x60]
cmp ecx, 1
je 0x14009a38a
cmp ecx, 4
jne 0x14009a396
shr al, 1
mov byte [r8], al
jmp 0x14009a396
mov ebx, 0xfffffffc
mov r15, qword [rsp + 0x40]
lea rdx, [rbp - 0x70]
mov rcx, r15
call fcn.140082460
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140082460
jmp 0x14009a402
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 0x14009a3e3
mov ebx, 0xfffffffc
mov r15, qword [rsp + 0x40]
lea rdx, [rbp - 0x20]
mov rcx, r15
call fcn.140082460
jmp 0x14009a402
mov ebx, 0xfffffffc
jmp 0x14009a40a
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x1f8]
lea rdx, [rbp + 0x30]
mov rcx, r15
call fcn.140082460
mov r14, qword [rsp + 0x1f0]
mov r12, qword [rsp + 0x200]
lea rdx, [rbp + 0x80]
mov rcx, r15
call fcn.140082460
mov r15, qword [rsp + 0x1e8]
mov eax, ebx
jmp 0x14009a446
mov eax, 0xfffffffc
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.1400fcc70
add rsp, 0x208
pop rdi
pop rsi
pop rbx
pop rbp
ret