Function at 0x1401619c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov rdi, rdx
mov eax, dword [0x14159e2a0]
add eax, dword [0x14159e2a4]
mov edx, eax
or edx, 0x454d8b71
not eax
or eax, 0xbab2748e
and eax, edx
not eax
mov r9d, eax
and r9d, 0x33d3f8ec
mov edx, r9d
not edx
mov r8d, eax
and r8d, 0x22c3c8e0
and edx, 0x5534361f
imul edx, r8d
and eax, 0x1110300c
or r9d, 0x5534361f
imul r9d, eax
add r9d, edx
cmp r9d, 0x8bff27f2
jb 0x140161a92
mov eax, dword [0x14159e2a8]
mov edx, eax
not edx
or edx, dword [0x14159e2ac]
add edx, eax
inc edx
xor edx, 0x5857850d
imul rax, rdx, 0x3023d92f
shr rax, 0x20
sub edx, eax
shr edx, 1
add edx, eax
shr edx, 0x1f
or edx, 0xbaf4d338
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r11, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov r12, rsp
cmp edx, 0x24ea9c7c
jae 0x140161ab0
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
jmp 0x140161a36
mov eax, dword [0x14159e2b0]
sub eax, dword [0x14159e2b4]
mov edx, eax
and edx, 0x38592294
add edx, edx
neg edx
add eax, edx
add eax, 0xb8592294
mov edx, eax
not edx
and edx, 0x49c8bb79
and eax, 0xb6374486
sub eax, edx
mov edx, eax
xor edx, 0x25dd680f
and edx, eax
cmp edx, 0x748f0ede
ja 0x140161ab0
mov qword [rbp - 8], rcx
nop word cs:[rax + rax]
mov eax, dword [0x14159e2b8]
mov ecx, dword [0x14159e2bc]
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
add eax, edx
add eax, 0x563b5ae6
mov ecx, eax
xor ecx, 0x4112520a
xor eax, 0x49167b3e
and ecx, 0x775356cb
add ecx, ecx
sub ecx, eax
cmp ecx, 0xe90b11d0
ja 0x140161b00
movzx r13d, byte [rdi + 0x38]
cmp r13b, 3
jne 0x140161c30
xor eax, eax
test al, al
mov r8, qword [rbp - 8]
je 0x140161b70
mov byte [r8], 0xa
nop dword [rax]
mov eax, dword [0x14159e2e0]
sub eax, dword [0x14159e2e4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x20f3d8c9
and ecx, 0x1f0c2736
imul ecx, edx
mov edx, eax
and edx, 0x1f0c2736
or eax, 0x1f0c2736
imul eax, edx
add eax, ecx
add eax, 0x8d0f4438
or eax, 0xc6d23bbe
mov byte [r8], 0xa
cmp eax, 0xb9e861fe
je 0x140161b70
nop dword [rax + rax]
mov eax, dword [0x14159e2e8]
imul eax, dword [0x14159e2ec]
or eax, 0x7268918e
add eax, 0xbf9c9b77
mov ecx, eax
xor ecx, 0x940b7826
and ecx, eax
cmp ecx, 0xbc171cbd
ja 0x140161bc0
nop dword [rax]
mov eax, dword [0x14159e4d0]
mov ecx, dword [0x14159e4d4]
add eax, ecx
add eax, 0x3c71a274
and eax, 0x95cc87d9
add eax, 0xecec36a9
cmp eax, 0x28f60e37
jb 0x140161bf0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14159e2c0]
mov ecx, dword [0x14159e2c4]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
and ecx, 0xecfa3cc8
imul edx, ecx, 0xbf6a76fb
add edx, 0x26d327e6
test r13b, r13b
setne al
movzx r15d, byte [rdi + 0x3a]
test r15b, r15b
setne r8b
movzx r14d, byte [rdi + 0x10]
cmp r14, 6
sete r9b
setne cl
cmp edx, 0x35334b0c
jb 0x140161c30
mov byte [rbp + 7], r8b
and cl, al
xor r9b, al
add r9b, al
sub r9b, cl
mov byte [rbp + 6], r9b
mov rax, qword [rdi]
mov qword [rbp - 0x18], rax
mov rsi, qword [rdi + 0x20]
lea rbx, [rsi + 2]
mov rax, qword [rdi + 0x30]
lea rcx, [rax + 1]
lea rdx, [rsi + 4]
mov qword [rbp - 0x10], rdx
nop word cs:[rax + rax]
mov edx, dword [0x14159e2c8]
mov r8d, dword [0x14159e2cc]
mov r9d, edx
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, edx
imul r10d, r9d
mov r9d, edx
and r9d, r8d
or edx, r8d
imul edx, r9d
add edx, r10d
add edx, 0x8e92393b
and edx, 0x20d8ce83
imul rdx, rdx, 0x5029ade3
shr rdx, 0x3a
test rax, rax
mov r8, rcx
cmove r8, rax
cmp edx, 0x9c4fb751
je 0x140161cc0
add rbx, r8
mov qword [rbp - 0x20], rbx
add rsi, 8
mov eax, dword [0x14159e2d0]
xor edx, edx
div dword [0x14159e2d4]
xor eax, eax
add rsi, r8
mov qword [rbp - 0x28], rsi
mov rbx, r11
add rbx, 9
nop word cs:[rax + rax]
cmp r14b, 6
sete dl
cmp r14b, 5
setb r8b
test r15b, r15b
setne r9b
test r13b, r13b
setne r10b
test al, al
jne 0x140161d50
movzx eax, byte [rdi + 0x39]
mov rcx, qword [rdi + 8]
or r9b, r8b
mov byte [rbp + 4], r9b
or r10b, dl
mov byte [rbp + 5], r10b
mov rsi, rcx
mov qword [rbp - 0x30], r11
nop
mov edx, dword [0x14159e2d8]
mov r11d, dword [0x14159e2dc]
mov r8d, r11d
not r8d
and r8d, edx
xor r11d, edx
add r11d, edx
sub r11d, r8d
and r11d, 0x30ab14f3
add r11d, 0xa2219b6a
and r11d, 0x72efbff7
xor r11d, 0x69f23177
cmp al, 3
setne dl
sete r8b
cmp r13b, al
setbe r9b
seta r10b
cmp r11d, 0x24dc3dcd
je 0x140161d90
xor r8b, r10b
or dl, r9b
xor dl, 1
or dl, r8b
jne 0x140161b5f
test al, al
jle 0x1401629ab
cmp al, 2
jge 0x140161ed5
mov eax, dword [0x14159e300]
xor eax, dword [0x14159e304]
mov edx, eax
and edx, 0x222d5989
add edx, edx
neg edx
add eax, edx
add eax, 0x222d5989
mov edx, eax
not edx
and edx, 0x87c5d0f5
mov r8d, eax
and r8d, 0x783a2f0a
imul r8d, edx
mov edx, eax
and edx, 0x87c5d0f5
or eax, 0x87c5d0f5
imul eax, edx
add eax, r8d
cmp eax, 0x3949809d
mov r10d, 0xe4caa383
jne 0x140161e70
mov byte [rdi + 0x39], 0
nop word cs:[rax + rax]
mov eax, dword [0x14159e308]
xor edx, edx
div dword [0x14159e30c]
add eax, 0x24a3abe0
mov edx, eax
not edx
or edx, 0xa644cb71
or eax, 0x59bb348e
and eax, edx
mov edx, eax
xor edx, 0x33841e7d
add edx, eax
and eax, 0xcc7be182
sub edx, eax
mov byte [rdi + 0x39], 0
cmp edx, 0xd77bf597
je 0x140161e70
test r15b, r15b
jne 0x140162a77
cmp r14b, 5
jge 0x140161f42
cmp r14b, 3
jge 0x140162af7
xor eax, eax
jmp 0x140162960
jne 0x140162c6e
nop dword [rax + rax]
mov eax, dword [0x14159e310]
xor edx, edx
div dword [0x14159e314]
mov edx, eax
not edx
and edx, 0x9955da08
and eax, 0x66aa25f7
sub eax, edx
add eax, 0x88615c0b
imul rdx, rax, 0xc4c0c93
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
cmp eax, 0x6af82301
ja 0x140161ee0
cmp r13b, 1
ja 0x140161f32
cmp byte [rbp + 4], 0
je 0x140161f53
xor eax, eax
jmp 0x140162430
xor r8d, r8d
xor eax, eax
mov qword [rbp - 0x38], rax
xor edx, edx
jmp 0x140162640
cmp r14b, 6
jge 0x140161fe1
xor eax, eax
jmp 0x140162960
test byte [rbp + 6], 1
je 0x140161f60
xor r8d, r8d
jmp 0x140161fd1
mov eax, dword [0x14159e318]
mov edx, dword [0x14159e31c]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
xor eax, 0xb7aa695
add eax, 0x40df7ca0
cmp eax, 0x1bd5267f
ja 0x140161f60
nop dword [rax + rax]
mov eax, dword [0x14159e320]
xor edx, edx
div dword [str.pMYZ]
and eax, 0x7f726ed5
mov edx, eax
xor edx, 0x683ea73
xor eax, 0x2a2ee411
add eax, edx
and edx, 0x5352e095
sub eax, edx
cmp eax, 0xe7ff9a90
ja 0x140161f90
mov r8d, 2
cmp rsi, 1
jbe 0x140162e99
cmp r8, rsi
jne 0x140162243
xor eax, eax
jmp 0x140162430
jne 0x140162af7
mov eax, dword [0x14159e3d8]
mov edx, dword [0x14159e3dc]
mov r8d, eax
and r8d, edx
xor eax, edx
lea eax, [rax + r8*2]
mov edx, eax
xor edx, 0x1010801
or edx, 0x80306428
and eax, 0x440090
and edx, 0xc3317d29
or edx, eax
add edx, 0x5db9a671
jb 0x140161fe7
test rsi, rsi
je 0x1401625b5
mov eax, dword [0x14159e3e0]
mov edx, dword [0x14159e3e4]
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
mov edx, eax
not edx
and edx, 0x485f8ade
mov r8d, eax
and r8d, 0xb7a07521
imul r8d, edx
mov edx, eax
and edx, 0x485f8ade
or eax, 0x485f8ade
imul eax, edx
add eax, r8d
or eax, 0x328bc678
mov edx, eax
and edx, 0x729c8118
add edx, edx
sub eax, edx
cmp eax, 0xeca2f696
je 0x14016202b
mov rax, qword [rbp - 0x18]
movzx r8d, byte [rax]
mov edx, 0xf2038ce9
nop dword [rax]
mov eax, dword [0x14159e3e8]
imul eax, dword [0x14159e3ec]
imul rax, rdx
shr rax, 0x3c
not eax
and eax, 0x3e47e4f
neg eax
and eax, 0xc0881fd
cmp eax, 0x6684f279
ja 0x1401620b0
mov eax, dword [0x14159e3f0]
xor edx, edx
div dword [0x14159e3f4]
cmp r8b, 0x2e
setne al
cmp rsi, 1
sete dl
mov r9d, dword [0x14159e3f8]
mov r10d, dword [0x14159e3fc]
mov r11d, r9d
not r11d
or r9d, r10d
not r10d
and r10d, r11d
not r9d
or r9d, r10d
mov r10d, r9d
not r10d
mov r11d, r10d
and r11d, 0x2630438d
and r9d, 0xd9cfbc72
imul r9d, r11d
mov r11d, r10d
and r11d, 0xd9cfbc72
or r10d, 0xd9cfbc72
imul r10d, r11d
add r10d, r9d
not r10d
or r10d, 0x3a98bda6
mov r9d, r10d
not r9d
and r10d, 0x98936a65
mov r11d, r9d
and r11d, 0x45640018
imul r11d, r10d
mov r10d, r9d
and r10d, 0x80034240
or r9d, 0x98936a65
imul r9d, r10d
add r9d, r11d
cmp r9d, 0xb3fd2031
jb 0x1401620e8
or dl, al
je 0x1401625be
nop
cmp r8b, 0x2e
sete r10b
cmp rsi, 1
sete r9b
mov eax, dword [0x14159e400]
xor edx, edx
div dword [0x14159e404]
or eax, 0xdfe368f4
add eax, 0x880d25f7
and eax, 0xa4b828c2
cmp eax, 0xe5f4d58a
ja 0x1401621a0
and r9b, r10b
nop word [rax + rax]
mov eax, dword [0x14159e408]
mov edx, dword [0x14159e40c]
mov r8d, eax
not r8d
and r8d, edx
mov r10d, edx
not r10d
and r10d, eax
imul r10d, r8d
mov r8d, eax
and r8d, edx
or eax, edx
imul eax, r8d
add eax, r10d
add eax, 0x9eab0cec
mov edx, eax
and edx, 0x78d10f9f
xor eax, 0x78d10f9f
lea eax, [rax + rdx*2]
cmp eax, 0x3cc259ae
je 0x1401621e0
test r9b, r9b
mov r10d, 0xe4caa383
jne 0x140162b8b
xor eax, eax
jmp 0x140162960
mov r9, qword [rbp - 0x18]
lea rax, [r9 + rsi]
lea rdx, [r9 + r8]
inc rdx
cmp rdx, rax
sete al
movzx r8d, byte [r9 + r8]
cmp r8b, 0x2e
sete r9b
mov r10d, eax
and r10b, r9b
inc r9b
xor r9b, al
add r9b, al
sub r9b, r10b
nop word [rax + rax]
mov r10d, dword [0x14159e328]
mov r11d, dword [0x14159e32c]
add r10d, r11d
add r10d, 0x4c44cfac
mov r11d, r10d
and r11d, 0xa88aedb4
or r10d, 0xa88aedb4
add r10d, r11d
add r10d, 0x1ebb6076
cmp r10d, 0xaaf78f59
jb 0x140162280
test r9b, 1
je 0x140162310
cmp r8b, 0x2e
setne dl
xor al, 1
or al, dl
xor al, 1
nop
mov edx, dword [0x14159e348]
mov r8d, dword [0x14159e34c]
mov r9d, r8d
and r9d, edx
add edx, r8d
sub edx, r9d
add edx, 0xadcad9fc
not edx
or edx, 0x3f32f69e
xor edx, 0x9ef05292
cmp edx, 0x67e27291
jb 0x1401622d0
jmp 0x140162430
mov eax, dword [0x14159e330]
or eax, dword [0x14159e334]
mov r8d, eax
xor r8d, 0xc32e0573
xor eax, 0xcc17a04
or r8d, 0x8ee57f44
or eax, 0x711a80bb
and eax, r8d
mov r8d, eax
not r8d
and r8d, 0xd958f2bd
mov r9d, eax
and r9d, 0x26a70d42
imul r9d, r8d
mov r8d, eax
and r8d, 0xd958f2bd
or eax, 0xd958f2bd
imul eax, r8d
add eax, r9d
cmp eax, 0x478b99af
ja 0x140162310
movzx edx, byte [rdx]
cmp dl, 0x5c
setne al
mov r8d, dword [0x14159e338]
mov r9d, dword [0x14159e33c]
mov r10d, r9d
not r10d
or r10d, r8d
not r8d
or r8d, r9d
not r10d
not r8d
or r8d, r10d
mov r9d, r8d
or r9d, 0x1001ea0
not r8d
and r8d, 0x52330000
and r9d, 0x8d841ee1
sub r9d, r8d
imul r9d, r9d, 0x58026a08
cmp dl, 0x2f
setne r8b
cmp r9d, 0xe920b695
je 0x140162375
mov edx, eax
xor dl, r8b
or al, r8b
xor al, 1
or al, dl
nop word cs:[rax + rax]
mov edx, dword [0x14159e340]
mov r8d, dword [0x14159e344]
mov r9d, edx
not r9d
or r9d, r8d
not r8d
or r8d, edx
and r8d, r9d
xor r8d, 0xfd33499f
imul rdx, r8, 0x3d3736eb
shr rdx, 0x3b
and edx, 0xfffffffc
cmp edx, 0xeaaf554c
je 0x1401623f0
nop dword [rax]
mov edx, dword [0x14159e350]
mov r8d, dword [0x14159e354]
not edx
not r8d
or r8d, edx
not r8d
imul rdx, r8, 0x2c7b2c8b
shr rdx, 0x3d
mov r8d, edx
xor r8d, 0x7e13fe5
add r8d, edx
not r8d
or r8d, 0xce6c3479
cmp r8d, 0xd0a06994
jb 0x140162430
cmp byte [rbp + 5], 0
mov qword [rbp - 0x38], rax
je 0x140162490
movzx eax, byte [rbp + 7]
mov r8d, eax
xor edx, edx
jmp 0x140162640
mov edx, dword [0x14159e358]
and edx, dword [0x14159e35c]
xor edx, 0x4048603d
or edx, 0xeb59402
mov r8d, edx
not r8d
xor edx, 0xd6476d7a
add edx, r8d
and r8d, 0xd0426978
sub edx, r8d
cmp edx, 0x98c99b48
jb 0x140162490
cmp r14, 3
jge 0x14016253c
mov edx, 6
cmp r14, 1
jg 0x140162634
cmp r14d, 1
jne 0x1401625a5
nop dword [rax + rax]
mov edx, dword [0x14159e360]
mov r8d, dword [0x14159e364]
mov r9d, edx
xor r9d, r8d
not r9d
and r9d, r8d
add r9d, r9d
sub r8d, r9d
add edx, r8d
add edx, 0xef474ca5
and edx, 0x111d06a3
xor edx, 0xbafef249
cmp edx, 0x534daf52
jbe 0x1401624f0
movzx eax, byte [rbp + 7]
mov r8d, eax
mov rdx, qword [rbp - 0x28]
jmp 0x140162640
jg 0x1401625e3
nop word cs:[rax + rax]
mov edx, dword [0x14159e36c]
xor edx, dword [0x14159e368]
mov r8d, edx
and r8d, 0x145ffbe8
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, 0x622e0
and r9d, 0xf479dd0b
imul r9d, r10d
and edx, 0x1459d908
or r8d, 0xf479dd0b
imul r8d, edx
add r8d, r9d
or r8d, 0x44c498df
cmp r8d, 0x77055341
jb 0x140162550
movzx eax, byte [rbp + 7]
mov r8d, eax
mov rdx, qword [rbp - 0x10]
jmp 0x140162640
xor esi, esi
xor eax, eax
jmp 0x140162960
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax + 1]
cmp al, 0x5c
jge 0x1401628bb
cmp al, 0x2f
mov r10d, 0xe4caa383
je 0x140162b8b
xor eax, eax
jmp 0x140162960
mov edx, 2
cmp r14, 5
jge 0x140162634
nop
mov edx, dword [0x14159e370]
xor edx, dword [0x14159e374]
add edx, 0x5addf7aa
mov r8d, edx
not r8d
or r8d, 0x10040421
and r8d, 0xb0046425
and edx, 0x405902c2
sub edx, r8d
cmp edx, 0x525a47fb
je 0x1401625f0
movzx eax, byte [rbp + 7]
mov r8d, eax
mov rdx, qword [rbp - 0x20]
jmp 0x140162640
movzx eax, byte [rbp + 7]
mov r8d, eax
nop dword [rax + rax]
mov r9d, dword [0x14159e378]
or r9d, dword [0x14159e37c]
mov r10d, r9d
or r10d, 0x34932332
mov r11d, r9d
not r11d
and r11d, 0x89481c05
mov eax, r10d
and eax, 0x46b5e1f8
imul eax, r11d
and r10d, 0xb94a1e07
or r9d, 0xbddb3f37
imul r9d, r10d
add r9d, eax
cmp r9d, 0x8460669f
je 0x140162640
movzx eax, byte [rbp - 0x38]
and eax, 1
movzx r8d, r8b
add r8, rax
mov eax, edx
and eax, r8d
xor r8, rdx
lea rax, [r8 + rax*2]
cmp rsi, rax
jbe 0x140162873
sub rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov rdx, rdi
call fcn.1401464e0
add rsp, 0x20
mov eax, dword [0x14159e480]
mov ecx, dword [0x14159e484]
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
add eax, edx
mov ecx, eax
not ecx
or ecx, 0x162d24e5
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x2260820
xor eax, 0x7551e0de
mov edx, eax
and edx, 0xddd99743
and ecx, 0x222668bc
imul ecx, edx
mov edx, eax
and edx, 0x222668bc
or eax, 0x222668bc
imul eax, edx
add eax, ecx
cmp eax, 0x6fc74e2c
je 0x1401626c6
mov r11, qword [rbp - 0x30]
mov r9, qword [r11]
xor eax, eax
test al, al
je 0x140162769
mov rax, qword [rbx + 0x2f]
mov qword [r12 + 0x2f], rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov r10d, 0xe4caa383
nop
mov eax, dword [0x14159e488]
sub eax, dword [0x14159e48c]
mov ecx, eax
xor ecx, 0x8000c004
or eax, 0x10
and eax, ecx
and eax, 0x8000c014
mov rcx, qword [rbx + 0x2f]
mov qword [r12 + 0x2f], rcx
movzx r8d, byte [r11 + 8]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
cmp eax, 0x12dba292
je 0x140162770
mov rax, rsi
sub rax, r9
jb 0x140162cb3
mov ecx, dword [0x14159e494]
mov edx, ecx
xor edx, ecx
not edx
and edx, dword [0x14159e490]
xor edx, ecx
add edx, 0xcf2076d3
xor edx, 0x7a3fda8c
cmp edx, 0x473ac7dc
jne 0x140162800
mov qword [rdi + 8], rax
nop word [rax + rax]
mov eax, dword [0x14159e498]
xor edx, edx
div dword [0x14159e49c]
mov edx, eax
xor edx, 0x399e2799
xor eax, 0x86408806
and eax, 0xbe5c8c86
mov ecx, edx
and ecx, 0x41a37379
or ecx, eax
xor ecx, 0x6af3da7a
and edx, 0xd4af56fc
or edx, ecx
add edx, 0xc1cc3b41
mov rax, rsi
xor rax, r9
mov rcx, r9
not rcx
and rcx, rsi
add rcx, rcx
sub rcx, rax
mov qword [rdi + 8], rcx
cmp edx, 0x7852cab1
jb 0x140162800
mov al, 2
mov rsi, rcx
cmp r8b, 0xa
je 0x140162960
jmp 0x140162b5f
mov eax, dword [0x14159e468]
add eax, dword [0x14159e46c]
mov edx, eax
xor edx, 0xe0880e04
xor eax, 0x10402183
and eax, 0x117031bb
and edx, 0xee8fce44
or edx, eax
mov eax, edx
xor eax, 0x58001120
xor edx, 0x5bb43162
and eax, 0x7c0b1b39
add eax, eax
sub eax, edx
cmp eax, 0x29543854
jae 0x1401628ce
jmp 0x1401629a2
mov r10d, 0xe4caa383
je 0x140162b8b
xor eax, eax
jmp 0x140162960
mov eax, dword [0x14159e470]
and eax, dword [0x14159e474]
mov edx, eax
xor edx, 0x7575b0cc
or eax, 0x884920
and eax, edx
mov edx, eax
and edx, 0x75f9592c
mov r8d, edx
not r8d
and r8d, 0xe31a6cf4
mov r9d, eax
and r9d, 0x14e11108
imul r9d, r8d
and eax, 0x61184824
or edx, 0xe31a6cf4
imul edx, eax
add edx, r9d
mov byte [rdi + 0x39], 1
cmp edx, 0x15c11637
je 0x1401629a2
mov r10d, 0xe4caa383
nop
mov eax, dword [0x14159e478]
sub eax, dword [0x14159e47c]
or eax, 0x61184000
and eax, 0xe1587005
mov edx, eax
xor edx, 0x679428b9
or eax, 0x80485004
and eax, edx
cmp eax, 0x48e99bbd
je 0x140162930
mov al, 1
nop
mov edx, dword [0x14159e4a0]
mov r8d, dword [0x14159e4a4]
mov r9d, edx
not r9d
and r9d, r8d
not r8d
and r8d, edx
sub r8d, r9d
and r8d, 0xa01e6ca5
imul r8, r10
shr r8, 0x3f
imul edx, r8d, 0xfe3eebb2
cmp edx, 0xb93c7829
jae 0x140162960
jmp 0x140161d90
mov byte [rdi + 0x39], 1
jmp 0x1401628ce
jne 0x140162c6e
nop word cs:[rax + rax]
mov eax, dword [0x14159e2fc]
add eax, dword [0x14159e2f8]
or eax, 0xdfcbefd8
and eax, 0xffdfefdf
cmp eax, 0xc9613c4f
jb 0x1401629c0
cmp r14b, 6
mov r11, qword [rbp - 8]
mov r9, qword [rbp - 0x28]
mov rax, qword [rbp - 0x20]
je 0x140162b50
cmp r14, 3
jge 0x140162b35
test r14, r14
jle 0x140162b45
cmp r14, 2
jge 0x140162c15
mov eax, dword [0x14159e38c]
mov edx, eax
xor edx, edx
not edx
and edx, dword [0x14159e388]
xor edx, eax
mov eax, edx
not eax
mov r8d, edx
and r8d, 0xe073b0e2
and eax, 0x1f8c4f1d
imul eax, r8d
mov r8d, edx
and r8d, 0x1f8c4f1d
or edx, 0x1f8c4f1d
imul edx, r8d
add eax, edx
add eax, 0xfb4c04fb
mov edx, eax
xor edx, 0xce068b48
and eax, 0x31f974b7
add eax, eax
sub eax, edx
cmp eax, 0xdf5602bc
je 0x140162a10
mov qword [rbp - 0x10], r9
jmp 0x140162b45
test rsi, rsi
je 0x140162ce7
mov rax, rsi
not rax
lea rcx, [rax + rsi*2]
mov eax, dword [0x14159e448]
sub eax, dword [0x14159e44c]
or eax, 0x21085c00
and eax, 0xf319de8d
add eax, 0xb770a9e8
cmp eax, 0xfc5bf277
jbe 0x140162ab0
mov qword [rdi + 8], rcx
mov r8, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x14159e450]
xor edx, edx
div dword [0x14159e454]
or eax, 0xecebf856
add eax, 0xb3c12136
imul rax, rax, 0x236cd863
shr rax, 0x3c
mov qword [rdi + 8], rcx
cmp eax, 0x32bec14f
ja 0x140162ac0
mov byte [r8], 6
jmp 0x140161bf0
mov rax, qword [rbp - 8]
mov byte [rax], 6
nop
mov eax, dword [0x14159e410]
mov ecx, dword [0x14159e414]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
add eax, 0x937249a
imul rax, rax, 0x34e55243
shr rax, 0x3d
or eax, 0xd226544e
cmp eax, 0x960e79e3
jb 0x140162b00
jmp 0x140161bf0
jle 0x140162b45
mov qword [rbp - 0x10], rax
cmp r14, 5
jge 0x140162c0b
cmp qword [rbp - 0x10], 0
jne 0x140162c15
xor eax, eax
test al, al
je 0x140162e9b
jmp 0x140162ed7
mov eax, dword [0x14159e4c0]
xor eax, dword [0x14159e4c4]
add eax, 0xfb0a54
not eax
or eax, 0xb476d6be
cmp eax, 0x29f7c7ce
mov r9, qword [rbp - 8]
jae 0x140163207
jmp 0x14016326a
test rcx, rcx
je 0x140162d75
dec rcx
mov edx, dword [0x14159e418]
mov r8d, dword [0x14159e41c]
mov eax, edx
not eax
mov r9d, r8d
not r9d
mov r10d, eax
and r10d, 0x6c8d52bb
and edx, 0x9372ad44
or edx, r10d
or eax, r9d
and r9d, 0x6c8d52bb
and r8d, 0x9372ad44
or r8d, r9d
xor r8d, edx
not eax
or eax, r8d
mov edx, eax
xor edx, 0xad6ed655
or eax, 0x529129aa
and eax, edx
imul eax, eax, 0x378bf16b
add eax, 0x30f22fec
cmp eax, 0x81be08a8
mov r8, qword [rbp - 8]
jbe 0x140163111
jmp 0x14016314a
cmp r14d, 5
jne 0x140162e4b
mov eax, dword [0x14159e3a8]
xor edx, edx
div dword [0x14159e3ac]
mov edx, eax
xor edx, 0x201a5962
xor eax, 0x6812690
mov r8d, eax
and r8d, 0xdd64821d
and edx, 0x229b7de2
imul edx, r8d
mov r8d, eax
and r8d, 0x229b7de2
or eax, 0x229b7de2
imul eax, r8d
add eax, edx
or eax, 0x521329af
cmp eax, 0x39f072fb
jae 0x140162f5b
jmp 0x140162f81
mov eax, 0x8f5f7d5f
nop word cs:[rax + rax]
mov ecx, dword [0x14159e2f0]
xor ecx, dword [0x14159e2f4]
mov edx, ecx
not edx
or edx, 0x92d619de
add ecx, edx
add ecx, 0x6f184fb2
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xe2b7ab13
je 0x140162c80
jmp 0x140162e99
mov eax, dword [0x14159e4a8]
xor eax, dword [0x14159e4ac]
shr eax, 9
imul rax, rax, 0x84b50d
shr rax, 0x2d
or eax, 0x201040c
and eax, 0x201040e
cmp eax, 0x31cc49d4
jbe 0x1401631af
jmp 0x1401631d9
mov eax, dword [0x14159e458]
mov ecx, dword [0x14159e45c]
mov edx, eax
and edx, ecx
or eax, ecx
not edx
and edx, eax
add edx, 0x998f396b
mov eax, edx
xor eax, 0x6475f1f4
or edx, 0x9b8a0e0b
and edx, eax
cmp edx, 0xb9343af3
jbe 0x140162d1c
ud2
mov eax, dword [0x14159e460]
mov ecx, dword [0x14159e464]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
not eax
or eax, 0x73b7b30
mov ecx, eax
not ecx
and eax, 0xaa4ebcf7
mov edx, ecx
and edx, 0x50800008
imul edx, eax
mov eax, ecx
and eax, 0xa84484c7
or ecx, 0xaa4ebcf7
imul ecx, eax
add ecx, edx
not ecx
and ecx, 0xae1b6a94
ud2
mov eax, dword [0x14159e430]
mov ecx, dword [0x14159e434]
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
imul eax, eax, 0xc6517e55
imul rcx, rax, 0x6d7719dd
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
cmp eax, 0x836e4f9
jne 0x140162dc3
ud2
mov eax, dword [0x14159e438]
add eax, dword [0x14159e43c]
not eax
or eax, 0x88f01530
mov ecx, eax
not ecx
and eax, 0xe705ab6b
mov edx, ecx
and edx, 0x100a4084
imul edx, eax
mov eax, ecx
and eax, 0x6705aa4b
or ecx, 0xe705ab6b
imul ecx, eax
lea eax, [rcx + rdx]
add eax, 0x5a5f437c
ud2
mov eax, 0x859e6917
mov ecx, dword [0x14159e380]
mov edx, dword [0x14159e384]
mov r8d, ecx
not r8d
and ecx, edx
not edx
or edx, r8d
not ecx
and ecx, edx
not ecx
mov edx, ecx
and edx, 0x2b903679
add edx, edx
neg edx
add ecx, edx
add ecx, 0x2b903679
or ecx, 0x8c98f0f6
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7950d78b
je 0x140162e50
ud2
mov eax, dword [0x14159e390]
xor edx, edx
div dword [0x14159e394]
add eax, 0x9e959a51
shr eax, 4
imul rax, rax, 0x1552bba7
shr rax, 0x33
mov ecx, eax
xor ecx, 0x507640f4
add ecx, eax
and eax, 0xb
sub ecx, eax
mov byte [rdi + 0x39], 3
cmp ecx, 0x8eaea190
jbe 0x140162edd
mov byte [rdi + 0x39], 3
jmp 0x140162e9b
mov eax, dword [0x14159e398]
mov ecx, dword [0x14159e39c]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
and eax, 0x1c3cac38
mov edx, eax
not edx
and edx, 0x2a428b77
mov r8d, ecx
and r8d, 0x143c2408
imul r8d, edx
and ecx, 0x8008830
or eax, 0x2a428b77
imul eax, ecx
add eax, r8d
cmp eax, 0x414040c5
jne 0x140162f30
mov byte [r11], 0xa
mov eax, dword [0x14159e3a0]
sub eax, dword [0x14159e3a4]
or eax, 0x7d626267
add eax, 0x6bfd1af2
and eax, 0x8a432477
mov byte [r11], 0xa
cmp eax, 0x95e06774
jae 0x140162f30
jmp 0x140161bf0
mov eax, dword [str._B_q]
xor eax, dword [0x14159e3b4]
xor eax, 0xd957abaa
add eax, 0x57793504
xor eax, 0x179baae2
mov byte [rdi + 0x39], 3
cmp eax, 0xbdc6ac4a
jbe 0x140162f87
mov byte [rdi + 0x39], 3
jmp 0x140162f5b
mov eax, dword [str.KtI]
mov edx, dword [0x14159e3bc]
mov r8d, edx
and r8d, eax
add eax, edx
sub eax, r8d
add eax, 0xa21314f9
and eax, 0x16d3dd79
add eax, 0x3e9b9c13
cmp eax, 0xac6f8a4b
jbe 0x140162fd0
mov rax, qword [rdi + 0x30]
mov qword [r11 + 0x20], rax
movups xmm0, xmmword [rdi + 0x11]
movups xmm1, xmmword [rdi + 0x21]
movups xmmword [r11 + 0x11], xmm1
movups xmmword [r11 + 1], xmm0
nop
mov edx, dword [0x14159e3c0]
mov r8d, dword [0x14159e3c4]
mov eax, edx
not eax
mov r9d, r8d
not r9d
mov r10d, eax
and r10d, 0x745a7ad1
and edx, 0x8ba5852e
or edx, r10d
or eax, r9d
and r9d, 0x745a7ad1
and r8d, 0x8ba5852e
or r8d, r9d
xor r8d, edx
not eax
or eax, r8d
mov edx, eax
not edx
or eax, 0x390000
and edx, 0x93001109
and eax, 0x2cfb6244
or eax, edx
mov edx, eax
xor edx, 0x81824088
xor eax, 0x207c9e70
mov r8d, eax
and r8d, 0x3e44b135
and edx, 0x819242c8
imul edx, r8d
mov r8d, eax
and r8d, 0x81834e48
or eax, 0x81934ec8
imul eax, r8d
add eax, edx
mov rdx, qword [rdi + 0x30]
mov qword [r11 + 0x20], rdx
movups xmm0, xmmword [rdi + 0x11]
movups xmm1, xmmword [rdi + 0x21]
movups xmmword [r11 + 0x11], xmm1
movups xmmword [r11 + 1], xmm0
cmp eax, 0x1d96e77b
jb 0x140162fd0
mov eax, dword [0x14159e3c8]
mov edx, dword [0x14159e3cc]
not eax
not edx
or edx, eax
mov eax, edx
not eax
mov r8d, eax
and r8d, 0x6191568b
and edx, 0x9e6ea974
imul edx, r8d
mov r8d, eax
and r8d, 0x9e6ea974
or eax, 0x9e6ea974
imul eax, r8d
add eax, edx
or eax, 0x58f26ddc
xor eax, 0x628bc92
cmp eax, 0xc04b7aa4
mov r8, qword [rbp - 0x18]
jb 0x140163104
mov eax, dword [0x14159e3d0]
xor edx, edx
div dword [0x14159e3d4]
and eax, 0x8084020
mov byte [r11], r14b
mov qword [r11 + 0x28], r8
mov qword [r11 + 0x30], rcx
cmp eax, 0x3a3bd4cb
jbe 0x140161bf0
mov byte [r11], r14b
mov qword [r11 + 0x28], r8
mov qword [r11 + 0x30], rcx
jmp 0x1401630db
mov eax, dword [0x14159e420]
xor edx, edx
div dword [0x14159e424]
add eax, 0x5ea0e32f
imul rax, rax, 0x129f9703
shr rax, 0x39
mov edx, eax
and edx, 0xfffffffa
or eax, 0xfb1c84aa
add eax, edx
mov qword [rdi + 8], rcx
mov byte [r8], 7
cmp eax, 0xfd536597
jne 0x140163160
mov qword [rdi + 8], rcx
mov byte [r8], 7
jmp 0x140163111
mov eax, dword [0x14159e428]
xor edx, edx
div dword [0x14159e42c]
and eax, 0xf86ecf05
mov ecx, eax
xor ecx, 0xc7613c95
xor eax, 0x208c4240
and eax, 0x60ec4e40
mov edx, ecx
and edx, 0x9e03a105
imul edx, eax
mov eax, ecx
and eax, 0x616c5e90
or ecx, 0x61ec5ed0
imul ecx, eax
add ecx, edx
cmp ecx, 0xa250e858
ja 0x140163160
jmp 0x140161bf0
mov eax, dword [0x14159e4b0]
and eax, dword [0x14159e4b4]
add eax, 0xb1722134
xor eax, 0xb65d8a23
mov ecx, eax
or ecx, 0x465da6d9
sub ecx, eax
ud2
ud2
mov eax, dword [0x14159e4c8]
and eax, dword [0x14159e4cc]
mov ecx, eax
and ecx, 0x4d5e431d
and eax, 0x48440100
mov edx, ecx
xor edx, 0x951b7edd
add edx, ecx
sub edx, eax
add edx, 0x311ddc89
mov byte [r9], r8b
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r9 + 1], xmm0
movups xmmword [r9 + 0x11], xmm1
movups xmmword [r9 + 0x21], xmm2
mov rax, qword [r12 + 0x2f]
mov qword [r9 + 0x30], rax
cmp edx, 0xe825b06e
jbe 0x140161bf0
mov byte [r9], r8b
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r9 + 1], xmm0
movups xmmword [r9 + 0x11], xmm1
movups xmmword [r9 + 0x21], xmm2
mov rax, qword [r12 + 0x2f]
mov qword [r9 + 0x30], rax
jmp 0x140163207