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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2c0]
sub rsp, 0x3c0
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov qword [rsp + 0x418], rbx
mov rax, qword [0x1402bdaf8]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
mov dword [rsp + 0x40], r9d
mov r14d, r8d
mov rbx, rdx
mov qword [rbp + 0x90], rcx
xor edi, edi
mov dword [rsp + 0x78], edi
lea rax, [0x140257128]
mov qword [rbp - 0x70], rax
lea rax, [0x140256f00]
mov qword [rbp - 0x60], rax
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x78], 2
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x70]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx - 0x74], edx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x70], rax
lea rcx, [rbp - 0x58]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x58], rax
mov qword [rbp + 0x10], rdi
mov dword [rbp + 0x18], edi
mov rcx, rbx
shr rcx, 0x20
mov eax, ebx
xor eax, 0x811c9dc5
imul r13d, eax, 0x1000193
mov eax, r13d
xor eax, ecx
imul r15d, eax, 0x1000193
xor ebx, r15d
imul esi, ebx, 0x1000193
mov eax, esi
xor eax, ecx
imul edx, eax, 0x1000193
mov dword [rsp + 0x34], edx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x70], edi
movdqa xmm2, xmmword [0x140262180]
mov edx, edi
mov ecx, edi
nop word [rax + rax]
movd xmm0, edx
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
movdqu xmmword [rbp + rcx + 0x1b0], xmm0
movdqu xmmword [rbp + rcx + 0x230], xmm0
lea eax, [rdx + 4]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movdqu xmmword [rbp + rcx + 0x1c0], xmm1
movdqu xmmword [rbp + rcx + 0x240], xmm1
add edx, 8
lea rcx, [rcx + 0x20]
cmp edx, 0x20
jb 0x1400c87b0
mov r11d, 0x20
mov rbx, rdi
lea edi, [r11 - 1]
mov r12d, dword [rsp + 0x34]
nop
movzx eax, r13w
imul r9d, eax, 0x9069
shr r13d, 0x10
add r9d, r13d
movzx eax, r15w
imul r10d, eax, 0x4650
shr r15d, 0x10
add r10d, r15d
mov ecx, r9d
shl ecx, 0x10
add ecx, r10d
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r8d, r12d, 0x10dcd
add r8d, 0x12d687
xor ecx, r8d
lea eax, [rsi + rcx]
xor edx, edx
div r11d
movsxd rax, edx
lea rdx, [rbp + 0x1b0]
lea rdx, [rdx + rax*4]
mov ecx, dword [rbp + rbx + 0x22c]
mov eax, dword [rdx]
mov dword [rbp + rbx + 0x22c], eax
mov dword [rdx], ecx
movzx eax, r9w
imul r13d, eax, 0x9069
shr r9d, 0x10
add r13d, r9d
movzx eax, r10w
imul r15d, eax, 0x4650
shr r10d, 0x10
add r15d, r10d
mov ecx, r13d
shl ecx, 0x10
add ecx, r15d
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r12d, r8d, 0x10dcd
add r12d, 0x12d687
xor ecx, r12d
lea eax, [rsi + rcx]
xor edx, edx
div r11d
mov r8d, dword [rbp + rbx + 0x2ac]
movsxd rax, edx
lea rcx, [rbp + 0x230]
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov dword [rbp + rbx + 0x2ac], eax
mov dword [rcx], r8d
dec r11d
lea rbx, [rbx - 4]
sub rdi, 1
jne 0x1400c8810
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x38], r15d
lea rdx, str.define_PROGPOW_LANES
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea edx, [rdi + 0x10]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, str.define_PROGPOW_REGS
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea edx, [rdi + 0x20]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, str.define_PROGPOW_DAG_LOADS
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea edx, [rdi + 4]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, str.define_PROGPOW_CACHE_WORDS
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
mov edx, 0x1000
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, str.define_PROGPOW_CNT_DAG
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea edx, [rdi + 0x40]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, str.define_PROGPOW_CNT_MATH
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea edx, [rdi + 0x14]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14025c8f8]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov ebx, dword [rsp + 0x40]
lea rcx, [rbp - 0x60]
test ebx, ebx
jne 0x1400c8baf
lea rdx, str.if____CUDACC_VER_MAJOR_____8__n
call fcn.14003ed20
lea rdx, str.define_SHFL_x__y__z____shfl_sync_0xFFFFFFFF___x____y____z___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.else_n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_SHFL_x__y__z____shfl__x____y____z___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.endif_n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_unsigned_int_______uint32_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_unsigned_long_long_uint64_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_ROTL32_x_n____funnelshift_l__x____x____n___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_ROTR32_x_n____funnelshift_r__x____x____n___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_min_a_b____a_b____a_:_b__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_mul_hi_a__b____umulhi_a__b__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_clz_a____clz_a__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_popcount_a____popc_a__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_struct___align___16__uint32_t_s_PROGPOW_DAG_LOADS___dag_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.__device_____forceinline___void_progPowLoop_const_uint32_t_loop__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________uint32_t_mix_PROGPOW_REGS___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_dag_t_g_dag__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_uint32_t_c_dag_PROGPOW_CACHE_WORDS___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_bool_hack_false__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x14025cd38]
jmp 0x1400c8ce2
lea rdx, str.ifndef_GROUP_SIZE_n
call fcn.14003ed20
lea rdx, str.define_GROUP_SIZE_128_n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.endif_n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_GROUP_SHARE__GROUP_SIZE___PROGPOW_LANES__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_unsigned_int_______uint32_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_unsigned_long______uint64_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_ROTL32_x__n__rotate__x____uint32_t__n___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.define_ROTR32_x__n__rotate__x____uint32_t__32_n___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.typedef_struct___attribute_____aligned__16____uint32_t_s_PROGPOW_DAG_LOADS___dag_t__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.void_progPowLoop_const_uint32_t_loop__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________uint32_t_mix_PROGPOW_REGS___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.__________global_const_dag_t_g_dag__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.__________local_const_uint32_t_c_dag_PROGPOW_CACHE_WORDS___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.__________local_uint64_t_share_GROUP_SHARE___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_bool_hack_false__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_uint32_t_lane_id__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.________const_uint32_t_group_id__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x14025ceec]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.dag_t_data_dag__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.uint32_t_offset__data__n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rcx, [rbp - 0x60]
test ebx, ebx
jne 0x1400c8d2c
lea rdx, str.offset__SHFL_mix_0___loop___PROGPOW_LANES_1___PROGPOW_LANES___n
jmp 0x1400c8d63
lea rdx, str.if_lane_id___loop___PROGPOW_LANES_1____n
call fcn.14003ed20
lea rdx, str.____share_group_id___mix_0___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.barrier_CLK_LOCAL_MEM_FENCE___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.offset__share_group_id___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.offset__
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
mov edx, r14d
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int____ptr64]
mov rcx, rax
lea rdx, [0x14025d004]
call fcn.14003ed20
lea rdx, str.offset__offset__PROGPOW_LANES____lane_id__loop____PROGPOW_LANES_1____n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, str.data_dag__g_dag_offset___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rcx, [rbp - 0x60]
test ebx, ebx
lea rdx, str.if__hack_false____threadfence_block____n
je 0x1400c8dc9
lea rdx, str.if__hack_false__barrier_CLK_LOCAL_MEM_FENCE___n
call fcn.14003ed20
xor edi, edi
lea r14d, [rdi + 1]
mov r12d, edi
mov dword [rsp + 0x3c], edi
cmp edi, 0x13
ja 0x1400c996a
cmp edi, 0xc
jae 0x1400c929e
mov ebx, dword [rsp + 0x70]
mov eax, ebx
and eax, 0x1f
mov edx, dword [rbp + rax*4 + 0x230]
lea rcx, [rbp + 0xa8]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0xc8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.14003f790
nop
inc ebx
mov dword [rsp + 0x70], ebx
mov rax, qword [rbp + 0xe0]
cmp rax, 0x10
jb 0x1400c8e92
inc rax
mov rcx, qword [rbp + 0xc8]
cmp rax, 0x1000
jb 0x1400c8e8d
test cl, 0x1f
jne 0x1400c989f
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c9898
sub rcx, rax
cmp rcx, 8
jb 0x1400c9891
cmp rcx, 0x27
ja 0x1400c988a
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0xe0], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rbp + 0xd8], rbx
mov byte [rbp + 0xc8], bl
mov rax, qword [rbp + 0xc0]
cmp rax, 0x10
jb 0x1400c8f00
inc rax
mov rcx, qword [rbp + 0xa8]
cmp rax, 0x1000
jb 0x1400c8efb
test cl, 0x1f
jne 0x1400c98bb
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c98b4
sub rcx, rax
cmp rcx, 8
jb 0x1400c98ad
cmp rcx, 0x27
ja 0x1400c98a6
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0xc0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xb8], rbx
mov byte [rbp + 0xa8], 0
mov eax, r12d
and eax, 0x1f
mov edx, dword [rbp + rax*4 + 0x1b0]
lea rcx, [rbp + 0xe8]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0x108]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x168]
call fcn.14003f790
nop
inc r12d
mov dword [rsp + 0x30], r12d
mov rax, qword [rbp + 0x120]
cmp rax, 0x10
jb 0x1400c8fbd
inc rax
mov rcx, qword [rbp + 0x108]
cmp rax, 0x1000
jb 0x1400c8fb8
test cl, 0x1f
jne 0x1400c98d7
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c98d0
sub rcx, rax
cmp rcx, 8
jb 0x1400c98c9
cmp rcx, 0x27
ja 0x1400c98c2
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x118], rbx
mov byte [rbp + 0x108], 0
mov rax, qword [rbp + 0x100]
cmp rax, 0x10
jb 0x1400c902a
inc rax
mov rcx, qword [rbp + 0xe8]
cmp rax, 0x1000
jb 0x1400c9025
test cl, 0x1f
jne 0x1400c98f3
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c98ec
sub rcx, rax
cmp rcx, 8
jb 0x1400c98e5
cmp rcx, 0x27
ja 0x1400c98de
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0x100], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xf8], rbx
mov byte [rbp + 0xe8], 0
movzx eax, r13w
imul ecx, eax, 0x9069
shr r13d, 0x10
add r13d, ecx
movzx eax, r15w
imul ecx, eax, 0x4650
shr r15d, 0x10
add ecx, r15d
mov r15d, ecx
mov dword [rsp + 0x38], ecx
mov ebx, r13d
shl ebx, 0x10
add ebx, ecx
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul eax, dword [rsp + 0x34], 0x10dcd
add eax, 0x12d687
mov dword [rsp + 0x34], eax
xor ebx, eax
add ebx, esi
lea rdx, str.offset_
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rcx, rax
lea rdx, [rbp + 0x188]
call fcn.14003f190
mov rcx, rax
lea rdx, str.___PROGPOW_CACHE_WORDS___1____n
call fcn.14003ed20
lea rdx, str.data__c_dag_offset___n
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xc0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xb8], 0
mov byte [rbp + 0xa8], 0
mov r8d, 4
lea rdx, str.data
lea rcx, [rbp + 0xa8]
call fcn.14003a9f0
nop
mov qword [rbp + 0xe0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xd8], 0
mov byte [rbp + 0xc8], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0xc8]
call fcn.14003ab20
nop
mov r9d, ebx
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x148]
call fcn.1400c9db0
nop
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14003f190
nop
mov rax, qword [rbp + 0x160]
cmp rax, 0x10
jb 0x1400c91d9
inc rax
mov rcx, qword [rbp + 0x148]
cmp rax, 0x1000
jb 0x1400c91d3
test cl, 0x1f
jne 0x1400c990f
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c9908
sub rcx, rax
cmp rcx, 8
jb 0x1400c9901
cmp rcx, 0x27
ja 0x1400c98fa
mov rcx, rax
call fcn.1401cfdc4
nop
mov rax, qword [rbp + 0x180]
cmp rax, 0x10
jb 0x1400c922d
inc rax
mov rcx, qword [rbp + 0x168]
cmp rax, 0x1000
jb 0x1400c9228
test cl, 0x1f
jne 0x1400c992b
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c9924
sub rcx, rax
cmp rcx, 8
jb 0x1400c991d
cmp rcx, 0x27
ja 0x1400c9916
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0x180], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x178], 0
mov byte [rbp + 0x168], 0
mov rax, qword [rbp + 0x1a0]
cmp rax, 0x10
jb 0x1400c929e
inc rax
mov rcx, qword [rbp + 0x188]
cmp rax, 0x1000
jb 0x1400c9299
test cl, 0x1f
jne 0x1400c9947
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c9940
sub rcx, rax
cmp rcx, 8
jb 0x1400c9939
cmp rcx, 0x27
ja 0x1400c9932
mov rcx, rax
call fcn.1401cfdc4
cmp edi, 0x14
jae 0x1400c9883
movzx eax, r13w
imul ebx, eax, 0x9069
shr r13d, 0x10
add ebx, r13d
movzx eax, r15w
imul r12d, eax, 0x4650
shr r15d, 0x10
add r12d, r15d
mov ecx, ebx
shl ecx, 0x10
add ecx, r12d
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r13d, dword [rsp + 0x34], 0x10dcd
add r13d, 0x12d687
xor ecx, r13d
add ecx, esi
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 9
imul eax, eax, 0x3e0
sub ecx, eax
mov edx, ecx
and edx, 0x1f
shr ecx, 5
lea edi, [rcx + 1]
cmp ecx, edx
cmovb edi, ecx
lea rcx, [rbp + 0x108]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0xe8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.14003f790
nop
mov rax, qword [rbp + 0x100]
cmp rax, 0x10
jb 0x1400c93b5
inc rax
mov rcx, qword [rbp + 0xe8]
cmp rax, 0x1000
jb 0x1400c93b0
test cl, 0x1f
jne 0x1400c9963
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x1400c995c
sub rcx, rax
cmp rcx, 8
jb 0x1400c9955
cmp rcx, 0x27
ja 0x1400c994e
mov rcx, rax
call fcn.1401cfdc4
mov qword [rbp + 0x100], reloc.WS2_32.dll_ntohs
xor r15d, r15d
mov qword [rbp + 0xf8], r15
mov byte [rbp + 0xe8], r15b
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x1400c93f0
inc rdx
mov r8, r14
mov rcx, qword [rbp + 0x108]
call fcn.140013a30
mov qword [rbp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x118], r15
mov byte [rbp + 0x108], 0
mov edx, edi
lea rcx, [rbp + 0x128]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0xa8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.14003f790
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x1400c9465
inc rdx
mov r8, r14
mov rcx, qword [rbp + 0xa8]
call fcn.140013a30
mov qword [rbp + 0xc0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xb8], r15
mov byte [rbp + 0xa8], 0
mov rdx, qword [rbp + 0x140]
cmp rdx, 0x10
jb 0x1400c949d
inc rdx
mov r8, r14
mov rcx, qword [rbp + 0x128]
call fcn.140013a30
mov qword [rbp + 0x140], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x138], r15
mov byte [rbp + 0x128], 0
movzx eax, bx
imul edi, eax, 0x9069
shr ebx, 0x10
add edi, ebx
movzx eax, r12w
imul r15d, eax, 0x4650
shr r12d, 0x10
add r15d, r12d
mov ebx, edi
shl ebx, 0x10
add ebx, r15d
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r12d, r13d, 0x10dcd
add r12d, 0x12d687
xor ebx, r12d
add ebx, esi
mov r13d, dword [rsp + 0x30]
mov eax, r13d
and eax, 0x1f
mov edx, dword [rbp + rax*4 + 0x1b0]
lea rcx, [rbp + 0x108]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0xe8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x168]
call fcn.14003f790
nop
inc r13d
mov dword [rsp + 0x30], r13d
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x1400c957a
inc rdx
mov r8, r14
mov rcx, qword [rbp + 0xe8]
call fcn.140013a30
mov qword [rbp + 0x100], reloc.WS2_32.dll_ntohs
xor r13d, r13d
mov qword [rbp + 0xf8], r13
mov byte [rbp + 0xe8], r13b
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x1400c95b5
inc rdx
mov r8, r14
mov rcx, qword [rbp + 0x108]
call fcn.140013a30
mov qword [rbp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x118], r13
mov byte [rbp + 0x108], 0
movzx eax, di
imul r13d, eax, 0x9069
shr edi, 0x10
add r13d, edi
movzx eax, r15w
imul ecx, eax, 0x4650
shr r15d, 0x10
add ecx, r15d
mov dword [rsp + 0x38], ecx
mov edi, r13d
shl edi, 0x10
mov r15d, ecx
add edi, ecx
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul eax, r12d, 0x10dcd
add eax, 0x12d687
mov dword [rsp + 0x34], eax
xor edi, eax
add edi, esi
lea rax, [rbp + 0x128]
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0xa8]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x140], reloc.WS2_32.dll_ntohs
xor r12d, r12d
mov qword [rbp + 0x138], r12
mov byte [rbp + 0x128], r12b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x128]
call fcn.14003ab20
nop
mov qword [rbp + 0xc0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xb8], r12
mov byte [rbp + 0xa8], r12b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0xa8]
call fcn.14003ab20
nop
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x48], r12b
lea r8d, [r12 + 4]
lea rdx, str.data
lea rcx, [rsp + 0x48]
call fcn.14003a9f0
nop
mov dword [rsp + 0x20], ebx
lea r9, [rbp + 0x128]
lea r8, [rbp + 0xa8]
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x148]
call fcn.1400ca440
nop
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14003f190
nop
mov r8, qword [rbp + 0x160]
cmp r8, 0x10
jb 0x1400c972a
inc r8
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
call fcn.14003b660
lea rax, [rsp + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], r12
mov byte [rsp + 0x48], 0
mov r8d, 4
lea rdx, str.data
lea rcx, [rsp + 0x48]
call fcn.14003a9f0
nop
mov qword [rbp + 0x140], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x138], r12
mov byte [rbp + 0x128], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x168]
lea rcx, [rbp + 0x128]
call fcn.14003ab20
nop
mov r9d, edi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x128]
lea rcx, [rbp + 0x148]
call fcn.1400c9db0
nop
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14003f190
nop
mov r8, qword [rbp + 0x160]
cmp r8, 0x10
jb 0x1400c97df
inc r8
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
call fcn.14003b660
nop
mov r8, qword [rbp + 0x180]
cmp r8, 0x10
jb 0x1400c9802
inc r8
mov rdx, qword [rbp + 0x168]
lea rcx, [rbp + 0x168]
call fcn.14003b660
mov qword [rbp + 0x180], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x178], r12
mov byte [rbp + 0x168], 0
mov r8, qword [rbp + 0xe0]
cmp r8, 0x10
jb 0x1400c983e
inc r8
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0xc8]
call fcn.14003b660
mov qword [rbp + 0xe0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xd8], r12
mov byte [rbp + 0xc8], 0
mov r8, qword [rbp + 0x1a0]
cmp r8, 0x10
jb 0x1400c987a
inc r8
mov rdx, qword [rbp + 0x188]
lea rcx, [rbp + 0x188]
call fcn.14003b660
mov r12d, dword [rsp + 0x30]
mov edi, dword [rsp + 0x3c]
inc edi
jmp 0x1400c8dd7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r9d, dword [rsp + 0x40]
lea rcx, [rbp - 0x60]
test r9d, r9d
lea rdx, str.if__hack_false____threadfence_block____n
je 0x1400c9986
lea rdx, str.if__hack_false__barrier_CLK_LOCAL_MEM_FENCE___n
call fcn.14003ed20
lea rax, [rsp + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
xor edi, edi
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x48], dil
lea r8d, [rdi + 0xd]
lea rdx, str.data_dag.s_0_
lea rcx, [rsp + 0x48]
call fcn.14003a9f0
nop
mov qword [rbp + 0x140], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x138], rdi
mov byte [rbp + 0x128], dil
lea r8d, [rdi + 6]
lea rdx, str.mix_0_
lea rcx, [rbp + 0x128]
call fcn.14003a9f0
movzx eax, r13w
imul r15d, eax, 0x9069
shr r13d, 0x10
add r15d, r13d
mov ecx, dword [rsp + 0x38]
movzx eax, cx
imul r12d, eax, 0x4650
shr ecx, 0x10
add r12d, ecx
mov r9d, r15d
shl r9d, 0x10
add r9d, r12d
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r13d, dword [rsp + 0x34], 0x10dcd
add r13d, 0x12d687
xor r9d, r13d
add r9d, esi
lea r8, [rsp + 0x48]
lea rdx, [rbp + 0x128]
lea rcx, [rbp + 0x148]
call fcn.1400c9db0
nop
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14003f190
nop
mov r8, qword [rbp + 0x160]
cmp r8, 0x10
jb 0x1400c9aa0
inc r8
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
call fcn.14003b660
nop dword [rax]
nop word [rax + rax]
mov ebx, dword [rsp + 0x30]
mov eax, ebx
and eax, 0x1f
mov edx, dword [rbp + rax*4 + 0x1b0]
lea rcx, [rbp + 0x108]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.mix_
lea rcx, [rbp + 0xe8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x188]
call fcn.14003f790
nop
inc ebx
mov dword [rsp + 0x30], ebx
mov r8, qword [rbp + 0x100]
cmp r8, 0x10
jb 0x1400c9b14
inc r8
mov rdx, qword [rbp + 0xe8]
lea rcx, [rbp + 0xe8]
call fcn.14003b660
mov qword [rbp + 0x100], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xf8], rdi
mov byte [rbp + 0xe8], 0
mov r8, qword [rbp + 0x120]
cmp r8, 0x10
jb 0x1400c9b50
inc r8
mov rdx, qword [rbp + 0x108]
lea rcx, [rbp + 0x108]
call fcn.14003b660
mov qword [rbp + 0x120], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x118], rdi
mov byte [rbp + 0x108], 0
movzx eax, r15w
imul ecx, eax, 0x9069
shr r15d, 0x10
add r15d, ecx
movzx eax, r12w
imul ecx, eax, 0x4650
shr r12d, 0x10
add ecx, r12d
mov r12d, ecx
mov edi, r15d
shl edi, 0x10
add edi, ecx
mov eax, esi
shl eax, 0x11
xor esi, eax
mov eax, esi
shr eax, 0xd
xor esi, eax
mov eax, esi
shl eax, 5
xor esi, eax
imul r13d, r13d, 0x10dcd
add r13d, 0x12d687
xor edi, r13d
add edi, esi
lea rax, [rbp + 0x128]
mov qword [rbp - 0x80], rax
mov edx, r14d
lea rcx, [rbp + 0x148]
call fcn.140014000
nop
mov r8, rax
lea rdx, str.data_dag.s_
lea rcx, [rbp + 0xc8]
call fcn.14003ecc0
nop
lea r8, [0x140249938]
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.14003f790
mov rbx, rax
mov qword [rsp + 0x60], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x58], 0
mov byte [rsp + 0x48], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x188]
lea rcx, [rsp + 0x48]
call fcn.14003ab20
nop
mov r9d, edi
mov r8, rbx
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0xa8]
call fcn.1400c9db0
nop
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.14003f190
nop
mov r8, qword [rbp + 0xc0]
cmp r8, 0x10
jb 0x1400c9c81
inc r8
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0xa8]
call fcn.14003b660
mov qword [rbp + 0xc0], reloc.WS2_32.dll_ntohs
xor edi, edi
mov qword [rbp + 0xb8], rdi
mov byte [rbp + 0xa8], dil
mov r8, qword [rbp + 0xe0]
cmp r8, 0x10
jb 0x1400c9cbf
inc r8
mov rdx, qword [rbp + 0xc8]
lea rcx, [rbp + 0xc8]
call fcn.14003b660
mov qword [rbp + 0xe0], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xd8], rdi
mov byte [rbp + 0xc8], 0
mov r8, qword [rbp + 0x160]
cmp r8, 0x10
jb 0x1400c9cfc
inc r8
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x148]
call fcn.14003b660
nop
mov r8, qword [rbp + 0x1a0]
cmp r8, 0x10
jb 0x1400c9d1f
inc r8
mov rdx, qword [rbp + 0x188]
lea rcx, [rbp + 0x188]
call fcn.14003b660
inc r14d
cmp r14d, 4
jb 0x1400c9aa0
lea rdx, [0x14025d1e8]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
lea rdx, [0x1402491fc]
lea rcx, [rbp - 0x60]
call fcn.14003ed20
mov rdx, qword [rbp + 0x90]
lea rcx, [rbp - 0x70]
call fcn.140038200
nop
lea rcx, [rbp + 0x28]
call fcn.140038230
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rax, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.1401cf6b0
mov rbx, qword [rsp + 0x418]
add rsp, 0x3c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret