Function at 0x140046960
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm13
movdqa xmmword [rsp + 0x90], xmm12
movdqa xmmword [rsp + 0x80], xmm11
movdqa xmmword [rsp + 0x70], xmm10
movdqa xmmword [rsp + 0x60], xmm9
movdqa xmmword [rsp + 0x50], xmm8
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov rdi, r8
mov rsi, rdx
mov r12, rcx
nop dword [rax + rax]
mov eax, dword [0x141dc6f10]
xor edx, edx
div dword [0x141dc6f14]
xor eax, 0x228b8b06
and eax, 0x2b8bcb4e
imul eax, eax, 0x6ce07b44
cmp eax, 0x2bc294e6
jb 0x1400469c0
mov r8, qword [r12]
mov rax, qword [r12 + 0x10]
nop
mov ecx, dword [0x141dc6f18]
imul ecx, dword [0x141dc6f1c]
imul rcx, rcx, 0x457d9155
shr rcx, 0x3a
add ecx, 0x9d7d84c9
cmp ecx, 0xc650da4a
ja 0x1400469f0
mov rcx, r8
or rcx, rax
jne 0x140046a60
mov rax, qword [r12 + 0x20]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6f28]
imul ecx, dword [0x141dc6f2c]
xor ecx, 0x4debb011
cmp ecx, 0xc1f21e03
ja 0x140046a30
mov r9, qword [r12 + 0x28]
mov rcx, rax
jmp 0x140046f0f
mov ecx, dword [0x141dc6f20]
add ecx, dword [0x141dc6f24]
xor ecx, 0x711337d0
add ecx, 0xffd2dc44
shr ecx, 1
imul rcx, rcx, 0x4c606241
shr rcx, 0x3d
cmp ecx, 0x38b18d49
je 0x140046a60
test rax, rax
je 0x140046e57
mov rcx, qword [r12 + 0x18]
lea rax, [rsi + rdi]
test rcx, rcx
je 0x140046c52
xor edx, edx
xor r9d, r9d
xor r10d, r10d
mov r11, rsi
jmp 0x140046ad5
lea rbx, [r11 + 2]
nop dword [rax]
mov r14, rbx
sub r14, r11
add r9, r14
mov r11, rbx
cmp r10, rcx
je 0x140046c60
cmp r11, rax
je 0x140046c30
inc r10
nop word cs:[rax + rax]
mov ebx, dword [0x141dc6f30]
or ebx, dword [0x141dc6f34]
and ebx, 0x13881807
add ebx, 0x1121dc10
cmp ebx, 0xd92d4be2
ja 0x140046af0
lea rbx, [r11 + 1]
nop word cs:[rax + rax]
mov ebp, dword [0x141dc6f38]
xor ebp, dword [0x141dc6f3c]
add ebp, 0x476944a
and ebp, 0x3f97416b
cmp ebp, 0x93a8eee3
je 0x140046b20
movzx ebp, byte [r11]
test bpl, bpl
js 0x140046b70
nop dword [rax]
mov ebp, dword [0x141dc6f48]
and ebp, dword [0x141dc6f4c]
and ebp, 0x50801a0a
cmp ebp, 0x11868efe
je 0x140046b50
jmp 0x140046ac0
mov ebx, dword [0x141dc6f40]
or ebx, dword [0x141dc6f44]
xor ebx, 0x8bb973e8
imul ebx, ebx, 0xbaf531a5
add ebx, 0x362455e1
cmp ebx, 0x69665f32
ja 0x140046b70
cmp bpl, 0xdf
jbe 0x140046ab5
mov ebx, dword [0x141dc6f50]
and ebx, dword [0x141dc6f54]
xor ebx, 0x30fc1ecb
add ebx, 0x9209c517
or ebx, 0xa10d7fa
cmp ebx, 0x30098dfe
jb 0x140046ba0
test dl, dl
jne 0x140046bc6
cmp bpl, 0xf0
jb 0x140046c1f
mov ebx, dword [0x141dc6f58]
add ebx, dword [0x141dc6f5c]
imul ebx, ebx, 0x3ccc5c10
add ebx, 0x92472e69
xor ebx, 0x3dd16daf
cmp ebx, 0x971bb748
ja 0x140046bd0
lea rbx, [r11 + 4]
nop word [rax + rax]
mov ebp, dword [str.eoFuS]
and ebp, dword [0x141dc6f64]
imul ebp, ebp, 0xec42b177
cmp ebp, 0xec1fa6a2
je 0x140046c00
jmp 0x140046ac0
lea rbx, [r11 + 3]
jmp 0x140046ac0
mov eax, dword [0x141dc6f68]
xor eax, dword [0x141dc6f6c]
xor eax, 0x27a541
and eax, 0x2027b54d
cmp eax, 0x47aaf26c
je 0x140046c30
jmp 0x140046e57
xor r9d, r9d
mov rbx, rsi
nop dword [rax + rax]
mov ecx, dword [0x141dc6f70]
or ecx, dword [0x141dc6f74]
imul rcx, rcx, 0x4512abab
shr rcx, 0x3e
or ecx, 0x2189076
cmp ecx, 0xe8912457
je 0x140046c60
cmp rbx, rax
je 0x140046e57
nop
mov eax, dword [0x141dc6f78]
add eax, dword [0x141dc6f7c]
imul eax, eax, 0xf1436fa4
add eax, 0x34049b74
imul rax, rax, 0x766862f1
shr rax, 0x3e
cmp eax, 0x4232ee0
ja 0x140046c90
movzx ecx, byte [rbx]
xor eax, eax
nop
test al, al
jne 0x140046cc0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046cd0
test cl, cl
js 0x140046d10
mov eax, 0xc75f2793
nop dword [rax]
mov ecx, dword [0x141dc6f98]
sub ecx, dword [0x141dc6f9c]
or ecx, 0xbbd7f2a6
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xd8cdf122
je 0x140046ce0
jmp 0x140046dd4
mov eax, dword [0x141dc6f80]
imul eax, dword [0x141dc6f84]
or eax, 0xa7fa23c0
imul eax, eax, 0x134dbf97
imul rdx, rax, 0x7b909a3
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
cmp eax, 0x207b9821
ja 0x140046d10
mov eax, dword [0x141dc6f88]
xor edx, edx
div dword [0x141dc6f8c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc6f90]
sub eax, dword [0x141dc6f94]
or eax, 0x4c1cedae
add eax, 0x1beef1d3
cmp eax, 0x65442235
jb 0x140046d60
cmp cl, 0xdf
jbe 0x140046dd4
nop word cs:[rax + rax]
mov eax, dword [0x141dc6fa0]
add eax, dword [0x141dc6fa4]
or eax, 0xebfdfdfb
cmp eax, 0x775c9854
jb 0x140046d90
cmp cl, 0xf0
jb 0x140046dd4
nop dword [rax]
mov eax, dword [0x141dc6fa8]
xor edx, edx
div dword [0x141dc6fac]
add eax, 0x3c3026fd
and eax, 0xe12958d4
add eax, 0xfd39329d
cmp eax, 0x17eabc51
jb 0x140046db0
test r9, r9
je 0x140046e43
cmp r9, rdi
jae 0x140046e20
movzx eax, byte [rsi + r9]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6fb0]
add ecx, dword [0x141dc6fb4]
imul rcx, rcx, 0x75df132f
shr rcx, 0x3e
imul ecx, ecx, 0x3d4c1c92
cmp ecx, 0x142297b0
je 0x140046df0
cmp al, 0xbf
jg 0x140046e43
jmp 0x140046e57
mov eax, dword [0x141dc6fb8]
imul eax, dword [0x141dc6fbc]
xor eax, 0x5790972f
add eax, 0x731fce2
cmp eax, 0x25c6d08f
ja 0x140046e20
cmp r9, rdi
jne 0x140046e57
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046e50
mov rdi, r9
test r8, r8
je 0x140046f05
mov eax, dword [0x141dc6fc0]
or eax, dword [0x141dc6fc4]
cmp eax, 0x6910cbb
je 0x140046e60
nop word cs:[rax + rax]
mov eax, dword [0x141dc6fc8]
sub eax, dword [0x141dc6fcc]
or eax, 0x971d3486
add eax, 0x9469ed1a
imul rax, rax, 0x68a822f7
shr rax, 0x3e
cmp eax, 0x3f51808a
ja 0x140046e80
mov r13, qword [r12 + 8]
nop dword [rax]
mov eax, dword [0x141dc6fd0]
or eax, dword [0x141dc6fd4]
add eax, 0xdb977d3e
xor eax, 0x5a07af40
shr eax, 3
imul rax, rax, 0x265cc683
shr rax, 0x3a
cmp eax, 0x9161cbf4
je 0x140046eb0
cmp rdi, 0x20
jae 0x140046f97
mov r9, rdi
test rdi, rdi
je 0x140047994
cmp rdi, 1
jne 0x1400478bb
xor r9d, r9d
xor ecx, ecx
jmp 0x140047960
mov rcx, qword [r12 + 0x20]
mov r9, qword [r12 + 0x28]
mov rdx, rsi
mov r8, rdi
call qword [r9 + 0x18]
mov ecx, eax
nop dword [rax + rax]
mov eax, dword [0x141dc7170]
xor edx, edx
div dword [0x141dc7174]
and eax, 0x29d5861d
add eax, 0xce45e1bf
imul rax, rax, 0x514060b
shr rax, 0x3a
cmp eax, 0x50b27ebc
je 0x140046f20
mov eax, ecx
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm13, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
nop dword [rax]
test al, al
jne 0x140046fa0
lea rcx, [rsi + 7]
and rcx, 0xfffffffffffffff8
mov rbx, rcx
sub rbx, rsi
nop word cs:[rax + rax]
mov eax, dword [0x141dc6fd8]
or eax, dword [0x141dc6fdc]
xor eax, 0x1b25dacb
add eax, 0x63df8327
and eax, 0x91d0bb1d
cmp eax, 0x32906806
je 0x140046fc0
mov qword [rsp + 0x28], r12
lea r12, [rsi + rbx]
mov r9, rdi
sub r9, rbx
mov r8, r9
shr r8, 3
mov r10, r9
and r10, 0xfffffffffffffff8
nop
mov eax, dword [0x141dc6fe0]
xor edx, edx
div dword [0x141dc6fe4]
add eax, 0x47b00adc
cmp eax, 0x5ac69378
ja 0x140047000
and r9d, 7
sub rcx, rsi
jne 0x140047030
xor r11d, r11d
jmp 0x1400471b6
mov eax, dword [0x141dc6fe8]
add eax, dword [0x141dc6fec]
and eax, 0x2ba07aaf
xor eax, 0x7b0aef71
add eax, 0xae421013
cmp eax, 0xb62ec140
ja 0x140047030
nop word cs:[rax + rax]
mov eax, dword [0x141dc6ff0]
xor eax, dword [0x141dc6ff4]
and eax, 0x35142a47
imul eax, eax, 0x9fee00df
xor eax, 0x5e76f89b
cmp eax, 0xe1023556
ja 0x140047060
cmp rbx, 4
jae 0x1400470a0
xor r11d, r11d
xor eax, eax
jmp 0x140047180
mov eax, dword [0x141dc6ff8]
mov edx, dword [0x141dc6ffc]
add eax, edx
add eax, 0x4bf07670
or eax, 0x9c8abc1
and eax, 0xdcebfe5
cmp eax, 0xd136af8d
ja 0x1400470a0
mov eax, ebx
and eax, 4
xor edx, edx
nop dword [rax + rax]
test dl, dl
jne 0x1400470d0
pxor xmm0, xmm0
xor edx, edx
movdqa xmm2, xmmword [0x140103720]
movdqa xmm3, xmmword [0x140103730]
pxor xmm1, xmm1
nop
mov r11d, dword [0x141dc7000]
xor r11d, dword [0x141dc7004]
add r11d, 0xcbd17abd
and r11d, 0xdb624122
cmp r11d, 0x1140bdc6
je 0x1400470f0
movzx r11d, word [rsi + rdx]
movzx ebp, word [rsi + rdx + 2]
lea r14, [rdx + 4]
movd xmm4, r11d
movd xmm5, ebp
pcmpgtb xmm4, xmm2
punpcklbw xmm4, xmm4
pshuflw xmm4, xmm4, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm0, xmm4
pcmpgtb xmm5, xmm2
punpcklbw xmm5, xmm5
pshuflw xmm4, xmm5, 0xd4
pshufd xmm4, xmm4, 0xd4
pand xmm4, xmm3
paddq xmm1, xmm4
mov rdx, r14
cmp r14, rax
jne 0x1400470f0
paddq xmm1, xmm0
pshufd xmm0, xmm1, 0xee
paddq xmm0, xmm1
movq r11, xmm0
cmp rbx, rax
je 0x1400471b6
nop
mov edx, dword [0x141dc7008]
add edx, dword [0x141dc700c]
or edx, 0xe938fcb9
imul ebp, edx, 0x8cf47ec7
xor edx, edx
cmp byte [rsi + rax], 0xc0
setge bl
cmp ebp, 0x59fead27
jb 0x140047180
mov dl, bl
add r11, rdx
inc rax
cmp rcx, rax
jne 0x140047180
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400471c0
test r9, r9
je 0x1400473d9
nop dword [rax]
mov eax, dword [0x141dc7010]
xor edx, edx
div dword [0x141dc7014]
imul eax, eax, 0x518e467
or eax, 0x4c11e794
cmp eax, 0x3ed821fa
jb 0x1400471d0
xor r15d, r15d
cmp byte [r12 + r10], 0xc0
setge r15b
mov eax, 0x90ad26bb
nop word cs:[rax + rax]
mov ecx, dword [0x141dc7018]
xor ecx, dword [0x141dc701c]
and ecx, 0xff11ab10
imul rcx, rax
shr rcx, 0x3c
and ecx, 1
cmp ecx, 0x7d16d40f
ja 0x140047210
cmp r9d, 1
je 0x1400473dc
xor eax, eax
cmp byte [r12 + r10 + 1], 0xc0
setge al
add r15, rax
cmp r9d, 2
je 0x1400473dc
xor eax, eax
cmp byte [r12 + r10 + 2], 0xc0
setge al
add r15, rax
cmp r9d, 3
je 0x1400473dc
nop
mov eax, dword [0x141dc7020]
sub eax, dword [0x141dc7024]
and eax, 0xe537a0e3
imul eax, eax, 0xa16402e0
cmp eax, 0x955ddf8
je 0x140047270
mov eax, dword [0x141dc7028]
xor edx, edx
div dword [0x141dc702c]
nop dword [rax]
mov edx, dword [0x141dc7030]
or edx, dword [0x141dc7034]
add edx, 0xcee79497
xor eax, eax
cmp byte [r12 + r10 + 3], 0xc0
setge cl
cmp edx, 0xc10be25a
ja 0x1400472a0
mov al, cl
add r15, rax
cmp r9d, 4
je 0x1400473dc
mov eax, dword [0x141dc7038]
xor edx, edx
div dword [0x141dc703c]
mov eax, dword [0x141dc7040]
mov ecx, dword [0x141dc7044]
lea edx, [rax + rcx]
add edx, 0xd9500bb3
and edx, 0x9c7c8b0c
xor eax, eax
cmp byte [r12 + r10 + 4], 0xc0
setge cl
cmp edx, 0x454d0f32
ja 0x1400472e2
mov al, cl
add r15, rax
mov eax, dword [0x141dc7048]
sub eax, dword [0x141dc704c]
and eax, 0x40b848b0
xor eax, 0xa2a42890
cmp eax, 0x52c9ddbd
jb 0x140047315
cmp r9d, 5
je 0x1400473dc
mov eax, dword [0x141dc7050]
and eax, dword [0x141dc7054]
imul eax, eax, 0x941c11b5
xor eax, 0x41800648
and eax, 0x69f84668
cmp eax, 0x5e18405b
ja 0x14004733c
movzx ecx, byte [r12 + r10 + 5]
mov eax, dword [0x141dc7058]
xor edx, edx
div dword [0x141dc705c]
xor eax, eax
cmp cl, 0xc0
setge dl
mov ebx, dword [0x141dc7060]
sub ebx, dword [0x141dc7064]
imul ebx, ebx, 0x8ae14d1d
or ebx, 0x2800051
and ebx, 0x68862d1
cmp ebx, 0x63287ba3
ja 0x140047373
mov al, dl
add r15, rax
mov eax, dword [0x141dc7068]
and eax, dword [0x141dc706c]
or eax, 0x12d5d099
add eax, 0x1d2d31dd
cmp eax, 0xd7099351
ja 0x1400473a6
cmp r9d, 6
je 0x1400473dc
xor eax, eax
cmp byte [r12 + r10 + 6], 0xc0
setge al
add r15, rax
jmp 0x1400473dc
xor r15d, r15d
mov qword [rsp + 0x20], r13
add r15, r11
nop word cs:[rax + rax]
mov eax, dword [0x141dc7070]
xor eax, dword [0x141dc7074]
imul rax, rax, 0x4eed94c9
shr rax, 0x3c
cmp eax, 0x107a4e70
ja 0x1400473f0
movabs rcx, 0xff00ff00ff00ff
movabs rdx, 0x1000100010001
mov r14d, 0x904f4f29
pcmpeqd xmm0, xmm0
movdqa xmm1, xmmword [0x140103740]
jmp 0x140047472
xor r15d, r15d
lea r12, [rbx + r13*8]
sub r8, r13
and r13d, 3
mov rax, r15
and rax, rcx
shr r15, 8
and r15, rcx
add r15, rax
imul r15, rdx
shr r15, 0x30
add r15, r9
test r13, r13
jne 0x140047885
mov r9, r15
test r8, r8
je 0x14004786d
mov rbx, r12
cmp r8, 0xc0
mov r13d, 0xc0
cmovb r13, r8
mov r10, r13
and r10, 0xfc
je 0x140047440
mov ebp, r13d
shr ebp, 2
movabs rax, 0x7ffffffffffffff
lea r11, [rax + rbp]
and r11, rax
cmp r11, 3
jae 0x1400474d0
xor r15d, r15d
mov r12, rbx
jmp 0x1400477a8
inc r11
nop word cs:[rax + rax]
mov eax, dword [0x141dc7078]
xor eax, dword [0x141dc707c]
or eax, 0xfcbcbff
imul eax, eax, 0x91e2b346
or eax, 0xd6cef8fe
cmp eax, 0xf9eccd31
ja 0x1400474e0
mov rcx, r11
movabs rax, 0xffffffffffffffc
and rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc7080]
xor edx, edx
div dword [0x141dc7084]
and eax, 0x4c2fa359
add eax, 0x38d062f5
cmp eax, 0x5675f3df
ja 0x140047520
mov r12, rcx
shl r12, 5
add r12, rbx
nop dword [rax]
mov eax, dword [0x141dc7088]
and eax, dword [0x141dc708c]
add eax, 0xa7e1575a
imul rax, rax, 0x5d24ca25
shr rax, 0x3e
cmp eax, 0x98d68f46
je 0x140047550
pxor xmm3, xmm3
xor r15d, r15d
pxor xmm2, xmm2
nop
mov eax, dword [0x141dc7090]
xor edx, edx
div dword [0x141dc7094]
xor eax, 0x3de8b990
imul rdx, rax, 0x4b25b4db
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x1a9f9c56
je 0x140047580
mov rax, r15
shl rax, 5
movdqu xmm9, xmmword [rbx + rax]
movdqu xmm4, xmmword [rbx + rax + 0x10]
movdqu xmm6, xmmword [rbx + rax + 0x20]
movdqu xmm12, xmmword [rbx + rax + 0x30]
or rax, 0x40
add r15, 4
movdqu xmm8, xmmword [rbx + rax]
movdqu xmm5, xmmword [rbx + rax + 0x10]
movdqu xmm7, xmmword [rbx + rax + 0x20]
movdqu xmm13, xmmword [rbx + rax + 0x30]
movdqa xmm11, xmm9
punpcklqdq xmm11, xmm6
movdqa xmm10, xmm8
punpcklqdq xmm10, xmm7
punpckhqdq xmm9, xmm6
punpckhqdq xmm8, xmm7
movdqa xmm7, xmm4
punpcklqdq xmm7, xmm12
movdqa xmm6, xmm5
punpcklqdq xmm6, xmm13
punpckhqdq xmm4, xmm12
punpckhqdq xmm5, xmm13
movdqa xmm12, xmm11
pxor xmm12, xmm0
movdqa xmm13, xmm10
pxor xmm13, xmm0
psrlq xmm12, 7
psrlq xmm13, 7
psrlq xmm11, 6
por xmm11, xmm12
psrlq xmm10, 6
por xmm10, xmm13
pand xmm11, xmm1
paddq xmm3, xmm11
pand xmm10, xmm1
paddq xmm2, xmm10
movdqa xmm10, xmm9
pxor xmm10, xmm0
movdqa xmm11, xmm8
pxor xmm11, xmm0
psrlq xmm10, 7
psrlq xmm11, 7
psrlq xmm9, 6
por xmm9, xmm10
psrlq xmm8, 6
por xmm8, xmm11
pand xmm9, xmm1
pand xmm8, xmm1
movdqa xmm10, xmm7
pxor xmm10, xmm0
movdqa xmm11, xmm6
pxor xmm11, xmm0
psrlq xmm10, 7
psrlq xmm11, 7
psrlq xmm7, 6
por xmm7, xmm10
psrlq xmm6, 6
por xmm6, xmm11
pand xmm7, xmm1
paddq xmm7, xmm9
paddq xmm7, xmm3
pand xmm6, xmm1
paddq xmm6, xmm8
paddq xmm6, xmm2
movdqa xmm2, xmm4
pxor xmm2, xmm0
movdqa xmm3, xmm5
pxor xmm3, xmm0
psrlq xmm2, 7
psrlq xmm3, 7
psrlq xmm4, 6
por xmm4, xmm2
psrlq xmm5, 6
por xmm5, xmm3
pand xmm4, xmm1
movdqa xmm3, xmm4
paddq xmm3, xmm7
pand xmm5, xmm1
movdqa xmm2, xmm5
paddq xmm2, xmm6
cmp r15, rcx
jne 0x140047580
movabs rdx, 0x1000100010001
nop dword [rax + rax]
mov eax, dword [0x141dc7098]
imul eax, dword [0x141dc709c]
and eax, 0xeea26cb6
xor eax, 0x7a9f7e51
add eax, 0x4b7e6c9c
cmp eax, 0xf8ff2859
ja 0x140047760
paddq xmm2, xmm3
pshufd xmm3, xmm2, 0xee
paddq xmm3, xmm2
movq r15, xmm3
cmp r11, rcx
movabs rcx, 0xff00ff00ff00ff
je 0x140047443
shl rbp, 5
add rbp, rbx
nop
mov eax, dword [0x141dc70a0]
sub eax, dword [0x141dc70a4]
and eax, 0xcfc3316e
add eax, 0x3f7b51ba
or eax, 0x65593e85
cmp eax, 0x6999e4b5
jb 0x1400477b0
nop word cs:[rax + rax]
mov eax, dword [0x141dc70a8]
add eax, dword [0x141dc70ac]
imul rax, r14
shr rax, 0x3f
add eax, 0xdb80ef4b
and eax, 0x2006241
cmp eax, 0xa8351e44
ja 0x1400477e0
movdqu xmm2, xmmword [r12]
movdqu xmm3, xmmword [r12 + 0x10]
movdqa xmm4, xmm2
pxor xmm4, xmm0
movdqa xmm5, xmm3
pxor xmm5, xmm0
psrlq xmm5, 7
psrlq xmm4, 7
psrlq xmm3, 6
por xmm3, xmm5
psrlq xmm2, 6
por xmm2, xmm4
pand xmm3, xmm1
pand xmm2, xmm1
paddq xmm2, xmm3
pshufd xmm3, xmm2, 0xee
paddq xmm3, xmm2
movq rax, xmm3
add r15, rax
add r12, 0x20
cmp r12, rbp
jne 0x1400477e0
jmp 0x140047443
mov r12, qword [rsp + 0x28]
mov r13, qword [rsp + 0x20]
sub r13, r9
ja 0x14004799d
jmp 0x140047e47
movabs rax, 0x101010101010101
mov r9, qword [rbx + r10*8]
mov rcx, r9
not rcx
shr rcx, 7
shr r9, 6
or r9, rcx
and r9, rax
cmp r13d, 1
jne 0x140047d0d
mov r12, qword [rsp + 0x28]
jmp 0x140047d6f
mov rcx, rdi
and rcx, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov eax, dword [0x141dc70c8]
sub eax, dword [0x141dc70cc]
or eax, 0x62ad6ac4
add eax, 0xd102d652
cmp eax, 0xef635762
ja 0x1400478d0
nop dword [rax]
mov eax, dword [0x141dc70d0]
xor edx, edx
div dword [0x141dc70d4]
cmp eax, 0xf687cb6
je 0x1400478f0
pxor xmm0, xmm0
xor eax, eax
movdqa xmm1, xmmword [0x140103720]
movdqa xmm2, xmmword [0x140103730]
nop dword [rax + rax]
movzx edx, word [rsi + rax]
movd xmm3, edx
pcmpgtb xmm3, xmm1
punpcklbw xmm3, xmm3
pshuflw xmm3, xmm3, 0xd4
pshufd xmm3, xmm3, 0xd4
pand xmm3, xmm2
paddq xmm0, xmm3
add rax, 2
cmp rcx, rax
jne 0x140047920
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq r9, xmm1
cmp rdi, rcx
je 0x140047994
nop
mov eax, dword [0x141dc70d8]
imul eax, dword [0x141dc70dc]
add eax, 0xc670a373
cmp eax, 0xc7ad09bd
jb 0x140047960
nop dword [rax]
xor eax, eax
cmp byte [rsi + rcx], 0xc0
setge al
add r9, rax
inc rcx
cmp rdi, rcx
jne 0x140047980
sub r13, r9
jbe 0x140047e47
movzx eax, byte [r12 + 0x38]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc70e0]
add ecx, dword [0x141dc70e4]
xor ecx, 0x1c34effb
add ecx, 0x78e82b53
and ecx, 0x1379a2ff
cmp ecx, 0xfa997e23
ja 0x1400479b0
mov ecx, 0xf2185f2d
nop dword [rax + rax]
mov edx, dword [0x141dc70e8]
sub edx, dword [0x141dc70ec]
add bh, dh
xlatb
add dword [rax + 0xf], ecx
scasd eax, dword [rdi]
ror dword [rax - 0x3f], 1
invalid
or edx, 0x227fadd8
cmp edx, 0x279f5c0c
ja 0x1400479e0
cmp rax, 3
ja case.default.0x140047a16
lea rcx, [0x141dbb4ec]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r14, r13
xor r13d, r13d
jmp 0x140047b10
mov eax, dword [0x141dc70f0]
sub eax, dword [0x141dc70f4]
imul eax, eax, 0x28600c5c
add eax, 0x30e9bea4
and eax, 0x2940f25c
cmp eax, 0xd43c8718
ja case.default.0x140047a16
ud2
xor r14d, r14d
nop dword [rax + rax]
mov eax, dword [0x141dc70f8]
or eax, dword [0x141dc70fc]
or eax, 0xbfeeffad
imul rax, rax, 0x2d63c507
shr rax, 0x3d
cmp eax, 0xc2b92f8a
ja 0x140047a50
jmp 0x140047b10
mov rax, r13
shr rax, 1
nop
mov ecx, dword [0x141dc7100]
imul ecx, dword [0x141dc7104]
and ecx, 0x7676f844
add ecx, 0x19a29c50
or ecx, 0x870c815b
cmp ecx, 0xac4d09cd
je 0x140047a80
inc r13
nop word [rax + rax]
mov ecx, dword [0x141dc7108]
sub ecx, dword [0x141dc710c]
or ecx, 0x120004
xor ecx, 0x100
and ecx, 0x52b3014d
cmp ecx, 0xaf88e5c9
ja 0x140047ab0
shr r13, 1
nop dword [rax]
mov ecx, dword [0x141dc7110]
add ecx, dword [0x141dc7114]
or ecx, 0x2d4bdee
add ecx, 0xf6093135
or ecx, 0xf5f0ca64
cmp ecx, 0xaf1dc2c0
jb 0x140047ae0
mov r14, r13
mov r13, rax
nop dword [rax]
mov eax, dword [0x141dc7118]
sub eax, dword [0x141dc711c]
or eax, 0x6fd79710
cmp eax, 0x2fb19127
je 0x140047b10
mov rbx, qword [r12 + 0x20]
mov r15, qword [r12 + 0x28]
mov ebp, dword [r12 + 0x30]
xor r12d, r12d
nop word [rax + rax]
cmp r12, r13
je 0x140047bb0
mov eax, dword [0x141dc7120]
xor edx, edx
div dword [0x141dc7124]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7128]
xor edx, edx
div dword [0x141dc712c]
add eax, 0xed6a70d
or eax, 0xc4a8aa2c
imul rax, rax, 0x7ca09891
shr rax, 0x3d
cmp eax, 0xa21f7179
je 0x140047b60
inc r12
mov rcx, rbx
mov edx, ebp
call qword [r15 + 0x20]
test al, al
je 0x140047b40
mov cl, 1
jmp 0x140046f20
mov eax, dword [0x141dc7140]
and eax, dword [0x141dc7144]
xor eax, 0x307d4531
add eax, 0xbe81b34e
xor eax, 0x89f215b4
cmp eax, 0x82836177
jb 0x140047bb0
mov r12, qword [r15 + 0x18]
mov eax, dword [0x141dc7148]
or eax, dword [0x141dc714c]
xor eax, 0xc54f18e7
imul eax, eax, 0x21b15183
xor eax, 0x879d1c73
cmp eax, 0xdcf27631
jbe 0x140047c10
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call r12
nop word cs:[rax + rax]
mov eax, dword [0x141dc7150]
and eax, dword [0x141dc7154]
imul r13d, eax, 0xfd7305d4
or r13d, 0xc3ab1ff4
and r13d, 0xcbbfdff4
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call r12
cmp r13d, 0xf1c832f6
je 0x140047c10
mov cl, 1
test al, al
jne 0x140046f20
xor r12d, r12d
xor edi, edi
jmp 0x140047c68
test al, al
jne 0x140047d86
mov rsi, r12
mov eax, dword [0x141dc7158]
xor eax, dword [0x141dc715c]
imul eax, eax, 0x7972c9a6
or eax, 0x8c127383
cmp eax, 0x3fd92b00
je 0x140047c6b
cmp rsi, r14
je 0x140047d83
nop word cs:[rax + rax]
mov eax, dword [0x141dc7160]
xor eax, dword [0x141dc7164]
xor eax, 0xbea13028
imul rax, rax, 0x109afb4b
shr rax, 0x3c
or eax, 0x136731da
cmp eax, 0x18a356f2
ja 0x140047ca0
lea r12, [rsi + 1]
mov eax, dword [0x141dc7168]
sub eax, dword [0x141dc716c]
add eax, 0x487954ca
or eax, 0x3e3a4ab3
add eax, 0x6ece170a
cmp eax, 0xb5d4cee
jb 0x140047d02
nop
mov rcx, rbx
mov edx, ebp
call qword [r15 + 0x20]
test dil, dil
je 0x140047c60
mov rcx, rbx
mov edx, ebp
call qword [r15 + 0x20]
jmp 0x140047cf0
mov rdx, qword [rbx + r10*8 + 8]
mov rcx, rdx
not rcx
shr rcx, 7
shr rdx, 6
or rdx, rcx
mov ecx, 0xb10e31ad
and rdx, rax
add r9, rdx
nop
mov edx, dword [0x141dc70b0]
sub edx, dword [0x141dc70b4]
shr edx, 1
imul rdx, rcx
shr rdx, 0x3c
xor edx, 0x92d803
or edx, 0xad49215c
cmp edx, 0xad146b2
jb 0x140047d30
cmp r13d, 2
mov r12, qword [rsp + 0x28]
movabs rdx, 0x1000100010001
jne 0x140047d91
mov r13, qword [rsp + 0x20]
movabs rcx, 0xff00ff00ff00ff
jmp 0x140047e23
mov rsi, r14
cmp rsi, r14
setb cl
jmp 0x140046f20
mov r13, qword [rsp + 0x20]
xor ecx, ecx
nop dword [rax + rax]
test cl, cl
jne 0x140047da0
mov rcx, qword [rbx + r10*8 + 0x10]
mov rdx, rcx
not rdx
shr rdx, 7
shr rcx, 6
or rcx, rdx
and rcx, rax
add r9, rcx
movabs rdx, 0x1000100010001
nop word [rax + rax]
mov eax, dword [0x141dc70b8]
imul eax, dword [0x141dc70bc]
imul eax, eax, 0x82363778
xor eax, 0xb9a37ca1
cmp eax, 0x3a0c8bd3
jb 0x140047dd0
movabs rcx, 0xff00ff00ff00ff
nop dword [rax]
mov eax, dword [0x141dc70c0]
or eax, dword [0x141dc70c4]
xor eax, 0x13e34b0d
imul eax, eax, 0xe4f50d3e
xor eax, 0x7c8a591d
cmp eax, 0xabe8ea08
jb 0x140047e00
mov rax, r9
and rax, rcx
shr r9, 8
and r9, rcx
add r9, rax
imul r9, rdx
shr r9, 0x30
add r9, r15
sub r13, r9
ja 0x14004799d
mov rbx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
mov r14, qword [rax + 0x18]
mov eax, dword [0x141dc7130]
xor eax, dword [0x141dc7134]
or eax, 0x430130
xor eax, 0x80413008
or eax, 0x5da8cec7
cmp eax, 0xd9686d8e
jbe 0x140047e90
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call r14
nop word cs:[rax + rax]
mov ebp, dword [0x141dc7138]
or ebp, dword [0x141dc713c]
add ebp, 0xa434c943
and ebp, 0x443ae57
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call r14
cmp ebp, 0xa55b4965
ja 0x140047e90
mov ecx, eax
jmp 0x140046f20