Function at 0x18000c300
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4a0
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x170], 0xfffffffffffffffe
mov qword [rbp + 0x4c8], rbx
movaps xmmword [rbp + 0x460], xmm6
mov rax, qword [0x180089208]
xor rax, rbp
mov qword [rbp + 0x458], rax
mov r15, r8
mov r13, rdx
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x18], rcx
lea r8, [rbp + 8]
xor edx, edx
xor ecx, ecx
call sub.OpenCL.dll_clGetPlatformIDs
mov dword [rbp + 4], eax
test eax, eax
je 0x18000c394
mov ecx, eax
call fcn.1800160d0
mov rbx, rax
call fcn.180018340
lea r8, str.Error__s_when_calling_clGetPlatformIDs_for_number_of_platforms.
mov r9, rbx
mov rcx, rax
mov edx, 1
call fcn.180029410
mov eax, 2
jmp 0x18000d444
mov ecx, dword [rbp + 8]
cmp rcx, r15
ja 0x18000c3bf
call fcn.180018340
mov rcx, rax
mov r9, r15
lea r8, str.Selected_OpenCL_platform_index__d_doesnt_exist.
mov esi, 1
mov edx, esi
call fcn.180029410
jmp 0x18000d441
lea rax, [rcx*8]
lea rdx, [rax + 0xf]
movabs r8, 0xffffffffffffff0
cmp rdx, rax
ja 0x18000c3dd
mov rdx, r8
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.180050730
sub rsp, rdx
lea r12, [rsp + 0x30]
xor r8d, r8d
mov rdx, r12
call sub.OpenCL.dll_clGetPlatformIDs
mov dword [rbp + 4], eax
test eax, eax
je 0x18000c41e
mov ecx, eax
call fcn.1800160d0
mov rbx, rax
call fcn.180018340
lea r8, str.Error__s_when_calling_clGetPlatformIDs_for_platform_ID_information.
jmp 0x18000c37a
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x903
mov rcx, qword [r12 + r15*8]
call sub.OpenCL.dll_clGetPlatformInfo
lea r8, [rbp + 0xe]
mov rdx, qword [rbp + 0x48]
lea rcx, [rbp + 0xa8]
call fcn.1800097f0
nop
mov qword [rsp + 0x20], 0
mov rbx, qword [rbp + 0xa8]
mov r9, rbx
mov r8, qword [rbp + 0x48]
mov edx, 0x903
mov rcx, qword [r12 + r15*8]
call sub.OpenCL.dll_clGetPlatformInfo
movdqa xmm0, xmmword [0x180071c80]
movdqu xmmword [rbp + 0x328], xmm0
mov byte [rbp + 0x318], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18000c493
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0x318]
call fcn.180015810
nop
call fcn.180018240
lea rcx, [rax + 0x88]
cmp qword [rax + 0xa0], 0x10
jb 0x18000c4ce
mov rcx, qword [rax + 0x88]
mov esi, 1
cmp qword [rax + 0x98], 3
jne 0x18000c5d4
movzx eax, byte [rcx]
cmp al, byte [0x18005686c]
jne 0x18000c508
movzx eax, byte [rcx + 1]
cmp al, byte [0x18005686d]
jne 0x18000c508
movzx eax, byte [rcx + 2]
cmp al, byte [0x18005686e]
jne 0x18000c508
xor eax, eax
jmp 0x18000c50c
sbb eax, eax
or eax, esi
test eax, eax
jne 0x18000c5d4
lea rdi, [rbp + 0x318]
mov r13, qword [rbp + 0x318]
cmp qword [rbp + 0x330], 0x10
cmovae rdi, r13
mov rax, qword [rbp + 0x328]
cmp rax, 0x16
jb 0x18000c5a3
lea r14, [rax + rdi]
lea r8, [r14 - 0x15]
sub r8, rdi
mov edx, 0x41
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x18000c5a3
nop dword [rax + rax]
mov r8d, 0x16
lea rdx, str.Advanced_Micro_Devices
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18000c59a
inc rbx
lea r8, [r14 - 0x15]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x18000c560
jmp 0x18000c5a3
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x18000c5d0
lea rbx, [rbp + 0x318]
cmp qword [rbp + 0x330], 0x10
cmovae rbx, r13
call fcn.180018340
mov rcx, rax
mov r9, rbx
lea r8, str.WARNING:_using_non_AMD_device:__s
mov rdx, rsi
call fcn.180029410
mov r13, qword [rbp + 0x20]
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, qword [r12 + r15*8]
call sub.OpenCL.dll_clGetDeviceIDs
mov dword [rbp + 4], eax
test eax, eax
je 0x18000c612
mov ecx, eax
call fcn.1800160d0
mov rbx, rax
call fcn.180018340
lea r8, str.Error__s_when_calling_clGetDeviceIDs_for_number_of_devices.
jmp 0x18000c6a5
xor r14d, r14d
mov edx, r14d
mov edi, dword [rbp + 8]
test r13, r13
je 0x18000c641
mov rcx, qword [rbp + 0x18]
mov rbx, qword [rcx]
cmp rbx, rdi
jae 0x18000c6bd
inc edx
add rcx, 0x120
movsxd rax, edx
cmp rax, r13
jb 0x18000c624
mov rax, rdi
shl rax, 3
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18000c65b
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.180050730
sub rsp, rcx
lea rbx, [rsp + 0x30]
mov qword [rsp + 0x20], r14
mov r9, rbx
mov r8d, edi
mov edx, 4
mov rcx, qword [r12 + r15*8]
call sub.OpenCL.dll_clGetDeviceIDs
mov dword [rbp + 4], eax
test eax, eax
je 0x18000c6dc
mov ecx, eax
call fcn.1800160d0
mov rbx, rax
call fcn.180018340
lea r8, str.Error__s_when_calling_clGetDeviceIDs_for_device_ID_information.
mov r9, rbx
mov rcx, rax
mov rdx, rsi
call fcn.180029410
mov esi, 2
jmp 0x18000d40f
call fcn.180018340
mov rcx, rax
mov r9, rbx
lea r8, str.Selected_OpenCL_device_index__lu_doesnt_exist._n
mov rdx, rsi
call fcn.180029410
jmp 0x18000d40f
mov qword [rbp + 0x98], r14
lea r9, [rbp + 0xc]
lea r8, [rbp + 0x98]
mov rdx, r13
lea rcx, [rbp + 0x180]
call fcn.180009ab0
nop
call fcn.180018340
mov rcx, rax
mov r9d, dword [rbp + 8]
lea r8, str.Number_of_OpenCL_GPUs__d
mov edx, 0xa
call fcn.180029410
mov r10d, r14d
mov r8, qword [rbp + 0x180]
mov r15, qword [rbp + 0x18]
test r13, r13
je 0x18000c768
mov r9, r8
mov rdx, r15
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rdx]
mov rax, qword [rbx + rcx*8]
mov qword [rdx + 0x38], rax
mov rax, qword [rbx + rcx*8]
mov qword [r9], rax
inc r10d
lea rdx, [rdx + 0x120]
lea r9, [r9 + 8]
movsxd rax, r10d
cmp rax, r13
jb 0x18000c740
lea rax, [rbp + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, r13d
xor ecx, ecx
call sub.OpenCL.dll_clCreateContext
mov qword [rbp + 0xa0], rax
mov ecx, dword [rbp + 4]
test ecx, ecx
je 0x18000c7bd
call fcn.1800160d0
mov rbx, rax
call fcn.180018340
mov rcx, rax
mov r9, rbx
lea r8, str.Error__s_when_calling_clCreateContext.
mov rdx, rsi
call fcn.180029410
mov esi, 2
jmp 0x18000d402
mov qword [rbp + 0x308], r14
mov qword [rbp + 0x310], 0xf
mov byte [rbp + 0x2f8], 0
mov r8d, 0xad14
lea rdx, str._n__n___This_program_is_free_software:_you_can_redistribute_it_and_or_modify_n___it_under_the_terms_of_the_GNU_General_Public_License_as_published_by_n___the_Free_Software_Foundation__either_version_3_of_the_License__or_n___any_later_version._n___n___This_program_is_distributed_in_the_hope_that_it_will_be_useful__n___but_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_n___MERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_n___GNU_General_Public_License_for_more_details._n___n___You_should_have_received_a_copy_of_the_GNU_General_Public_License_n___along_with_this_program.__If_not__see__http:__www.gnu.org_licenses__._n____n_n___defines_to_translate_algorithm_names_int_a_same_number_used_within_cryptonight.h_ndefine_invalid_algo_0_ndefine_cryptonight_1_ndefine_cryptonight_lite_2_ndefine_cryptonight_monero_3_ndefine_cryptonight_heavy_4_ndefine_cryptonight_aeon_5_ndefine_cryptonight_ipbc_6_ndefine_cryptonight_stellite_7_ndefine_cryptonight_masari_8_ndefine_cryptonight_haven_9_ndefine_cryptonight_bittube2_10_ndefine_cryptonight_monero_v8_11_ndefine_cryptonight_superfast_12_ndefine_cryptonight_gpu_13_ndefine_cryptonight_conceal_14_ndefine_cryptonight_v8_reversewaltz_17_n_n_nstatic_const___constant_ulong_keccakf_rndc_24___n_n_t0x0000000000000001__0x0000000000008082__0x800000000000808a__n_t0x8000000080008000__0x000000000000808b__0x0000000080000001__n_t0x8000000080008081__0x8000000000008009__0x000000000000008a__n_t0x0000000000000088__0x0000000080008009__0x000000008000000a__n_t0x000000008000808b__0x800000000000008b__0x8000000000008089__n_t0x8000000000008003__0x8000000000008002__0x8000000000000080__n_t0x000000000000800a__0x800000008000000a__0x8000000080008081__n_t0x8000000000008080__0x0000000080000001__0x8000000080008008_n__n_nstatic_const___constant_uchar_sbox_256___n_n_t0x63__0x7C__0x77__0x7B__0xF2__0x6B__0x6F__0xC5__0x30__0x01__0x67__0x2B__0xFE__0xD7__0xAB__0x76__n_t0xCA__0x82__0xC9__0x7D__0xFA__0x59__0x47__0xF0__0xAD__0xD4__0xA2__0xAF__0x9C__0xA4__0x72__0xC0__n_t0xB7__0xFD__0x93__0x26__0x36__0x3F__0xF7__0xCC__0x34__0xA5__0xE5__0xF1__0x71__0xD8__0x31__0x15__n_t0x04__0xC7__0x23__0xC3__0x18__0x96__0x05__0x9A__0x07__0x12__0x80__0xE2__0xEB__0x27__0xB2__0x75__n_t0x09__0x83__0x2C__0x1A__0x1B__0x6E__0x5A__0xA0__0x52__0x3B__0xD6__0xB3__0x29__0xE3__0x2F__0x84__n_t0x53__0xD1__0x00__0xED__0x20__0xFC__0xB1__0x5B__0x6A__0xCB__0xBE__0x39__0x4A__0x4C__0x58__0xCF__n_t0xD0__0xEF__0xAA__0xFB__0x43__0x4D__0x33__0x85__0x45__0xF9__0x02__0x7F__0x50__0x3C__0x9F__0xA8__n_t0x51__0xA3__0x40__0x8F__0x92__0x9D__0x38__0xF5__0xBC__0xB6__0xDA__0x21__0x10__0xFF__0xF3__0xD2__n_t0xCD__0x0C__0x13__0xEC__0x5F__0x97__0x44__0x17__0xC4__0xA7__0x7E__0x3D__0x64__0x5D__0x19__0x73__n_t0x60__0x81__0x4F__0xDC__0x22__0x2A__0x90__0x88__0x46__0xEE__0xB8__0x14__0xDE__0x5E__0x0B__0xDB__n_t0xE0__0x32__0x3A__0x0A__0x49__0x06__0x24__0x5C__0xC2__0xD3__0xAC__0x62__0x91__0x95__0xE4__0x79__n_t0xE7__0xC8__0x37__0x6D__0x8D__0xD5__0x4E__0xA9__0x6C__0x56__0xF4__0xEA__0x65__0x7A__0xAE__0x08__n_t0xBA__0x78__0x25__0x2E__0x1C__0xA6__0xB4__0xC6__0xE8__0xDD__0x74__0x1F__0x4B__0xBD__0x8B__0x8A__n_t0x70__0x3E__0xB5__0x66__0x48__0x03__0xF6__0x0E__0x61__0x35__0x57__0xB9__0x86__0xC1__0x1D__0x9E__n_t0xE1__0xF8__0x98__0x11__0x69__0xD9__0x8E__0x94__0x9B__0x1E__0x87__0xE9__0xCE__0x55__0x28__0xDF__n_t0x8C__0xA1__0x89__0x0D__0xBF__0xE6__0x42__0x68__0x41__0x99__0x2D__0x0F__0xB0__0x54__0xBB__0x16_n__n_n__include__opencl_wolf_aes.cl__nXMRSTAK_INCLUDE_WOLF_AES_n_nvoid_keccakf1600_ulong_s__n_n_tfor_int_i__0__i___24__i__n_t_n_t_tulong_bc_5___tmp1__tmp2__n_t_tbc_0___s_0___s_5___s_10___s_15___s_20___rotate_s_2___s_7___s_12___s_17___s_22___1UL___n_t_tbc_1___s_1___s_6___s_11___s_16___s_21___rotate_s_3___s_8___s_13___s_18___s_23___1UL___n_t_tbc_2___s_2___s_7___s_12___s_17___s_22___rotate_s_4___s_9___s_14___s_19___s_24___1UL___n_t_tbc_3___s_3___s_8___s_13___s_18___s_23___rotate_s_0___s_5___s_10___s_15___s_20___1UL___n_t_tbc_4___s_4___s_9___s_14___s_19___s_24___rotate_s_1___s_6___s_11___s_16___s_21___1UL___n
lea rcx, [rbp + 0x2f8]
call fcn.180015810
nop
mov qword [rbp + 0x50], r14
lea rax, [rbp + 0x58]
mov qword [rbp + 0x10], rax
mov cl, 1
call sub.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x68]
call fcn.180008fd0
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x68]
call fcn.1800091c0
mov qword [rbp + 0x60], rax
lea rax, str.XMRSTAK_INCLUDE_FAST_INT_MATH_V2
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
lea rax, [0x180071180]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], r14
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x28], r14d
lea r9, [rbp + 0xd]
lea r8, [rbp + 0x28]
xor edx, edx
lea rcx, [rbp + 0xe0]
call fcn.180009930
nop
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
mov rdx, qword [rbp + 0xe0]
sub rax, rdx
sar rax, 2
test rax, rax
je 0x18000c89c
cmp rdx, rcx
cmovne rcx, rdx
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xf8], r14
mov ecx, 0x30
call fcn.1800505e0
mov qword [rbp + 0x10], rax
test rax, rax
je 0x18000c8da
mov qword [rax + 8], 0x14
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
lea rcx, vtable.std::_Root_node.0
mov qword [rax], rcx
mov qword [rax + 0x24], r14
mov dword [rax + 0x2c], r14d
jmp 0x18000c8dd
mov rax, r14
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rax
mov dword [rbp + 0x110], esi
lea rax, [rbp + 0x58]
mov qword [rbp + 0x118], rax
mov dword [rbp + 0x120], 0x100
mov dword [rbp + 0x124], 4
lea rax, [rbp + 0x58]
mov qword [rbp + 0x128], rax
mov dword [rbp + 0x130], esi
mov dword [rbp + 0x140], 0x8775dfb
lea rcx, [rbp + 0xc0]
call fcn.180014f20
nop
lea rcx, [rbp + 0xc0]
call fcn.180012860
mov rdi, rax
test rax, rax
je 0x18000c950
lock inc dword [rax + 0x2c]
mov rdx, qword [rbp + 0x50]
test rdx, rdx
je 0x18000c98a
mov ecx, 0xffffffff
lock xadd dword [rdx + 0x2c], ecx
cmp ecx, 1
jne 0x18000c98a
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x18000c98a
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r14
mov rax, qword [rcx]
mov edx, esi
call qword [rax]
test rbx, rbx
jne 0x18000c971
mov qword [rbp + 0x50], rdi
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x18000c9f2
mov rax, qword [rbp + 0xf0]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000c9d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000c9d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005061c
mov qword [rbp + 0xe0], r14
mov qword [rbp + 0xe8], r14
mov qword [rbp + 0xf0], r14
mov dword [rsp + 0x20], r14d
lea r9, str._n__n___author_SChernykh_n___n_nif_ALGO__cryptonight_monero_v8__ALGO__cryptonight_v8_reversewaltz__n_nstatic_const___constant_uint_RCP_C_256___n_n_t0xfe01be73u_0xfd07ff01u_0xfa118c5au_0xf924fb13u_0xf630cddbu_0xf558f73cu_0xf25f2934u_0xf1a3f37bu__n_t0xee9c4562u_0xee02efd0u_0xeae7ced5u_0xea76ec3au_0xe7417330u_0xe6ffe8b8u_0xe3a8e217u_0xe39be54au__n_t0xe01dcd03u_0xe04ae1f0u_0xdc9fea3bu_0xdd0bdea8u_0xd92eef38u_0xd9dedb73u_0xd5ca9626u_0xd6c3d84fu__n_t0xd27299dcu_0xd3b9d53cu_0xcf26b659u_0xd0bfd23au_0xcbe6ab09u_0xcdd5cf48u_0xc8b23886u_0xcafacc65u__n_t0xc58920e5u_0xc82ec992u_0xc26b283eu_0xc572c6ceu_0xbf5813d7u_0xc2c3c419u_0xbc4facdbu_0xc023c171u__n_t0xb951b9f6u_0xbd8fbed7u_0xb65e05c8u_0xbb09bc4bu_0xb3745d97u_0xb890b9cbu_0xb0948d04u_0xb624b758u__n_t0xadbe61e8u_0xb3c3b4f2u_0xaaf1ae2au_0xb16eb297u_0xa82e412eu_0xaf25b048u_0xa573ec98u_0xace7ae05u__n_t0xa2c28519u_0xaab4abcdu_0xa019df1cu_0xa88ca99fu_0x9d79cf91u_0xa66ea77cu_0x9ae22df8u_0xa45ba563u__n_t0x9852d0ceu_0xa251a354u_0x95cb912eu_0xa050a14fu_0x934c48d6u_0x9e5a9f54u_0x90d4d228u_0x9c6c9d62u__n_t0x8e650939u_0x9a879b79u_0x8bfccaf5u_0x98ac9998u_0x899bf212u_0x96d897c1u_0x87425eedu_0x950d95f2u__n_t0x84efefd3u_0x934a942bu_0x82a48450u_0x918f926cu_0x805ffcb4u_0x8fdc90b5u_0x7e223ab7u_0x8e308f05u__n_t0x7beb1f71u_0x8c8c8d5du_0x79ba8ce2u_0x8aef8bbdu_0x7790683eu_0x89598a23u_0x756c9343u_0x87ca8891u__n_t0x734ef468u_0x86428705u_0x71376efbu_0x84c18581u_0x6f25e9ebu_0x83458402u_0x6d1a4b34u_0x81d0828au__n_t0x6b147a52u_0x80628118u_0x69145cfbu_0x7ef97fadu_0x6719dd39u_0x7d967e47u_0x6524e2abu_0x7c397ce7u__n_t0x6335561bu_0x7ae27b8du_0x614b21eau_0x79907a38u_0x5f662f10u_0x784478e9u_0x5d8667dfu_0x76fd77a0u__n_t0x5babb887u_0x75bb765bu_0x59d60b2eu_0x747e751cu_0x58054d25u_0x734673e1u_0x5639688fu_0x721372acu__n_t0x54724c2du_0x70e5717bu_0x52afe29cu_0x6fbb7050u_0x50f21c05u_0x6e966f28u_0x4f38e412u_0x6d766e06u__n_t0x4d842a91u_0x6c5a6ce7u_0x4bd3dcd0u_0x6b426bcdu_0x4a27e96au_0x6a2e6ab8u_0x4880415eu_0x691f69a6u__n_t0x46dcd25du_0x68136899u_0x453d8df4u_0x670c678fu_0x43a262a5u_0x6608668au_0x420b42d6u_0x65096588u__n_t0x40781dd3u_0x640d648au_0x3ee8e49au_0x63146390u_0x3d5d8a11u_0x621f6299u_0x3bd5fee0u_0x612e61a6u__n_t0x3a523496u_0x604060b7u_0x38d21e75u_0x5f565fcbu_0x3755aec4u_0x5e6f5ee2u_0x35dcd78fu_0x5d8b5dfdu__n_t0x34678d72u_0x5cab5d1au_0x32f5c17cu_0x5bcd5c3bu_0x318767f1u_0x5af35b60u_0x301c7511u_0x5a1b5a87u__n_t0x2eb4dccau_0x594759b1u_0x2d50935cu_0x587658deu_0x2bef8bfau_0x57a7580eu_0x2a91bc5cu_0x56db5741u__n_t0x2937198fu_0x56125676u_0x27df970eu_0x554c55afu_0x268b2b78u_0x548854eau_0x2539cba1u_0x53c75428u__n_t0x23eb6d84u_0x53095368u_0x22a00644u_0x524d52abu_0x21578cd3u_0x519451f0u_0x2011f5f9u_0x50dd5138u__n_t0x1ecf388eu_0x50285082u_0x1d8f4b53u_0x4f764fcfu_0x1c5224abu_0x4ec64f1eu_0x1b17bb87u_0x4e184e6fu__n_t0x19e0073fu_0x4d6d4dc2u_0x18aafe0au_0x4cc44d18u_0x177896f3u_0x4c1c4c70u_0x1648cb16u_0x4b784bcau__n_t0x151b9051u_0x4ad54b26u_0x13f0deeau_0x4a344a84u_0x12c8aef3u_0x499549e4u_0x11a2f829u_0x48f84946u__n_t0x107fb1ffu_0x485d48abu_0xf5ed5f0u_0x47c44811u_0xe405bc1u_0x472d4779u_0xd243bdau_0x469846e3u__n_t0xc0a6fa1u_0x4605464eu_0xaf2edf2u_0x457345bcu_0x9ddb163u_0x44e3452bu_0x8cab264u_0x4455449cu__n_t0x7b9e9d5u_0x43c9440fu_0x6ab5173u_0x433e4383u_0x59ee141u_0x42b542fau_0x49494c7u_0x422e4271u__n_t0x38c62ffu_0x41a841ebu_0x286478bu_0x41244166u_0x1823b84u_0x40a140e2u_0x803883u_0x401C4060u__n__n_n___Rocm_produce_invalid_results_if_get_reciprocal_without_lookup_table_is_used_nif_defined___clang______defined___NV_CL_C_VERSION__n_ninline_uint_get_reciprocal_const___local_uchar_RCP__uint_a__n_n_tconst_uint_index1___a__0x7F000000U_____21__n_tconst_int_index2___int___a____8___0xFFFFU____32768__n_n_tconst_uint_r1___const___local_uint__RCP__index1___n_n_tuint_r2_0___const___local_uint__RCP__index1__4___n_tif__index2___0__r2_0____16__n_tconst_int_r2__r2_0__0xFFFFU__n_n_tconst_uint_r__r1____uint__mul24_r2__index2_____6___n_n_tconst_ulong_lo0___ulong__r___a__n_tulong_lo__lo0____ulong__a_____32___n_n_ta____1__n_tconst_bool_b___a___lo____lo___lo0___n_tlo__a___lo__n_n_tconst_ulong_k__mul_hi_as_uint2_lo_.s0__r_
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x358]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000ca54
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp + 0x370]
cmp rdx, 0x10
jb 0x18000ca98
inc rdx
mov rcx, qword [rbp + 0x358]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ca93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000ca93
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005061c
movdqa xmm0, xmmword [0x180071c80]
movdqu xmmword [rbp + 0x368], xmm0
mov byte [rbp + 0x358], 0
lea rcx, [rbp + 0x50]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x18000cad9
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cad9
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_FAST_DIV_HEAVY
lea rcx, [rbp + 0x1c0]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n_nif_ALGO__cryptonight_heavy__ALGO__cryptonight_haven__ALGO__cryptonight_bittube2__ALGO__cryptonight_superfast__ninline_long_fast_div_heavy_long__a__int__b__n_n_tlong_a__abs__a___n_tint_b__abs__b___n_tfloat_rcp__native_recip_convert_float_rte_b____n_tfloat_rcp2__as_float_as_uint_rcp____32U____23____n_tulong_q1__convert_ulong_convert_float_rte_as_int2_a_.s1___rcp2___n_ta___q1__as_uint_b___n_tfloat_q2f__convert_float_rte_as_int2_a____12_.s0___rcp__n_tq2f__as_float_as_uint_q2f____12U____23____n_tlong_q2__convert_long_rte_q2f___n_tint_a2__as_int2_a_.s0___as_int2_q2_.s0__b__n_tint_q3__convert_int_rte_convert_float_rte_a2___rcp___n_tq3___a2___q3__b_____31__n_tconst_long_q__q1__q2__q3__n_treturn___as_int2__a_.s1___b____0_____q_:_q__n_nendif_n
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x338]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cb51
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov r8, qword [rbp + 0x350]
cmp r8, 0x10
jb 0x18000cb74
inc r8
mov rdx, qword [rbp + 0x338]
lea rcx, [rbp + 0x338]
call fcn.1800159f0
movdqa xmm0, xmmword [0x180071c80]
movdqu xmmword [rbp + 0x348], xmm0
mov byte [rbp + 0x338], 0
lea rcx, [rbp + 0x1c0]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x18000cbbb
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cbbb
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_WOLF_AES
lea rcx, [rbp + 0x1e8]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._nifndef_WOLF_AES_CL_ndefine_WOLF_AES_CL_n_n__For_Mesa_clover_support___nifdef_cl_clang_storage_class_specifiers_n___pragma_OPENCL_EXTENSION_cl_clang_storage_class_specifiers_:_enable_nendif_n_nifdef_cl_amd_media_ops_npragma_OPENCL_EXTENSION_cl_amd_media_ops_:_enable_nelse_n__taken_from_https:__www.khronos.org_registry_OpenCL_extensions_amd_cl_amd_media_ops.txt_n__Build_in_Function_n______uintn__amd_bitalign__uintn_src0__uintn_src1__uintn_src2__n____Description_n______dst.s0____uint_______ulong_src0.s0_____32____ulong_src1.s0______src2.s0__31___n______similar_operation_applied_to_other_components_of_the_vectors._n__n__The_implemented_function_is_modified_because_the_last_is_in_our_case_always_a_scalar._n__We_can_ignore_the_bitwise_AND_operation._n___ninline_uint2_amd_bitalign__const_uint2_src0__const_uint2_src1__const_uint_src2__n_n_tuint2_result__n_tresult.s0____uint_______ulong_src0.s0_____32____ulong_src1.s0______src2____n_tresult.s1____uint_______ulong_src0.s1_____32____ulong_src1.s1______src2____n_treturn_result__n_nendif_n_nifdef_cl_amd_media_ops2_npragma_OPENCL_EXTENSION_cl_amd_media_ops2_:_enable_nelse_n__taken_from:_https:__www.khronos.org_registry_OpenCL_extensions_amd_cl_amd_media_ops2.txt_n______Built_in_Function:_n______uintn_amd_bfe__uintn_src0__uintn_src1__uintn_src2__n____Description_n______NOTE:_operator____below_represent_logical_right_shift_n______offset__src1.s0__31__n______width__src2.s0__31__n______if_width__0_n__________dst.s0__0__n______else_if__offset__width____32_n__________dst.s0___src0.s0_____32___offset___width_______32___width___n______else_n__________dst.s0__src0.s0____offset__n______similar_operation_applied_to_other_components_of_the_vectors_n___ninline_int_amd_bfe_const_uint_src0__const_uint_offset__const_uint_width__n_n_t__casts_are_removed_because_we_can_implement_everything_as_uint_n_t__int_offset__src1__n_t__int_width__src2__n_t__remove_check_for_edge_case__this_function_is_always_called_with_n_t___width8__n_t___code_n_t____if___width__0___n_t_______return_0__n_t___endcode_n_t___n_tif____offset__width____32u___n_t_treturn__src0_____32u___offset___width_______32u___width___n_n_treturn_src0____offset__n_nendif_n_n___AES_table___the_other_three_are_generated_on_the_fly_n_nstatic_const___constant_uint_AES0_C_256___n_n_t0xA56363C6U__0x847C7CF8U__0x997777EEU__0x8D7B7BF6U__n_t0x0DF2F2FFU__0xBD6B6BD6U__0xB16F6FDEU__0x54C5C591U__n_t0x50303060U__0x03010102U__0xA96767CEU__0x7D2B2B56U__n_t0x19FEFEE7U__0x62D7D7B5U__0xE6ABAB4DU__0x9A7676ECU__n_t0x45CACA8FU__0x9D82821FU__0x40C9C989U__0x877D7DFAU__n_t0x15FAFAEFU__0xEB5959B2U__0xC947478EU__0x0BF0F0FBU__n_t0xECADAD41U__0x67D4D4B3U__0xFDA2A25FU__0xEAAFAF45U__n_t0xBF9C9C23U__0xF7A4A453U__0x967272E4U__0x5BC0C09BU__n_t0xC2B7B775U__0x1CFDFDE1U__0xAE93933DU__0x6A26264CU__n_t0x5A36366CU__0x413F3F7EU__0x02F7F7F5U__0x4FCCCC83U__n_t0x5C343468U__0xF4A5A551U__0x34E5E5D1U__0x08F1F1F9U__n_t0x937171E2U__0x73D8D8ABU__0x53313162U__0x3F15152AU__n_t0x0C040408U__0x52C7C795U__0x65232346U__0x5EC3C39DU__n_t0x28181830U__0xA1969637U__0x0F05050AU__0xB59A9A2FU__n_t0x0907070EU__0x36121224U__0x9B80801BU__0x3DE2E2DFU__n_t0x26EBEBCDU__0x6927274EU__0xCDB2B27FU__0x9F7575EAU__n_t0x1B090912U__0x9E83831DU__0x742C2C58U__0x2E1A1A34U__n_t0x2D1B1B36U__0xB26E6EDCU__0xEE5A5AB4U__0xFBA0A05BU__n_t0xF65252A4U__0x4D3B3B76U__0x61D6D6B7U__0xCEB3B37DU__n_t0x7B292952U__0x3EE3E3DDU__0x712F2F5EU__0x97848413U__n_t0xF55353A6U__0x68D1D1B9U__0x00000000U__0x2CEDEDC1U__n_t0x60202040U__0x1FFCFCE3U__0xC8B1B179U__0xED5B5BB6U__n_t0xBE6A6AD4U__0x46CBCB8DU__0xD9BEBE67U__0x4B393972U__n_t0xDE4A4A94U__0xD44C4C98U__0xE85858B0U__0x4ACFCF85U__n_t0x6BD0D0BBU__0x2AEFEFC5U__0xE5AAAA4FU__0x16FBFBEDU__n_t0xC5434386U__0xD74D4D9AU__0x55333366U__0x94858511U__n_t0xCF45458AU__0x10F9F9E9U__0x06020204U__0x817F7FFEU__n_t0xF05050A0U__0x443C3C78U__0xBA9F9F25U__0xE3A8A84BU__n_t0xF35151A2U__0xFEA3A35DU__0xC0404080U__0x8A8F8F05U__n_t0xAD92923FU__0xBC9D9D21U__0x48383870U__0x04F5F5F1U__n_t0xDFBCBC63U__0xC1B6B677U__0x75DADAAFU__0x63212142U__n_t0x30101020U__0x1AFF
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x398]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cc33
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x398]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x1e8]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x208]
test rcx, rcx
je 0x18000cc70
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cc70
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_WOLF_SKEIN
lea rcx, [rbp + 0x210]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._nifndef_WOLF_SKEIN_CL_ndefine_WOLF_SKEIN_CL_n_n___Vectorized_Skein_implementation_macros_and_functions_by_Wolf_n___Updated_by_taisel_n_ndefine_SKEIN_KS_PARITY_t0x1BD11BDAA9FC1A22_n_nstatic_const___constant_ulong_SKEIN256_IV_8___n_n_t0xCCD044A12FDB3E13UL__0xE83590301A79A9EBUL__n_t0x55AEA0614F816E6FUL__0x2A2767A4AE9B94DBUL__n_t0xEC06025E74DD7683UL__0xE7A436CDC4746251UL__n_t0xC36FBAF9393AD185UL__0x3EEDBA1833EDFC13UL_n__n_nstatic_const___constant_ulong_SKEIN512_256_IV_8___n_n_t0xCCD044A12FDB3E13UL__0xE83590301A79A9EBUL__n_t0x55AEA0614F816E6FUL__0x2A2767A4AE9B94DBUL__n_t0xEC06025E74DD7683UL__0xE7A436CDC4746251UL__n_t0xC36FBAF9393AD185UL__0x3EEDBA1833EDFC13UL_n__n_ndefine_SKEIN_INJECT_KEY_p__s__q__tdo___n_tp__h___n_tp.s5__t_s____n_tp.s6__t_select_s__1U__0U__s__2U_____n_tp.s7__q___n_while_0__n_nulong_SKEIN_ROT_const_uint2_x__const_uint_y__n_n_tif_y___32__return_as_ulong_amd_bitalign_x__x.s10__32___y_____n_telse_return_as_ulong_amd_bitalign_x.s10__x__32____y___32______n_n_nvoid_SkeinMix8_ulong4_pv0__ulong4_pv1__const_ulong4_rc__n_n_tpv0__pv1__n_t_pv1_.s0__SKEIN_ROT_as_uint2__pv1_.s0___rc.s0___n_t_pv1_.s1__SKEIN_ROT_as_uint2__pv1_.s1___rc.s1___n_t_pv1_.s2__SKEIN_ROT_as_uint2__pv1_.s2___rc.s2___n_t_pv1_.s3__SKEIN_ROT_as_uint2__pv1_.s3___rc.s3___n_tpv1__pv0__n_n_nulong8_SkeinEvenRound_ulong8_p__const_ulong8_h__const_ulong_t__const_uint_s__const_uint_q__n_n_tSKEIN_INJECT_KEY_p__s__q___n_tulong4_pv0__p.even__pv1__p.odd__n_n_tSkeinMix8_pv0__pv1___ulong4__46__36__19__37____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__33__27__14__42____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__17__49__36__39____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__44__9__54__56____n_treturn_shuffle2_pv0__pv1___ulong8__1__4__2__7__3__6__0__5_____n_n_nulong8_SkeinOddRound_ulong8_p__const_ulong8_h__const_ulong_t__const_uint_s__const_uint_q__n_n_tSKEIN_INJECT_KEY_p__s__q___n____ulong4_pv0__p.even__pv1__p.odd__n_n_tSkeinMix8_pv0__pv1___ulong4__39__30__34__24____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__13__50__10__17____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__25__29__39__43____n_tpv0__shuffle_pv0___ulong4__1__2__3__0____n_tpv1__shuffle_pv1___ulong4__0__3__2__1____n_n_tSkeinMix8_pv0__pv1___ulong4__8__35__56__22____n_treturn_shuffle2_pv0__pv1___ulong8__1__4__2__7__3__6__0__5_____n_n_nulong8_Skein512Block_ulong8_p__ulong8_h__ulong_h8__const_ulong_t__n_n_t___BUG:_AMD_driver_19.7.X_crashs_if_this_is_written_as_loop_n_t___Thx_AMD_for_so_bad_software_n_tint_i__0__n_t_n_t_tp__SkeinEvenRound_p__h__t__0U__i___n_t_ti__n_t_tulong_tmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinOddRound_p__h__t__1U__i___n_t_ti__n_t_ttmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinEvenRound_p__h__t__2U__i___n_t_ti__n_t_ttmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinOddRound_p__h__t__0U__i___n_t_ti__n_t_ttmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinEvenRound_p__h__t__1U__i___n_t_ti__n_t_ttmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinOddRound_p__h__t__2U__i___n_t_ttmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_ti__n_t_n_t_n_t_tp__SkeinEvenRound_p__h__t__0U__i___n_t_ti__n_t_tulong_tmp__h.s0__n_t_th__shuffle_h___ulong8__1__2__3__4__5__6__7__0____n_t_th.s7__h8__n_t_th8__tmp__n_t_tp__SkeinOddRound_p__h__t__1U__i___n_t
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x3b8]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cce8
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x3b8]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x210]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x230]
test rcx, rcx
je 0x18000cd25
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cd25
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_JH
lea rcx, [rbp + 0x238]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n___Id:_jh.c_255_2011_06_07_19:50:20Z_tp_____n__n__JH_implementation._n__n___LICENSE_BEGIN__n__n__Copyright__c__2007_2010__Projet_RNRT_SAPHIR_n__n__Permission_is_hereby_granted__free_of_charge__to_any_person_obtaining_n__a_copy_of_this_software_and_associated_documentation_files__the_n___Software____to_deal_in_the_Software_without_restriction__including_n__without_limitation_the_rights_to_use__copy__modify__merge__publish__n__distribute__sublicense__and_or_sell_copies_of_the_Software__and_to_n__permit_persons_to_whom_the_Software_is_furnished_to_do_so__subject_to_n__the_following_conditions:_n__n__The_above_copyright_notice_and_this_permission_notice_shall_be_n__included_in_all_copies_or_substantial_portions_of_the_Software._n__n__THE_SOFTWARE_IS_PROVIDED__AS_IS___WITHOUT_WARRANTY_OF_ANY_KIND__n__EXPRESS_OR_IMPLIED__INCLUDING_BUT_NOT_LIMITED_TO_THE_WARRANTIES_OF_n__MERCHANTABILITY__FITNESS_FOR_A_PARTICULAR_PURPOSE_AND_NONINFRINGEMENT._n__IN_NO_EVENT_SHALL_THE_AUTHORS_OR_COPYRIGHT_HOLDERS_BE_LIABLE_FOR_ANY_n__CLAIM__DAMAGES_OR_OTHER_LIABILITY__WHETHER_IN_AN_ACTION_OF_CONTRACT__n__TORT_OR_OTHERWISE__ARISING_FROM__OUT_OF_OR_IN_CONNECTION_WITH_THE_n__SOFTWARE_OR_THE_USE_OR_OTHER_DEALINGS_IN_THE_SOFTWARE._n__n___LICENSE_END__n__n___author___Thomas_Pornin__thomas.pornin_cryptolog.com__n___n_ndefine_SPH_JH_64___1_ndefine_SPH_LITTLE_ENDIAN_1_n_ndefine_SPH_C32_x__tx_ndefine_SPH_C64_x__tx_ntypedef_uint_sph_u32__ntypedef_ulong_sph_u64__n_n__n__The_internal_bitslice_representation_may_use_either_big_endian_or_n__little_endian__true_bitslice_operations_do_not_care_about_the_bit_n__ordering__and_the_bit_swapping_linear_operations_in_JH_happen_to_n__be_invariant_through_endianness_swapping_._The_constants_must_be_n__defined_according_to_the_chosen_endianness__we_use_some_n__byte_swapping_macros_for_that._n___n_nif_SPH_LITTLE_ENDIAN_n_ndefine_C32e_x________SPH_C32_x_____24___n_____________SPH_C32_x______8___SPH_C32_0x0000FF00____n_____________SPH_C32_x______8___SPH_C32_0x00FF0000____n_____________SPH_C32_x_____24___SPH_C32_0xFF000000____ndefine_dec32e_aligned___sph_dec32le_aligned_ndefine_enc32e___________sph_enc32le_n_ndefine_C64e_x________SPH_C64_x_____56___n_____________SPH_C64_x_____40___SPH_C64_0x000000000000FF00____n_____________SPH_C64_x_____24___SPH_C64_0x0000000000FF0000____n_____________SPH_C64_x______8___SPH_C64_0x00000000FF000000____n_____________SPH_C64_x______8___SPH_C64_0x000000FF00000000____n_____________SPH_C64_x_____24___SPH_C64_0x0000FF0000000000____n_____________SPH_C64_x_____40___SPH_C64_0x00FF000000000000____n_____________SPH_C64_x_____56___SPH_C64_0xFF00000000000000____ndefine_dec64e_aligned___sph_dec64le_aligned_ndefine_enc64e___________sph_enc64le_n_nelse_n_ndefine_C32e_x______SPH_C32_x__ndefine_dec32e_aligned___sph_dec32be_aligned_ndefine_enc32e___________sph_enc32be_ndefine_C64e_x______SPH_C64_x__ndefine_dec64e_aligned___sph_dec64be_aligned_ndefine_enc64e___________sph_enc64be_n_nendif_n_ndefine_Sb_x0__x1__x2__x3__c____do___n____x3__x3___n____x0___c___x2___n____tmp___c____x0__x1____n____x0__x2__x3___n____x3__x1__x2___n____x1__x0__x2___n____x2__x0__x3___n____x0__x1__x3___n____x3__x1__x2___n____x1__tmp__x0___n____x2__tmp___n___while__0__n_ndefine_Lb_x0__x1__x2__x3__x4__x5__x6__x7____do___n____x4__x1___n____x5__x2___n____x6__x3__x0___n____x7__x0___n____x0__x5___n____x1__x6___n____x2__x7__x4___n____x3__x4___n___while__0__n_nstatic_const___constant_ulong_C____n_n_t0x67F815DFA2DED572UL__0x571523B70A15847BUL__0xF6875A4D90D6AB81UL__0x402BD1C3C54F9F4EUL__n_t0x9CFA455CE03A98EAUL__0x9A99B26699D2C503UL__0x8A53BBF2B4960266UL__0x31A2DB881A1456B5UL__n_t0xDB0E199A5C5AA303UL__0x1044C1870AB23F40UL__0x1D959E848019051CUL__0xDCCDE75EADEB336FUL__n_t0x416BBF029213BA10UL__0xD027BBF7156578DCUL__0x5078AA3739812C0AUL__0xD3910041D2
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x3d8]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cd9d
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x3d8]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x238]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x258]
test rcx, rcx
je 0x18000cdda
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cdda
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_BLAKE256
lea rcx, [rbp + 0x260]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n__n_blake256_kernel_implementation._n_n__LICENSE_BEGIN__n_Copyright__c__2014_djm34_n_Copyright__c__2014_tpruvot_n_Permission_is_hereby_granted__free_of_charge__to_any_person_obtaining_n_a_copy_of_this_software_and_associated_documentation_files__the_n__Software____to_deal_in_the_Software_without_restriction__including_n_without_limitation_the_rights_to_use__copy__modify__merge__publish__n_distribute__sublicense__and_or_sell_copies_of_the_Software__and_to_n_permit_persons_to_whom_the_Software_is_furnished_to_do_so__subject_to_n_the_following_conditions:_n_n_The_above_copyright_notice_and_this_permission_notice_shall_be_n_included_in_all_copies_or_substantial_portions_of_the_Software._n_n_THE_SOFTWARE_IS_PROVIDED__AS_IS___WITHOUT_WARRANTY_OF_ANY_KIND__n_EXPRESS_OR_IMPLIED__INCLUDING_BUT_NOT_LIMITED_TO_THE_WARRANTIES_OF_n_MERCHANTABILITY__FITNESS_FOR_A_PARTICULAR_PURPOSE_AND_NONINFRINGEMENT._n_IN_NO_EVENT_SHALL_THE_AUTHORS_OR_COPYRIGHT_HOLDERS_BE_LIABLE_FOR_ANY_n_CLAIM__DAMAGES_OR_OTHER_LIABILITY__WHETHER_IN_AN_ACTION_OF_CONTRACT__n_TORT_OR_OTHERWISE__ARISING_FROM__OUT_OF_OR_IN_CONNECTION_WITH_THE_n_SOFTWARE_OR_THE_USE_OR_OTHER_DEALINGS_IN_THE_SOFTWARE._n_n__LICENSE_END__n_n__author___djm34_n__n__constant_static_const_int_sigma_16__16____n_t_t_0__1__2__3__4__5__6__7__8__9__10__11__12__13__14__15___n_t_t_14__10__4__8__9__15__13__6__1__12__0__2__11__7__5__3___n_t_t_11__8__12__0__5__2__15__13__10__14__3__6__7__1__9__4___n_t_t_7__9__3__1__13__12__11__14__2__6__5__10__4__0__15__8___n_t_t_9__0__5__7__2__4__10__15__14__1__11__12__6__8__3__13___n_t_t_2__12__6__10__0__11__8__3__4__13__7__5__15__14__1__9___n_t_t_12__5__1__15__14__13__4__10__0__7__6__3__9__2__8__11___n_t_t_13__11__7__14__12__1__3__9__5__0__15__4__8__6__2__10___n_t_t_6__15__14__9__11__3__0__8__12__2__13__7__1__4__10__5___n_t_t_10__2__8__4__7__6__1__5__15__11__9__14__3__12__13__0___n_t_t_0__1__2__3__4__5__6__7__8__9__10__11__12__13__14__15___n_t_t_14__10__4__8__9__15__13__6__1__12__0__2__11__7__5__3___n_t_t_11__8__12__0__5__2__15__13__10__14__3__6__7__1__9__4___n_t_t_7__9__3__1__13__12__11__14__2__6__5__10__4__0__15__8___n_t_t_9__0__5__7__2__4__10__15__14__1__11__12__6__8__3__13___n_t_t_2__12__6__10__0__11__8__3__4__13__7__5__15__14__1__9__n__n_n_n__constant_static_const_sph_u32__c_IV256_8____n_t0x6A09E667__0xBB67AE85__n_t0x3C6EF372__0xA54FF53A__n_t0x510E527F__0x9B05688C__n_t0x1F83D9AB__0x5BE0CD19_n__n_n__Second_part__64_80__msg_never_change__store_it___n__constant_static_const_sph_u32__c_Padding_16____n_t0__0__0__0__n_t0x80000000__0__0__0__n_t0__0__0__0__n_t0__1__0__640__n__n__constant_static_const_sph_u32__c_u256_16____n_t0x243F6A88__0x85A308D3__n_t0x13198A2E__0x03707344__n_t0xA4093822__0x299F31D0__n_t0x082EFA98__0xEC4E6C89__n_t0x452821E6__0x38D01377__n_t0xBE5466CF__0x34E90C6C__n_t0xC0AC29B7__0xC97C50DD__n_t0x3F84D5B5__0xB5470917_n__n_ndefine_GS_a_b_c_d_x____n_tconst_sph_u32_idx1__sigma_r__x____n_tconst_sph_u32_idx2__sigma_r__x1____n_tv_a____m_idx1___c_u256_idx2____v_b____n_tv_d___v_a____n____v_d___rotate_v_d___16U____n_tv_c___v_d____n____v_b___v_c____n_tv_b___rotate_v_b___20U____n_n_tv_a____m_idx2___c_u256_idx1____v_b____n____v_d___v_a____n_tv_d___rotate_v_d___24U____n_tv_c___v_d____n____v_b___v_c____n_tv_b___rotate_v_b___25U____n_n
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x3f8]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000ce52
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x3f8]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x260]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x280]
test rcx, rcx
je 0x18000ce8f
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000ce8f
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_GROESTL256
lea rcx, [rbp + 0x288]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n___Id:_groestl.c_260_2011_07_21_01:02:38Z_tp_____n__n__Groestl256_n__n___LICENSE_BEGIN__n__Copyright__c__2014_djm34_n__Copyright__c__2007_2010__Projet_RNRT_SAPHIR_n__n__Permission_is_hereby_granted__free_of_charge__to_any_person_obtaining_n__a_copy_of_this_software_and_associated_documentation_files__the_n___Software____to_deal_in_the_Software_without_restriction__including_n__without_limitation_the_rights_to_use__copy__modify__merge__publish__n__distribute__sublicense__and_or_sell_copies_of_the_Software__and_to_n__permit_persons_to_whom_the_Software_is_furnished_to_do_so__subject_to_n__the_following_conditions:_n__n__The_above_copyright_notice_and_this_permission_notice_shall_be_n__included_in_all_copies_or_substantial_portions_of_the_Software._n__n__THE_SOFTWARE_IS_PROVIDED__AS_IS___WITHOUT_WARRANTY_OF_ANY_KIND__n__EXPRESS_OR_IMPLIED__INCLUDING_BUT_NOT_LIMITED_TO_THE_WARRANTIES_OF_n__MERCHANTABILITY__FITNESS_FOR_A_PARTICULAR_PURPOSE_AND_NONINFRINGEMENT._n__IN_NO_EVENT_SHALL_THE_AUTHORS_OR_COPYRIGHT_HOLDERS_BE_LIABLE_FOR_ANY_n__CLAIM__DAMAGES_OR_OTHER_LIABILITY__WHETHER_IN_AN_ACTION_OF_CONTRACT__n__TORT_OR_OTHERWISE__ARISING_FROM__OUT_OF_OR_IN_CONNECTION_WITH_THE_n__SOFTWARE_OR_THE_USE_OR_OTHER_DEALINGS_IN_THE_SOFTWARE._n__n___LICENSE_END__n__n___author___Thomas_Pornin__thomas.pornin_cryptolog.com__n___n_ndefine_SPH_C64_x__tx_ndefine_SPH_ROTL64_x__y__trotate__x____ulong__y___n_n_ndefine_C64e_x________SPH_C64_x_____56___n_______________________SPH_C64_x_____40___SPH_C64_0x000000000000FF00____n_______________________SPH_C64_x_____24___SPH_C64_0x0000000000FF0000____n_______________________SPH_C64_x______8___SPH_C64_0x00000000FF000000____n_______________________SPH_C64_x______8___SPH_C64_0x000000FF00000000____n_______________________SPH_C64_x_____24___SPH_C64_0x0000FF0000000000____n_______________________SPH_C64_x_____40___SPH_C64_0x00FF000000000000____n_______________________SPH_C64_x_____56___SPH_C64_0xFF00000000000000____n_ndefine_B64_0_x_______x___0xFF__ndefine_B64_1_x________x_____8___0xFF__ndefine_B64_2_x________x_____16___0xFF__ndefine_B64_3_x________x_____24___0xFF__ndefine_B64_4_x________x_____32___0xFF__ndefine_B64_5_x________x_____40___0xFF__ndefine_B64_6_x________x_____48___0xFF__ndefine_B64_7_x_______x_____56__ndefine_R64_________SPH_ROTL64_ndefine_PC64_j__r_____sph_u64___j____r____ndefine_QC64_j__r______sph_u64__r_____56______sph_u64__j_____56____n_nstatic_const___constant_ulong_T0_G____n_n_t0xc6a597f4a5f432c6UL__0xf884eb9784976ff8UL__0xee99c7b099b05eeeUL__0xf68df78c8d8c7af6UL__n_t0xff0de5170d17e8ffUL__0xd6bdb7dcbddc0ad6UL__0xdeb1a7c8b1c816deUL__0x915439fc54fc6d91UL__n_t0x6050c0f050f09060UL__0x0203040503050702UL__0xcea987e0a9e02eceUL__0x567dac877d87d156UL__n_t0xe719d52b192bcce7UL__0xb56271a662a613b5UL__0x4de69a31e6317c4dUL__0xec9ac3b59ab559ecUL__n_t0x8f4505cf45cf408fUL__0x1f9d3ebc9dbca31fUL__0x894009c040c04989UL__0xfa87ef92879268faUL__n_t0xef15c53f153fd0efUL__0xb2eb7f26eb2694b2UL__0x8ec90740c940ce8eUL__0xfb0bed1d0b1de6fbUL__n_t0x41ec822fec2f6e41UL__0xb3677da967a91ab3UL__0x5ffdbe1cfd1c435fUL__0x45ea8a25ea256045UL__n_t0x23bf46dabfdaf923UL__0x53f7a602f7025153UL__0xe496d3a196a145e4UL__0x9b5b2ded5bed769bUL__n_t0x75c2ea5dc25d2875UL__0xe11cd9241c24c5e1UL__0x3dae7ae9aee9d43dUL__0x4c6a98be6abef24cUL__n_t0x6c5ad8ee5aee826cUL__0x7e41fcc341c3bd7eUL__0xf502f1060206f3f5UL__0x834f1dd14fd15283UL__n_t0x685cd0e45ce48c68UL__0x51f4a207f4075651UL__0xd134b95c345c8dd1UL__0xf908e9180818e1f9UL__n_t0xe293dfae93ae4ce2UL__0xab734d9573953eabUL__0x6253c4f553f59762UL__0x2a3f54413f416b2aUL__n_t0x080c10140c141c08UL__0x955231f652f66395UL__0x46658caf65afe946UL__0x9d5e21e25ee27f9dUL__n_t0x3028607828784830UL__0x37a16ef8a1f8cf37UL__0x0a0f14110f111b0aUL__0x2fb55ec4b5c4eb2fUL__n_t0x0e091c1b091b150eUL__0x2436485a365a7e24UL__0x1b9b36b69bb6ad1bUL__0xdf3da5473d4798dfUL__n_t0xcd26816a266aa7cdUL__0x4e699cbb69bbf54eUL__0x7fcdfe4ccd4c337fUL__0xea9fcfba9fba50eaUL_
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x418]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cf07
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x418]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x288]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x2a8]
test rcx, rcx
je 0x18000cf44
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cf44
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
mov r8d, esi
lea rdx, str.XMRSTAK_INCLUDE_CN_GPU
lea rcx, [rbp + 0x2b0]
call fcn.1800095b0
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n_ninline_global_int4_scratchpad_ptr_uint_idx__uint_n____global_int_lpad___return____global_int4_____global_char_lpad___idx__MASK___n__16____n_ninline_float4_fma_break_float4_x__n_n_t___Break_the_dependency_chain_by_setitng_the_exp_to______01_n_tx___mm_and_ps_x__0xFEFFFFFF___n_treturn__mm_or_ps_x__0x00800000___n_n_ninline_void_sub_round_float4_n0__float4_n1__float4_n2__float4_n3__float4_rnd_c__float4_n__float4_d__float4_c__n_n_tn1___mm_add_ps_n1__c___n_tfloat4_nn___mm_mul_ps_n0__c___n_tnn___mm_mul_ps_n1___mm_mul_ps_nn_nn____n_tnn__fma_break_nn___n_tn___mm_add_ps_n__nn___n_n_tn3___mm_sub_ps_n3__c___n_tfloat4_dd___mm_mul_ps_n2__c___n_tdd___mm_mul_ps_n3___mm_mul_ps_dd_dd____n_tdd__fma_break_dd___n_td___mm_add_ps_d__dd___n_n_t__Constant_feedback_n_tc___mm_add_ps_c__rnd_c___n_tc___mm_add_ps_c___float4__0.734375f____n_tfloat4_r___mm_add_ps_nn__dd___n_tr___mm_and_ps_r__0x807FFFFF___n_tr___mm_or_ps_r__0x40000000___n_tc___mm_add_ps_c__r___n_n_n_n___98__2__74_ninline_void_round_compute_float4_n0__float4_n1__float4_n2__float4_n3__float4_rnd_c__float4_c__float4_r__n_n_tfloat4_n___float4__0.0f___n_tfloat4_d___float4__0.0f___n_n_tsub_round_n0__n1__n2__n3__rnd_c__n__d__c___n_tsub_round_n1__n2__n3__n0__rnd_c__n__d__c___n_tsub_round_n2__n3__n0__n1__rnd_c__n__d__c___n_tsub_round_n3__n0__n1__n2__rnd_c__n__d__c___n_tsub_round_n3__n2__n1__n0__rnd_c__n__d__c___n_tsub_round_n2__n1__n0__n3__rnd_c__n__d__c___n_tsub_round_n1__n0__n3__n2__rnd_c__n__d__c___n_tsub_round_n0__n3__n2__n1__rnd_c__n__d__c___n_n_t___Make_sure_abs_d____2.0___this_prevents_division_by_zero_and_accidental_overflows_by_division_by___1.0_n_td___mm_and_ps_d__0xFF7FFFFF___n_td___mm_or_ps_d__0x40000000___n_tr__mm_add_ps_r___mm_div_ps_n_d____n_n_ninline_int4_single_comupte_float4_n0__float4_n1__float4_n2__float4_n3__float_cnt__float4_rnd_c____local_float4_sum__n_n_tfloat4_c__float4__cnt___n_t___35_maths_calls_follow__140_FLOPS__n_tfloat4_r___float4__0.0f___n_n_tfor_int_i__0__i___4__i__n_t_tround_compute_n0__n1__n2__n3__rnd_c__c__r___n_n_t___do_a_quick_fmod_by_setting_exp_to_2_n_tr___mm_and_ps_r__0x807FFFFF___n_tr___mm_or_ps_r__0x40000000___n_tsum__r_____34_n_tfloat4_x___float4__536870880.0f___n_tr___mm_mul_ps_r__x______35_n_treturn_convert_int4_rte_r___n_n_ninline_void_single_comupte_wrap_const_uint_rot__int4_v0__int4_v1__int4_v2__int4_v3__float_cnt__float4_rnd_c____local_float4_sum____local_int4_out__n_n_tfloat4_n0__convert_float4_rte_v0___n_tfloat4_n1__convert_float4_rte_v1___n_tfloat4_n2__convert_float4_rte_v2___n_tfloat4_n3__convert_float4_rte_v3___n_n_tint4_r__single_comupte_n0__n1__n2__n3__cnt__rnd_c__sum___n_tout__rot__0___r_:__mm_alignr_epi8_r__rot___n_n_n_n_nstatic_const___constant_uint_look_16__4____n_t0__1__2__3__n_t0__2__3__1__n_t0__3__1__2__n_t0__3__2__1__n_n_t1__0__2__3__n_t1__2__3__0__n_t1__3__0__2__n_t1__3__2__0__n_n_t2__1__0__3__n_t2__0__3__1__n_t2__3__1__0__n_t2__3__0__1__n_n_t3__1__2__0__n_t3__2__0__1__n_t3__0__1__2__n_t3__0__2__1_n__n_nstatic_const___constant_float_ccnt_16____n_t1.34375f__n_t1.28125f__n_t1.359375f__n_t1.3671875f__n_n_t1.4296875f__n_t1.3984375f__n_t1.3828125f__n_t1.3046875f__n_n_t1.4140625f__n_t1.2734375f__n_t1.2578125f__n_t1.2890625f__n_n_t1.3203125f__n_t1.3515625f__n_t1.3359375f__n_t1.4609375f_n__n_nstruct_SharedMemChunk_n_n_tint4_out_16___n_tfloat4_va_16___n__n_n__attribute____reqd_work_group_size_WORKSIZE__16__1__1____n__kernel_void_JOIN_cn1_cn_gpu_ALGO____global_int_lpad_in____global_int_spad__uint_numThreads__n_n_tconst_uint_gIdx__getIdx____n_nif_COMP_MODE1__n_tif_gIdx_16___numThreads__n_t_treturn__nendif_n_n_tuint_chunk__get_local_id_0____16__n_nif_STRIDED_INDEX0__n_t__global_int_lpad_____global_int_____global_char_lpad_in__MEMORY___gIdx_16____nendif_n_n_t__local_struct_SharedMemChunk_smem_in_WORKSIZE___n_t__local_struct_SharedMemChunk_smem__smem_in__chunk__n_n_tuint_tid__get_local_id_0____16__n_n_tuint_idxHash__gIdx_16__n_tuint_s______global_uint_spad__idxHash__50
mov r8, rax
lea rdx, [rbp + 0x2f8]
lea rcx, [rbp + 0x438]
call fcn.180008c80
mov rbx, rax
lea rax, [rbp + 0x2f8]
cmp rax, rbx
je 0x18000cfbc
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x2f8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x308], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
lea rcx, [rbp + 0x438]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x2b0]
call fcn.180014dd0
nop
mov rcx, qword [rbp + 0x2d0]
test rcx, rcx
je 0x18000cff9
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18000cff9
mov r8, qword [rax]
mov edx, esi
mov rcx, rax
call qword [r8]
nop
call fcn.180018240
lea rdx, [rax + 0x1c8]
lea rcx, [rbp + 0x378]
call fcn.1800096d0
nop
lea rdx, [rbp + 0x378]
lea rcx, [rbp + 0x2d8]
call fcn.1800096d0
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000d035
mov rcx, qword [rax]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
mov rcx, rbx
call fcn.18000aa70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
lea r9, [rbp]
lea r8, [rbp + 0x88]
mov rdx, r13
lea rcx, [rbp + 0x30]
call fcn.180009c90
nop
mov rcx, qword [rbp + 0x90]
test rcx, rcx
je 0x18000d0ac
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18000d0ac
mov rbx, qword [rbp + 0x90]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18000d0ac
mov rcx, qword [rbp + 0x90]
mov rax, qword [rcx]
call qword [rax + 8]
mov r13d, r14d
cmp qword [rbp + 0x20], r13
jbe 0x18000d3db
mov qword [rbp + 0x10], r14
lea r12, [r15 + 0x100]
mov esi, 2
movzx ebx, byte [rbp]
movsd xmm6, qword [0x180071c68]
xor ecx, ecx
call fcn.1800181b0
mov rdi, rax
mov rcx, qword [rax]
test rcx, rcx
jne 0x18000d14b
lea r14, [rax + 0x28]
mov qword [rbp + 0x1b0], r14
mov rcx, r14
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
je 0x18000d105
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
mov byte [rbp + 0x1b8], 1
cmp qword [rdi], 0
jne 0x18000d134
mov ecx, 0x60
call fcn.1800505e0
mov qword [rbp + 0x178], rax
test rax, rax
je 0x18000d131
mov rcx, rax
call fcn.1800293c0
nop
mov qword [rdi], rax
mov rcx, r14
call sub.MSVCP140.dll__Mtx_unlock
test eax, eax
je 0x18000d148
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
mov rcx, qword [rdi]
mov r9, qword [r12 - 0x100]
lea r8, str.OpenCL_Init_device__d
mov edx, 0xa
call fcn.180029410
mov r15, qword [r12 - 0x100]
mov rax, qword [rbp + 0x38]
sub rax, qword [rbp + 0x30]
sar rax, 4
cmp rax, r15
ja 0x18000d204
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x150], xmm0
lea rax, [rbp + 0x30]
mov qword [rbp + 0x160], rax
lea rax, [rbp + 0x150]
mov qword [rbp + 0x168], rax
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x1a0], xmm0
lea rdx, [r15 + 1]
lea r8, [rbp + 0x1a0]
lea rcx, [rbp + 0x30]
call fcn.180006b50
nop
mov rdi, qword [rbp + 0x158]
test rdi, rdi
je 0x18000d204
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18000d204
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18000d204
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
add r15, r15
mov rax, qword [rbp + 0x30]
cmp qword [rax + r15*8], 0
jne 0x18000d2d7
mov ecx, 0x78
call fcn.1800505e0
mov r14, rax
mov qword [rbp + 0x78], rax
test rax, rax
je 0x18000d258
mov edx, esi
mov rcx, rax
call sub.MSVCP140.dll__Mtx_init_in_situ
movabs rax, 0x3fd999999999999a
mov qword [r14 + 0x50], rax
mov qword [r14 + 0x58], rax
xor eax, eax
mov qword [r14 + 0x60], rax
mov qword [r14 + 0x68], rax
mov dword [r14 + 0x70], eax
jmp 0x18000d25b
xor r14d, r14d
mov rdi, qword [rbp + 0x30]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x78], xmm0
movzx r8d, bl
mov rdx, r14
lea rcx, [rbp + 0x78]
call fcn.180007300
mov rax, qword [rbp + 0x78]
mov qword [rdi + r15*8], rax
mov r14, qword [rdi + r15*8 + 8]
mov rax, qword [rbp + 0x80]
mov qword [rdi + r15*8 + 8], rax
test r14, r14
je 0x18000d2c6
mov eax, 0xffffffff
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x18000d2c6
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x18000d2c6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
mov rax, qword [rbp + 0x30]
mov rdi, qword [rax + r15*8]
call fcn.180017e30
mov qword [rdi + 0x68], rax
mov rdx, qword [rbp + 0x30]
mov rax, qword [rdx + r15*8]
mov ecx, dword [rax + 0x70]
mov dword [r12 + 8], ecx
mov rax, qword [rdx + r15*8]
inc dword [rax + 0x70]
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax + r15*8 + 8]
test rcx, rcx
je 0x18000d305
lock inc dword [rcx + 8]
mov rcx, qword [rax + r15*8 + 8]
mov rax, qword [rax + r15*8]
mov qword [r12 - 8], rax
mov rdi, qword [r12]
mov qword [r12], rcx
test rdi, rdi
je 0x18000d34a
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x18000d34a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x18000d34a
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rax, qword [r12 - 8]
movd xmm0, dword [r12 + 0xc]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm6
movsd qword [rax + 0x50], xmm0
mov rcx, qword [r12 - 8]
mov rax, qword [rcx + 0x50]
mov qword [rcx + 0x58], rax
mov rax, qword [rbp + 0xa0]
mov qword [r12 - 0x78], rax
lea r8, [rbp + 0x2f8]
cmp qword [rbp + 0x310], 0x10
cmovae r8, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x10]
lea rdx, [rax + rax*8]
shl rdx, 5
mov r15, qword [rbp + 0x18]
add rdx, r15
mov rcx, qword [r15 + 0x88]
call fcn.18000d480
mov dword [rbp + 4], eax
test eax, eax
jne 0x18000d474
inc r13d
add r12, 0x120
movsxd r14, r13d
mov qword [rbp + 0x10], r14
cmp r14, qword [rbp + 0x20]
jb 0x18000d0d5
xor r14d, r14d
mov rsi, r14
lea rcx, [rbp + 0x30]
call fcn.180014eb0
nop
lea rcx, [rbp + 0x378]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x2f8]
call fcn.18000aa70
nop
lea rcx, [rbp + 0x180]
call fcn.18000ad40
nop
lea rcx, [rbp + 0x318]
call fcn.18000aa70
nop
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x18000d441
mov r8, qword [rbp + 0xb8]
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0xa8]
call fcn.1800159f0
mov rax, rsi
mov rcx, qword [rbp + 0x458]
xor rcx, rbp
call fcn.1800507a0
mov rbx, qword [rbp + 0x4c8]
movaps xmm6, xmmword [rbp + 0x460]
lea rsp, [rbp + 0x470]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd rsi, eax
jmp 0x18000d3de