Function at 0x14045bab0
Capabilities:
Contain obfuscated stackstrings
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, 0x728
movups xmmword [rsp + 0x700], xmm6
movups xmmword [rsp + 0x710], xmm7
mov rax, qword [0x140744170]
add rax, 0x40
movq xmm6, rax
mov rax, qword [0x1407443d0]
movdqa xmm7, xmm6
add rax, 0x10
lea r14, [rsp + 0x2d0]
movq xmm5, rax
mov rbx, rdx
mov qword [rsp + 0x770], rcx
lea r15, [rsp + 0x250]
mov rcx, r14
mov qword [rsp + 0xc0], r14
punpcklqdq xmm7, xmm5
mov qword [rsp + 0xe0], r15
call fcn.1405df4d0
mov rsi, qword [0x140743ff0]
xor ecx, ecx
xor edx, edx
mov rax, qword [0x140744620]
pxor xmm0, xmm0
mov word [rsp + 0x3b0], cx
mov rdi, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x18]
movups xmmword [rsp + 0x3b8], xmm0
add rax, 0x10
movups xmmword [rsp + 0x3c8], xmm0
mov qword [rsp + 0x2d0], rax
mov rax, qword [rdi - 0x18]
mov qword [rsp + 0x3a8], 0
mov qword [rsp + 0x250], rdi
mov qword [rsp + rax + 0x250], rcx
mov qword [rsp + 0x258], 0
add r15, qword [rdi - 0x18]
mov qword [rsp + 0x90], rcx
mov rcx, r15
mov qword [rsp + 0x88], rdi
call fcn.1405e05a0
mov rax, qword [rsi + 0x20]
lea rdi, [rsp + 0x260]
xor edx, edx
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x260], rax
add rdi, qword [rax - 0x18]
mov qword [rsp + 0x98], rax
mov rax, qword [rsi + 0x28]
mov rcx, rdi
mov qword [rdi], rax
mov qword [rsp + 0xa0], rax
call fcn.1405e05a0
mov rax, qword [rsi + 8]
mov rdi, qword [rsi + 0x30]
pxor xmm0, xmm0
mov qword [rsp + 0xa8], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + 0xb0], rdi
mov qword [rsp + rax + 0x250], rdi
mov rax, qword [0x140744170]
movups xmmword [rsp + 0x260], xmm7
add rax, 0x18
movups xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x250], rax
mov rax, qword [0x140744170]
movups xmmword [rsp + 0x280], xmm0
add rax, 0x68
movups xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2d0], rax
lea rax, [rsp + 0x2a0]
mov rcx, rax
mov qword [rsp + 0xd0], rax
call fcn.1405a7010
mov rax, qword [0x140744160]
mov rcx, r14
mov dword [rsp + 0x2a8], 0x18
mov qword [rsp + 0x2b8], 0
add rax, 0x10
mov byte [rsp + 0x2c0], 0
mov qword [rsp + 0x268], rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x2b0], rax
lea rax, [rsp + 0x268]
mov rdx, rax
mov qword [rsp + 0xb8], rax
call fcn.1405e05a0
mov r13d, ebx
movdqu xmm0, xmmword [0x1406566a0]
mov rax, rbx
lea rsi, [rsp + 0x1cc]
xor r13d, 0x811c9dc5
shr rax, 0x20
lea r11, [rsp + 0x24c]
mov r9d, 0x20
imul r13d, r13d, 0x1000193
movups xmmword [rsp + 0x150], xmm0
movups xmmword [rsp + 0x1d0], xmm0
movdqu xmm0, xmmword [0x1406566b0]
mov ebp, r13d
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x1e0], xmm0
movdqu xmm0, xmmword [0x1406566c0]
xor ebp, eax
imul ebp, ebp, 0x1000193
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x1f0], xmm0
movdqu xmm0, xmmword [0x1406566d0]
xor ebx, ebp
movups xmmword [rsp + 0x180], xmm0
imul ebx, ebx, 0x1000193
movups xmmword [rsp + 0x200], xmm0
movdqu xmm0, xmmword [0x1406566e0]
movups xmmword [rsp + 0x190], xmm0
xor eax, ebx
movups xmmword [rsp + 0x210], xmm0
movdqu xmm0, xmmword [0x1406566f0]
imul ecx, eax, 0x1000193
movups xmmword [rsp + 0x1a0], xmm0
movups xmmword [rsp + 0x220], xmm0
movdqu xmm0, xmmword [0x140656700]
movups xmmword [rsp + 0x1b0], xmm0
movups xmmword [rsp + 0x230], xmm0
movdqu xmm0, xmmword [0x140656710]
movups xmmword [rsp + 0x1c0], xmm0
movups xmmword [rsp + 0x240], xmm0
nop word [rax + rax]
mov edx, ebx
imul ecx, ecx, 0x10dcd
movzx r10d, r13w
movzx r8d, bp
shl edx, 0x11
imul r10d, r10d, 0x9069
shr r13d, 0x10
xor edx, ebx
imul r8d, r8d, 0x4650
shr ebp, 0x10
mov eax, edx
add ecx, 0x12d687
shr eax, 0xd
add r10d, r13d
xor eax, edx
add r8d, ebp
xor edx, edx
movzx r13d, r10w
mov ebx, eax
imul r13d, r13d, 0x9069
movzx ebp, r8w
shl ebx, 5
imul ebp, ebp, 0x4650
xor ebx, eax
mov eax, r10d
shr r10d, 0x10
shl eax, 0x10
add r13d, r10d
add eax, r8d
shr r8d, 0x10
xor eax, ecx
add ebp, r8d
add eax, ebx
div r9d
mov eax, dword [rsi]
movsxd rdx, edx
mov edi, dword [rsp + rdx*4 + 0x150]
mov dword [rsi], edi
mov dword [rsp + rdx*4 + 0x150], eax
mov edx, ebx
shl edx, 0x11
xor edx, ebx
mov eax, edx
shr eax, 0xd
xor eax, edx
mov ebx, eax
shl ebx, 5
xor ebx, eax
imul ecx, ecx, 0x10dcd
mov eax, r13d
xor edx, edx
shl eax, 0x10
sub rsi, 4
sub r11, 4
add eax, ebp
add ecx, 0x12d687
xor eax, ecx
add eax, ebx
div r9d
mov eax, dword [r11 + 4]
sub r9d, 1
movsxd rdx, edx
mov r8d, dword [rsp + rdx*4 + 0x1d0]
mov dword [r11 + 4], r8d
mov dword [rsp + rdx*4 + 0x1d0], eax
cmp r9d, 1
jne 0x14045bdf0
mov dword [rsp + 0x5c], ecx
lea r12, [rsp + 0x3e0]
lea r15, [rsp + 0x3f0]
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x80], 0
nop word [rax + rax]
cmp dword [rsp + 0x40], 0xa
jg 0x14045c539
mov edi, dword [rsp + 0x84]
lea eax, [rdi + 1]
mov dword [rsp + 0x68], eax
mov eax, edi
and eax, 0x1f
mov eax, dword [rsp + rax*4 + 0x1d0]
mov r14d, eax
mov edi, eax
shr r14d, 0x1f
neg edi
cmovs edi, eax
cmp edi, 9
jbe 0x14045d9ce
cmp edi, 0x63
jbe 0x14045d9e2
cmp edi, 0x3e7
jbe 0x14045da00
cmp edi, 0x270f
jbe 0x14045da5e
mov esi, 1
mov eax, edi
mov ecx, 0xd1b71759
jmp 0x14045bfac
cmp edx, 0xf423f
jbe 0x14045d8f0
cmp edx, 0x98967f
jbe 0x14045d910
cmp edx, 0x5f5e0ff
jbe 0x14045d940
mov eax, eax
mov r8d, esi
add esi, 4
mov rdx, rax
imul rax, rcx
shr rax, 0x2d
cmp edx, 0x1869f
ja 0x14045bf88
lea edx, [r14 + rsi]
mov r8d, 0x2d
mov rcx, r12
mov qword [rsp + 0x3e0], r15
call fcn.1405b4840
movzx r14d, r14b
sub esi, 1
add r14, qword [rsp + 0x3e0]
cmp edi, 0x63
jbe 0x14045c043
lea rcx, [0x1407544c0]
nop dword [rax]
mov edx, edi
mov eax, edi
imul rdx, rdx, 0x51eb851f
shr rdx, 0x25
imul r8d, edx, 0x64
sub eax, r8d
mov r8d, edi
mov edi, edx
mov edx, esi
add eax, eax
lea r9d, [rax + 1]
movzx eax, byte [rcx + rax]
movzx r9d, byte [rcx + r9]
mov byte [r14 + rdx], r9b
lea edx, [rsi - 1]
sub esi, 2
mov byte [r14 + rdx], al
cmp r8d, 0x270f
ja 0x14045c000
lea eax, [rdi + 0x30]
cmp edi, 9
jbe 0x14045c063
add edi, edi
lea rcx, [0x1407544c0]
lea eax, [rdi + 1]
movzx eax, byte [rcx + rax]
mov byte [r14 + 1], al
movzx eax, byte [rcx + rdi]
mov byte [r14], al
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 4
mov rcx, r12
call fcn.1405b44e0
lea rdi, [rsp + 0x580]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x570], rdi
mov rcx, qword [rax]
mov qword [rsp + 0x30], rdi
cmp rcx, rdx
je 0x14045d8c0
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x578], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x578], rax
je 0x14045db74
lea rax, [rsp + 0x570]
mov r8d, 1
lea rdx, [0x140650abc]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.1405b6950
lea rdi, [rsp + 0x120]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x110], rdi
mov rcx, qword [rax]
mov qword [rsp + 0x50], rdi
cmp rcx, rdx
je 0x14045d8a8
mov qword [rsp + 0x110], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x118], rcx
mov qword [rax], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x570]
mov qword [rax + 8], 0
cmp rcx, qword [rsp + 0x30]
je 0x14045c179
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045c18b
call fcn.1405ebfe0
mov edi, dword [rsp + 0x80]
lea eax, [rdi + 1]
mov dword [rsp + 0x80], eax
mov eax, edi
and eax, 0x1f
mov eax, dword [rsp + rax*4 + 0x150]
mov r14d, eax
mov edi, eax
shr r14d, 0x1f
neg edi
cmovs edi, eax
cmp edi, 9
jbe 0x14045d9d8
cmp edi, 0x63
jbe 0x14045d9ec
cmp edi, 0x3e7
jbe 0x14045d9f6
cmp edi, 0x270f
jbe 0x14045da54
mov esi, 1
mov eax, edi
mov ecx, 0xd1b71759
jmp 0x14045c214
cmp edx, 0xf423f
jbe 0x14045d900
cmp edx, 0x98967f
jbe 0x14045d920
cmp edx, 0x5f5e0ff
jbe 0x14045d930
mov eax, eax
mov r8d, esi
add esi, 4
mov rdx, rax
imul rax, rcx
shr rax, 0x2d
cmp edx, 0x1869f
ja 0x14045c1f0
lea edx, [r14 + rsi]
mov r8d, 0x2d
mov rcx, r12
mov qword [rsp + 0x3e0], r15
call fcn.1405b4840
movzx r14d, r14b
sub esi, 1
add r14, qword [rsp + 0x3e0]
cmp edi, 0x63
jbe 0x14045c2ab
lea rcx, [0x1407544c0]
nop dword [rax]
mov edx, edi
mov eax, edi
imul rdx, rdx, 0x51eb851f
shr rdx, 0x25
imul r8d, edx, 0x64
sub eax, r8d
mov r8d, edi
mov edi, edx
mov edx, esi
add eax, eax
lea r9d, [rax + 1]
movzx eax, byte [rcx + rax]
movzx r9d, byte [rcx + r9]
mov byte [r14 + rdx], r9b
lea edx, [rsi - 1]
sub esi, 2
mov byte [r14 + rdx], al
cmp r8d, 0x270f
ja 0x14045c268
lea eax, [rdi + 0x30]
cmp edi, 9
jbe 0x14045c2cb
add edi, edi
lea rcx, [0x1407544c0]
lea eax, [rdi + 1]
movzx eax, byte [rcx + rax]
mov byte [r14 + 1], al
movzx eax, byte [rcx + rdi]
mov byte [r14], al
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 4
mov rcx, r12
call fcn.1405b44e0
mov rdi, qword [rsp + 0x30]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x570], rdi
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d890
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x578], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x578], rax
je 0x14045db50
mov rcx, qword [rsp + 0x38]
mov r8d, 1
lea rdx, [0x140650abc]
call fcn.1405b6950
lea rdi, [rsp + 0x140]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x130], rdi
mov rcx, qword [rax]
mov qword [rsp + 0x48], rdi
cmp rcx, rdx
je 0x14045d8d8
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x140], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x138], rcx
mov qword [rax], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x570]
mov qword [rax + 8], 0
cmp rcx, qword [rsp + 0x30]
je 0x14045c3ce
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045c3e0
call fcn.1405ebfe0
movzx eax, r13w
shr r13d, 0x10
mov edx, ebx
mov rdi, qword [rsp + 0x60]
imul eax, eax, 0x9069
shl edx, 0x11
mov r8d, 9
xor edx, ebx
mov rcx, rdi
add r13d, eax
movzx eax, bp
shr ebp, 0x10
imul eax, eax, 0x4650
mov esi, r13d
shl esi, 0x10
add ebp, eax
mov eax, edx
shr eax, 0xd
add esi, ebp
xor eax, edx
lea rdx, str.offset_
mov ebx, eax
shl ebx, 5
xor ebx, eax
imul eax, dword [rsp + 0x5c], 0x10dcd
add eax, 0x12d687
xor esi, eax
mov dword [rsp + 0x5c], eax
add esi, ebx
call fcn.1405e26f0
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, rdi
call fcn.1405e26f0
mov rcx, rax
mov r8d, 0x18
lea rdx, str.___PROGPOW_CACHE_WORDS__n
call fcn.1405e26f0
mov r8d, 0x16
lea rdx, str.data__c_dag_offset___n
mov rcx, rdi
call fcn.1405e26f0
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x130]
mov r9d, esi
mov r8, r12
mov qword [rsp + 0x3e0], r15
mov dword [r15], 0x61746164
mov qword [rsp + 0x3e8], 4
mov byte [rsp + 0x3f4], 0
call fcn.14045b260
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, rdi
call fcn.1405e26f0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045c4f4
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045c506
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x48]
je 0x14045c51a
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x50]
je 0x14045c52e
call fcn.1405ebfe0
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x84], eax
mov edx, ebx
movzx esi, r13w
movzx edi, bp
shr r13d, 0x10
shl edx, 0x11
imul esi, esi, 0x9069
shr ebp, 0x10
mov rcx, r12
xor edx, ebx
imul edi, edi, 0x4650
mov r8d, 0x2d
mov qword [rsp + 0x3e0], r15
mov eax, edx
shr eax, 0xd
add esi, r13d
xor eax, edx
mov r13d, esi
add edi, ebp
mov ebx, eax
shl r13d, 0x10
shl ebx, 5
add r13d, edi
xor ebx, eax
imul eax, dword [rsp + 0x5c], 0x10dcd
lea r14d, [rax + 0x12d687]
xor r13d, r14d
add r13d, ebx
mov eax, r13d
mov ebp, r13d
and r13d, 0x1f
shr eax, 5
imul rax, rax, 0x8421085
shr rax, 0x20
imul eax, eax, 0x3e0
sub ebp, eax
xor eax, eax
shr ebp, 5
cmp r13d, ebp
setle al
xor edx, edx
add ebp, eax
cmp r13d, 9
setg dl
add rdx, 1
call fcn.1405b4840
mov rax, qword [rsp + 0x3e0]
lea edx, [r13 + 0x30]
cmp r13d, 9
jle 0x14045c608
add r13d, r13d
lea rcx, [0x1407544c0]
lea edx, [r13 + 1]
movzx edx, byte [rcx + rdx]
mov byte [rax + 1], dl
movzx edx, byte [rcx + r13]
mov byte [rax], dl
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 4
mov rcx, r12
call fcn.1405b44e0
lea rcx, [rsp + 0x580]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d7e8
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x578], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x578], rax
je 0x14045db44
lea rax, [rsp + 0x570]
mov r8d, 1
lea rdx, [0x140650abc]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.1405b6950
lea rcx, [rsp + 0x100]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d7d0
mov qword [rsp + 0xf0], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x100], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0xf8], rcx
mov qword [rax], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x570]
mov qword [rax + 8], 0
cmp rcx, qword [rsp + 0x30]
je 0x14045c71d
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045c72f
call fcn.1405ebfe0
xor edx, edx
cmp ebp, 9
mov r8d, 0x2d
mov rcx, r12
setg dl
mov qword [rsp + 0x3e0], r15
add rdx, 1
call fcn.1405b4840
mov rax, qword [rsp + 0x3e0]
lea edx, [rbp + 0x30]
cmp ebp, 9
jle 0x14045c778
add ebp, ebp
lea rcx, [0x1407544c0]
lea edx, [rbp + 1]
movzx edx, byte [rcx + rdx]
mov byte [rax + 1], dl
movzx edx, byte [rcx + rbp]
mov byte [rax], dl
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 4
mov rcx, r12
call fcn.1405b44e0
mov rcx, qword [rsp + 0x30]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d800
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x578], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x578], rax
je 0x14045db68
mov rcx, qword [rsp + 0x38]
mov r8d, 1
lea rdx, [0x140650abc]
call fcn.1405b6950
lea rcx, [rsp + 0x120]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x110], rcx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d830
mov qword [rsp + 0x110], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x118], rcx
mov qword [rax], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x570]
mov qword [rax + 8], 0
cmp rcx, qword [rsp + 0x30]
je 0x14045c87a
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045c88c
call fcn.1405ebfe0
mov edx, ebx
imul r14d, r14d, 0x10dcd
movzx r13d, si
movzx ebp, di
shl edx, 0x11
imul r13d, r13d, 0x9069
shr esi, 0x10
xor edx, ebx
imul ebp, ebp, 0x4650
shr edi, 0x10
mov eax, edx
add r14d, 0x12d687
shr eax, 0xd
add r13d, esi
xor eax, edx
add ebp, edi
mov edi, dword [rsp + 0x80]
mov edx, eax
shl edx, 5
mov ebx, edx
xor ebx, eax
mov eax, r13d
shl eax, 0x10
mov dword [rsp + 0x5c], ebx
add eax, ebp
xor eax, r14d
add eax, ebx
mov dword [rsp + 0x70], eax
lea eax, [rdi + 1]
mov dword [rsp + 0x80], eax
mov eax, edi
and eax, 0x1f
mov eax, dword [rsp + rax*4 + 0x150]
mov edi, eax
mov esi, eax
shr edi, 0x1f
neg esi
cmovs esi, eax
cmp esi, 9
jbe 0x14045d9a6
cmp esi, 0x63
jbe 0x14045d9b0
cmp esi, 0x3e7
jbe 0x14045d9c4
cmp esi, 0x270f
jbe 0x14045d9ba
mov ebx, 1
mov eax, esi
mov ecx, 0xd1b71759
jmp 0x14045c974
cmp edx, 0xf423f
jbe 0x14045d860
cmp edx, 0x98967f
jbe 0x14045d870
cmp edx, 0x5f5e0ff
jbe 0x14045d880
mov eax, eax
mov r8d, ebx
add ebx, 4
mov rdx, rax
imul rax, rcx
shr rax, 0x2d
cmp edx, 0x1869f
ja 0x14045c950
lea edx, [rdi + rbx]
mov r8d, 0x2d
mov rcx, r12
mov qword [rsp + 0x3e0], r15
call fcn.1405b4840
movzx edi, dil
sub ebx, 1
add rdi, qword [rsp + 0x3e0]
cmp esi, 0x63
jbe 0x14045ca0a
lea rcx, [0x1407544c0]
nop dword [rax + rax]
mov edx, esi
mov eax, esi
imul rdx, rdx, 0x51eb851f
shr rdx, 0x25
imul r8d, edx, 0x64
sub eax, r8d
mov r8d, esi
mov esi, edx
mov edx, ebx
add eax, eax
lea r9d, [rax + 1]
movzx eax, byte [rcx + rax]
movzx r9d, byte [rcx + r9]
mov byte [rdi + rdx], r9b
lea edx, [rbx - 1]
sub ebx, 2
mov byte [rdi + rdx], al
cmp r8d, 0x270f
ja 0x14045c9c8
lea eax, [rsi + 0x30]
cmp esi, 9
jbe 0x14045ca29
add esi, esi
lea rcx, [0x1407544c0]
lea eax, [rsi + 1]
movzx eax, byte [rcx + rax]
mov byte [rdi + 1], al
movzx eax, byte [rcx + rsi]
mov byte [rdi], al
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 4
mov rcx, r12
call fcn.1405b44e0
mov rdi, qword [rsp + 0x30]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x570], rdi
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d848
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x578], rcx
mov qword [rax], rdx
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
movabs rax, 0x3fffffffffffffff
cmp qword [rsp + 0x578], rax
je 0x14045db5c
mov rcx, qword [rsp + 0x38]
mov r8d, 1
lea rdx, [0x140650abc]
call fcn.1405b6950
lea rbx, [rsp + 0x140]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x130], rbx
mov rcx, qword [rax]
mov qword [rsp + 0x48], rbx
cmp rcx, rdx
je 0x14045d818
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x140], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x138], rcx
mov qword [rax], rdx
mov byte [rax + 0x10], 0
mov rcx, qword [rsp + 0x570]
mov qword [rax + 8], 0
cmp rcx, qword [rsp + 0x30]
je 0x14045cb2b
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045cb3d
call fcn.1405ebfe0
movzx eax, r13w
shr r13d, 0x10
mov rcx, qword [rsp + 0x38]
imul r14d, r14d, 0x10dcd
imul eax, eax, 0x9069
mov qword [rsp + 0x3e0], r15
lea r8, [rsp + 0xf0]
mov dword [r15], 0x61746164
mov qword [rsp + 0x78], r8
add r13d, eax
movzx eax, bp
shr ebp, 0x10
mov qword [rsp + 0x3e8], 4
imul eax, eax, 0x4650
mov esi, r13d
mov byte [rsp + 0x3f4], 0
shl esi, 0x10
add ebp, eax
mov eax, dword [rsp + 0x5c]
add esi, ebp
mov edx, eax
shl edx, 0x11
xor edx, eax
mov eax, edx
shr eax, 0xd
xor eax, edx
mov rdx, r12
mov ebx, eax
shl ebx, 5
xor ebx, eax
lea eax, [r14 + 0x12d687]
lea r14, [rsp + 0x110]
xor esi, eax
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x70]
mov r9, r14
add esi, ebx
mov dword [rsp + 0x20], eax
call fcn.14045a050
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x60]
call fcn.1405e26f0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045cc11
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045cc23
call fcn.1405ebfe0
lea rax, [rsp + 0x130]
mov rcx, qword [rsp + 0x38]
mov r9d, esi
mov r8, r12
mov rdx, rax
mov qword [rsp + 0x3e0], r15
mov qword [rsp + 0x70], rax
mov dword [r15], 0x61746164
mov qword [rsp + 0x3e8], 4
mov byte [rsp + 0x3f4], 0
call fcn.14045b260
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x60]
call fcn.1405e26f0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045cc94
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045cca6
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x48]
je 0x14045ccba
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x50]
je 0x14045ccce
call fcn.1405ebfe0
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x68]
je 0x14045d7b0
call fcn.1405ebfe0
add dword [rsp + 0x40], 1
mov eax, dword [rsp + 0x40]
cmp eax, 0x12
jne 0x14045bf18
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x578], 0
mov byte [rsp + 0x580], 0
mov qword [rsp + 0x570], rax
test rdx, rdx
je 0x14045daf6
mov rax, qword [rsp + 0x280]
test rax, rax
je 0x14045d975
cmp rdx, rax
ja 0x14045d975
sub rax, qword [rsp + 0x288]
mov r9, qword [rsp + 0x288]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x38]
call fcn.1405b44e0
mov rcx, r14
call fcn.1405a7010
lea rax, [rsp + 0x138]
mov rdx, r14
mov dword [rsp + 0x130], 0x10
mov rcx, rax
mov rdi, rax
mov qword [rsp + 0x40], rax
call fcn.1405a6ff0
mov eax, dword [rsp + 0x130]
mov r9, rdi
mov rcx, r12
lea r8, [0x140650b19]
mov dword [rsp + 0x20], eax
lea rdx, [r8 - 0x21]
call fcn.1405da1c0
movdqu xmm5, xmmword [rsp + 0x4e0]
mov rcx, qword [rsp + 0x510]
pxor xmm0, xmm0
movups xmmword [rsp + 0x4e0], xmm0
movups xmmword [rsp + 0x140], xmm5
test rcx, rcx
je 0x14045ce1e
mov rax, qword [rsp + 0x558]
mov rsi, qword [rsp + 0x538]
lea rdi, [rax + 8]
cmp rdi, rsi
jbe 0x14045ce19
nop word [rax + rax]
mov rcx, qword [rsi]
add rsi, 8
call fcn.1405ebfe0
cmp rdi, rsi
ja 0x14045ce00
mov rcx, qword [rsp + 0x510]
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x4f0]
lea rax, [rsp + 0x500]
cmp rcx, rax
je 0x14045ce38
call fcn.1405ebfe0
mov rsi, qword [rsp + 0x4e8]
test rsi, rsi
je 0x14045ce50
lock sub dword [rsi + 8], 1
je 0x14045daaf
mov rcx, qword [rsp + 0x4b0]
lea rax, [rsp + 0x4c0]
cmp rcx, rax
je 0x14045ce6a
call fcn.1405ebfe0
mov rcx, r14
call fcn.1405a7110
xor r8d, r8d
mov rdx, r14
mov rcx, r12
mov qword [rsp + 0x3e0], r15
mov qword [rsp + 0x110], 0x173b
call fcn.1405b6a90
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 0x3e0], 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 + 0x3f0], 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 [0x140652633]
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 + 0x110]
mov rdx, qword [rsp + 0x3e0]
mov rdi, qword [rsp + 0x770]
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x3e8], rax
mov byte [rdx + rax], 0
mov rax, qword [rsp + 0x770]
mov rcx, rdi
mov qword [rdi + 8], 0
mov rdx, qword [rsp + 0x3e0]
add rax, 0x10
mov byte [rdi + 0x10], 0
mov r8, qword [rsp + 0x3e8]
mov qword [rdi], rax
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x570]
add r8, rdx
mov qword [rsp + 0x20], rax
call fcn.1400bbc40
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045cf6c
call fcn.1405ebfe0
mov rsi, qword [rsp + 0x148]
test rsi, rsi
je 0x14045cf84
lock sub dword [rsi + 8], 1
je 0x14045da8d
mov rcx, qword [rsp + 0x40]
call fcn.1405a7110
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045cfa2
call fcn.1405ebfe0
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x2b8]
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x2b0]
xor edx, edx
mov byte [rsp + 0x580], 0
mov r9, rdi
mov qword [rsp + 0x570], rdi
mov qword [rsp + 0x578], 0
mov qword [rsp + 0xe8], rcx
call fcn.1405b44e0
xor r9d, r9d
mov rdx, qword [rsp + 0x2b0]
test byte [rsp + 0x2a8], 3
mov rcx, qword [rsp + 0xb8]
cmovne r9, qword [rsp + 0x2b8]
xor r8d, r8d
call fcn.1405bc4b0
mov rcx, qword [rsp + 0x570]
cmp rcx, rdi
je 0x14045d02c
call fcn.1405ebfe0
movzx eax, r13w
shr r13d, 0x10
mov edx, ebx
mov rcx, qword [rsp + 0x38]
imul eax, eax, 0x9069
shl edx, 0x11
mov r8, r12
mov qword [rsp + 0x3e0], r15
xor edx, ebx
movabs rbx, 0x6761645f61746164
mov dword [rsp + 0x3f8], 0x305b732e
mov qword [rsp + 0x3f0], rbx
mov rbx, qword [rsp + 0x48]
lea edi, [rax + r13]
movzx eax, bp
shr ebp, 0x10
mov byte [rsp + 0x3fc], 0x5d
imul eax, eax, 0x4650
mov r9d, edi
mov qword [rsp + 0x3e8], 0xd
shl r9d, 0x10
mov byte [rsp + 0x3fd], 0
mov qword [rsp + 0x130], rbx
lea r13d, [rax + rbp]
mov eax, edx
mov dword [rsp + 0x140], 0x5b78696d
shr eax, 0xd
add r9d, r13d
mov qword [rsp + 0x138], 6
xor eax, edx
mov edx, 0x5d30
mov byte [rsp + 0x146], 0
mov esi, eax
mov word [rsp + 0x144], dx
mov rdx, qword [rsp + 0x70]
shl esi, 5
xor esi, eax
imul eax, dword [rsp + 0x5c], 0x10dcd
add eax, 0x12d687
xor r9d, eax
mov dword [rsp + 0x84], eax
add r9d, esi
call fcn.14045b260
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x60]
call fcn.1405e26f0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045d141
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x48]
je 0x14045d155
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045d167
call fcn.1405ebfe0
mov eax, dword [rsp + 0x80]
mov byte [rsp + 0x40], 0x31
lea rbp, [0x140650abc]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov rcx, r12
and eax, 0x1f
mov edx, dword [rsp + rax*4 + 0x150]
call fcn.1405c9730
lea r9, str.mix_
xor r8d, r8d
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x20], 4
call fcn.1405b44e0
mov rbx, qword [rsp + 0x30]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x570], rbx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d95b
mov qword [rsp + 0x570], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x580], rcx
mov rcx, qword [rax + 8]
mov r8, rbp
mov qword [rsp + 0x578], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
call fcn.1405e76b0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045d223
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045d235
call fcn.1405ebfe0
movzx eax, di
shr edi, 0x10
mov edx, r13d
xor r8d, r8d
imul eax, eax, 0x9069
shr edx, 0x10
mov rcx, r14
lea edi, [rax + rdi]
movzx eax, r13w
imul eax, eax, 0x4650
mov ebx, edi
shl ebx, 0x10
lea r13d, [rax + rdx]
mov edx, esi
shl edx, 0x11
add ebx, r13d
xor edx, esi
mov eax, edx
shr eax, 0xd
xor eax, edx
mov edx, 1
mov esi, eax
shl esi, 5
xor esi, eax
imul eax, dword [rsp + 0x84], 0x10dcd
add eax, 0x12d687
xor ebx, eax
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0x50]
add ebx, esi
mov qword [rsp + 0x110], rax
call fcn.1405b4840
movzx ecx, byte [rsp + 0x40]
mov rax, qword [rsp + 0x110]
xor r8d, r8d
xor edx, edx
lea r9, str.data_dag.s_
mov byte [rax], cl
mov rcx, r14
mov qword [rsp + 0x20], 0xb
call fcn.1405b44e0
mov rcx, qword [rsp + 0x48]
lea rdx, [rax + 0x10]
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax]
cmp rcx, rdx
je 0x14045d949
mov qword [rsp + 0x130], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x140], rcx
mov rcx, qword [rax + 8]
mov r8, rbp
mov qword [rsp + 0x138], rcx
mov rcx, r12
mov qword [rax], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rax + 8], 0
mov byte [rax + 0x10], 0
call fcn.1405e76b0
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x38]
mov r9d, ebx
mov r8, r12
call fcn.14045b260
mov r8, qword [rsp + 0x578]
mov rdx, qword [rsp + 0x570]
mov rcx, qword [rsp + 0x60]
call fcn.1405e26f0
mov rcx, qword [rsp + 0x570]
cmp rcx, qword [rsp + 0x30]
je 0x14045d378
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045d38a
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x48]
je 0x14045d39e
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x50]
je 0x14045d3b2
call fcn.1405ebfe0
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x68]
je 0x14045d3c6
call fcn.1405ebfe0
add byte [rsp + 0x40], 1
movzx eax, byte [rsp + 0x40]
add dword [rsp + 0x5c], 1
cmp al, 0x34
jne 0x14045d17e
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x3e0], r15
mov qword [rsp + 0x3e8], 0
mov byte [rsp + 0x3f0], 0
test rdx, rdx
je 0x14045db0d
mov rax, qword [rsp + 0x280]
test rax, rax
je 0x14045d96d
cmp rdx, rax
ja 0x14045d96d
sub rax, qword [rsp + 0x288]
xor r8d, r8d
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x288]
call fcn.1405b44e0
mov rbx, qword [rsp + 0x70]
lea r12, [rsp + 0x118]
mov rcx, rbx
call fcn.1405a7010
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x110], 0x10
call fcn.1405a6ff0
mov eax, dword [rsp + 0x110]
mov rcx, qword [rsp + 0x38]
mov r9, r12
lea r8, [0x140650b48]
mov dword [rsp + 0x20], eax
lea rdx, [r8 - 0x20]
call fcn.1405da1c0
movdqu xmm1, xmmword [rsp + 0x670]
mov rcx, qword [rsp + 0x6a0]
pxor xmm0, xmm0
movups xmmword [rsp + 0x670], xmm0
movups xmmword [rsp + 0x120], xmm1
test rcx, rcx
je 0x14045d4fe
mov rax, qword [rsp + 0x6e8]
mov rsi, qword [rsp + 0x6c8]
lea rbx, [rax + 8]
cmp rbx, rsi
jbe 0x14045d4f9
nop word [rax + rax]
mov rcx, qword [rsi]
add rsi, 8
call fcn.1405ebfe0
cmp rbx, rsi
ja 0x14045d4e0
mov rcx, qword [rsp + 0x6a0]
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x680]
lea rax, [rsp + 0x690]
cmp rcx, rax
je 0x14045d518
call fcn.1405ebfe0
mov r13, qword [rsp + 0x678]
test r13, r13
je 0x14045d531
lock sub dword [r13 + 8], 1
je 0x14045da68
mov rcx, qword [rsp + 0x640]
lea rax, [rsp + 0x650]
cmp rcx, rax
je 0x14045d54b
call fcn.1405ebfe0
mov rdi, qword [rsp + 0x70]
mov rcx, rdi
call fcn.1405a7110
mov rbx, qword [rsp + 0x48]
mov r9, r14
mov rcx, rdi
mov rax, qword [rsp + 0x770]
mov byte [rsp + 0x140], 0
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], 0
mov rdx, qword [rax]
mov rax, qword [rsp + 0x3e0]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x770]
mov r8, qword [rax + 8]
add r8, rdx
call fcn.1400bbc40
mov rax, qword [0x140744160]
mov r8, qword [rsp + 0x138]
add rax, 0x10
movq xmm2, rax
mov rax, qword [rsp + 0x770]
punpcklqdq xmm6, xmm2
mov rcx, qword [rax]
mov rax, qword [rsp + 0x130]
cmp rax, rbx
je 0x14045da0a
mov rdx, qword [rsp + 0x140]
movq xmm0, r8
mov rbx, qword [rsp + 0x770]
movq xmm3, rdx
punpcklqdq xmm0, xmm3
cmp qword [rsp + 0xc8], rcx
je 0x14045d97d
mov r9, qword [rbx + 0x10]
mov qword [rbx], rax
mov qword [rbx + 8], r8
mov qword [rbx + 0x10], rdx
test rcx, rcx
je 0x14045d984
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x140], r9
mov qword [rsp + 0x138], 0
mov byte [rcx], 0
mov rcx, qword [rsp + 0x130]
cmp rcx, qword [rsp + 0x48]
je 0x14045d65a
call fcn.1405ebfe0
mov r13, qword [rsp + 0x128]
test r13, r13
je 0x14045d673
lock sub dword [r13 + 8], 1
je 0x14045dad1
mov rcx, r12
call fcn.1405a7110
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045d68d
call fcn.1405ebfe0
mov rax, qword [0x140744170]
mov rcx, qword [rsp + 0x2b0]
movups xmmword [rsp + 0x260], xmm6
add rax, 0x18
mov qword [rsp + 0x250], rax
mov rax, qword [0x140744170]
add rax, 0x68
mov qword [rsp + 0x2d0], rax
cmp rcx, qword [rsp + 0xd8]
je 0x14045d6d2
call fcn.1405ebfe0
mov rax, qword [0x1407443d0]
mov rcx, qword [rsp + 0xd0]
add rax, 0x10
mov qword [rsp + 0x268], rax
call fcn.1405a7110
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x250], rbx
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x260], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x260], rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x250], rax
mov rax, qword [rax - 0x18]
mov qword [rsp + rax + 0x250], rbx
mov rax, qword [0x140744620]
mov qword [rsp + 0x258], 0
add rax, 0x10
mov qword [rsp + 0x2d0], rax
call fcn.1405df580
mov rax, qword [rsp + 0x770]
movups xmm6, xmmword [rsp + 0x700]
movups xmm7, xmmword [rsp + 0x710]
add rsp, 0x728
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add dword [rsp + 0x40], 1
mov eax, dword [rsp + 0x40]
cmp eax, 0x12
jne 0x14045bf18
jmp 0x14045ccf8
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0x100], xmm2
jmp 0x14045c6ee
movdqu xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm1
jmp 0x14045c660
movdqu xmm3, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm3
jmp 0x14045c7c8
movdqu xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x140], xmm7
jmp 0x14045cafc
movdqu xmm4, xmmword [rax + 0x10]
movups xmmword [rsp + 0x120], xmm4
jmp 0x14045c84b
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm5
jmp 0x14045ca79
lea ebx, [r8 + 5]
jmp 0x14045c98f
lea ebx, [r8 + 6]
jmp 0x14045c98f
lea ebx, [r8 + 7]
jmp 0x14045c98f
movdqu xmm3, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm3
jmp 0x14045c31c
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0x120], xmm2
jmp 0x14045c14a
movdqu xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm1
jmp 0x14045c0bc
movdqu xmm4, xmmword [rax + 0x10]
movups xmmword [rsp + 0x140], xmm4
jmp 0x14045c39f
lea esi, [r8 + 5]
jmp 0x14045bfc7
lea esi, [r8 + 5]
jmp 0x14045c22f
lea esi, [r8 + 6]
jmp 0x14045bfc7
lea esi, [r8 + 6]
jmp 0x14045c22f
lea esi, [r8 + 7]
jmp 0x14045c22f
lea esi, [r8 + 7]
jmp 0x14045bfc7
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rsp + 0x140], xmm5
jmp 0x14045d30a
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [rsp + 0x580], xmm5
jmp 0x14045d1e2
mov rax, rdx
jmp 0x14045d424
mov rax, rdx
jmp 0x14045cd44
mov qword [rbx], rax
movups xmmword [rbx + 8], xmm0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x48], rax
mov rcx, rax
jmp 0x14045d637
mov ebx, 1
jmp 0x14045c98f
mov ebx, 2
jmp 0x14045c98f
mov ebx, 4
jmp 0x14045c98f
mov ebx, 3
jmp 0x14045c98f
mov esi, 1
jmp 0x14045bfc7
mov esi, 1
jmp 0x14045c22f
mov esi, 2
jmp 0x14045bfc7
mov esi, 2
jmp 0x14045c22f
mov esi, 3
jmp 0x14045c22f
mov esi, 3
jmp 0x14045bfc7
test r8, r8
je 0x14045da36
cmp r8, 1
je 0x14045db22
mov rdx, qword [rsp + 0x48]
call fcn.14042d770
mov rax, qword [rsp + 0x770]
mov r8, qword [rsp + 0x138]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x770]
mov qword [rax + 8], r8
mov byte [rcx + r8], 0
mov rcx, qword [rsp + 0x130]
jmp 0x14045d637
mov esi, 4
jmp 0x14045c22f
mov esi, 4
jmp 0x14045bfc7
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x10]
lock sub dword [r13 + 0xc], 1
jne 0x14045d531
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x18]
jmp 0x14045d531
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
lock sub dword [rsi + 0xc], 1
jne 0x14045cf84
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
jmp 0x14045cf84
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
lock sub dword [rsi + 0xc], 1
jne 0x14045ce50
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
jmp 0x14045ce50
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x10]
lock sub dword [r13 + 0xc], 1
jne 0x14045d673
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x18]
jmp 0x14045d673
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x2b0]
call fcn.1405b69e0
jmp 0x14045cd68
mov rdx, qword [rsp + 0xe8]
mov rcx, r12
call fcn.1405b69e0
jmp 0x14045d446
movzx eax, byte [rsp + 0x140]
mov byte [rcx], al
mov rax, qword [rsp + 0x770]
mov r8, qword [rsp + 0x138]
mov rcx, qword [rax]
jmp 0x14045da36
lea rcx, [0x1406503c4]
call fcn.1405f10e0
lea rcx, [0x1406503c4]
call fcn.1405f10e0
lea rcx, [0x1406503c4]
call fcn.1405f10e0
lea rcx, [0x1406503c4]
call fcn.1405f10e0
lea rcx, [0x1406503c4]
call fcn.1405f10e0
mov rcx, r12
mov rbx, rax
call fcn.1405a7110
mov rcx, qword [rsp + 0x70]
mov r12, rbx
call fcn.1405a7110
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045dbaa
call fcn.1405ebfe0
mov rax, qword [rsp + 0x770]
mov rcx, qword [rax]
cmp rcx, qword [rsp + 0xc8]
je 0x14045dbc4
call fcn.1405ebfe0
mov rcx, qword [rsp + 0xe0]
call fcn.1405c26e0
mov rcx, r12
call fcn.14041e570
mov r12, rax
mov rcx, qword [rsp + 0x3e0]
cmp rcx, r15
je 0x14045dbee
call fcn.1405ebfe0
mov rcx, qword [rsp + 0x110]
cmp rcx, qword [rsp + 0x50]
je 0x14045dc02
call fcn.1405ebfe0
mov rcx, qword [rsp + 0xf0]
cmp rcx, qword [rsp + 0x68]
jne 0x14045dbbf
jmp 0x14045dbc4