Function at 0x140250330
Capabilities:
Encode data using xor
Hash data using fnv
Hash data using murmur3

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x578
movups xmmword [rsp + 0x550], xmm6
movups xmmword [rsp + 0x560], xmm7
mov rax, qword [0x1404c8470]
add rax, 0x40
movq xmm6, rax
mov rax, qword [0x1404c86a0]
movdqa xmm7, xmm6
add rax, 0x10
lea r15, [rsp + 0x440]
movq xmm1, rax
mov r12, rdx
mov qword [rsp + 0x5c0], rcx
lea rdi, [rsp + 0x3c0]
mov rcx, r15
mov qword [rsp + 0xd8], r15
punpcklqdq xmm7, xmm1
mov qword [rsp + 0xe8], rdi
call fcn.1403e5ab0
pxor xmm0, xmm0
xor r9d, r9d
xor edx, edx
mov rbx, qword [0x1404c8320]
mov rax, qword [0x1404c88f0]
mov word [rsp + 0x520], r9w
movups xmmword [rsp + 0x528], xmm0
mov rsi, qword [rbx + 0x10]
add rax, 0x10
mov rcx, qword [rbx + 0x18]
movups xmmword [rsp + 0x538], xmm0
mov qword [rsp + 0x440], rax
mov rax, qword [rsi - 0x18]
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x518], 0
mov qword [rsp + rax + 0x3c0], rcx
mov qword [rsp + 0x3c8], 0
add rdi, qword [rsi - 0x18]
mov qword [rsp + 0xa8], rcx
mov rcx, rdi
mov qword [rsp + 0xa0], rsi
call fcn.1403e6b10
mov rax, qword [rbx + 0x20]
lea rsi, [rsp + 0x3d0]
xor edx, edx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x3d0], rax
add rsi, qword [rax - 0x18]
mov qword [rsp + 0xb0], rax
mov rax, qword [rbx + 0x28]
mov rcx, rsi
mov qword [rsi], rax
mov qword [rsp + 0xb8], rax
call fcn.1403e6b10
mov rax, qword [rbx + 8]
mov rsi, qword [rbx + 0x30]
pxor xmm0, xmm0
mov qword [rsp + 0xc0], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + 0xc8], rsi
mov qword [rsp + rax + 0x3c0], rsi
mov rax, qword [0x1404c8470]
movups xmmword [rsp + 0x3d0], xmm7
add rax, 0x18
movups xmmword [rsp + 0x3e0], xmm0
mov qword [rsp + 0x3c0], rax
mov rax, qword [0x1404c8470]
movups xmmword [rsp + 0x3f0], xmm0
add rax, 0x68
movups xmmword [rsp + 0x400], xmm0
mov qword [rsp + 0x440], rax
lea rax, [rsp + 0x410]
mov rcx, rax
mov qword [rsp + 0xd0], rax
call fcn.1403b3860
mov rax, qword [0x1404c8460]
mov rcx, r15
mov dword [rsp + 0x418], 0x18
mov qword [rsp + 0x428], 0
add rax, 0x10
mov byte [rsp + 0x430], 0
mov qword [rsp + 0x3d8], rax
lea rax, [rsp + 0x430]
mov qword [rsp + 0x420], rax
lea rax, [rsp + 0x3d8]
mov rdx, rax
mov qword [rsp + 0xe0], rax
call fcn.1403e6b10
mov ebx, r12d
movdqu xmm0, xmmword [0x140456b20]
mov rax, r12
lea rsi, [rsp + 0x26c]
xor ebx, 0x811c9dc5
shr rax, 0x20
lea r11, [rsp + 0x2ec]
mov r9d, 0x20
imul ebx, ebx, 0x1000193
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x270], xmm0
movdqu xmm0, xmmword [0x140456b30]
mov ebp, ebx
movups xmmword [rsp + 0x200], xmm0
movups xmmword [rsp + 0x280], xmm0
movdqu xmm0, xmmword [0x140456b40]
xor ebp, eax
imul ebp, ebp, 0x1000193
movups xmmword [rsp + 0x210], xmm0
movups xmmword [rsp + 0x290], xmm0
movdqu xmm0, xmmword [0x140456b50]
xor r12d, ebp
movups xmmword [rsp + 0x220], xmm0
imul r12d, r12d, 0x1000193
movups xmmword [rsp + 0x2a0], xmm0
movdqu xmm0, xmmword [0x140456b60]
movups xmmword [rsp + 0x230], xmm0
xor eax, r12d
movups xmmword [rsp + 0x2b0], xmm0
movdqu xmm0, xmmword [0x140456b70]
imul ecx, eax, 0x1000193
movups xmmword [rsp + 0x240], xmm0
movups xmmword [rsp + 0x2c0], xmm0
movdqu xmm0, xmmword [0x140456b80]
movups xmmword [rsp + 0x250], xmm0
movups xmmword [rsp + 0x2d0], xmm0
movdqu xmm0, xmmword [0x140456b90]
movups xmmword [rsp + 0x260], xmm0
movups xmmword [rsp + 0x2e0], xmm0
nop dword [rax]
mov edx, r12d
movzx r10d, bx
movzx r8d, bp
shr ebx, 0x10
shl edx, 0x11
imul r10d, r10d, 0x9069
shr ebp, 0x10
xor edx, r12d
imul r8d, r8d, 0x4650
mov eax, edx
imul ecx, ecx, 0x10dcd
shr eax, 0xd
add r10d, ebx
xor eax, edx
add r8d, ebp
xor edx, edx
mov edi, eax
add ecx, 0x12d687
movzx ebp, r8w
shl edi, 5
imul ebp, ebp, 0x4650
xor edi, eax
mov eax, r10d
shl eax, 0x10
add eax, r8d
shr r8d, 0x10
xor eax, ecx
add ebp, r8d
add eax, edi
div r9d
mov eax, dword [rsi]
movsxd rdx, edx
mov ebx, dword [rsp + rdx*4 + 0x1f0]
mov dword [rsi], ebx
movzx ebx, r10w
shr r10d, 0x10
mov dword [rsp + rdx*4 + 0x1f0], eax
mov edx, edi
imul ebx, ebx, 0x9069
shl edx, 0x11
xor edx, edi
mov eax, edx
add ebx, r10d
shr eax, 0xd
xor eax, edx
mov r12d, eax
shl r12d, 5
xor r12d, eax
imul ecx, ecx, 0x10dcd
mov eax, ebx
xor edx, edx
shl eax, 0x10
sub rsi, 4
sub r11, 4
add eax, ebp
add ecx, 0x12d687
xor eax, ecx
add eax, r12d
div r9d
mov eax, dword [r11 + 4]
sub r9d, 1
movsxd rdx, edx
mov r8d, dword [rsp + rdx*4 + 0x270]
mov dword [r11 + 4], r8d
mov dword [rsp + rdx*4 + 0x270], eax
cmp r9d, 1
jne 0x140250668
lea rax, [rsp + 0x1d0]
mov esi, 0xd1b71759
mov dword [rsp + 0x88], ecx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x1e0]
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x38], rax
nop dword [rax]
cmp dword [rsp + 0x60], 0xa
jg 0x140252fa0
mov edi, dword [rsp + 0x8c]
lea eax, [rdi + 1]
mov dword [rsp + 0x78], eax
mov eax, edi
and eax, 0x1f
mov ecx, dword [rsp + rax*4 + 0x270]
mov edi, ecx
mov r14d, ecx
shr edi, 0x1f
neg r14d
cmovs r14d, ecx
mov ecx, edi
movzx edi, dil
cmp r14d, 9
jbe 0x1402536c4
mov r13d, 1
mov edx, r14d
jmp 0x140250827
cmp edx, 0x3e7
jbe 0x140253230
cmp edx, 0x270f
jbe 0x140253260
mov eax, edx
lea r8d, [r13 + 4]
imul rax, rsi
shr rax, 0x2d
cmp edx, 0x1869f
jbe 0x140253280
mov r13d, r8d
mov edx, eax
cmp edx, 0x63
ja 0x1402507f0
lea r8d, [r13 + 1]
lea r15d, [rcx + r8]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1d8], 0
mov rdx, r15
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d0], rax
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
movabs r9, 0x3330323031303030
movabs r10, 0x3730363035303430
mov byte [rdx], 0x2d
add rdx, rdi
mov qword [rsp + 0x2f0], r9
movabs r9, 0x3131303139303830
mov qword [rsp + 0x2f8], r10
movabs r10, 0x3531343133313231
mov qword [rsp + 0x300], r9
movabs r9, 0x3931383137313631
mov qword [rsp + 0x308], r10
movabs r10, 0x3332323231323032
mov qword [rsp + 0x310], r9
movabs r9, 0x3732363235323432
mov qword [rsp + 0x318], r10
movabs r10, 0x3133303339323832
mov qword [rsp + 0x320], r9
movabs r9, 0x3533343333333233
mov qword [rsp + 0x328], r10
movabs r10, 0x3933383337333633
mov qword [rsp + 0x330], r9
movabs r9, 0x3334323431343034
mov qword [rsp + 0x338], r10
movabs r10, 0x3734363435343434
mov qword [rsp + 0x340], r9
movabs r9, 0x3135303539343834
mov qword [rsp + 0x348], r10
movabs r10, 0x3535343533353235
mov qword [rsp + 0x350], r9
movabs r9, 0x3935383537353635
mov qword [rsp + 0x358], r10
movabs r10, 0x3336323631363036
mov qword [rsp + 0x360], r9
movabs r9, 0x3736363635363436
mov qword [rsp + 0x368], r10
movabs r10, 0x3137303739363836
mov qword [rsp + 0x370], r9
movabs r9, 0x3537343733373237
mov qword [rsp + 0x378], r10
movabs r10, 0x3937383737373637
mov qword [rsp + 0x380], r9
movabs r9, 0x3338323831383038
mov qword [rsp + 0x388], r10
movabs r10, 0x3738363835383438
mov qword [rsp + 0x390], r9
movabs r9, 0x3139303939383838
mov qword [rsp + 0x398], r10
movabs r10, 0x3539343933393239
mov qword [rsp + 0x3a8], r10
movabs r10, 0x39393839373936
mov qword [rsp + 0x3a0], r9
movabs r9, 0x3935393439333932
mov qword [rsp + 0x3a9], r9
mov qword [rsp + 0x3b1], r10
cmp r14d, 0x63
jbe 0x140252fd0
nop
mov r8d, r14d
mov eax, r14d
imul r8, r8, 0x51eb851f
shr r8, 0x25
imul ecx, r8d, 0x64
sub eax, ecx
mov ecx, r14d
mov r14d, r8d
mov r8d, r13d
add eax, eax
lea r9d, [rax + 1]
movzx r9d, byte [rsp + r9 + 0x2f0]
mov byte [rdx + r8], r9b
movzx eax, byte [rsp + rax + 0x2f0]
lea r8d, [r13 - 1]
sub r13d, 2
mov byte [rdx + r8], al
cmp ecx, 0x270f
ja 0x140250a50
cmp ecx, 0x3e7
ja 0x140252fd0
add r14d, 0x30
mov byte [rdx], r14b
mov rax, qword [rsp + 0x1d0]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x1d8], r15
mov rcx, qword [rsp + 0x30]
lea r9, str.mix_
mov byte [rax + r15], 0
mov qword [rsp + 0x20], 4
call fcn.1403bac50
lea r13, [rsp + 0x300]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x2f0], r13
mov rdx, qword [rax]
cmp rdx, rcx
je 0x140253398
mov qword [rsp + 0x2f0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x2f8], rdx
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x2f8], rax
je 0x140253b3b
lea rax, [0x140450eec]
lea rcx, [rsp + 0x2f0]
mov r8d, 1
mov rdx, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
call fcn.1403bdb40
lea rdi, [rsp + 0x1a0]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x190], rdi
mov rdx, qword [rax]
mov qword [rsp + 0x70], rdi
cmp rdx, rcx
je 0x1402532e8
mov qword [rsp + 0x190], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x1a0], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x198], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x2f0]
cmp rcx, r13
je 0x140250bda
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x140250bf1
call fcn.1403f2f80
mov edi, dword [rsp + 0x68]
lea eax, [rdi + 1]
mov dword [rsp + 0x58], eax
mov eax, edi
and eax, 0x1f
mov ecx, dword [rsp + rax*4 + 0x1f0]
mov edi, ecx
mov r15d, ecx
shr edi, 0x1f
neg r15d
cmovs r15d, ecx
movzx eax, dil
mov ecx, edi
mov qword [rsp + 0x68], rax
cmp r15d, 9
jbe 0x140253709
mov r14d, 1
mov edx, r15d
jmp 0x140250c77
cmp edx, 0x3e7
jbe 0x140253240
cmp edx, 0x270f
jbe 0x140253250
mov eax, edx
lea r8d, [r14 + 4]
imul rax, rsi
shr rax, 0x2d
cmp edx, 0x1869f
jbe 0x140253270
mov r14d, r8d
mov edx, eax
cmp edx, 0x63
ja 0x140250c40
lea r8d, [r14 + 1]
mov rax, qword [rsp + 0x38]
lea edi, [rcx + r8]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1d8], 0
mov rdx, rdi
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d0], rax
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x68]
movabs r9, 0x3330323031303030
movabs r10, 0x3730363035303430
mov byte [rdx], 0x2d
add rdx, rax
mov qword [rsp + 0x2f0], r9
movabs r9, 0x3131303139303830
mov qword [rsp + 0x2f8], r10
movabs r10, 0x3531343133313231
mov qword [rsp + 0x300], r9
movabs r9, 0x3931383137313631
mov qword [rsp + 0x308], r10
movabs r10, 0x3332323231323032
mov qword [rsp + 0x310], r9
movabs r9, 0x3732363235323432
mov qword [rsp + 0x318], r10
movabs r10, 0x3133303339323832
mov qword [rsp + 0x320], r9
movabs r9, 0x3533343333333233
mov qword [rsp + 0x328], r10
movabs r10, 0x3933383337333633
mov qword [rsp + 0x330], r9
movabs r9, 0x3334323431343034
mov qword [rsp + 0x338], r10
movabs r10, 0x3734363435343434
mov qword [rsp + 0x340], r9
movabs r9, 0x3135303539343834
mov qword [rsp + 0x348], r10
movabs r10, 0x3535343533353235
mov qword [rsp + 0x350], r9
movabs r9, 0x3935383537353635
mov qword [rsp + 0x358], r10
movabs r10, 0x3336323631363036
mov qword [rsp + 0x360], r9
movabs r9, 0x3736363635363436
mov qword [rsp + 0x368], r10
movabs r10, 0x3137303739363836
mov qword [rsp + 0x370], r9
movabs r9, 0x3537343733373237
mov qword [rsp + 0x378], r10
movabs r10, 0x3937383737373637
mov qword [rsp + 0x380], r9
movabs r9, 0x3338323831383038
mov qword [rsp + 0x388], r10
movabs r10, 0x3738363835383438
mov qword [rsp + 0x390], r9
movabs r9, 0x3139303939383838
mov qword [rsp + 0x398], r10
movabs r10, 0x3539343933393239
mov qword [rsp + 0x3a8], r10
movabs r10, 0x39393839373936
mov qword [rsp + 0x3a0], r9
movabs r9, 0x3935393439333932
mov qword [rsp + 0x3a9], r9
mov qword [rsp + 0x3b1], r10
cmp r15d, 0x63
jbe 0x140252fb0
nop dword [rax + rax]
mov r8d, r15d
mov eax, r15d
imul r8, r8, 0x51eb851f
shr r8, 0x25
imul ecx, r8d, 0x64
sub eax, ecx
mov ecx, r15d
mov r15d, r8d
mov r8d, r14d
add eax, eax
lea r9d, [rax + 1]
movzx r9d, byte [rsp + r9 + 0x2f0]
mov byte [rdx + r8], r9b
movzx eax, byte [rsp + rax + 0x2f0]
lea r8d, [r14 - 1]
sub r14d, 2
mov byte [rdx + r8], al
cmp ecx, 0x270f
ja 0x140250ea8
cmp ecx, 0x3e7
ja 0x140252fb0
add r15d, 0x30
mov byte [rdx], r15b
mov rax, qword [rsp + 0x1d0]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x1d8], rdi
mov rcx, qword [rsp + 0x30]
lea r9, str.mix_
mov byte [rax + rdi], 0
mov qword [rsp + 0x20], 4
call fcn.1403bac50
mov qword [rsp + 0x2f0], r13
mov rdx, qword [rax]
lea rcx, [rax + 0x10]
cmp rdx, rcx
je 0x140253340
mov qword [rsp + 0x2f0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x2f8], rdx
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x2f8], rax
je 0x1402537ff
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.1403bdb40
lea r15, [rsp + 0x1c0]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x1b0], r15
mov rdx, qword [rax]
cmp rdx, rcx
je 0x140253290
mov qword [rsp + 0x1b0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x1c0], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x1b8], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x2f0]
cmp rcx, r13
je 0x140251012
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x140251029
call fcn.1403f2f80
movzx eax, bx
shr ebx, 0x10
mov edx, r12d
mov r14, qword [rsp + 0x48]
imul eax, eax, 0x9069
shl edx, 0x11
mov r8d, 9
xor edx, r12d
mov rcx, r14
add ebx, eax
movzx eax, bp
shr ebp, 0x10
imul eax, eax, 0x4650
mov edi, ebx
shl edi, 0x10
add ebp, eax
mov eax, edx
shr eax, 0xd
add edi, ebp
xor eax, edx
lea rdx, str.offset_
mov r12d, eax
shl r12d, 5
xor r12d, eax
imul eax, dword [rsp + 0x88], 0x10dcd
add eax, 0x12d687
xor edi, eax
mov dword [rsp + 0x88], eax
add edi, r12d
call fcn.1403e9c80
mov r8, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x190]
mov rcx, r14
call fcn.1403e9c80
mov rcx, rax
mov r8d, 0x18
lea rdx, str.___PROGPOW_CACHE_WORDS__n
call fcn.1403e9c80
mov r8d, 0x16
lea rdx, str.data__c_dag_offset___n
mov rcx, r14
mov qword [rsp + 0x48], r14
call fcn.1403e9c80
mov rax, qword [rsp + 0x38]
lea r14, [rsp + 0x1b0]
mov r8, qword [rsp + 0x30]
mov r9d, edi
mov rcx, qword [rsp + 0x40]
mov rdx, r14
mov qword [rsp + 0x1d0], rax
mov dword [rax], 0x61746164
mov qword [rsp + 0x1d8], 4
mov byte [rsp + 0x1e4], 0
call fcn.14024f820
mov r8, qword [rsp + 0x2f8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x48]
call fcn.1403e9c80
mov rcx, qword [rsp + 0x2f0]
cmp rcx, r13
je 0x140251153
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x14025116a
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1b0]
cmp rcx, r15
je 0x14025117c
call fcn.1403f2f80
mov rcx, qword [rsp + 0x190]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x140251193
call fcn.1403f2f80
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x8c], eax
movzx eax, bx
mov edx, r12d
movzx r14d, bp
shr ebx, 0x10
imul eax, eax, 0x9069
shl edx, 0x11
shr ebp, 0x10
xor edx, r12d
imul r14d, r14d, 0x4650
imul r15d, dword [rsp + 0x88], 0x10dcd
add ebx, eax
mov eax, edx
shr eax, 0xd
add r14d, ebp
mov ebp, ebx
xor eax, edx
shl ebp, 0x10
add r15d, 0x12d687
mov r12d, eax
add ebp, r14d
shl r12d, 5
xor ebp, r15d
xor r12d, eax
add ebp, r12d
mov eax, ebp
mov edi, ebp
and ebp, 0x1f
shr eax, 5
imul rax, rax, 0x8421085
shr rax, 0x20
imul eax, eax, 0x3e0
sub edi, eax
xor eax, eax
shr edi, 5
cmp ebp, edi
setle al
add edi, eax
cmp ebp, 9
jbe 0x140252f57
mov rax, qword [rsp + 0x38]
add ebp, ebp
mov rcx, qword [rsp + 0x30]
mov edx, 2
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1d0], rax
mov byte [rsp + 0x1e0], 0
call fcn.1403bd980
mov rax, qword [rsp + 0x1d0]
movabs rdx, 0x3330323031303030
movabs rcx, 0x3730363035303430
mov byte [rax], 0x2d
mov qword [rsp + 0x2f0], rdx
movabs rdx, 0x3131303139303830
mov qword [rsp + 0x2f8], rcx
movabs rcx, 0x3531343133313231
mov qword [rsp + 0x300], rdx
movabs rdx, 0x3931383137313631
mov qword [rsp + 0x308], rcx
movabs rcx, 0x3332323231323032
mov qword [rsp + 0x310], rdx
movabs rdx, 0x3732363235323432
mov qword [rsp + 0x318], rcx
movabs rcx, 0x3133303339323832
mov qword [rsp + 0x320], rdx
movabs rdx, 0x3533343333333233
mov qword [rsp + 0x328], rcx
movabs rcx, 0x3933383337333633
mov qword [rsp + 0x330], rdx
movabs rdx, 0x3334323431343034
mov qword [rsp + 0x338], rcx
movabs rcx, 0x3734363435343434
mov qword [rsp + 0x340], rdx
movabs rdx, 0x3135303539343834
mov qword [rsp + 0x348], rcx
movabs rcx, 0x3535343533353235
mov qword [rsp + 0x350], rdx
movabs rdx, 0x3935383537353635
mov qword [rsp + 0x358], rcx
movabs rcx, 0x3336323631363036
mov qword [rsp + 0x360], rdx
movabs rdx, 0x3736363635363436
mov qword [rsp + 0x368], rcx
movabs rcx, 0x3137303739363836
mov qword [rsp + 0x370], rdx
movabs rdx, 0x3537343733373237
mov qword [rsp + 0x378], rcx
movabs rcx, 0x3937383737373637
mov qword [rsp + 0x380], rdx
movabs rdx, 0x3338323831383038
mov qword [rsp + 0x388], rcx
movabs rcx, 0x3738363835383438
mov qword [rsp + 0x390], rdx
movabs rdx, 0x3139303939383838
mov qword [rsp + 0x398], rcx
movabs rcx, 0x3539343933393239
mov qword [rsp + 0x3a0], rdx
movabs rdx, 0x3935393439333932
mov qword [rsp + 0x3a8], rcx
movabs rcx, 0x39393839373936
mov qword [rsp + 0x3a9], rdx
lea edx, [rbp + 1]
mov qword [rsp + 0x3b1], rcx
movzx edx, byte [rsp + rdx + 0x2f0]
mov byte [rax + 1], dl
movzx ebp, byte [rsp + rbp + 0x2f0]
mov edx, 2
mov byte [rax], bpl
mov rax, qword [rsp + 0x1d0]
lea r9, str.mix_
xor r8d, r8d
mov qword [rsp + 0x1d8], rdx
mov rcx, qword [rsp + 0x30]
mov byte [rax + rdx], 0
xor edx, edx
mov qword [rsp + 0x20], 4
call fcn.1403bac50
lea r13, [rsp + 0x300]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x2f0], r13
mov rdx, qword [rax]
cmp rdx, rcx
je 0x1402530d0
mov qword [rsp + 0x2f0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x2f8], rdx
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x2f8], rax
je 0x14025399b
lea rax, [0x140450eec]
lea rcx, [rsp + 0x2f0]
mov r8d, 1
mov rdx, rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
call fcn.1403bdb40
lea rcx, [rsp + 0x100]
mov qword [rsp + 0xf0], rcx
mov rdx, qword [rax]
mov qword [rsp + 0x70], rcx
lea rcx, [rax + 0x10]
cmp rdx, rcx
je 0x140253078
mov qword [rsp + 0xf0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x100], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0xf8], rdx
mov qword [rax + 8], 0
cmp rcx, r13
je 0x140251580
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x140251597
call fcn.1403f2f80
mov rax, qword [rsp + 0x38]
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1d0], rax
cmp edi, 9
jle 0x140252f30
mov rcx, qword [rsp + 0x30]
mov edx, 2
add edi, edi
call fcn.1403bd980
mov rax, qword [rsp + 0x1d0]
movabs rdx, 0x3330323031303030
movabs rcx, 0x3730363035303430
mov byte [rax], 0x2d
mov qword [rsp + 0x2f0], rdx
movabs rdx, 0x3131303139303830
mov qword [rsp + 0x2f8], rcx
movabs rcx, 0x3531343133313231
mov qword [rsp + 0x300], rdx
movabs rdx, 0x3931383137313631
mov qword [rsp + 0x308], rcx
movabs rcx, 0x3332323231323032
mov qword [rsp + 0x310], rdx
movabs rdx, 0x3732363235323432
mov qword [rsp + 0x318], rcx
movabs rcx, 0x3133303339323832
mov qword [rsp + 0x320], rdx
movabs rdx, 0x3533343333333233
mov qword [rsp + 0x328], rcx
movabs rcx, 0x3933383337333633
mov qword [rsp + 0x330], rdx
movabs rdx, 0x3334323431343034
mov qword [rsp + 0x338], rcx
movabs rcx, 0x3734363435343434
mov qword [rsp + 0x340], rdx
movabs rdx, 0x3135303539343834
mov qword [rsp + 0x348], rcx
movabs rcx, 0x3535343533353235
mov qword [rsp + 0x350], rdx
movabs rdx, 0x3935383537353635
mov qword [rsp + 0x358], rcx
movabs rcx, 0x3336323631363036
mov qword [rsp + 0x360], rdx
movabs rdx, 0x3736363635363436
mov qword [rsp + 0x368], rcx
movabs rcx, 0x3137303739363836
mov qword [rsp + 0x370], rdx
movabs rdx, 0x3537343733373237
mov qword [rsp + 0x378], rcx
movabs rcx, 0x3937383737373637
mov qword [rsp + 0x380], rdx
movabs rdx, 0x3338323831383038
mov qword [rsp + 0x388], rcx
movabs rcx, 0x3738363835383438
mov qword [rsp + 0x390], rdx
movabs rdx, 0x3139303939383838
mov qword [rsp + 0x398], rcx
movabs rcx, 0x3539343933393239
mov qword [rsp + 0x3a0], rdx
movabs rdx, 0x3935393439333932
mov qword [rsp + 0x3a8], rcx
movabs rcx, 0x39393839373936
mov qword [rsp + 0x3a9], rdx
lea edx, [rdi + 1]
mov qword [rsp + 0x3b1], rcx
movzx edx, byte [rsp + rdx + 0x2f0]
mov byte [rax + 1], dl
movzx edi, byte [rsp + rdi + 0x2f0]
mov edx, 2
mov byte [rax], dil
mov rax, qword [rsp + 0x1d0]
lea r9, str.mix_
xor r8d, r8d
mov qword [rsp + 0x1d8], rdx
mov rcx, qword [rsp + 0x30]
mov byte [rax + rdx], 0
xor edx, edx
mov qword [rsp + 0x20], 4
call fcn.1403bac50
mov qword [rsp + 0x2f0], r13
mov rdx, qword [rax]
lea rcx, [rax + 0x10]
cmp rdx, rcx
je 0x140253180
mov qword [rsp + 0x2f0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x2f8], rdx
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x2f8], rax
je 0x14025396e
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.1403bdb40
lea rdi, [rsp + 0x120]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x110], rdi
mov rdx, qword [rax]
mov qword [rsp + 0x78], rdi
cmp rdx, rcx
je 0x140253020
mov qword [rsp + 0x110], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x120], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0x118], rdx
mov qword [rax + 8], 0
cmp rcx, r13
je 0x1402518dc
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x1402518f3
call fcn.1403f2f80
mov edx, r12d
movzx ebp, bx
shr ebx, 0x10
movzx edi, r14w
shl edx, 0x11
imul ebp, ebp, 0x9069
shr r14d, 0x10
xor edx, r12d
imul edi, edi, 0x4650
mov eax, edx
imul r15d, r15d, 0x10dcd
shr eax, 0xd
add ebp, ebx
mov ebx, dword [rsp + 0x58]
xor eax, edx
add edi, r14d
mov r14d, ebp
mov r12d, eax
shl r14d, 0x10
add r15d, 0x12d687
shl r12d, 5
add r14d, edi
xor r12d, eax
lea eax, [rbx + 1]
xor r14d, r15d
mov dword [rsp + 0x68], eax
mov eax, ebx
add r14d, r12d
and eax, 0x1f
mov ecx, dword [rsp + rax*4 + 0x1f0]
mov ebx, ecx
mov r9d, ecx
shr ebx, 0x1f
neg r9d
cmovs r9d, ecx
movzx eax, bl
mov ecx, ebx
mov qword [rsp + 0x58], rax
cmp r9d, 9
jbe 0x14025366b
mov r8d, 1
mov edx, r9d
jmp 0x1402519c7
cmp edx, 0x3e7
jbe 0x140252ff0
cmp edx, 0x270f
jbe 0x140253000
mov eax, edx
lea r10d, [r8 + 4]
imul rax, rsi
shr rax, 0x2d
cmp edx, 0x1869f
jbe 0x140253010
mov r8d, r10d
mov edx, eax
cmp edx, 0x63
ja 0x140251990
lea r10d, [r8 + 1]
lea ebx, [rcx + r10]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov dword [rsp + 0x88], r9d
mov rdx, rbx
mov dword [rsp + 0x80], r8d
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 0
mov byte [rsp + 0x1e0], 0
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x58]
movabs r9, 0x3330323031303030
movabs r10, 0x3730363035303430
mov byte [rdx], 0x2d
add rdx, rax
mov qword [rsp + 0x2f0], r9
movabs r9, 0x3131303139303830
mov qword [rsp + 0x2f8], r10
movabs r10, 0x3531343133313231
mov qword [rsp + 0x300], r9
movabs r9, 0x3931383137313631
mov qword [rsp + 0x308], r10
movabs r10, 0x3332323231323032
mov qword [rsp + 0x310], r9
movabs r9, 0x3732363235323432
mov qword [rsp + 0x318], r10
movabs r10, 0x3133303339323832
mov qword [rsp + 0x320], r9
movabs r9, 0x3533343333333233
mov qword [rsp + 0x328], r10
movabs r10, 0x3933383337333633
mov qword [rsp + 0x330], r9
movabs r9, 0x3334323431343034
mov qword [rsp + 0x338], r10
movabs r10, 0x3734363435343434
mov qword [rsp + 0x340], r9
movabs r9, 0x3135303539343834
mov qword [rsp + 0x348], r10
movabs r10, 0x3535343533353235
mov qword [rsp + 0x350], r9
movabs r9, 0x3935383537353635
mov qword [rsp + 0x358], r10
movabs r10, 0x3336323631363036
mov qword [rsp + 0x360], r9
movabs r9, 0x3736363635363436
mov qword [rsp + 0x368], r10
movabs r10, 0x3137303739363836
mov qword [rsp + 0x370], r9
movabs r9, 0x3537343733373237
mov qword [rsp + 0x378], r10
movabs r10, 0x3937383737373637
mov qword [rsp + 0x380], r9
movabs r9, 0x3338323831383038
mov qword [rsp + 0x388], r10
movabs r10, 0x3738363835383438
mov qword [rsp + 0x390], r9
movabs r9, 0x3139303939383838
mov qword [rsp + 0x398], r10
movabs r10, 0x3539343933393239
mov qword [rsp + 0x3a0], r9
movabs r9, 0x3935393439333932
mov qword [rsp + 0x3a8], r10
movabs r10, 0x39393839373936
mov qword [rsp + 0x3a9], r9
mov r9d, dword [rsp + 0x88]
mov qword [rsp + 0x3b1], r10
cmp r9d, 0x63
jbe 0x140252f10
mov r8d, dword [rsp + 0x80]
nop dword [rax + rax]
mov r10d, r9d
mov eax, r9d
imul r10, r10, 0x51eb851f
shr r10, 0x25
imul ecx, r10d, 0x64
sub eax, ecx
mov ecx, r9d
mov r9d, r10d
mov r10d, r8d
add eax, eax
lea r11d, [rax + 1]
movzx r11d, byte [rsp + r11 + 0x2f0]
mov byte [rdx + r10], r11b
movzx eax, byte [rsp + rax + 0x2f0]
lea r10d, [r8 - 1]
sub r8d, 2
mov byte [rdx + r10], al
cmp ecx, 0x270f
ja 0x140251c18
cmp ecx, 0x3e7
ja 0x140252f10
add r9d, 0x30
mov byte [rdx], r9b
mov rax, qword [rsp + 0x1d0]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x1d8], rbx
mov rcx, qword [rsp + 0x30]
lea r9, str.mix_
mov byte [rax + rbx], 0
mov qword [rsp + 0x20], 4
call fcn.1403bac50
mov qword [rsp + 0x2f0], r13
mov rdx, qword [rax]
lea rcx, [rax + 0x10]
cmp rdx, rcx
je 0x140253128
mov qword [rsp + 0x2f0], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rsp + 0x2f8], rdx
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x2f8], rax
je 0x14025392f
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
call fcn.1403bdb40
lea rbx, [rsp + 0x140]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x130], rbx
mov rdx, qword [rax]
mov qword [rsp + 0x80], rbx
cmp rdx, rcx
je 0x1402531d8
mov qword [rsp + 0x130], rdx
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x140], rdx
mov rdx, qword [rax + 8]
mov qword [rax], rcx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0x138], rdx
mov qword [rax + 8], 0
cmp rcx, r13
je 0x140251d8a
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x140251da1
call fcn.1403f2f80
mov edx, r12d
movzx ebx, bp
shr ebp, 0x10
mov dword [rsp + 0x160], 0x61746164
shl edx, 0x11
imul ebx, ebx, 0x9069
mov qword [rsp + 0x158], 4
xor edx, r12d
imul r15d, r15d, 0x10dcd
mov byte [rsp + 0x164], 0
mov eax, edx
shr eax, 0xd
add ebx, ebp
movzx ebp, di
shr edi, 0x10
xor eax, edx
imul ebp, ebp, 0x4650
mov edx, 0xba2e8ba3
mov r12d, eax
shl r12d, 5
xor r12d, eax
mov eax, ebx
add ebp, edi
shl eax, 0x10
lea edi, [r15 + 0x12d687]
add eax, ebp
mov dword [rsp + 0x88], edi
xor eax, edi
lea rdi, [rsp + 0x160]
lea r15d, [rax + r12]
mov eax, r14d
mov qword [rsp + 0x150], rdi
imul rax, rdx
shr rax, 0x23
lea edx, [rax + rax*4]
lea eax, [rax + rdx*2]
sub r14d, eax
cmp r14d, 0xa
ja case.0x140251e59.0
lea rdx, [0x140450fdc]
movsxd rax, dword [rdx + r14*4]
add rax, rdx
jmp rax
mov r14, qword [rsp + 0x40]
lea r9, str.__popcount_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, str.___popcount_
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x140450f3f]
call fcn.1403bc420
nop word [rax + rax]
lea r11, [rsp + 0x170]
mov rdx, rax
mov rcx, r11
mov qword [rsp + 0x90], r11
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
call fcn.1403bac30
mov rcx, r14
call fcn.1403bac30
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
mov rcx, qword [rsp + 0x40]
call fcn.1403bac30
mov r8, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x170]
call fcn.1403e9c80
mov rcx, qword [rsp + 0x170]
lea rax, [rsp + 0x180]
mov qword [rsp + 0x98], rax
cmp rcx, rax
je 0x140251f95
call fcn.1403f2f80
mov rcx, qword [rsp + 0x150]
cmp rcx, rdi
je 0x140251fa7
call fcn.1403f2f80
mov rax, qword [rsp + 0x38]
lea rdi, [rsp + 0x130]
mov r8, qword [rsp + 0x30]
mov r9d, r15d
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov qword [rsp + 0x1d0], rax
mov dword [rax], 0x61746164
mov qword [rsp + 0x1d8], 4
mov byte [rsp + 0x1e4], 0
call fcn.14024f820
mov r8, qword [rsp + 0x2f8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x48]
call fcn.1403e9c80
mov rcx, qword [rsp + 0x2f0]
cmp rcx, r13
je 0x140252017
call fcn.1403f2f80
mov rcx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x38]
cmp rcx, rax
je 0x14025202e
call fcn.1403f2f80
mov rcx, qword [rsp + 0x130]
mov rax, qword [rsp + 0x80]
cmp rcx, rax
je 0x140252048
call fcn.1403f2f80
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x78]
cmp rcx, rax
je 0x14025205f
call fcn.1403f2f80
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0x70]
cmp rcx, rax
je 0x140252076
call fcn.1403f2f80
add dword [rsp + 0x60], 1
mov eax, dword [rsp + 0x60]
cmp eax, 0x12
jne 0x1402507a0
mov rax, qword [rsp + 0x400]
mov qword [rsp + 0x2f0], r13
mov qword [rsp + 0x2f8], 0
mov byte [rsp + 0x300], 0
test rax, rax
je 0x140253766
mov rdx, qword [rsp + 0x3f0]
mov rcx, rax
mov r9, qword [rsp + 0x3f8]
cmp rdx, rax
cmovae rax, rdx
test rdx, rdx
cmove rax, rcx
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
xor edx, edx
sub rax, r9
mov qword [rsp + 0x20], rax
call fcn.1403bac50
lea rax, [rsp + 0x1d8]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.1403b3860
lea r8, [0x140450fa9]
mov rcx, qword [rsp + 0x30]
pxor xmm0, xmm0
mov r9d, 0x10
lea rdx, [r8 - 0x21]
movups xmmword [rsp + 0x1e0], xmm0
call fcn.1403ba000
mov rdx, qword [rsp + 0x58]
lea r15, [rsp + 0x1c0]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0x190], 0x173b
call fcn.1403bdcf0
mov rdx, qword [rsp + 0x190]
mov qword [rsp + 0x1b0], rax
lea rdi, [rax + 8]
lea rsi, str.ifdef_cl_clang_storage_class_specifiers_npragma_OPENCL_EXTENSION_cl_clang_storage_class_specifiers_:_enable_nendif_nifndef_GROUP_SIZE_ndefine_GROUP_SIZE_256_nendif_ndefine_GROUP_SHARE__GROUP_SIZE___16__ntypedef_unsigned_int_uint32_t__ntypedef_unsigned_long_uint64_t__ndefine_ROTL32_x__n__rotate__x____uint32_t__n___ndefine_ROTR32_x__n__rotate__x____uint32_t__32_n___ndefine_PROGPOW_LANES_16_ndefine_PROGPOW_REGS_32_ndefine_PROGPOW_DAG_LOADS_4_ndefine_PROGPOW_CACHE_WORDS_4096_ndefine_PROGPOW_CNT_DAG_64_ndefine_PROGPOW_CNT_MATH_18_ndefine_OPENCL_PLATFORM_UNKNOWN_0_ndefine_OPENCL_PLATFORM_NVIDIA_1_ndefine_OPENCL_PLATFORM_AMD_2_ndefine_OPENCL_PLATFORM_CLOVER_3_nifndef_MAX_OUTPUTS_ndefine_MAX_OUTPUTS_63U_nendif_nifndef_PLATFORM_nifdef_cl_amd_media_ops_ndefine_PLATFORM_OPENCL_PLATFORM_AMD_nelse_ndefine_PLATFORM_OPENCL_PLATFORM_UNKNOWN_nendif_nendif_ndefine_HASHES_PER_GROUP__GROUP_SIZE___PROGPOW_LANES__ndefine_FNV_PRIME_0x1000193_ndefine_FNV_OFFSET_BASIS_0x811c9dc5_ntypedef_struct___attribute_____aligned_16____uint32_t_s_PROGPOW_DAG_LOADS___dag_t__n__constant_const_uint32_t_keccakf_rndc_24_0x00000001_0x00008082_0x0000808a_0x80008000__n0x0000808b_0x80000001_0x80008081_0x00008009_0x0000008a_0x00000088_0x80008009_0x8000000a__n0x8000808b_0x0000008b_0x00008089_0x00008003_0x00008002_0x00000080_0x0000800a_0x8000000a__n0x80008081_0x00008080_0x80000001_0x80008008__n__constant_const_uint32_t_ravencoin_rndc_15__n0x00000072__n0x00000041__n0x00000056__n0x00000045__n0x0000004E__n0x00000043__n0x0000004F__n0x00000049__n0x0000004E__n0x0000004B__n0x00000041__n0x00000057__n0x00000050__n0x0000004F__n0x00000057__n__nvoid_keccak_f800_round_uint32_t_st_25__const_int_r__n_nconst_uint32_t_keccakf_rotc_24__n1_3_6_10_15_21_28_36_45_55_2_14_27_41_56_8_25_43_62_18_39_61_20_44__nconst_uint32_t_keccakf_piln_24__n10_7_11_17_18_3_5_16_8_21_24_4_15_23_19_13_12_2_20_14_22_9_6_1__nuint32_t_t_bc_5___nfor__int_i0__i_5__i__nbc_i_st_i_st_i5_st_i10_st_i15_st_i20___nfor__int_i0__i_5__i__n_ntbc__i4____5_ROTL32_bc__i1____5__1u___nfor__uint32_t_j0__j_25__j5__nst_ji___t__n_ntst_1___nfor__int_i0__i_24__i__n_nuint32_t_jkeccakf_piln_i___nbc_0_st_j___nst_j_ROTL32_t_keccakf_rotc_i____ntbc_0___n_nfor__uint32_t_j0__j_25__j5__n_nfor__int_i0__i_5__i__nbc_i_st_ji___nfor__int_i0__i_5__i__nst_ji____bc__i1____5__bc__i2____5___n_nst_0___keccakf_rndc_r___n_nuint64_t_keccak_f800_uint32_t_st__n_nfor__int_r0__r_22__r___nkeccak_f800_round_st_r___n_n_ndefine_fnv1a_h__d___h___h__d___FNV_PRIME__ntypedef_struct_n_nuint32_t_z_w_jsr_jcong__n_kiss99_t__nuint32_t_kiss99_kiss99_t_st__n_nst__z36969_st__z65535__st__z__16___nst__w18000_st__w65535__st__w__16___nuint32_t_MWC__st__z__16_st__w___nst__jsr___st__jsr__17___nst__jsr___st__jsr__13___nst__jsr___st__jsr__5___nst__jcong69069st__jcong1234567__nreturn___MWCst__jcong_st__jsr___n_nvoid_fill_mix_local_uint32_t_seed_uint32_t_lane_id_uint32_t_mix__n_nuint32_t_fnv_hashFNV_OFFSET_BASIS__nkiss99_t_st__nst.zfnv1a_fnv_hash_seed_0____nst.wfnv1a_fnv_hash_seed_1____nst.jsrfnv1a_fnv_hash_lane_id___nst.jcongfnv1a_fnv_hash_lane_id___npragma_unroll_nfor__int_i0__i_PROGPOW_REGS__i__nmix_i_kiss99_st___n_ntypedef_struct_n_nuint32_t_uint32s_PROGPOW_LANES___n_shuffle_t__ntypedef_struct_n_nuint32_t_uint32s_32_sizeof_uint32_t____n_hash32_t__nif_PLATFORM___OPENCL_PLATFORM_NVIDIA__n__attribute____reqd_work_group_size_GROUP_SIZE_1_1____nendif_n__kernel_void_progpow_search___global_dag_t_const_g_dag___global_uint_job_blob_ulong_target_uint_hack_false_volatile___global_uint_results_volatile___global_uint_stop__n_nconst_uint32_t_lidget_local_id_0___nconst_uint32_t_gidget_global_id_0___nif_stop_0____nif_lid0___natomic_inc_stop1___n_nreturn__n_n__local_shuffle_t_share_HASHES_PER_GROUP___n__local_uint32_t_c_dag_PROGPOW_CACHE_WORDS___nconst_uint32_t_lane_idlid_PROGPOW_LANES_1___nconst_uint32_t_group_idlid_PROGPOW_LANES__nfor__uint32_t_wordlidPROGPOW_DAG_LOADS__word_PROGPOW_CACHE_WORDS__wordGROUP_SIZEPR
and rdi, 0xfffffffffffffff8
mov qword [rsp + 0x1c0], rdx
mov rdx, qword [str.ifdef_cl_clang_storage_class_specifiers_npragma_OPENCL_EXTENSION_cl_clang_storage_class_specifiers_:_enable_nendif_nifndef_GROUP_SIZE_ndefine_GROUP_SIZE_256_nendif_ndefine_GROUP_SHARE__GROUP_SIZE___16__ntypedef_unsigned_int_uint32_t__ntypedef_unsigned_long_uint64_t__ndefine_ROTL32_x__n__rotate__x____uint32_t__n___ndefine_ROTR32_x__n__rotate__x____uint32_t__32_n___ndefine_PROGPOW_LANES_16_ndefine_PROGPOW_REGS_32_ndefine_PROGPOW_DAG_LOADS_4_ndefine_PROGPOW_CACHE_WORDS_4096_ndefine_PROGPOW_CNT_DAG_64_ndefine_PROGPOW_CNT_MATH_18_ndefine_OPENCL_PLATFORM_UNKNOWN_0_ndefine_OPENCL_PLATFORM_NVIDIA_1_ndefine_OPENCL_PLATFORM_AMD_2_ndefine_OPENCL_PLATFORM_CLOVER_3_nifndef_MAX_OUTPUTS_ndefine_MAX_OUTPUTS_63U_nendif_nifndef_PLATFORM_nifdef_cl_amd_media_ops_ndefine_PLATFORM_OPENCL_PLATFORM_AMD_nelse_ndefine_PLATFORM_OPENCL_PLATFORM_UNKNOWN_nendif_nendif_ndefine_HASHES_PER_GROUP__GROUP_SIZE___PROGPOW_LANES__ndefine_FNV_PRIME_0x1000193_ndefine_FNV_OFFSET_BASIS_0x811c9dc5_ntypedef_struct___attribute_____aligned_16____uint32_t_s_PROGPOW_DAG_LOADS___dag_t__n__constant_const_uint32_t_keccakf_rndc_24_0x00000001_0x00008082_0x0000808a_0x80008000__n0x0000808b_0x80000001_0x80008081_0x00008009_0x0000008a_0x00000088_0x80008009_0x8000000a__n0x8000808b_0x0000008b_0x00008089_0x00008003_0x00008002_0x00000080_0x0000800a_0x8000000a__n0x80008081_0x00008080_0x80000001_0x80008008__n__constant_const_uint32_t_ravencoin_rndc_15__n0x00000072__n0x00000041__n0x00000056__n0x00000045__n0x0000004E__n0x00000043__n0x0000004F__n0x00000049__n0x0000004E__n0x0000004B__n0x00000041__n0x00000057__n0x00000050__n0x0000004F__n0x00000057__n__nvoid_keccak_f800_round_uint32_t_st_25__const_int_r__n_nconst_uint32_t_keccakf_rotc_24__n1_3_6_10_15_21_28_36_45_55_2_14_27_41_56_8_25_43_62_18_39_61_20_44__nconst_uint32_t_keccakf_piln_24__n10_7_11_17_18_3_5_16_8_21_24_4_15_23_19_13_12_2_20_14_22_9_6_1__nuint32_t_t_bc_5___nfor__int_i0__i_5__i__nbc_i_st_i_st_i5_st_i10_st_i15_st_i20___nfor__int_i0__i_5__i__n_ntbc__i4____5_ROTL32_bc__i1____5__1u___nfor__uint32_t_j0__j_25__j5__nst_ji___t__n_ntst_1___nfor__int_i0__i_24__i__n_nuint32_t_jkeccakf_piln_i___nbc_0_st_j___nst_j_ROTL32_t_keccakf_rotc_i____ntbc_0___n_nfor__uint32_t_j0__j_25__j5__n_nfor__int_i0__i_5__i__nbc_i_st_ji___nfor__int_i0__i_5__i__nst_ji____bc__i1____5__bc__i2____5___n_nst_0___keccakf_rndc_r___n_nuint64_t_keccak_f800_uint32_t_st__n_nfor__int_r0__r_22__r___nkeccak_f800_round_st_r___n_n_ndefine_fnv1a_h__d___h___h__d___FNV_PRIME__ntypedef_struct_n_nuint32_t_z_w_jsr_jcong__n_kiss99_t__nuint32_t_kiss99_kiss99_t_st__n_nst__z36969_st__z65535__st__z__16___nst__w18000_st__w65535__st__w__16___nuint32_t_MWC__st__z__16_st__w___nst__jsr___st__jsr__17___nst__jsr___st__jsr__13___nst__jsr___st__jsr__5___nst__jcong69069st__jcong1234567__nreturn___MWCst__jcong_st__jsr___n_nvoid_fill_mix_local_uint32_t_seed_uint32_t_lane_id_uint32_t_mix__n_nuint32_t_fnv_hashFNV_OFFSET_BASIS__nkiss99_t_st__nst.zfnv1a_fnv_hash_seed_0____nst.wfnv1a_fnv_hash_seed_1____nst.jsrfnv1a_fnv_hash_lane_id___nst.jcongfnv1a_fnv_hash_lane_id___npragma_unroll_nfor__int_i0__i_PROGPOW_REGS__i__nmix_i_kiss99_st___n_ntypedef_struct_n_nuint32_t_uint32s_PROGPOW_LANES___n_shuffle_t__ntypedef_struct_n_nuint32_t_uint32s_32_sizeof_uint32_t____n_hash32_t__nif_PLATFORM___OPENCL_PLATFORM_NVIDIA__n__attribute____reqd_work_group_size_GROUP_SIZE_1_1____nendif_n__kernel_void_progpow_search___global_dag_t_const_g_dag___global_uint_job_blob_ulong_target_uint_hack_false_volatile___global_uint_results_volatile___global_uint_stop__n_nconst_uint32_t_lidget_local_id_0___nconst_uint32_t_gidget_global_id_0___nif_stop_0____nif_lid0___natomic_inc_stop1___n_nreturn__n_n__local_shuffle_t_share_HASHES_PER_GROUP___n__local_uint32_t_c_dag_PROGPOW_CACHE_WORDS___nconst_uint32_t_lane_idlid_PROGPOW_LANES_1___nconst_uint32_t_group_idlid_PROGPOW_LANES__nfor__uint32_t_wordlidPROGPOW_DAG_LOADS__word_PROGPOW_CACHE_WORDS__wordGROUP_SIZEPR]
mov qword [rax], rdx
mov rdx, qword [0x140452ab3]
mov qword [rax + 0x1733], rdx
sub rax, rdi
sub rsi, rax
add eax, 0x173b
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x5c0]
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x1b8], rax
mov byte [rdx + rax], 0
mov rax, qword [rsp + 0x5c0]
mov rcx, rsi
mov qword [rsi + 8], 0
mov rdx, qword [rsp + 0x1b0]
add rax, 0x10
mov byte [rsi + 0x10], 0
mov r8, qword [rsp + 0x1b8]
mov qword [rsi], rax
mov rax, qword [rsp + 0x2f8]
add r8, rdx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x20], rax
call fcn.1400c63a0
mov rcx, r14
call fcn.1403bac30
mov rcx, qword [rsp + 0x1e8]
test rcx, rcx
je 0x14025223a
call fcn.1403a8690
mov rcx, qword [rsp + 0x60]
call fcn.1403b3960
mov rcx, qword [rsp + 0x40]
call fcn.1403bac30
lea rax, [rsp + 0x420]
mov r9, r13
xor edx, edx
mov r8, qword [rsp + 0x428]
mov rcx, rax
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x2f0], r13
mov qword [rsp + 0x2f8], 0
mov byte [rsp + 0x300], 0
mov qword [rsp + 0x70], rax
call fcn.1403bac50
xor r9d, r9d
test byte [rsp + 0x418], 3
je 0x1402522aa
mov r9, qword [rsp + 0x428]
mov rdx, qword [rsp + 0x420]
mov rcx, qword [rsp + 0xe0]
xor r8d, r8d
call fcn.1403c49e0
mov rcx, qword [rsp + 0x40]
call fcn.1403bac30
movzx eax, bx
mov edx, r12d
shr ebx, 0x10
imul eax, eax, 0x9069
shl edx, 0x11
mov qword [rsp + 0x1b0], r15
mov r15, qword [rsp + 0x30]
xor edx, r12d
mov qword [rsp + 0x1d8], 0xd
mov r8, r15
mov byte [rsp + 0x1ed], 0
lea esi, [rax + rbx]
mov eax, edx
movzx ebx, bp
shr ebp, 0x10
shr eax, 0xd
mov dword [rsp + 0x60], esi
imul ebx, ebx, 0x4650
shl esi, 0x10
xor eax, edx
mov r9d, esi
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0x1c0], 0x5b78696d
mov edx, eax
mov byte [rsp + 0x1c6], 0
shl edx, 5
add ebx, ebp
mov rcx, rsi
mov qword [rsp + 0x1b8], 6
mov edi, edx
add r9d, ebx
mov rdx, r14
xor edi, eax
imul eax, dword [rsp + 0x88], 0x10dcd
lea r12d, [rax + 0x12d687]
mov rax, qword [rsp + 0x38]
xor r9d, r12d
mov qword [rsp + 0x1d0], rax
add r9d, edi
movabs rax, 0x6761645f61746164
mov qword [rsp + 0x1e0], rax
movabs rax, 0x5d305b732e676164
mov qword [rsp + 0x1e5], rax
mov eax, 0x5d30
mov word [rsp + 0x1c4], ax
call fcn.14024f820
mov r8, qword [rsp + 0x2f8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x48]
call fcn.1403e9c80
mov rcx, rsi
mov ebp, 0x31
call fcn.1403bac30
mov rcx, r14
call fcn.1403bac30
mov rcx, r15
lea r15, [rsp + 0x1a0]
call fcn.1403bac30
mov esi, dword [rsp + 0x68]
mov eax, esi
add esi, 1
mov dword [rsp + 0x68], esi
and eax, 0x1f
mov rsi, qword [rsp + 0x30]
mov edx, dword [rsp + rax*4 + 0x1f0]
mov rcx, rsi
call fcn.1403d27c0
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], 4
lea r9, str.mix_
call fcn.1403bac50
mov rsi, qword [rsp + 0x40]
mov rdx, rax
mov rcx, rsi
call fcn.1403bdfe0
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
call fcn.1403bc420
mov rcx, qword [rsp + 0x90]
mov rdx, rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x2f0]
cmp rcx, r13
je 0x140252477
call fcn.1403f2f80
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
mov esi, dword [rsp + 0x60]
mov edx, edi
mov rcx, qword [rsp + 0x58]
shl edx, 0x11
mov qword [rsp + 0x190], r15
movzx eax, si
shr esi, 0x10
xor edx, edi
mov qword [rsp + 0x198], 0
imul eax, eax, 0x9069
mov byte [rsp + 0x1a0], 0
lea esi, [rax + rsi]
movzx eax, bx
shr ebx, 0x10
imul eax, eax, 0x4650
mov dword [rsp + 0x60], esi
shl esi, 0x10
add ebx, eax
mov eax, edx
shr eax, 0xd
add esi, ebx
xor eax, edx
mov edx, eax
shl edx, 5
mov edi, edx
mov edx, 1
xor edi, eax
imul eax, r12d, 0x10dcd
lea r12d, [rax + 0x12d687]
xor esi, r12d
add esi, edi
call fcn.1403bd980
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
xor edx, edx
lea r9, str.data_dag.s_
mov byte [rax], bpl
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x198], 1
mov byte [rax + 1], 0
mov qword [rsp + 0x20], 0xb
call fcn.1403bac50
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov rdx, qword [rsp + 0x50]
mov rcx, r14
call fcn.1403bc420
mov rcx, qword [rsp + 0x30]
mov rdx, rax
call fcn.1403bdfe0
mov r9d, esi
mov rsi, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
mov r8, rsi
call fcn.14024f820
mov r8, qword [rsp + 0x2f8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x48]
call fcn.1403e9c80
mov rcx, qword [rsp + 0x40]
call fcn.1403bac30
mov rcx, rsi
call fcn.1403bac30
mov rcx, r14
call fcn.1403bac30
mov rcx, qword [rsp + 0x58]
call fcn.1403bac30
mov rcx, qword [rsp + 0x170]
mov rax, qword [rsp + 0x98]
cmp rcx, rax
je 0x1402525dc
call fcn.1403f2f80
add ebp, 1
cmp bpl, 0x34
jne 0x1402523f7
mov rax, qword [0x1404c8460]
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d8], 0
add rax, 0x10
movq xmm2, rax
mov rax, qword [rsp + 0x38]
punpcklqdq xmm6, xmm2
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x400]
test rax, rax
je 0x140253752
mov rdx, qword [rsp + 0x3f0]
mov rcx, rax
mov r9, qword [rsp + 0x3f8]
cmp rdx, rax
cmovae rax, rdx
test rdx, rdx
cmove rax, rcx
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
xor edx, edx
sub rax, r9
mov qword [rsp + 0x20], rax
call fcn.1403bac50
lea rsi, [rsp + 0x1b8]
mov rcx, rsi
call fcn.1403b3860
lea r8, [0x140450fd8]
pxor xmm0, xmm0
mov rcx, r14
mov r9d, 0x10
lea rdx, [r8 - 0x20]
movups xmmword [rsp + 0x1c0], xmm0
call fcn.1403ba000
mov rax, qword [rsp + 0x5c0]
mov rbx, qword [rsp + 0x40]
mov r9, r14
mov qword [rsp + 0x2f0], r13
mov qword [rsp + 0x2f8], 0
mov rdx, qword [rax]
mov rax, qword [rsp + 0x1d8]
mov rcx, rbx
mov byte [rsp + 0x300], 0
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x5c0]
mov r8, qword [rax + 8]
add r8, rdx
call fcn.1400c63a0
mov rcx, qword [rsp + 0x5c0]
mov rdx, rbx
call fcn.1400c4c10
mov rcx, rbx
call fcn.1403bac30
mov rcx, qword [rsp + 0x1c8]
test rcx, rcx
je 0x140252726
call fcn.1403a8690
mov rcx, rsi
call fcn.1403b3960
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
mov rax, qword [0x1404c8470]
mov rcx, qword [rsp + 0x70]
movups xmmword [rsp + 0x3d0], xmm6
add rax, 0x18
mov qword [rsp + 0x3c0], rax
mov rax, qword [0x1404c8470]
add rax, 0x68
mov qword [rsp + 0x440], rax
call fcn.1403bac30
mov rax, qword [0x1404c86a0]
mov rcx, qword [rsp + 0xd0]
add rax, 0x10
mov qword [rsp + 0x3d8], rax
call fcn.1403b3960
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x3c0], rsi
mov rax, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x3d0], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x3d0], rsi
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov qword [rsp + 0x3c0], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x3c0], rsi
mov rax, qword [0x1404c88f0]
mov qword [rsp + 0x3c8], 0
add rax, 0x10
mov qword [rsp + 0x440], rax
call fcn.1403e5b50
mov rax, qword [rsp + 0x5c0]
movups xmm6, xmmword [rsp + 0x550]
movups xmm7, xmmword [rsp + 0x560]
add rsp, 0x578
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsp + 0x40]
lea r9, str.__clz_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, str.___clz_
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x140450f3f]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, [0x140450f28]
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x14045095e]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14045095b]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, [0x140450f28]
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450f58]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14045095b]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, [0x140450f28]
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450f54]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14045095b]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, str.__ROTR32_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450976]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, str.___32___n
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, str.__ROTL32_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450976]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, str.___32___n
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, str.__min_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450976]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x140450f3f]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, str.__mul_hi_
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450976]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x140450f3f]
call fcn.1403bc420
jmp 0x140251f18
mov r14, qword [rsp + 0x40]
lea r9, [0x140450f28]
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450f30]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14045095b]
call fcn.1403bc420
jmp 0x140251f18
add r9d, r9d
lea eax, [r9 + 1]
movzx eax, byte [rsp + rax + 0x2f0]
mov byte [rdx + 1], al
movzx r9d, byte [rsp + r9 + 0x2f0]
jmp 0x140251c77
mov rcx, qword [rsp + 0x30]
mov edx, 1
add edi, 0x30
call fcn.1403bd980
mov rax, qword [rsp + 0x1d0]
mov edx, 1
mov byte [rax], 0x2d
jmp 0x1402517cc
mov rax, qword [rsp + 0x38]
add ebp, 0x30
mov rcx, qword [rsp + 0x30]
mov edx, 1
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1d0], rax
mov byte [rsp + 0x1e0], 0
call fcn.1403bd980
mov rax, qword [rsp + 0x1d0]
mov edx, 1
mov byte [rax], 0x2d
jmp 0x140251456
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x58], eax
jmp 0x14025119e
add r15d, r15d
lea eax, [r15 + 1]
movzx eax, byte [rsp + rax + 0x2f0]
mov byte [rdx + 1], al
movzx r15d, byte [rsp + r15 + 0x2f0]
jmp 0x140250f07
add r14d, r14d
lea eax, [r14 + 1]
movzx eax, byte [rsp + rax + 0x2f0]
mov byte [rdx + 1], al
movzx r14d, byte [rsp + r14 + 0x2f0]
jmp 0x140250aaf
lea r10d, [r8 + 2]
add r8d, 1
jmp 0x1402519d0
lea r10d, [r8 + 3]
add r8d, 2
jmp 0x1402519d0
add r8d, 3
jmp 0x1402519d0
mov r10, rdi
mov rdi, qword [rax + 8]
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x14025358b
xor r9d, r9d
test dl, 4
je 0x14025304b
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14025305e
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x1402518af
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x1402518af
mov rdx, qword [rax + 8]
mov r10, qword [rsp + 0x70]
mov r8, rcx
add rdx, 1
cmp edx, 8
jae 0x14025355a
xor r9d, r9d
test dl, 4
je 0x1402530a5
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x1402530b8
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140251553
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140251553
mov rdx, qword [rax + 8]
mov r10, r13
mov r8, rcx
add rdx, 1
cmp edx, 8
jae 0x14025352e
xor r9d, r9d
test dl, 4
je 0x1402530fb
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14025310e
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x1402514c0
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x1402514c0
mov rbx, qword [rax + 8]
mov r10, r13
mov r8, rcx
lea rdx, [rbx + 1]
cmp edx, 8
jae 0x140253502
xor r9d, r9d
test dl, 4
je 0x140253153
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x140253166
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140251cd9
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140251cd9
mov rdi, qword [rax + 8]
mov r10, r13
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x1402534d6
xor r9d, r9d
test dl, 4
je 0x1402531ab
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x1402531be
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x14025182e
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x14025182e
mov r10, rbx
mov rbx, qword [rax + 8]
mov r8, rcx
lea rdx, [rbx + 1]
cmp edx, 8
jae 0x1402534a4
xor r9d, r9d
test dl, 4
je 0x140253203
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x140253216
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140251d5d
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140251d5d
lea r8d, [r13 + 2]
add r13d, 1
jmp 0x140250830
lea r8d, [r14 + 2]
add r14d, 1
jmp 0x140250c80
lea r8d, [r14 + 3]
add r14d, 2
jmp 0x140250c80
lea r8d, [r13 + 3]
add r13d, 2
jmp 0x140250830
add r14d, 3
jmp 0x140250c80
add r13d, 3
jmp 0x140250830
mov rdi, qword [rax + 8]
mov r10, r15
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x1402535ba
xor r9d, r9d
test dl, 4
je 0x1402532bb
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x1402532ce
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140250fe5
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140250fe5
mov r10, rdi
mov rdi, qword [rax + 8]
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x14025363c
xor r9d, r9d
test dl, 4
je 0x140253313
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x140253326
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140250bad
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140250bad
mov rdi, qword [rax + 8]
mov r10, r13
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x140253610
xor r9d, r9d
test dl, 4
je 0x14025336b
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x14025337e
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140250f69
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140250f69
mov rdi, qword [rax + 8]
mov r10, r13
mov r8, rcx
lea rdx, [rdi + 1]
cmp edx, 8
jae 0x1402535e4
xor r9d, r9d
test dl, 4
je 0x1402533c3
mov r9d, dword [r8]
mov dword [r10], r9d
mov r9d, 4
test dl, 2
je 0x1402533d6
movzx r11d, word [r8 + r9]
mov word [r10 + r9], r11w
add r9, 2
and edx, 1
je 0x140250b1a
movzx edx, byte [r8 + r9]
mov byte [r10 + r9], dl
jmp 0x140250b1a
mov r14, qword [rsp + 0x40]
lea r9, [0x140450f28]
mov r8d, 4
mov rdx, rdi
mov rcx, r14
call fcn.1400c5070
mov r8, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
mov rcx, r14
mov qword [rsp + 0x40], r14
call fcn.1403bc4e0
mov r14, qword [rsp + 0x30]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
lea rdx, [0x140450f2c]
mov rcx, r14
mov qword [rsp + 0x30], r14
call fcn.1403bc420
lea r14, [rsp + 0x1b0]
mov rdx, rax
mov rcx, r14
call fcn.1403bdfe0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r14
call fcn.1403bc4e0
mov rdx, rax
lea rax, [rsp + 0x190]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.1403bdfe0
mov rcx, qword [rsp + 0x58]
lea rdx, [0x14045095b]
call fcn.1403bc420
jmp 0x140251f18
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
mov rbx, qword [rsp + 0x80]
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [rbx + r9], r11
cmp r8d, r10d
jb 0x1402534ae
lea r10, [rbx + r8]
add r8, rcx
jmp 0x1402531ef
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r13 + r9], r11
cmp r8d, r10d
jb 0x1402534e0
lea r10, [r13 + r8]
add r8, rcx
jmp 0x140253197
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r13 + r9], r11
cmp r8d, r10d
jb 0x14025350c
lea r10, [r13 + r8]
add r8, rcx
jmp 0x14025313f
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r13 + r9], r11
cmp r8d, r10d
jb 0x140253538
lea r10, [r13 + r8]
add r8, rcx
jmp 0x1402530e7
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
mov rbp, qword [rsp + 0x70]
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [rbp + r9], r11
cmp r8d, r10d
jb 0x140253564
lea r10, [rbp + r8]
add r8, rcx
jmp 0x140253091
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
mov rdi, qword [rsp + 0x78]
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [rdi + r9], r11
cmp r8d, r10d
jb 0x140253595
lea r10, [rdi + r8]
add r8, rcx
jmp 0x140253037
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r15 + r9], r11
cmp r8d, r10d
jb 0x1402535c4
lea r10, [r15 + r8]
add r8, rcx
jmp 0x1402532a7
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r13 + r9], r11
cmp r8d, r10d
jb 0x1402535ee
lea r10, [r13 + r8]
add r8, rcx
jmp 0x1402533af
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [r13 + r9], r11
cmp r8d, r10d
jb 0x14025361a
lea r10, [r13 + r8]
add r8, rcx
jmp 0x140253357
mov r10d, edx
xor r8d, r8d
and r10d, 0xfffffff8
mov r9d, r8d
mov rdi, qword [rsp + 0x70]
add r8d, 8
mov r11, qword [rcx + r9]
mov qword [rdi + r9], r11
cmp r8d, r10d
jb 0x140253646
lea r10, [rdi + r8]
add r8, rcx
jmp 0x1402532ff
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
add ebx, 1
mov dword [rsp + 0x88], r9d
mov rdx, rbx
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 0
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x88]
mov byte [rdx], 0x2d
add rdx, rax
jmp 0x140251c73
mov rax, qword [rsp + 0x38]
lea r15d, [rcx + 1]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1d8], 0
mov rdx, r15
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d0], rax
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
mov byte [rdx], 0x2d
add rdx, rdi
jmp 0x140250aab
mov rax, qword [rsp + 0x38]
add edi, 1
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x1d8], 0
mov rdx, rdi
mov byte [rsp + 0x1e0], 0
mov qword [rsp + 0x1d0], rax
call fcn.1403bd980
mov rdx, qword [rsp + 0x1d0]
mov rax, qword [rsp + 0x68]
mov byte [rdx], 0x2d
add rdx, rax
jmp 0x140250f03
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x30]
call fcn.1403bdbd0
jmp 0x140252667
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x420]
call fcn.1403bdbd0
jmp 0x1402520ed
lea rcx, [rsp + 0x150]
lea rdi, [rsp + 0x130]
call fcn.1403bac30
mov rcx, rdi
call fcn.1403bac30
lea rcx, [rsp + 0x110]
call fcn.1403bac30
lea rcx, [rsp + 0xf0]
call fcn.1403bac30
jmp 0x1402537ea
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
lea rcx, [rsp + 0x190]
call fcn.1403bac30
mov rcx, qword [rsp + 0xe8]
call fcn.1403cb890
mov rcx, rbx
call fcn.140219c30
lea rcx, [0x140450800]
call fcn.1403f7ce0
mov rbx, rax
jmp 0x1402537d3
mov rbx, rax
mov rcx, r14
call fcn.1403bac30
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
mov rcx, qword [rsp + 0x40]
call fcn.1403bac30
jmp 0x14025378d
lea rcx, [0x140450800]
call fcn.1403f7ce0
jmp 0x140253810
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
jmp 0x1402537b7
lea rcx, [0x140450800]
call fcn.1403f7ce0
mov rbx, rax
jmp 0x14025395f
mov rcx, qword [rsp + 0x30]
call fcn.1403bac30
jmp 0x1402537ea
lea rax, [rsp + 0x2f0]
lea rcx, [0x140450800]
mov qword [rsp + 0x40], rax
call fcn.1403f7ce0
mov rbx, rax
jmp 0x14025398c
lea rax, [rsp + 0x2f0]
lea rcx, [0x140450800]
mov qword [rsp + 0x40], rax
call fcn.1403f7ce0
jmp 0x1402539b4