Function at 0x140221090
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, 0xa8
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rcx
nop word cs:[rax + rax]
mov eax, dword [0x14158a500]
add eax, dword [0x14158a504]
mov ecx, eax
not ecx
and ecx, 0xa7e84055
mov edx, eax
and edx, 0x5817bfaa
imul edx, ecx
mov ecx, eax
and ecx, 0xa7e84055
or eax, 0xa7e84055
imul eax, ecx
add eax, edx
imul rax, rax, 0x2c90205
shr rax, 0x38
xor eax, 0x36d2f799
cmp eax, 0x39a710ed
ja 0x1402210c0
nop word [rax + rax]
mov eax, dword [0x14158a508]
xor edx, edx
div dword [0x14158a50c]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x385d965a
mov r8d, edx
and r8d, 0xae70aa29
and ecx, 0x41824184
imul ecx, r8d
and edx, 0x518f55d6
or eax, 0x79dfd7de
imul eax, edx
add eax, ecx
cmp eax, 0x480dd072
je 0x140221110
mov rax, qword [rsp + 0x38]
mov r12, qword [rax + 0x18]
nop
mov eax, dword [0x14158a510]
mov ecx, dword [0x14158a514]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
xor eax, 0x5c1bc9a8
mov ecx, eax
and ecx, 0x23f20fc1
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xe3654805
cmp eax, 0x2e4272bc
jb 0x140221160
cmp r12, 0xffffffffffffffff
je 0x14022198a
mov eax, dword [0x14158a518]
xor edx, edx
div dword [0x14158a51c]
mov rcx, qword [rsp + 0x38]
nop word [rax + rax]
mov eax, dword [0x14158a520]
or eax, dword [0x14158a524]
add eax, 0x7af1dd15
or eax, 0x225caff
and eax, 0x5a25feff
cmp eax, 0x3b5791c4
je 0x1402211d0
mov r15, qword [rcx + 8]
mov eax, r15d
and eax, 1
mov rcx, r15
xor rcx, 1
lea r13, [rcx + rax*2]
mov rax, r13
shr rax, 3
mov rcx, rax
and rcx, 0xfffffffffffffff8
mov rdx, rax
or rdx, 7
nop dword [rax]
mov r8d, dword [0x14158a528]
mov r9d, dword [0x14158a52c]
mov r10d, r8d
not r10d
mov r11d, r9d
not r11d
mov esi, r10d
and esi, 0xcd67e9a
and r8d, 0xf3298165
or r8d, esi
or r10d, r11d
and r11d, 0xcd67e9a
and r9d, 0xf3298165
or r9d, r11d
xor r9d, r8d
not r10d
or r10d, r9d
imul r8d, r10d, 0x2596276f
add r8d, 0xcb0fa3e3
imul r8, r8, 0x6c027381
shr r8, 0x3e
mov r9d, eax
not r9d
and r9d, 7
imul r9, rcx
mov esi, eax
and esi, 7
imul rsi, rdx
add rsi, r9
cmp r15, 8
cmovb rsi, r15
cmp r8d, 0x6c8c9edb
ja 0x140221220
mov rax, rsi
shr rax, 1
movabs rbx, 0x7ffffffffffffff1
cmp r12, rax
mov qword [rsp + 0x80], r15
jae 0x14022140a
mov ecx, 0xb0740c6f
nop dword [rax + rax]
mov eax, dword [0x14158a628]
xor edx, edx
div dword [0x14158a62c]
xor eax, 0xb455030
imul rax, rcx
shr rax, 0x3f
xor eax, 0xfde6747
cmp eax, 0x39e2f454
ja 0x1402212e0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, r13
shr rcx, 4
mov rdx, r13
xor rdx, 0xfffffffffffffff0
xor eax, eax
test rdx, r13
setne al
add rax, rcx
je 0x140222180
nop word cs:[rax + rax]
mov ecx, dword [0x14158a630]
mov edx, dword [0x14158a634]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
and ecx, 0x829c355f
add ecx, 0x6bb9279b
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x442d2fa2
and edx, 0x83d0d05d
imul edx, r8d
mov r8d, ecx
and r8d, 0xabd0505d
or ecx, 0xabd0d05d
imul ecx, r8d
add ecx, edx
cmp ecx, 0xef4045d7
ja 0x140221340
nop word cs:[rax + rax]
mov ecx, dword [0x14158a638]
or ecx, dword [0x14158a63c]
shr ecx, 2
imul rcx, rcx, 0x1c78efdd
shr rcx, 0x38
add ecx, 0x5d8b29e9
xor ecx, 0x96707b00
add ecx, 0x28005201
cmp ecx, 0xd3125427
jb 0x1402213c0
cmp rax, 1
jne 0x14022172f
xor ecx, ecx
mov r8, qword [rsp + 0x20]
jmp 0x1402218cd
cmp r12, rsi
cmova rsi, r12
nop word cs:[rax + rax]
mov eax, dword [0x14158a548]
mov ecx, dword [0x14158a54c]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
imul eax, ecx, 0x678c4e6f
add eax, 0x7e1f551d
mov ecx, eax
xor ecx, 0x1518510e
or eax, 0xeae7aef1
and eax, ecx
cmp eax, 0xba15f642
ja 0x140221420
cmp rsi, 7
jae 0x1402214c8
nop
xor ecx, ecx
cmp rsi, 3
setae r8b
mov eax, dword [0x14158a568]
xor edx, edx
div dword [0x14158a56c]
imul eax, eax, 0x857b3553
add eax, 0x8227d83b
cmp eax, 0xd32b4441
ja 0x140221460
mov cl, r8b
lea r14, [rcx*4 + 4]
nop word cs:[rax + rax]
mov eax, dword [0x14158a570]
add eax, dword [0x14158a574]
imul eax, eax, 0x493283f4
and eax, 0xb883b98c
xor eax, 0x9081b108
cmp eax, 0xdd7a2506
jae 0x1402214a0
jmp 0x1402215bb
movabs rcx, 0x1ffffffffffffffe
mov eax, dword [0x14158a550]
xor edx, edx
div dword [0x14158a554]
mov eax, dword [0x14158a558]
and eax, dword [0x14158a55c]
imul eax, eax, 0x196feae9
add eax, 0x2141c75
cmp eax, 0x2ecb56e2
jb 0x1402214e0
nop
mov eax, dword [0x14158a560]
mov edx, dword [0x14158a564]
mov r8d, edx
not r8d
and r8d, eax
xor edx, eax
add edx, eax
sub edx, r8d
mov eax, edx
not eax
or edx, 0x20010a8
or eax, 0x141330a8
and eax, edx
not eax
or eax, 0xe9eccf57
cmp eax, 0x5b94d40f
je 0x140221500
cmp rsi, rcx
ja 0x1402219c9
lea rcx, [rsi*8 + 8]
nop dword [rax]
mov eax, dword [0x14158a578]
sub eax, dword [0x14158a57c]
or eax, 0xe29b8af0
imul rdx, rax, 0xef8cd3f
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
add eax, 0x4771fc63
cmp eax, 0xadcf3557
ja 0x140221550
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
mov rax, rcx
not rax
lea rax, [rax + rcx*2]
bsr rcx, rax
not ecx
mov r14, 0xffffffffffffffff
shr r14, cl
inc r14
mov ecx, 0x38
mov eax, dword [0x14158a598]
mov edx, dword [0x14158a59c]
not eax
not edx
or edx, eax
not edx
imul r8, rdx, 0x31c49f21
shr r8, 0x3d
or r8d, 0xda132846
mov rax, r14
mul rcx
mov rbp, rax
seto al
cmp rbp, 0xfffffffffffffff1
setae dl
cmp r8d, 0xe2d7da6d
ja 0x1402215c0
or al, dl
jne 0x140221954
mov eax, dword [0x14158a5a0]
xor edx, edx
div dword [0x14158a5a4]
add rbp, 0xf
and rbp, 0xfffffffffffffff0
lea rdi, [r14 + 0x10]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140221630
nop word cs:[rax + rax]
mov eax, dword [0x14158a5a8]
mov ecx, dword [0x14158a5ac]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
lea ecx, [rax + rdx]
add ecx, 0x8fd4a848
xor ecx, 0x11431014
and ecx, 0xb3471236
mov r8, rbp
add r8, rdi
setb al
cmp ecx, 0xcc3e19bb
ja 0x140221640
test al, al
jne 0x140221954
lea rcx, [rbx - 1]
nop dword [rax]
mov eax, dword [0x14158a5b0]
xor edx, edx
div dword [0x14158a5b4]
and eax, 0xae1b032
add eax, 0x757c4710
and eax, 0x36197772
cmp eax, 0x45008359
ja 0x1402216a0
cmp r8, rcx
ja 0x140221954
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
mov rdx, r8
call fcn.1401ac910
test rax, rax
je 0x140221911
mov r15, rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x48], r12
mov eax, dword [0x14158a5d0]
xor edx, edx
div dword [0x14158a5d4]
imul eax, eax, 0xc4f74e1
mov ecx, eax
and ecx, 0x46dfdf1
xor eax, 0x46dfdf1
lea eax, [rax + rcx*2]
not eax
and eax, 0x919dd06
cmp eax, 0x64841f39
jbe 0x140221b90
jmp 0x140221bdc
movabs rdx, 0x1ffffffffffffffe
xor rdx, rax
not rdx
and rdx, rax
nop word cs:[rax + rax]
mov ecx, dword [0x14158a640]
or ecx, dword [0x14158a644]
mov r8d, ecx
not r8d
and r8d, 0x37f138f5
mov r9d, ecx
and r9d, 0xc80ec70a
imul r9d, r8d
mov r8d, ecx
and r8d, 0x37f138f5
or ecx, 0x37f138f5
imul ecx, r8d
add ecx, r9d
mov r8d, ecx
and r8d, 0x6904621
xor ecx, 0x6904621
lea ecx, [rcx + r8*2]
imul ecx, ecx, 0xd06304e4
cmp ecx, 0x29c32b97
jb 0x140221750
xor r8d, r8d
movdqa xmm0, xmmword [0x1402496e0]
movdqa xmm1, xmmword [0x1402496f0]
xor ecx, ecx
xor r9d, r9d
mov rdi, qword [rsp + 0x20]
jmp 0x1402217e1
add rcx, 0x20
add r9, 2
cmp r9, rdx
je 0x140221890
mov r10d, dword [0x14158a678]
sub r10d, dword [0x14158a67c]
imul r10d, r10d, 0xd9c30ce9
or r10d, 0xa728eb45
xor r10d, 0x8af0eb4f
cmp r10d, 0xd33aef87
ja 0x14022184e
nop dword [rax]
mov r10, rcx
or r10, 0x10
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rdi + rcx]
movdqa xmm3, xmm2
por xmm3, xmm0
pandn xmm2, xmm1
pandn xmm2, xmm3
movdqa xmmword [rdi + rcx], xmm2
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rdi + r10]
por xmm2, xmm0
movdqa xmmword [rdi + r10], xmm2
test r8b, r8b
je 0x1402217d0
mov r10, rcx
and r10, 0xffffffffffffffef
mov r11, rcx
xor r11, 0x10
add r11, rcx
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rdi + rcx]
sub r11, r10
por xmm2, xmm0
movdqa xmmword [rdi + rcx], xmm2
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rdi + r11]
por xmm2, xmm0
movdqa xmmword [rdi + r11], xmm2
jmp 0x140221810
mov edx, dword [0x14158a648]
mov r8d, dword [0x14158a64c]
mov r9d, edx
and r9d, r8d
add r9d, r9d
add edx, r8d
sub edx, r9d
and edx, 0x41120000
add edx, 0x44f0fc41
cmp edx, 0x68f2819d
ja 0x140221890
test al, 1
mov r8, qword [rsp + 0x20]
je 0x140222180
mov eax, dword [0x14158a650]
imul eax, dword [str.S_q]
mov edx, eax
not edx
or edx, 0x4ead116f
add eax, edx
inc eax
or eax, 0xb1f78baf
imul rdx, rax, 0x2e87e357
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x67962b5a
jbe 0x1402220d0
jmp 0x140222127
ud2
mov eax, dword [0x14158a5b8]
mov ecx, dword [0x14158a5bc]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0x5085f349
add eax, 0x964a08c6
not eax
or eax, 0x406dd34f
cmp eax, 0x810d5df8
jae 0x140221ad1
jmp 0x140221b09
mov eax, dword [0x14158a530]
add eax, dword [0x14158a534]
mov ecx, eax
xor ecx, 0x6437c2aa
add ecx, eax
and eax, 0x9bc83d55
sub ecx, eax
mov eax, ecx
xor eax, 0xc100
or ecx, 0x110036b4
and ecx, eax
or ecx, 0xeeff084b
cmp ecx, 0xf859ff04
jbe 0x140221a18
jmp 0x140221a82
mov eax, dword [0x14158a580]
xor edx, edx
div dword [0x14158a584]
mov ecx, eax
not ecx
and ecx, 0xe820621b
mov edx, eax
and edx, 0x17df9de4
imul edx, ecx
mov ecx, eax
and ecx, 0xe820621b
or eax, 0xe820621b
imul eax, ecx
add eax, edx
or eax, 0x209b84cf
add eax, 0xa9c87d41
cmp eax, 0x9b5d16fc
jae 0x140221b0d
jmp 0x140221b2e
mov eax, dword [0x14158a538]
mov ecx, dword [0x14158a53c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
and eax, 0x2ac12e74
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x138cc462
and ecx, 0x4c733995
mov r8d, edx
and r8d, 0x310c8220
imul r8d, ecx
and edx, 0xac16c56
or eax, 0x5ffffdf7
imul eax, edx
add eax, r8d
ud2
ud2
mov eax, dword [0x14158a5c0]
add eax, dword [0x14158a5c4]
mov ecx, eax
and ecx, 0x7b7b66b0
add ecx, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0x7b7b66b0
not ecx
or ecx, 0x7083855d
add eax, ecx
add eax, 0x7b7b66b0
ud2
ud2
mov eax, dword [0x14158a588]
mov ecx, dword [0x14158a58c]
add eax, ecx
add eax, 0xe5e4e3f
and eax, 0x60e523
ud2
ud2
lea rbx, [r14 - 1]
mov rsi, r14
shr rsi, 3
mov eax, esi
not eax
mov rcx, rsi
and rcx, 0xfffffffffffffff8
and eax, 7
imul rax, rcx
mov ecx, esi
and ecx, 7
or rsi, 7
imul rsi, rcx
add rsi, rax
cmp r14, 9
cmovb rsi, rbx
lea r13, [r15 + rbp]
mov rcx, r13
mov dl, 0xff
mov r8, rdi
call fcn.14021c2d0
xor eax, eax
test al, al
je 0x140221bec
lea rcx, [r15 + rbp]
mov dl, 0xff
mov r8, rdi
call fcn.14021c2d0
jmp 0x140221b90
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x38]
mov r12, qword [rax]
mov qword [rsp + 0x30], r12
nop
mov eax, dword [0x14158a5d8]
xor edx, edx
div dword [0x14158a5dc]
or eax, 0x1d0dbf78
imul eax, eax, 0xfbca3ea8
mov ecx, eax
xor ecx, 0xc067cd42
or eax, 0x3f9832b8
and eax, ecx
cmp eax, 0x88196d40
je 0x140221c00
cmp qword [rsp + 0x48], 0
je 0x140221f27
mov r14, qword [rsp + 0x30]
movdqa xmm0, xmmword [r14]
pmovmskb edi, xmm0
not edi
nop dword [rax + rax]
mov eax, dword [0x14158a5e4]
add eax, dword [0x14158a5e0]
mov ecx, eax
not ecx
and ecx, 0xa1137e06
mov edx, eax
and edx, 0x5eec81f9
imul edx, ecx
mov ecx, eax
and ecx, 0xa1137e06
or eax, 0xa1137e06
imul eax, ecx
add eax, edx
add eax, 0x134ea78
mov ecx, eax
xor ecx, 0xe1fa5cfe
and ecx, eax
cmp ecx, 0x9eb44c17
je 0x140221c50
lea r12, [r14 - 0x38]
xor ebp, ebp
mov r15, qword [rsp + 0x48]
jmp 0x140221d85
mov r8d, edi
neg r8d
not edi
or edi, r8d
not edi
dec r15
shr rax, 0x39
lea r8, [rdx - 0x10]
not r8
or r8, rcx
not r8
mov byte [r13 + rdx], al
mov byte [r8 + r13 + 0x10], al
lea rax, [rbx + rbx]
not rax
add rax, rbx
mov ecx, eax
not ecx
and ecx, 0x38
mov r8, rax
and r8, 0xffffffffffffffc7
imul r8, rcx
mov ecx, eax
and ecx, 0x38
or rax, 0x38
imul rax, rcx
add rax, r8
movabs r8, 0x941ac136220cb24f
mov rcx, r8
not rcx
xor rcx, r8
and rdx, rcx
xor rdx, rcx
mov ecx, edx
not ecx
mov r8, rdx
and r8, 0xffffffffffffffc7
and ecx, 0x38
imul rcx, r8
mov r8d, edx
and r8d, 0x38
or rdx, 0x38
imul rdx, r8
add rdx, rcx
mov r8, qword [rsp + 0x30]
mov rcx, qword [r8 + rax + 0x30]
mov qword [r13 + rdx + 0x30], rcx
movdqu xmm0, xmmword [r8 + rax]
movdqu xmm1, xmmword [r8 + rax + 0x10]
movdqu xmm2, xmmword [r8 + rax + 0x20]
movdqu xmmword [r13 + rdx + 0x20], xmm2
movdqu xmmword [r13 + rdx + 0x10], xmm1
movdqu xmmword [r13 + rdx], xmm0
test r15, r15
je 0x140221f27
test di, di
jne 0x140221de7
mov rax, rbp
neg rax
mov ecx, dword [0x14158a5e8]
mov edx, dword [0x14158a5ec]
add ecx, edx
add ecx, 0x92dcb89d
mov edx, ecx
xor edx, 0xa67a46eb
and ecx, 0x5985b914
add ecx, ecx
sub ecx, edx
cmp ecx, 0x977e4d1
je 0x140221d90
add rbp, 0x10
movdqa xmm0, xmmword [r14 + 0x10]
add r14, 0x10
pmovmskb ecx, xmm0
add rax, 0xfffffffffffffff0
cmp cx, 0xffff
je 0x140221d90
lea edi, [rcx + rcx]
not edi
add edi, ecx
mov al, 1
test al, al
je 0x140221dda
tzcnt ebx, edi
mov eax, ebx
and eax, ebp
or rbx, rbp
add rbx, rax
mov rax, rbx
neg rax
imul rax, rax, 0x38
mov r8, qword [r12 + rax + 8]
mov r9, qword [r12 + rax + 0x10]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
call fcn.1401b1df0
mov r8, rax
not r8
mov rcx, qword [rsp + 0x28]
not rcx
or r8, rcx
not r8
movdqu xmm0, xmmword [r13 + r8]
pmovmskb r10d, xmm0
test r10d, r10d
jne 0x140221e7c
mov rdx, 0xffffffffffffffef
mov r9d, 0x10
xor r11d, r11d
nop dword [rax]
add r11, 0x10
mov r10, rdx
sub r10, r8
or r10, rcx
mov r8, r10
not r8
movdqu xmm0, xmmword [r13 + r8]
pmovmskb r10d, xmm0
add rdx, 0xfffffffffffffff0
add r9, 0x10
test r10d, r10d
je 0x140221e50
tzcnt edx, r10d
add rdx, r8
and rdx, qword [rsp + 0x28]
cmp byte [r13 + rdx], 0
js 0x140221cb0
movdqa xmm0, xmmword [r13]
nop dword [rax + rax]
mov edx, dword [0x14158a5f0]
mov r8d, dword [0x14158a5f4]
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, r9d
or r9d, edx
not r9d
imul r9d, r10d
mov r10d, edx
and r10d, r8d
or edx, r8d
imul edx, r10d
add edx, r9d
add edx, 0xf0471f78
mov r8d, edx
not r8d
mov r9d, edx
or r9d, 0x2e2ffb10
mov r10d, r9d
and r10d, 0x47317c0c
and r8d, 0x90c000e3
imul r8d, r10d
and r9d, 0xb8ce83f3
or edx, 0xbeeffbf3
imul edx, r9d
add edx, r8d
cmp edx, 0x97f83006
ja 0x140221ea0
pmovmskb edx, xmm0
tzcnt edx, edx
jmp 0x140221cb0
mov eax, dword [0x14158a5f8]
imul eax, dword [0x14158a5fc]
imul eax, eax, 0xaf69267b
add eax, 0xaeb612e3
mov ecx, 0x88fc678b
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xa8a99fef
mov rdx, qword [rsp + 0x38]
jbe 0x140221f65
mov qword [rdx], r13
mov rax, qword [rsp + 0x28]
mov qword [rdx + 8], rax
sub rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
nop dword [rax]
mov eax, dword [0x14158a600]
and eax, dword [0x14158a604]
add eax, 0x67a820d0
mov ecx, eax
xor ecx, 0x1155841
or eax, 0xc00002be
and eax, ecx
or eax, 0x3eeaa500
mov qword [rdx], r13
mov qword [rdx + 8], r8
cmp eax, 0xdeecb96e
je 0x140221f80
mov qword [rdx + 0x10], rsi
test r10, r10
movabs rbx, 0x7ffffffffffffff1
je 0x1402236a0
mov ecx, 0x38
mov rax, qword [rsp + 0x60]
mul rcx
mov ecx, eax
and ecx, 0xf
xor rax, 0xf
lea rcx, [rax + rcx*2]
and rcx, 0xfffffffffffffff0
add r10, 0x11
add r10, rcx
nop
mov eax, dword [0x14158a608]
mov edx, dword [0x14158a60c]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
or eax, 0x6c5b0f8b
imul eax, eax, 0x1c6293f0
add eax, 0x6dbef3cf
cmp eax, 0x44c60881
jb 0x140221ff0
test r10, r10
je 0x1402236a0
mov eax, dword [str.0Ov]
xor edx, edx
div dword [0x14158a614]
sub rdi, rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140222060
mov eax, dword [0x14158a618]
xor edx, edx
div dword [0x14158a61c]
add eax, 0x53e8874
not eax
or eax, 0x289de4c6
cmp eax, 0xf8c36eb9
jne 0x1402220a0
mov rcx, qword [0x1415acb98]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop word [rax + rax]
mov esi, dword [0x14158a620]
and esi, dword [0x14158a624]
or esi, 0xb749b06d
mov rcx, qword [0x1415acb98]
xor edx, edx
mov r8, rdi
call fcn.14020ae70
cmp esi, 0x57ad7b3a
je 0x1402220a0
jmp 0x1402236a0
mov eax, dword [0x14158a658]
add eax, dword [0x14158a65c]
mov edx, eax
and edx, 0x4e4017c
add edx, edx
sub eax, edx
lea edx, [rax - 0x7b1bfe84]
not edx
or edx, 0x9d93d65b
add eax, edx
add eax, 0x84e4017d
mov edx, eax
xor edx, 0x99fa2b82
and edx, eax
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r8 + rcx]
por xmm0, xmmword [0x1402496e0]
movdqa xmmword [r8 + rcx], xmm0
cmp edx, 0x4e7b78
jae 0x140222180
movdqa xmm0, xmmword [r8 + rcx]
pxor xmm1, xmm1
pcmpgtb xmm1, xmm0
pcmpeqd xmm2, xmm2
movdqa xmm3, xmm1
pandn xmm3, xmmword [0x140249700]
pxor xmm0, xmm2
pand xmm1, xmmword [0x140249710]
por xmm1, xmm3
pxor xmm1, xmmword [0x140249720]
por xmm0, xmmword [0x1402496f0]
pxor xmm0, xmm2
por xmm0, xmm1
movdqa xmmword [r8 + rcx], xmm0
jmp 0x1402220d0
mov eax, dword [0x14158a660]
and eax, dword [0x14158a664]
mov ecx, eax
xor ecx, 0x6c37ddea
and ecx, eax
add ecx, 0x16771c86
mov eax, ecx
not eax
and eax, 0xd9b5df4e
mov edx, ecx
and edx, 0x264a20b1
imul edx, eax
mov eax, ecx
and eax, 0xd9b5df4e
or ecx, 0xd9b5df4e
imul ecx, eax
add ecx, edx
cmp ecx, 0xed391977
je 0x140222180
nop word [rax + rax]
mov eax, dword [0x14158a668]
add eax, dword [0x14158a66c]
mov ecx, eax
or ecx, 0x14550539
not eax
and eax, 0x480a6040
mov edx, ecx
and edx, 0xa3a09eb6
or edx, eax
xor edx, 0x44c808c3
and ecx, 0x1897698a
or ecx, edx
mov eax, ecx
not eax
or ecx, 0x24490f1a
or eax, 0xdbb6f0e5
and eax, ecx
cmp eax, 0x53b941
jb 0x1402221d0
nop dword [rax + rax]
mov eax, dword [0x14158a670]
or eax, dword [0x14158a674]
imul eax, eax, 0x34ce6566
imul rax, rax, 0x38f85c65
shr rax, 0x3d
add eax, 0x52983b99
cmp eax, 0x1d2d6ee
jb 0x140222220
cmp r13, 0x10
jae 0x1402222ec
mov rdx, qword [rsp + 0x20]
lea rcx, [rdx + 0x10]
mov r8, r13
call fcn.14021bb50
mov eax, dword [0x14158a6a8]
xor edx, edx
div dword [0x14158a6ac]
nop word cs:[rax + rax]
mov eax, dword [0x14158a6b0]
mov ecx, dword [0x14158a6b4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
and ecx, 0x2f5a6b48
or eax, 0x2f5a6b48
add eax, ecx
add eax, 0x30b959f6
mov ecx, eax
not ecx
and ecx, 0xcf5bf999
mov edx, eax
and edx, 0x30a40666
imul edx, ecx
mov ecx, eax
and ecx, 0xcf5bf999
or eax, 0xcf5bf999
imul eax, ecx
add eax, edx
cmp eax, 0xfe348b7
je 0x140222280
cmp r15, 0xffffffffffffffff
jne 0x1402223e9
xor edx, edx
mov rcx, qword [rsp + 0x38]
jmp 0x14022367f
mov eax, dword [0x14158a680]
xor edx, edx
div dword [0x14158a684]
add r13, qword [rsp + 0x20]
nop
mov eax, dword [0x14158a688]
xor eax, dword [0x14158a68c]
mov ecx, eax
not ecx
and ecx, 0x7956852
mov edx, eax
and edx, 0x186a97ad
imul edx, ecx
mov ecx, eax
and ecx, 0x7956852
or eax, 0x7956852
imul eax, ecx
add eax, edx
or eax, 0xea73b985
imul rax, rax, 0x148fa321
shr rax, 0x3b
cmp eax, 0xcdfe7db1
ja 0x140222300
mov eax, dword [0x14158a690]
sub eax, dword [0x14158a694]
mov ecx, eax
and ecx, 0x1910634c
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x7910634c
and eax, 0x21e3d77f
xor eax, 0x4b9efb6d
cmp eax, 0x4c1bd2c1
jbe 0x140222389
mov rax, qword [rsp + 0x20]
movdqu xmm0, xmmword [rax]
movdqu xmmword [r13], xmm0
mov rcx, qword [rsp + 0x20]
nop
mov eax, dword [0x14158a69c]
add eax, dword [0x14158a698]
or eax, 0x7cb77d41
add eax, 0xc116876
xor eax, 0x54281abb
movdqu xmm0, xmmword [rcx]
movdqu xmmword [r13], xmm0
cmp eax, 0x34049d4b
jb 0x140222390
nop dword [rax]
mov eax, dword [0x14158a6a0]
mov ecx, dword [0x14158a6a4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0xf3da5884
not eax
or eax, 0x6ab3d063
cmp eax, 0xa08a1fcd
je 0x1402223c0
movabs rcx, 0x736f6d6570736575
movabs r9, 0x6c7967656e657261
movabs r10, 0x646f72616e646f6d
mov eax, 0xbcda7a17
mov r8, qword [rsp + 0x40]
xor rcx, r8
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x50]
mov rcx, rdx
and rcx, r10
or r10, rdx
not r10
or r10, rcx
xor r9, r8
not r10
nop word cs:[rax + rax]
mov ecx, dword [0x14158a6b8]
mov edx, dword [0x14158a6bc]
mov r8d, ecx
xor r8d, edx
not r8d
or ecx, edx
and ecx, r8d
add ecx, 0xece72487
mov edx, ecx
not edx
and edx, 0x787a95a6
mov r8d, ecx
and r8d, 0x87856a59
imul r8d, edx
mov edx, ecx
and edx, 0x787a95a6
or ecx, 0x787a95a6
imul ecx, edx
add ecx, r8d
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x5df02fa2
ja 0x140222440
movabs rax, 0x7465646279746573
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x48], r12
xor qword [rsp + 0x50], rax
nop word cs:[rax + rax]
mov eax, dword [0x14158a6c0]
xor eax, dword [0x14158a6c4]
mov ecx, eax
not ecx
and ecx, 0x939ab59f
mov edx, eax
and edx, 0x6c654a60
imul edx, ecx
mov ecx, eax
and ecx, 0x939ab59f
or eax, 0x939ab59f
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x476625a0
and eax, 0x3899da5f
add eax, eax
sub eax, ecx
add eax, 0xe558f3c1
cmp eax, 0xe704500
jb 0x1402224d0
movabs r13, 0x812e479a0be6653b
xor ebp, ebp
xor edx, edx
mov r12, qword [rsp + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x14158a6c8]
imul eax, dword [0x14158a6cc]
mov ecx, eax
xor ecx, 0x2f377dcf
add ecx, eax
and eax, 0x50c88230
sub ecx, eax
mov eax, ecx
not eax
or eax, 0xa656943c
and ecx, 0x48294002
xor eax, 0xb1d22ff9
lea eax, [rax + rcx*2]
cmp eax, 0x75e92a08
je 0x140222540
cmp byte [r12 + rdx], 0x80
mov r9, rdx
jne 0x140223596
mov eax, r9d
and eax, 0x37
mov rcx, r9
not rcx
and rcx, 0xffffffffffffffc8
imul rcx, rax
mov rax, r9
and rax, 0xffffffffffffffc8
mov rdx, r9
or rdx, 0xffffffffffffffc8
imul rdx, rax
add rdx, rcx
mov rax, rdx
movabs rcx, 0x7fffffffffffffc8
and rax, rcx
lea rcx, [r12 + rdx]
mov qword [rsp + 0x90], rcx
xor rdx, 0xffffffffffffffc8
lea rax, [rdx + rax*2]
add rax, r12
mov qword [rsp + 0x98], rax
mov eax, dword [0x14158a6d0]
mov ecx, dword [0x14158a6d4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
and eax, 0x98204d80
add eax, 0x29842605
cmp eax, 0xb3329c42
jb 0x1402225e2
lea rdi, [r9 + r9]
not rdi
mov qword [rsp + 0x58], r9
add rdi, r9
mov eax, edi
not eax
and eax, 0x38
mov rcx, rdi
and rcx, 0xffffffffffffffc7
imul rcx, rax
mov eax, edi
and eax, 0x38
or rdi, 0x38
imul rdi, rax
add rdi, rcx
nop dword [rax + rax]
mov eax, dword [0x14158a6d8]
or eax, dword [0x14158a6dc]
xor eax, 0xb0c61775
imul eax, eax, 0x3aa0fee3
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd9ac2457
and ecx, 0x2653dba8
imul ecx, edx
mov edx, eax
and edx, 0x2653dba8
or eax, 0x2653dba8
imul eax, edx
add eax, ecx
cmp eax, 0xeb17f7c0
je 0x140222640
add rdi, r12
mov rax, qword [rsp + 0x58]
neg rax
imul rax, rax, 0x38
add rax, r12
mov qword [rsp + 0xa0], rax
nop
mov eax, dword [0x14158a6e0]
or eax, dword [0x14158a6e4]
imul eax, eax, 0x75e12ebb
imul rax, rax, 0x381df26b
shr rax, 0x3d
cmp eax, 0x397c407a
je 0x1402226a0
jmp 0x1402229c8
mov eax, dword [0x14158a770]
imul eax, dword [0x14158a774]
mov edx, eax
xor edx, 0xa22482
or edx, 0xf754d355
xor eax, 0xd754d014
or eax, 0x8ab2caa
and eax, edx
not eax
add eax, 0x995e7e56
cmp eax, 0xae10ad30
jb 0x1402226d0
imul rax, rsi, 0xffffffffffffffc8
mov edx, dword [0x14158a778]
xor edx, dword [0x14158a77c]
cmp edx, 0xe7e87509
je 0x140222709
add rax, r12
cmp qword [rsp + 0x98], rax
mov esi, 0xcdd801b9
jae 0x140222850
cmp rcx, qword [rsp + 0x90]
jae 0x140222850
xor r9d, r9d
nop word cs:[rax + rax]
mov eax, dword [0x14158a798]
xor edx, edx
div dword [0x14158a79c]
mov edx, eax
and edx, 0x24ef8828
add edx, edx
neg edx
add eax, edx
add eax, 0xa4ef8828
imul rax, rsi
shr rax, 0x3e
xor eax, 0xb8c50a1
cmp eax, 0x45bd1e8b
jne 0x1402227b0
movzx eax, byte [rdi + r9]
movzx edx, byte [rcx + r9]
mov byte [rdi + r9], dl
mov byte [rcx + r9], al
mov rax, r9
or rax, 1
movzx edx, byte [rdi + rax]
movzx r8d, byte [rcx + rax]
mov byte [rdi + rax], r8b
mov byte [rcx + rax], dl
nop
mov eax, dword [0x14158a7a0]
mov edx, dword [0x14158a7a4]
xor edx, eax
not edx
and edx, eax
add edx, 0x7598f6a2
imul rax, rdx, 0x626255f
shr rax, 0x3a
mov r8, r9
not r8
mov rdx, r13
not rdx
and r8, r13
mov r10, r9
and r10, rdx
or r10, r8
mov r8, r13
and r8, 0xfffffffffffffffe
mov r11d, edx
and r11d, 1
or r11, r8
xor r11, r10
or edx, r13d
and edx, r9d
and edx, 1
or rdx, r11
movzx r8d, byte [rdi + r9]
movzx r10d, byte [rcx + r9]
mov byte [rdi + r9], r10b
mov byte [rcx + r9], r8b
movzx r8d, byte [rdi + rdx]
movzx r10d, byte [rcx + rdx]
mov byte [rdi + rdx], r10b
mov byte [rcx + rdx], r8b
cmp eax, 0x3e45ec36
ja 0x1402227b0
add r9, 2
cmp r9, 0x38
jne 0x140222750
jmp 0x140222990
mov rax, qword [rdi]
mov rdx, qword [rcx]
mov qword [rdi], rdx
mov qword [rcx], rax
mov rax, qword [rdi + 8]
mov rdx, qword [rcx + 8]
mov qword [rdi + 8], rdx
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x10]
mov rdx, qword [rcx + 0x10]
mov qword [rdi + 0x10], rdx
mov qword [rcx + 0x10], rax
mov rax, qword [rdi + 0x18]
mov rdx, qword [rcx + 0x18]
mov qword [rdi + 0x18], rdx
mov qword [rcx + 0x18], rax
movq xmm0, qword [rdi + 0x20]
mov eax, dword [0x14158a780]
imul eax, dword [0x14158a784]
mov edx, eax
xor edx, 0x70fad5a
add edx, eax
and eax, 0xf8f052a5
sub edx, eax
mov eax, edx
not eax
and eax, 0x51902a5f
mov r8d, edx
and r8d, 0xae6fd5a0
imul r8d, eax
mov eax, edx
and eax, 0x51902a5f
or edx, 0x51902a5f
imul edx, eax
add edx, r8d
cmp edx, 0xffa599fa
mov r10d, 0xea7f09f7
je 0x140222957
nop word [rax + rax]
mov eax, dword [0x14158a788]
mov edx, dword [0x14158a78c]
mov r8d, edx
not r8d
mov r9d, eax
and r9d, r8d
or r8d, eax
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r8d
add eax, 0x723b4ccf
xor eax, 0xb2737f8c
imul rax, r10
shr rax, 0x3f
mov rdx, qword [rcx + 0x20]
mov qword [rdi + 0x20], rdx
movq qword [rcx + 0x20], xmm0
mov rdx, qword [rdi + 0x28]
mov r8, qword [rcx + 0x28]
mov qword [rdi + 0x28], r8
mov qword [rcx + 0x28], rdx
cmp eax, 0xfee52cbf
jbe 0x140222980
mov rax, qword [rcx + 0x20]
mov qword [rdi + 0x20], rax
movq qword [rcx + 0x20], xmm0
mov rax, qword [rdi + 0x28]
mov rdx, qword [rcx + 0x28]
mov qword [rdi + 0x28], rdx
mov qword [rcx + 0x28], rax
jmp 0x1402228f0
mov rax, qword [rdi + 0x30]
mov rdx, qword [rcx + 0x30]
mov qword [rdi + 0x30], rdx
mov qword [rcx + 0x30], rax
mov eax, dword [0x14158a790]
mov ecx, dword [0x14158a794]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
add ecx, 0x1580ec18
or ecx, 0x6e9e7372
mov eax, ecx
not eax
or eax, 0x60dd8aff
add eax, ecx
inc eax
cmp eax, 0xfa8d9b2e
ja 0x140222990
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax - 0x30]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax - 0x28]
mov rax, rcx
xor rax, 0xfffffffffffffff8
and rax, rcx
nop word [rax + rax]
test bpl, bpl
jne 0x1402229f0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], rcx
and rcx, 0xfffffffffffffff8
mov qword [rsp + 0x40], rcx
je 0x140222b60
mov r12d, 7
mov rax, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
xor r14d, r14d
mov r11, qword [rsp + 0x78]
nop dword [rax + rax]
mov edx, 0x9d9e4d43
mov r8d, dword [0x14158a720]
mov r9d, dword [0x14158a724]
mov esi, r8d
and esi, r9d
xor r8d, r9d
lea r8d, [r8 + rsi*2]
shr r8d, 1
imul r8, rdx
shr r8, 0x38
mov r9d, r8d
and r9d, 0xffffffc7
or r8d, 0xc9eb80c7
add r8d, r9d
add r8d, 0x94567d8
cmp r8d, 0xaa0db9e1
jb 0x140222a35
mov rdx, qword [rsp + 0x28]
mov r8, qword [rdx + r14]
mov rcx, r14
mov r14, r8
not r14
mov r15, r14
xor r15, r8
and r15, rbx
xor r15, r8
add r11, rbp
add rax, r15
rol rbp, 0xd
not rbp
mov rsi, r11
or rsi, rbp
and rbp, r11
not rsi
or rsi, rbp
rol r15, 0x10
xor r15, rax
rol r11, 0x20
add rax, rsi
add r11, r15
rol rsi, 0x11
mov rdx, rax
not rdx
or rdx, rsi
not rsi
or rsi, rax
and rsi, rdx
rol r15, 0x15
movabs rdx, 0x27b7454c60d7cbe6
mov rbx, rdx
not rbx
mov r9, r11
not r9
mov rbp, r9
and rbp, rdx
mov r10, r11
and r10, rbx
or r10, rbp
xor rbx, rdx
and rbx, r15
xor rbx, rdx
xor rbx, r10
rol rax, 0x20
and r11, r8
and r9, r14
mov r14, rcx
or r9, r11
add r14, 8
not rsi
not r9
add r12, 0xfffffffffffffff8
mov rbp, rsi
mov r11, r9
cmp r14, qword [rsp + 0x40]
jb 0x140222a30
mov r10, qword [rsp + 0x60]
cmp r10, 4
jae 0x140222b90
jmp 0x140222c10
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
xor r14d, r14d
mov r10, qword [rsp + 0x60]
cmp r10, 4
jb 0x140222c10
nop word cs:[rax + rax]
mov ecx, dword [0x14158a6e8]
mov r8d, ecx
not r8d
or r8d, dword [0x14158a6ec]
add r8d, ecx
cmp r8d, 0xe36cbdf1
je 0x140222b90
mov rcx, qword [rsp + 0x28]
mov r11d, dword [rcx + r14]
xor ebp, ebp
mov edx, 0xbc29ffc1
nop
mov ecx, dword [0x14158a6f0]
mov r8d, dword [0x14158a6f4]
not ecx
not r8d
or r8d, ecx
mov ecx, r8d
not ecx
and r8d, 0xd096b2b9
and ecx, 0x2f694d46
sub ecx, r8d
imul rcx, rdx
shr rcx, 0x3f
or ecx, 0x94f9b9ac
cmp ecx, 0xd7f3b2e3
ja 0x140222bc0
test bpl, bpl
jne 0x140222c00
mov r12d, 4
jmp 0x140222c18
xor r11d, r11d
xor r12d, r12d
xor ebp, ebp
mov edx, 0x892ccd41
mov ecx, dword [0x14158a6fc]
add ecx, dword [0x14158a6f8]
mov r8d, ecx
or r8d, 0x83300201
not ecx
and ecx, 0x4474978
and r8d, 0xab302607
or r8d, ecx
mov ecx, r8d
and ecx, 0x23100c0c
or r8d, 0x23181c0c
add r8d, ecx
cmp r8d, 0x810ee0a2
je 0x140222c1d
mov rcx, r12
or rcx, 1
cmp rcx, r10
mov qword [rsp + 0x40], r14
jae 0x140222d20
mov r15, r11
test bpl, bpl
jne 0x140222c79
lea rcx, [r12 + r14]
mov r8d, dword [0x14158a700]
mov r11d, dword [0x14158a704]
mov ebp, r8d
and ebp, r11d
or r8d, r11d
add r8d, ebp
or r8d, 0xbd050a4c
and r8d, 0xbd4d1a4c
cmp r8d, 0x189f2b5e
jb 0x140222c82
mov r8, qword [rsp + 0x28]
movzx r8d, word [r8 + rcx]
xor ebp, ebp
mov ecx, dword [0x14158a708]
mov r11d, dword [0x14158a70c]
mov r14d, ecx
and r14d, r11d
xor ecx, r11d
lea r14d, [rcx + r14*2]
add r14d, 0xde4ba52f
or r14d, 0x3f7ee753
mov ecx, 0x904c3e41
imul r14, rcx
shr r14, 0x3e
lea ecx, [r12*8]
mov r11, r8
shl r11, cl
or r11, r15
mov rcx, r12
or rcx, 2
cmp r14d, 0x6408c69d
ja 0x140222cbf
jmp 0x140222d23
mov rcx, r12
mov r14d, 0xb570fc87
mov r12, qword [rsp + 0x20]
mov r15, qword [rsp + 0x80]
nop word cs:[rax + rax]
mov r8d, dword [0x14158a710]
or r8d, dword [0x14158a714]
not r8d
or r8d, 0x8c84004
xor r8d, 0xef1e12c6
shr r8d, 1
imul r8, rdx
shr r8, 0x3e
cmp r8d, 0xdae67df7
ja 0x140222d40
cmp rcx, r10
jae 0x140222e10
movabs r10, 0x7e9428f356606ad9
mov rdx, qword [rsp + 0x40]
add rdx, rcx
add rdx, r10
sub rdx, r10
mov r10, rdx
mov rdx, qword [rsp + 0x30]
mov r8d, dword [0x14158a718]
and r8d, dword [0x14158a71c]
imul r8d, r8d, 0x3b6e92d1
mov r14d, r8d
and r14d, 0x6f138003
xor r8d, 0xef138003
lea r8d, [r8 + r14*2]
add r8d, 0xcc0d5f26
cmp r8d, 0x5af17006
jb 0x140222d9c
mov r8, qword [rsp + 0x28]
movzx r8d, byte [r8 + r10]
shl ecx, 3
shl r8, cl
not r8
not r11
and r11, r8
not r11
inc rdx
mov r14d, 0xb570fc87
mov r10, qword [rsp + 0x60]
jmp 0x140222e21
mov rdx, qword [rsp + 0x30]
inc rdx
test r10, r10
je 0x140222fc3
lea ecx, [r10*8]
mov r8, r10
mov r10d, 0xff
shl r10, cl
or r10, r11
cmp r8, 7
jne 0x140222fd0
mov ecx, dword [0x14158a728]
mov r8d, dword [0x14158a72c]
not ecx
mov r11d, ecx
and r11d, r8d
or ecx, r8d
not ecx
or ecx, r11d
mov r8d, ecx
not r8d
and r8d, 0xaf539dca
mov r11d, ecx
and r11d, 0x50ac6235
imul r11d, r8d
mov r8d, ecx
and r8d, 0xaf539dca
or ecx, 0xaf539dca
imul ecx, r8d
add ecx, r11d
or ecx, 0x12336390
add ecx, 0xa06d6298
cmp ecx, 0xcfb22595
ja 0x140222e42
mov qword [rsp + 0x30], rdx
mov rcx, r10
xor rcx, rbx
not rcx
and rcx, rbx
add rcx, rcx
sub rbx, rcx
add rbx, r10
add r9, rsi
mov r8, rbx
and r8, rax
rol rsi, 0xd
xor rax, rbx
mov rcx, rsi
xor rcx, r9
lea r11, [rax + r8*2]
mov eax, dword [0x14158a730]
sub eax, dword [0x14158a734]
mov r8d, eax
xor r8d, 0x63b18b10
xor eax, 0x904000c0
and eax, 0x984c40e0
and r8d, 0x67b3bf18
or r8d, eax
xor r8d, 0x36b796a0
shr r8d, 3
imul rax, r8, 0x277c8653
shr rax, 0x3a
cmp eax, 0x6f3d5ad2
je 0x140222ed9
rol rbx, 0x10
mov r8, rbx
xor r8, r11
rol r9, 0x20
add r11, rcx
mov r14, r9
add r14, r8
rol rcx, 0x11
mov eax, dword [0x14158a738]
xor edx, edx
div dword [0x14158a73c]
mov edx, eax
and edx, 0x5a027598
add edx, edx
neg edx
add eax, edx
add eax, 0x5a027598
imul rax, rax, 0x77fcd75b
shr rax, 0x3a
mov ebp, eax
xor ebp, 0x11
and ebp, eax
mov rsi, rcx
xor rsi, rcx
not rsi
and rsi, r11
mov rbx, r8
rol rbx, 0x15
xor rsi, rcx
mov r9, r14
not r9
or r9, rbx
not rbx
or rbx, r14
not r9
not rbx
mov rax, r11
rol rax, 0x20
or rbx, r9
mov r9, r14
xor r9, r10
cmp ebp, 0x656da912
ja 0x140222f3b
xor r10d, r10d
xor ebp, ebp
mov r14d, 0xb570fc87
mov rdx, qword [rsp + 0x30]
jmp 0x140222fd0
mov r10d, 0xff
nop dword [rax]
shl rdx, 0x38
or rdx, r10
mov rcx, rdx
xor rcx, rbx
not rcx
and rcx, rbx
add rcx, rcx
sub rbx, rcx
add rbx, rdx
movabs rcx, 0x3a2ced753c7c9d69
sub r9, rcx
add rcx, rsi
add r9, rcx
movabs rcx, 0xbccd686bb79cb5a8
sub rax, rcx
add rax, rcx
rol rsi, 0xd
add rax, rbx
xor rsi, r9
rol rbx, 0x10
mov rcx, rax
not rcx
not rbx
mov r8, rcx
or r8, rbx
and rbx, rcx
not rbx
and rbx, r8
rol r9, 0x20
mov rcx, rsi
and rcx, rax
or rax, rsi
add rax, rcx
rol rsi, 0x11
add r9, rbx
mov rcx, rax
not rcx
mov r8, rax
and r8, rsi
not rsi
and rsi, rcx
not r8
not rsi
and rsi, r8
rol rbx, 0x15
xor rbx, r9
rol rax, 0x20
mov rcx, r9
xor rcx, rdx
not rcx
and rcx, rdx
add rcx, rcx
sub rdx, rcx
add rdx, r9
xor rax, 0xffffffffffffff00
mov rcx, rdx
and rcx, rsi
or rdx, rsi
add rdx, rcx
sub rax, rbx
rol rsi, 0xd
mov rcx, rdx
and rcx, rsi
or rsi, rdx
not rcx
rol rbx, 0x10
and rcx, rsi
not rax
rol rdx, 0x20
xor rbx, rax
add rax, rcx
mov r9, rbx
movabs r8, 0x9beee5e8d0b5ed6a
sub r9, r8
add r9, r8
add r9, rdx
rol rcx, 0x11
xor rcx, rax
rol rbx, 0x15
mov r10, rbx
and r10, r9
not rbx
mov r8, r9
not r8
and r8, rbx
not r10
not r8
and r8, r10
rol rax, 0x20
mov rdx, rcx
and rdx, r9
xor r9, rcx
lea rdx, [r9 + rdx*2]
rol rcx, 0xd
add rax, r8
mov r9, rcx
and r9, rdx
add r9, r9
add rcx, rdx
sub rcx, r9
rol r8, 0x10
lea r9, [rcx + rax]
not rax
mov r10, r8
or r10, rax
and rax, r8
not rax
and rax, r10
not rax
rol rdx, 0x20
rol rcx, 0x11
add rdx, rax
xor rcx, r9
rol rax, 0x15
mov r8, rax
xor r8, rdx
not r8
and r8, rdx
add r8, r8
lea r10, [rcx + rdx]
sub rdx, r8
add rdx, rax
rol r9, 0x20
movabs rax, 0x743d3482ad9157f9
add r9, rax
add r9, rdx
sub r9, rax
rol rcx, 0xd
mov rax, r10
xor rax, r10
not rax
and rax, rcx
xor rax, r10
rol rdx, 0x10
xor rdx, r9
add r9, rax
rol rax, 0x11
rol rdx, 0x15
mov rcx, r9
rol rcx, 0x20
mov r8, rax
not r8
and rax, rdx
not rdx
and rdx, r8
not rax
not rdx
and rdx, rax
xor rdx, rcx
not r9
mov r10, rdx
or r10, r9
and r9, rdx
not r10
or r10, r9
mov rax, r10
and rax, r15
movdqu xmm0, xmmword [r12 + rax]
pmovmskb ecx, xmm0
mov rsi, rax
test ecx, ecx
mov ebx, 0x87500d75
jne 0x140223240
mov rdx, 0xffffffffffffffff
mov r8d, 0x10
mov rsi, rax
xor r9d, r9d
nop word [rax + rax]
test bpl, bpl
jne 0x140223210
add rsi, r8
and rsi, r15
movdqu xmm0, xmmword [r12 + rsi]
pmovmskb ecx, xmm0
add rdx, 0xfffffffffffffff0
add r8, 0x10
add r9, 0x10
test cx, cx
je 0x140223210
nop word cs:[rax + rax]
mov edx, dword [0x14158a740]
mov r8d, dword [0x14158a744]
mov r9d, edx
and r9d, r8d
or edx, r8d
not r9d
and r9d, edx
imul rdx, r9, 0x47dfbfe9
shr rdx, 0x3e
not edx
and edx, 0x82058801
or edx, 0x24102000
xor edx, 0x98088279
or edx, 0x1a25582
cmp edx, 0x31da6110
je 0x140223240
tzcnt ecx, ecx
add rsi, rcx
not rsi
mov r11, r15
not r11
or rsi, r11
not rsi
cmp byte [r12 + rsi], 0
js 0x14022334a
mov ecx, dword [0x14158a748]
xor ecx, dword [0x14158a74c]
mov edx, ecx
not edx
and edx, 0xa65138cb
mov r8d, ecx
and r8d, 0x59aec734
imul r8d, edx
mov edx, ecx
and edx, 0xa65138cb
or ecx, 0xa65138cb
imul ecx, edx
add ecx, r8d
or ecx, 0xea9d131
imul rcx, rcx, 0x544e5f
shr rcx, 0x34
cmp ecx, 0x3af10720
je 0x1402232aa
movdqa xmm0, xmmword [r12]
nop word cs:[rax + rax]
mov ecx, dword [0x14158a750]
mov edx, dword [0x14158a754]
not ecx
not edx
or edx, ecx
mov ecx, edx
not ecx
and edx, 0xfaeaf225
and ecx, 0x5150dda
sub ecx, edx
add ecx, 0xe49bf547
cmp ecx, 0x3f373130
jb 0x140223310
pmovmskb ecx, xmm0
tzcnt esi, ecx
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rdx, rsi
sub rdx, rax
xor rdx, rcx
and rdx, r15
cmp rdx, 0x10
jb 0x1402234da
movabs rcx, 0x4793639b26fe1f2c
mov rax, rcx
not rax
xor rax, rcx
mov rcx, rax
and rcx, rsi
xor rcx, rax
mov eax, ecx
not eax
and eax, 0x38
mov rdx, rcx
and rdx, 0xffffffffffffffc7
imul rdx, rax
mov eax, ecx
and eax, 0x38
or rcx, 0x38
imul rcx, rax
add rcx, r12
add rcx, rdx
mov eax, dword [0x14158a758]
xor eax, dword [0x14158a75c]
imul eax, eax, 0x4a0054e
xor eax, 0x9e3f9c4
imul eax, eax, 0xcd7ec154
cmp eax, 0xecbcc318
je 0x1402233a9
mov eax, dword [0x14158a760]
xor edx, edx
div dword [0x14158a764]
mov edx, 0x6d9f6406
sub edx, eax
or edx, 0x584bd698
add edx, eax
imul eax, edx, 0x7c6c52d1
add eax, 0x584d6b1a
cmp eax, 0x11bc6dea
jae 0x140223430
mov rax, r10
shr rax, 0x39
lea rdx, [rsi - 0x10]
and rdx, r15
mov r8d, edx
and r8d, 0x10
xor rdx, 0x10
lea rdx, [rdx + r8*2]
mov byte [r12 + rsi], al
mov byte [r12 + rdx], al
nop word cs:[rax + rax]
mov eax, dword [0x14158a768]
and eax, dword [0x14158a76c]
imul rax, rbx
shr rax, 0x3f
mov edx, eax
add edx, edx
neg edx
add eax, edx
add eax, 0x10403f9
mov rdx, rax
imul rdx, r14
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
mov r8, r10
shr r8, 0x39
lea r9, [rsi - 0x10]
and r9, r15
mov edx, r9d
and edx, 0x10
or r9, 0x10
add r9, rdx
movzx edx, byte [r12 + rsi]
mov byte [r12 + rsi], r8b
mov byte [r12 + r9], r8b
cmp eax, 0xb8ad33ff
ja 0x140223430
cmp dl, 0xff
jne 0x1402226d0
mov eax, dword [0x14158a7a8]
sub eax, dword [0x14158a7ac]
mov edx, eax
and edx, 0x7dbb75db
add edx, edx
neg edx
add eax, edx
add eax, 0x7dbb75db
mov edx, 0xe43dd34b
imul rax, rdx
shr rax, 0x3f
cmp eax, 0x964bed76
mov r9, qword [rsp + 0x58]
jne 0x140223520
jmp 0x14022361c
shr r10, 0x39
mov r9, qword [rsp + 0x58]
mov rax, r9
movabs rcx, 0x7ffffffffffffff0
and rax, rcx
mov rcx, r9
xor rcx, 0xfffffffffffffff0
lea rax, [rcx + rax*2]
mov rcx, rax
and rcx, r15
not rcx
not rax
or rax, r11
and rax, rcx
not rax
mov byte [r12 + r9], r10b
mov byte [rax + r12 + 0x10], r10b
jmp 0x140223596
mov eax, dword [0x14158a7b0]
imul eax, dword [0x14158a7b4]
mov edx, eax
not edx
or edx, 0x7d75a073
add eax, edx
add eax, 0x7b4a1690
and eax, 0x49110d9b
lea rdx, [r9 - 0x10]
mov r8, rdx
not r8
or r8, r11
and rdx, r15
not rdx
and rdx, r8
not rdx
mov byte [r12 + r9], 0xff
mov byte [rdx + r12 + 0x10], 0xff
mov rdx, qword [rdi + 0x30]
mov qword [rcx + 0x30], rdx
movdqu xmm0, xmmword [rdi]
movdqu xmm1, xmmword [rdi + 0x10]
movdqu xmm2, xmmword [rdi + 0x20]
movdqu xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
cmp eax, 0xd9f0fa29
ja 0x14022361c
lea rax, [r9 + 1]
mov ecx, dword [0x14158a7b8]
xor ecx, dword [0x14158a7bc]
or ecx, 0xaa018408
xor ecx, 0xb93c873a
imul ecx, ecx, 0x40acb1fb
cmp ecx, 0xede65a94
je 0x14022359a
mov ecx, dword [0x14158a7c0]
xor ecx, dword [0x14158a7c4]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xc6617a3c
and edx, 0x399e85c3
imul edx, r8d
mov r8d, ecx
and r8d, 0x399e85c3
or ecx, 0x399e85c3
imul ecx, r8d
add ecx, edx
xor ecx, 0x43e6c356
add ecx, 0xa025c0dd
cmp ecx, 0xa4151c1f
ja 0x1402235c0
cmp r9, r15
mov rdx, rax
jne 0x140222540
jmp 0x140223663
lea rax, [r9 - 0x10]
mov rdx, rax
xor rdx, r15
not rdx
or rax, r15
and rax, rdx
mov byte [r12 + r9], 0xff
mov byte [rax + r12 + 0x10], 0xff
mov rax, qword [rdi + 0x30]
mov qword [rcx + 0x30], rax
movdqu xmm0, xmmword [rdi]
movdqu xmm1, xmmword [rdi + 0x10]
movdqu xmm2, xmmword [rdi + 0x20]
movdqu xmmword [rcx + 0x20], xmm2
movdqu xmmword [rcx + 0x10], xmm1
movdqu xmmword [rcx], xmm0
jmp 0x140223520
mov rcx, qword [rsp + 0x38]
movabs rbx, 0x7ffffffffffffff1
mov r12, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x88]
mov rax, rdx
not rax
and rax, r12
not r12
and r12, rdx
sub r12, rax
mov qword [rcx + 0x10], r12
nop word cs:[rax + rax]
mov eax, dword [str.Ja_n_]
mov ecx, dword [0x14158a7cc]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add eax, ecx
add eax, 0x1165bb0b
and eax, 0xcc1d5e98
xor eax, 0xf535627f
cmp eax, 0xc6d6f18d
jb 0x1402236a0
add rbx, 0x10
mov rax, rbx
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret