Function at 0x18002d150
Capabilities:
Create directory

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4b0
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x1d0], 0xfffffffffffffffe
mov qword [rbp + 0x4d8], rbx
movaps xmmword [rbp + 0x470], xmm6
mov rax, qword [0x1800aad48]
xor rax, rbp
mov qword [rbp + 0x468], rax
mov r14, r8
mov qword [rbp + 0xb0], rdx
mov qword [rbp + 0x28], rcx
xor r13d, r13d
mov dword [rbp + 8], r13d
lea r8, [rbp + 0x10]
xor edx, edx
xor ecx, ecx
call sub.OpenCL.dll_clGetPlatformIDs
mov dword [rbp], eax
test eax, eax
je 0x18002d1eb
mov ecx, eax
call fcn.180037370
mov rbx, rax
call fcn.1800393a0
lea r8, str.Error__s_when_calling_clGetPlatformIDs_for_number_of_platforms.
mov r9, rbx
mov rcx, rax
mov edx, 1
call fcn.180047d30
mov eax, 2
jmp 0x18002e14c
mov ecx, dword [rbp + 0x10]
cmp rcx, r14
ja 0x18002d219
call fcn.1800393a0
mov rcx, rax
mov r9, r14
lea r8, str.Selected_OpenCL_platform_index__d_doesnt_exist.
mov edx, 1
call fcn.180047d30
mov eax, 1
jmp 0x18002e14c
lea rax, [rcx*8]
lea rdx, [rax + 0xf]
movabs r8, 0xffffffffffffff0
cmp rdx, rax
ja 0x18002d237
mov rdx, r8
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.18005ac30
sub rsp, rdx
lea r15, [rsp + 0x30]
xor r8d, r8d
mov rdx, r15
call sub.OpenCL.dll_clGetPlatformIDs
mov dword [rbp], eax
test eax, eax
je 0x18002d278
mov ecx, eax
call fcn.180037370
mov rbx, rax
call fcn.1800393a0
lea r8, str.Error__s_when_calling_clGetPlatformIDs_for_platform_ID_information.
jmp 0x18002d1d1
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x903
mov rcx, qword [r15 + r14*8]
call sub.OpenCL.dll_clGetPlatformInfo
lea r8, [rbp + 0x23]
mov rdx, qword [rbp + 0xa8]
lea rcx, [rbp + 0x1b8]
call fcn.18002a8d0
nop
mov qword [rsp + 0x20], 0
mov rbx, qword [rbp + 0x1b8]
mov r9, rbx
mov r8, qword [rbp + 0xa8]
mov edx, 0x903
mov rcx, qword [r15 + r14*8]
call sub.OpenCL.dll_clGetPlatformInfo
movdqa xmm0, xmmword [0x18008c410]
movdqu xmmword [rbp + 0x3b0], xmm0
mov byte [rbp + 0x3a0], 0
or r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rbx + r8], 0
jne 0x18002d2f6
mov rdx, rbx
lea rcx, [rbp + 0x3a0]
call fcn.180036b30
nop
call fcn.1800392a0
lea rcx, [rax + 0x88]
cmp qword [rax + 0xa0], 0x10
jb 0x18002d32d
mov rcx, qword [rax + 0x88]
cmp qword [rax + 0x98], 3
jne 0x18002d436
movzx eax, byte [rcx]
cmp al, byte [0x180061e1c]
jne 0x18002d362
movzx eax, byte [rcx + 1]
cmp al, byte [0x180061e1d]
jne 0x18002d362
movzx eax, byte [rcx + 2]
cmp al, byte [0x180061e1e]
jne 0x18002d362
xor eax, eax
jmp 0x18002d367
sbb eax, eax
or eax, 1
test eax, eax
jne 0x18002d436
lea rdi, [rbp + 0x3a0]
cmp qword [rbp + 0x3b8], 0x10
cmovae rdi, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3b0]
cmp rax, 0x16
jb 0x18002d403
lea rsi, [rdi + rax]
lea r8, [rsi - 0x15]
sub r8, rdi
mov edx, 0x41
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x18002d403
nop dword [rax]
nop word [rax + rax]
mov r8d, 0x16
lea rdx, str.Advanced_Micro_Devices
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18002d3fa
inc rbx
lea r8, [rsi - 0x15]
sub r8, rbx
mov edx, 0x41
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x18002d3c0
jmp 0x18002d403
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x18002d436
lea rbx, [rbp + 0x3a0]
cmp qword [rbp + 0x3b8], 0x10
cmovae rbx, qword [rbp + 0x3a0]
call fcn.1800393a0
mov rcx, rax
mov r9, rbx
lea r8, str.WARNING:_using_non_AMD_device:__s
mov edx, 1
call fcn.180047d30
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 4]
mov rcx, qword [r15 + r14*8]
call sub.OpenCL.dll_clGetDeviceIDs
mov dword [rbp], eax
test eax, eax
je 0x18002d474
mov ecx, eax
call fcn.180037370
mov rbx, rax
call fcn.1800393a0
lea r8, str.Error__s_when_calling_clGetDeviceIDs_for_number_of_devices.
jmp 0x18002d53a
xor edx, edx
mov edi, dword [rbp + 0x10]
mov rsi, qword [rbp + 0xb0]
test rsi, rsi
je 0x18002d4d2
mov rcx, qword [rbp + 0x28]
nop dword [rax]
mov rbx, qword [rcx]
cmp rbx, rdi
jae 0x18002d4ab
inc edx
add rcx, 0x2a8
movsxd rax, edx
cmp rax, rsi
jb 0x18002d490
jmp 0x18002d4d2
call fcn.1800393a0
mov rcx, rax
mov r9, rbx
lea r8, str.Selected_OpenCL_device_index__lu_doesnt_exist._n
mov edx, 1
call fcn.180047d30
mov r15d, 1
jmp 0x18002e130
mov rax, rdi
shl rax, 3
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x18002d4ec
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.18005ac30
sub rsp, rcx
lea rbx, [rsp + 0x30]
mov qword [rsp + 0x20], 0
mov r9, rbx
mov r8d, edi
mov edx, 4
mov rcx, qword [r15 + r14*8]
call sub.OpenCL.dll_clGetDeviceIDs
mov dword [rbp], eax
test eax, eax
je 0x18002d555
mov ecx, eax
call fcn.180037370
mov rbx, rax
call fcn.1800393a0
lea r8, str.Error__s_when_calling_clGetDeviceIDs_for_device_ID_information.
mov r9, rbx
mov rcx, rax
mov edx, 1
call fcn.180047d30
mov r15d, 2
jmp 0x18002e130
xor r14d, r14d
mov qword [rbp + 0xe8], r14
lea r9, [rbp + 0x20]
lea r8, [rbp + 0xe8]
mov rdx, rsi
lea rcx, [rbp + 0x1a0]
call fcn.18002aba0
nop
call fcn.1800393a0
mov rcx, rax
mov r9d, dword [rbp + 0x10]
lea r8, str.Number_of_OpenCL_GPUs__d
lea edx, [r14 + 0xa]
call fcn.180047d30
mov r10d, r14d
mov r8, qword [rbp + 0x1a0]
mov r15, qword [rbp + 0x28]
test rsi, rsi
je 0x18002d5d8
mov r9, r8
mov rdx, r15
nop
mov rcx, qword [rdx]
mov rax, qword [rbx + rcx*8]
mov qword [rdx + 0x30], rax
mov rax, qword [rbx + rcx*8]
mov qword [r9], rax
inc r10d
lea rdx, [rdx + 0x2a8]
lea r9, [r9 + 8]
movsxd rax, r10d
cmp rax, rsi
jb 0x18002d5b0
lea rax, [rbp]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov edx, esi
xor ecx, ecx
call sub.OpenCL.dll_clCreateContext
mov qword [rbp + 0xf0], rax
mov ecx, dword [rbp]
test ecx, ecx
je 0x18002d62f
call fcn.180037370
mov rbx, rax
call fcn.1800393a0
mov rcx, rax
mov r9, rbx
lea r8, str.Error__s_when_calling_clCreateContext.
mov edx, 1
call fcn.180047d30
mov r15d, 2
jmp 0x18002e123
call fcn.1800391a0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x1e8], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rbp + 0x1f8], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rbp + 0x208], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rbp + 0x218], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rbp + 0x228], xmm0
movsd xmm1, qword [rax + 0x70]
movsd qword [rbp + 0x238], xmm1
lea rdx, [rbp + 0x188]
lea rcx, [rbp + 0x1e8]
call fcn.18002cf70
nop
mov rax, qword [rbp + 0x188]
movups xmm2, xmmword [rax]
movups xmmword [rbp + 0x3c0], xmm2
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x3d0], xmm1
mov qword [rbp + 0x390], r14
mov qword [rbp + 0x398], 0xf
mov byte [rbp + 0x380], 0
movq rax, xmm2
shr rax, 0x20
cmp eax, 3
jne 0x18002d6de
mov r8d, 0xcdf
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__Dataset_base_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_DATASET_BASE_SIZE__2147483648_n_n__Dataset_extra_size._Must_be_divisible_by_64._ndefine_RANDOMX_DATASET_EXTRA_SIZE_33554368_n_n__Scratchpad_L3_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_SCRATCHPAD_L3______1048576_n_n__Scratchpad_L2_size_in_bytes._Must_be_a_power_of_two_and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L3._ndefine_RANDOMX_SCRATCHPAD_L2______131072_n_n__Scratchpad_L1_size_in_bytes._Must_be_a_power_of_two__minimum_64__and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L2._ndefine_RANDOMX_SCRATCHPAD_L1______16384_n_n__Jump_condition_mask_size_in_bits._ndefine_RANDOMX_JUMP_BITS__________8_n_n__Jump_condition_mask_offset_in_bits._The_sum_of_RANDOMX_JUMP_BITS_and_RANDOMX_JUMP_OFFSET_must_not_exceed_16._ndefine_RANDOMX_JUMP_OFFSET________8_n_n__Integer_instructions_ndefine_RANDOMX_FREQ_IADD_RS_______25_ndefine_RANDOMX_FREQ_IADD_M_________7_ndefine_RANDOMX_FREQ_ISUB_R________16_ndefine_RANDOMX_FREQ_ISUB_M_________7_ndefine_RANDOMX_FREQ_IMUL_R________16_ndefine_RANDOMX_FREQ_IMUL_M_________4_ndefine_RANDOMX_FREQ_IMULH_R________4_ndefine_RANDOMX_FREQ_IMULH_M________1_ndefine_RANDOMX_FREQ_ISMULH_R_______4_ndefine_RANDOMX_FREQ_ISMULH_M_______1_ndefine_RANDOMX_FREQ_IMUL_RCP_______8_ndefine_RANDOMX_FREQ_INEG_R_________2_ndefine_RANDOMX_FREQ_IXOR_R________15_ndefine_RANDOMX_FREQ_IXOR_M_________5_ndefine_RANDOMX_FREQ_IROR_R________10_ndefine_RANDOMX_FREQ_IROL_R_________0_ndefine_RANDOMX_FREQ_ISWAP_R________4_n_n__Floating_point_instructions_ndefine_RANDOMX_FREQ_FSWAP_R________8_ndefine_RANDOMX_FREQ_FADD_R________20_ndefine_RANDOMX_FREQ_FADD_M_________5_ndefine_RANDOMX_FREQ_FSUB_R________20_ndefine_RANDOMX_FREQ_FSUB_M_________5_ndefine_RANDOMX_FREQ_FSCAL_R________6_ndefine_RANDOMX_FREQ_FMUL_R________20_ndefine_RANDOMX_FREQ_FDIV_M_________4_ndefine_RANDOMX_FREQ_FSQRT_R________6_n_n__Control_instructions_ndefine_RANDOMX_FREQ_CBRANCH_______16_ndefine_RANDOMX_FREQ_CFROUND________1_n_n__Store_instruction_ndefine_RANDOMX_FREQ_ISTORE________16_n_n__No_op_instruction_ndefine_RANDOMX_FREQ_NOP____________0_n_ndefine_RANDOMX_DATASET_ITEM_SIZE_64_n_ndefine_RANDOMX_PROGRAM_SIZE_256_n_ndefine_HASH_SIZE_64_ndefine_ENTROPY_SIZE__128__RANDOMX_PROGRAM_SIZE__8__ndefine_REGISTERS_SIZE_256_ndefine_IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4___REGISTERS_SIZE__ndefine_IMM_INDEX_COUNT___IMM_BUF_SIZE___4____2__ndefine_VM_STATE_SIZE__REGISTERS_SIZE__IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4__ndefine_ROUNDING_MODE__RANDOMX_FREQ_CFROUND____1_:_0__n_n___Scratchpad_L1_L2_L3_bits_ndefine_LOC_L1__32___14__ndefine_LOC_L2__32___17__ndefine_LOC_L3__32___20__n
jmp 0x18002d71e
mov eax, dword [rbp + 0x3c4]
cmp eax, 2
jne 0x18002d6f8
mov r8d, 0xcdf
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__Dataset_base_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_DATASET_BASE_SIZE__2147483648_n_n__Dataset_extra_size._Must_be_divisible_by_64._ndefine_RANDOMX_DATASET_EXTRA_SIZE_33554368_n_n__Scratchpad_L3_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_SCRATCHPAD_L3______2097152_n_n__Scratchpad_L2_size_in_bytes._Must_be_a_power_of_two_and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L3._ndefine_RANDOMX_SCRATCHPAD_L2______262144_n_n__Scratchpad_L1_size_in_bytes._Must_be_a_power_of_two__minimum_64__and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L2._ndefine_RANDOMX_SCRATCHPAD_L1______16384_n_n__Jump_condition_mask_size_in_bits._ndefine_RANDOMX_JUMP_BITS__________8_n_n__Jump_condition_mask_offset_in_bits._The_sum_of_RANDOMX_JUMP_BITS_and_RANDOMX_JUMP_OFFSET_must_not_exceed_16._ndefine_RANDOMX_JUMP_OFFSET________8_n_n__Integer_instructions_ndefine_RANDOMX_FREQ_IADD_RS_______25_ndefine_RANDOMX_FREQ_IADD_M_________7_ndefine_RANDOMX_FREQ_ISUB_R________16_ndefine_RANDOMX_FREQ_ISUB_M_________7_ndefine_RANDOMX_FREQ_IMUL_R________16_ndefine_RANDOMX_FREQ_IMUL_M_________4_ndefine_RANDOMX_FREQ_IMULH_R________4_ndefine_RANDOMX_FREQ_IMULH_M________1_ndefine_RANDOMX_FREQ_ISMULH_R_______4_ndefine_RANDOMX_FREQ_ISMULH_M_______1_ndefine_RANDOMX_FREQ_IMUL_RCP_______8_ndefine_RANDOMX_FREQ_INEG_R_________2_ndefine_RANDOMX_FREQ_IXOR_R________15_ndefine_RANDOMX_FREQ_IXOR_M_________5_ndefine_RANDOMX_FREQ_IROR_R_________8_ndefine_RANDOMX_FREQ_IROL_R_________2_ndefine_RANDOMX_FREQ_ISWAP_R________4_n_n__Floating_point_instructions_ndefine_RANDOMX_FREQ_FSWAP_R________4_ndefine_RANDOMX_FREQ_FADD_R________16_ndefine_RANDOMX_FREQ_FADD_M_________5_ndefine_RANDOMX_FREQ_FSUB_R________16_ndefine_RANDOMX_FREQ_FSUB_M_________5_ndefine_RANDOMX_FREQ_FSCAL_R________6_ndefine_RANDOMX_FREQ_FMUL_R________32_ndefine_RANDOMX_FREQ_FDIV_M_________4_ndefine_RANDOMX_FREQ_FSQRT_R________6_n_n__Control_instructions_ndefine_RANDOMX_FREQ_CBRANCH_______16_ndefine_RANDOMX_FREQ_CFROUND________1_n_n__Store_instruction_ndefine_RANDOMX_FREQ_ISTORE________16_n_n__No_op_instruction_ndefine_RANDOMX_FREQ_NOP____________0_n_ndefine_RANDOMX_DATASET_ITEM_SIZE_64_n_ndefine_RANDOMX_PROGRAM_SIZE_320_n_ndefine_HASH_SIZE_64_ndefine_ENTROPY_SIZE__128__RANDOMX_PROGRAM_SIZE__8__ndefine_REGISTERS_SIZE_256_ndefine_IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4___REGISTERS_SIZE__ndefine_IMM_INDEX_COUNT___IMM_BUF_SIZE___4____2__ndefine_VM_STATE_SIZE__REGISTERS_SIZE__IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4__ndefine_ROUNDING_MODE__RANDOMX_FREQ_CFROUND____1_:_0__n_n___Scratchpad_L1_L2_L3_bits_ndefine_LOC_L1__32___14__ndefine_LOC_L2__32___18__ndefine_LOC_L3__32___21__n
jmp 0x18002d71e
cmp eax, 1
jne 0x18002d70c
mov r8d, 0xcdf
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__Dataset_base_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_DATASET_BASE_SIZE__2147483648_n_n__Dataset_extra_size._Must_be_divisible_by_64._ndefine_RANDOMX_DATASET_EXTRA_SIZE_33554368_n_n__Scratchpad_L3_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_SCRATCHPAD_L3______2097152_n_n__Scratchpad_L2_size_in_bytes._Must_be_a_power_of_two_and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L3._ndefine_RANDOMX_SCRATCHPAD_L2______262144_n_n__Scratchpad_L1_size_in_bytes._Must_be_a_power_of_two__minimum_64__and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L2._ndefine_RANDOMX_SCRATCHPAD_L1______16384_n_n__Jump_condition_mask_size_in_bits._ndefine_RANDOMX_JUMP_BITS__________8_n_n__Jump_condition_mask_offset_in_bits._The_sum_of_RANDOMX_JUMP_BITS_and_RANDOMX_JUMP_OFFSET_must_not_exceed_16._ndefine_RANDOMX_JUMP_OFFSET________8_n_n__Integer_instructions_ndefine_RANDOMX_FREQ_IADD_RS_______16_ndefine_RANDOMX_FREQ_IADD_M_________7_ndefine_RANDOMX_FREQ_ISUB_R________16_ndefine_RANDOMX_FREQ_ISUB_M_________7_ndefine_RANDOMX_FREQ_IMUL_R________16_ndefine_RANDOMX_FREQ_IMUL_M_________4_ndefine_RANDOMX_FREQ_IMULH_R________4_ndefine_RANDOMX_FREQ_IMULH_M________1_ndefine_RANDOMX_FREQ_ISMULH_R_______4_ndefine_RANDOMX_FREQ_ISMULH_M_______1_ndefine_RANDOMX_FREQ_IMUL_RCP_______8_ndefine_RANDOMX_FREQ_INEG_R_________2_ndefine_RANDOMX_FREQ_IXOR_R________15_ndefine_RANDOMX_FREQ_IXOR_M_________5_ndefine_RANDOMX_FREQ_IROR_R_________8_ndefine_RANDOMX_FREQ_IROL_R_________2_ndefine_RANDOMX_FREQ_ISWAP_R________4_n_n__Floating_point_instructions_ndefine_RANDOMX_FREQ_FSWAP_R________4_ndefine_RANDOMX_FREQ_FADD_R________16_ndefine_RANDOMX_FREQ_FADD_M_________5_ndefine_RANDOMX_FREQ_FSUB_R________16_ndefine_RANDOMX_FREQ_FSUB_M_________5_ndefine_RANDOMX_FREQ_FSCAL_R________6_ndefine_RANDOMX_FREQ_FMUL_R________32_ndefine_RANDOMX_FREQ_FDIV_M_________4_ndefine_RANDOMX_FREQ_FSQRT_R________6_n_n__Control_instructions_ndefine_RANDOMX_FREQ_CBRANCH_______25_ndefine_RANDOMX_FREQ_CFROUND________1_n_n__Store_instruction_ndefine_RANDOMX_FREQ_ISTORE________16_n_n__No_op_instruction_ndefine_RANDOMX_FREQ_NOP____________0_n_ndefine_RANDOMX_DATASET_ITEM_SIZE_64_n_ndefine_RANDOMX_PROGRAM_SIZE_256_n_ndefine_HASH_SIZE_64_ndefine_ENTROPY_SIZE__128__RANDOMX_PROGRAM_SIZE__8__ndefine_REGISTERS_SIZE_256_ndefine_IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4___REGISTERS_SIZE__ndefine_IMM_INDEX_COUNT___IMM_BUF_SIZE___4____2__ndefine_VM_STATE_SIZE__REGISTERS_SIZE__IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4__ndefine_ROUNDING_MODE__RANDOMX_FREQ_CFROUND____1_:_0__n_n___Scratchpad_L1_L2_L3_bits_ndefine_LOC_L1__32___14__ndefine_LOC_L2__32___18__ndefine_LOC_L3__32___21__n
jmp 0x18002d71e
cmp eax, 4
jne 0x18002d72a
mov r8d, 0xcde
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__Dataset_base_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_DATASET_BASE_SIZE__2147483648_n_n__Dataset_extra_size._Must_be_divisible_by_64._ndefine_RANDOMX_DATASET_EXTRA_SIZE_33554368_n_n__Scratchpad_L3_size_in_bytes._Must_be_a_power_of_2._ndefine_RANDOMX_SCRATCHPAD_L3______262144_n_n__Scratchpad_L2_size_in_bytes._Must_be_a_power_of_two_and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L3._ndefine_RANDOMX_SCRATCHPAD_L2______131072_n_n__Scratchpad_L1_size_in_bytes._Must_be_a_power_of_two__minimum_64__and_less_than_or_equal_to_RANDOMX_SCRATCHPAD_L2._ndefine_RANDOMX_SCRATCHPAD_L1______16384_n_n__Jump_condition_mask_size_in_bits._ndefine_RANDOMX_JUMP_BITS__________8_n_n__Jump_condition_mask_offset_in_bits._The_sum_of_RANDOMX_JUMP_BITS_and_RANDOMX_JUMP_OFFSET_must_not_exceed_16._ndefine_RANDOMX_JUMP_OFFSET________8_n_n__Integer_instructions_ndefine_RANDOMX_FREQ_IADD_RS_______16_ndefine_RANDOMX_FREQ_IADD_M_________7_ndefine_RANDOMX_FREQ_ISUB_R________16_ndefine_RANDOMX_FREQ_ISUB_M_________7_ndefine_RANDOMX_FREQ_IMUL_R________16_ndefine_RANDOMX_FREQ_IMUL_M_________4_ndefine_RANDOMX_FREQ_IMULH_R________4_ndefine_RANDOMX_FREQ_IMULH_M________1_ndefine_RANDOMX_FREQ_ISMULH_R_______4_ndefine_RANDOMX_FREQ_ISMULH_M_______1_ndefine_RANDOMX_FREQ_IMUL_RCP_______8_ndefine_RANDOMX_FREQ_INEG_R_________2_ndefine_RANDOMX_FREQ_IXOR_R________15_ndefine_RANDOMX_FREQ_IXOR_M_________5_ndefine_RANDOMX_FREQ_IROR_R_________8_ndefine_RANDOMX_FREQ_IROL_R_________2_ndefine_RANDOMX_FREQ_ISWAP_R________4_n_n__Floating_point_instructions_ndefine_RANDOMX_FREQ_FSWAP_R________4_ndefine_RANDOMX_FREQ_FADD_R________16_ndefine_RANDOMX_FREQ_FADD_M_________5_ndefine_RANDOMX_FREQ_FSUB_R________16_ndefine_RANDOMX_FREQ_FSUB_M_________5_ndefine_RANDOMX_FREQ_FSCAL_R________6_ndefine_RANDOMX_FREQ_FMUL_R________32_ndefine_RANDOMX_FREQ_FDIV_M_________4_ndefine_RANDOMX_FREQ_FSQRT_R________6_n_n__Control_instructions_ndefine_RANDOMX_FREQ_CBRANCH_______25_ndefine_RANDOMX_FREQ_CFROUND________1_n_n__Store_instruction_ndefine_RANDOMX_FREQ_ISTORE________16_n_n__No_op_instruction_ndefine_RANDOMX_FREQ_NOP____________0_n_ndefine_RANDOMX_DATASET_ITEM_SIZE_64_n_ndefine_RANDOMX_PROGRAM_SIZE_256_n_ndefine_HASH_SIZE_64_ndefine_ENTROPY_SIZE__128__RANDOMX_PROGRAM_SIZE__8__ndefine_REGISTERS_SIZE_256_ndefine_IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4___REGISTERS_SIZE__ndefine_IMM_INDEX_COUNT___IMM_BUF_SIZE___4____2__ndefine_VM_STATE_SIZE__REGISTERS_SIZE__IMM_BUF_SIZE__RANDOMX_PROGRAM_SIZE__4__ndefine_ROUNDING_MODE__RANDOMX_FREQ_CFROUND____1_:_0__n_n___Scratchpad_L1_L2_L3_bits_ndefine_LOC_L1__32___14__ndefine_LOC_L2__32___17__ndefine_LOC_L3__32___18__n
lea rcx, [rbp + 0x380]
call fcn.180036840
mov qword [rbp + 0x58], r14
lea rax, [rbp + 0x60]
mov qword [rbp + 0xb8], rax
mov cl, 1
call sub.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x70]
call fcn.18002a080
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x70]
call fcn.18002a270
mov qword [rbp + 0x68], rax
mov dword [rsp + 0x20], 1
lea r9, [0x18008bea1]
lea r8, str.include__fillAes1Rx4.cl_
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x2f0]
call fcn.18002a370
nop
lea rcx, [rbp + 0x2f0]
call fcn.180033990
mov rdi, rax
test rax, rax
je 0x18002d7a1
lock inc dword [rax + 0x2c]
mov r13d, dword [rbp + 8]
mov rdx, qword [rbp + 0x58]
test rdx, rdx
je 0x18002d7e0
mov ecx, r12d
lock xadd dword [rdx + 0x2c], ecx
cmp ecx, 1
jne 0x18002d7dc
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x18002d7dc
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r14
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x18002d7c0
mov r13d, dword [rbp + 8]
mov qword [rbp + 0x58], rdi
lea rcx, [rbp + 0x310]
call fcn.180053340
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__attribute____reqd_work_group_size_64__1__1____n__kernel_void_fillAes_name___global_void_state____global_void_out__uint_batch_size__uint_rx_version__n_n_t__local_uint_T_2048___n_n_tconst_uint_global_index__get_global_id_0___n_tif__global_index___batch_size__4__n_t_treturn__n_n_tconst_uint_idx__global_index___4__n_tconst_uint_sub__global_index___4__n_n_tfor__uint_i__get_local_id_0___step__get_local_size_0___i___2048__i__step__n_t_tT_i___AES_TABLE_i___n_n_tbarrier_CLK_LOCAL_MEM_FENCE___n_nif_num_rounds___4_n_tconst_uint_k_4____AES_KEY_FILL_sub__4___AES_KEY_FILL_sub__4__1___AES_KEY_FILL_sub__4__2___AES_KEY_FILL_sub__4__3____nelse_n_tconst_bool_b1___rx_version___104___n_tconst_bool_b2___sub___2___n_n_tuint_k_16___n_tk__0___b1___0xf890465du_:__b2___0x6421aaddu_:_0xb5826f73u___n_tk__1___b1___0x7ffbe4a6u_:__b2___0xd1833ddbu_:_0xe3d6a7a6u___n_tk__2___b1___0x141f82b7u_:__b2___0x2f546d2bu_:_0x3d518b6du___n_tk__3___b1___0xcf359e95u_:__b2___0x99e5d23fu_:_0x229effb4u___n_tk__4___b1___0x6a55c450u_:__b2___0xb20e3450u_:_0xc7566bf3u___n_tk__5___b1___0xfee8278au_:__b2___0xb6913f55u_:_0x9c10b3d9u___n_tk__6___b1___0xbd5c5ac3u_:__b2___0x06f79d53u_:_0xe9024d4eu___n_tk__7___b1___0x6741ffdcu_:__b2___0xa5dfcde5u_:_0xb272b7d2u___n_tk__8___b1___0x114c47a4u_:__b2___0x5c3ed904u_:_0xf273c9e7u___n_tk__9___b1___0xd524fde4u_:__b2___0x515e7bafu_:_0xf765a38bu___n_tk_10___b1___0xa7279ad2u_:__b2___0x0aa4679fu_:_0x2ba9660au___n_tk_11___b1___0x3d324aacu_:__b2___0x171c02bfu_:_0xf63befa7u___n_tk_12___b1___0x810c3a2au_:__b2___0x85623763u_:_0x7a7cd609u___n_tk_13___b1___0x99a9aeffu_:__b2___0xe78f5d08u_:_0x915839deu___n_tk_14___b1___0x42d3dbd9u_:__b2___0xcd673785u_:_0x0c06d1fdu___n_tk_15___b1___0x76f6db08u_:__b2___0xd8ded291u_:_0xc0b0762du___nendif_n_n_t__global_uint_s______global_uint__state___idx___64___sizeof_uint____sub___16___sizeof_uint____n_tuint_x_4____s_0___s_1___s_2___s_3____n_n_tconst_uint_s1___sub__1____8_:_24__n_tconst_uint_s3___sub__1____24_:_8__n_n_t__global_uint4_p______global_uint4__out___idx___outputSize0___sizeof_uint4____sub__n_n_tconst___local_uint_const_t0___sub__1____T_:__T__1024___n_tconst___local_uint_const_t1___sub__1_____T__256__:__T__1792___n_tconst___local_uint_const_t2___sub__1_____T__512__:__T__1536___n_tconst___local_uint_const_t3___sub__1_____T__768__:__T__1280___n_n_tpragma_unroll_unroll_factor_n_tfor__uint_i__0__i___outputSize___sizeof_uint4___i__4__p__4__n_t_n_t_tuint_y_4___n_nif_num_rounds___4_n_t_ty_0___t0_get_byte32_x_0___0____t1_get_byte32_x_1___s1____t2_get_byte32_x_2___16____t3_get_byte32_x_3___s3____k_0___n_t_ty_1___t0_get_byte32_x_1___0____t1_get_byte32_x_2___s1____t2_get_byte32_x_3___16____t3_get_byte32_x_0___s3____k_1___n_t_ty_2___t0_get_byte32_x_2___0____t1_get_byte32_x_3___s1____t2_get_byte32_x_0___16____t3_get_byte32_x_1___s3____k_2___n_t_ty_3___t0_get_byte32_x_3___0____t1_get_byte32_x_0___s1____t2_get_byte32_x_1___16____t3_get_byte32_x_2___s3____k_3___n_n_t_tp___uint4__y___n_n_t_tx_0___y_0___n_t_tx_1___y_1___n_t_tx_2___y_2___n_t_tx_3___y_3___nelse_n_t_ty_0___t0_get_byte32_x_0___0____t1_get_byte32_x_1___s1____t2_get_byte32_x_2___16____t3_get_byte32_x_3___s3____k__0___n_t_ty_1___t0_get_byte32_x_1___0____t1_get_byte32_x_2___s1____t2_get_byte32_x_3___16____t3_get_byte32_x_0___s3____k__1___n_t
lea r8, [rbp + 0x58]
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__constant_static_const_uint_AES_TABLE_2048___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__0x1affffe5U__0x0ef3f3fdU__0x6dd2d2bfU__n_t0x4ccdcd81U__0x140c0c18U__0x35131326U__0x2fececc3U__n_t0xe15f5fbeU__0xa2979735U__0xcc444488U__0x3917172eU__n_t0x57c4c493U__0xf2a7a755U__0x827e7efcU__0x473d3d7aU__n_t0xac6464c8U__0xe75d5dbaU__0x2b191932U__0x957373e6U__n_t0xa06060c0U__0x98818119U__0xd14f4f9eU__0x7fdcdca3U__n_t0x66222244U__0x7e2a2a54U__0xab90903bU__0x8388880bU__n_t0xca46468cU__0x29eeeec7U__0xd3b8b86bU__0x3c141428U__n_t0x79dedea7U__0xe25e5ebcU__0x1d0b0b16U__0x76dbdbadU__n_t0x3be0e0dbU__0x56323264U__0x4e3a3a74U__0x1e0a0a14U__n_t0xdb494992U__0x0a06060cU__0x6c242448U__0xe45c5cb8U__n_t0x5dc2c29fU__0x6ed3d3bdU__0xefacac43U__0xa66262c4U__n_t0xa8919139U__0xa4959531U__0x37e4e4d3U__0x8b7979f2U__n_t0x32e7e7d5U__0x43c8c88bU__0x5937376eU__0xb76d6ddaU__n_t0x8c8d8d01U__0x64d5d5b1U__0xd24e4e9cU__0xe0a9a949U__n_t0xb46c6cd8U__0xfa5656acU__0x07f4f4f3U__0x25eaeacfU__n_t0xaf6565caU__0x8e7a7af4U__0xe9aeae47U__0x18080810U__n_t0xd5baba6fU__0x887878f0U__0x6f25254aU__0x722e2e5cU__n_t0x241c1c38U__0xf1a6a657U__0xc7b4b473U__0x51c6c697U__n_t0x23e8e8cbU__0x7cdddda1U__0x9c7474e8U__0x211f1f3eU__n_t0xdd4b4b96U__0xdcbdbd61U__0x868b8b0dU__0x858a8a0fU__n_t0x907070e0U__0x423e3e7cU__0xc4b5b571U__0xaa6666ccU__n_t0xd8484890U__0x05030306U__0x01f6f6f7U__0x120e0e1cU__n_t0xa36161c2U__0x5f35356aU__0xf95757aeU__0xd0b9b969U__n_t0x91868617U__0x58c1c199U__0x271d1d3aU__0xb99e9e27U__n_t0x38e1e1d9U__0x13f8f8ebU__0xb398982bU__0x33111122U__n_t0xbb6969d2U__0x70d9d9a9U__0x898e8e07U__0xa7949433U__n_t0xb69b9b2dU__0x221e1e3cU__0x92878715U__0x20e9e9c9U__n_t0x49cece87U__0xff5555aaU__0x78282850U__0x7adfdfa5U__n_t0x8f8c8c03U__0xf8a1a159U__0x808
lea rcx, [rbp + 0x400]
call fcn.180029dd0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18002d822
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp + 0x380]
call fcn.180036840
nop
mov rax, qword [rbp + 0x418]
cmp rax, 0x10
jb 0x18002d87e
inc rax
mov rcx, qword [rbp + 0x400]
cmp rax, 0x1000
jb 0x18002d879
test cl, 0x1f
jne 0x18002d872
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18002d872
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x18002d872
mov rcx, rax
jmp 0x18002d879
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005a7bc
movdqa xmm0, xmmword [0x18008c410]
movdqu xmmword [rbp + 0x410], xmm0
mov byte [rbp + 0x400], 0
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x18002d8d4
mov eax, r12d
lock xadd dword [rcx + 0x2c], eax
cmp eax, 1
jne 0x18002d8d0
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x18002d8d0
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r14
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x18002d8b4
mov r13d, dword [rbp + 8]
mov qword [rbp + 0x58], r14
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x18002d8fb
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18002d8fb
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov qword [rbp + 0x80], r14
lea rax, [rbp + 0x88]
mov qword [rbp + 0xc0], rax
mov cl, 1
call sub.MSVCP140.dll_private:_static_class_std::locale::_Locimp____ptr64___cdecl_std::locale::_Init_bool_
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x98]
call fcn.18002a080
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x98]
call fcn.18002a270
mov qword [rbp + 0x90], rax
mov dword [rsp + 0x20], 1
lea r9, [0x18008beca]
lea r8, str.include__blake2b_double_block.cl_
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x260]
call fcn.18002a370
nop
lea rcx, [rbp + 0x260]
call fcn.180033990
mov rdi, rax
test rax, rax
je 0x18002d98a
lock inc dword [rax + 0x2c]
mov r13d, dword [rbp + 8]
mov rdx, qword [rbp + 0x80]
test rdx, rdx
je 0x18002d9cf
mov ecx, r12d
lock xadd dword [rdx + 0x2c], ecx
cmp ecx, 1
jne 0x18002d9cb
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x18002d9cb
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r14
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x18002d9af
mov r13d, dword [rbp + 8]
mov qword [rbp + 0x80], rdi
lea rcx, [rbp + 0x280]
call fcn.180053340
nop
mov dword [rsp + 0x20], r14d
lea r9, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_nvoid_blake2b_512_process_double_block_name_ulong_out__ulong_m____global_const_ulong_in__n_n_tulong_v_16___n_t_n_t_tiv0___0x01010000u__out_len___iv1__iv2__iv3__iv4________iv5__iv6__iv7__n_t_tiv0_________________iv1__iv2__iv3__iv4__128__iv5__iv6__iv7__n_t__n_n_tBLAKE2B_ROUNDS____n_n_tulong_h_8___n_tv_0___h_0___v_0___v_8___iv0___0x01010000u__out_len___n_tv_1___h_1___v_1___v_9___iv1__n_tv_2___h_2___v_2___v_10___iv2__n_tv_3___h_3___v_3___v_11___iv3__n_tv_4___h_4___v_4___v_12___iv4__n_tv_5___h_5___v_5___v_13___iv5__n_tv_6___h_6___v_6___v_14___iv6__n_tv_7___h_7___v_7___v_15___iv7__n_tv_8___iv0__n_tv_9___iv1__n_tv_10___iv2__n_tv_11___iv3__n_tv_12___iv4__in_len__n_tv_13___iv5__n_tv_14___iv6__n_tv_15___iv7__n_n_tm__0____in_len___128____in_16__:_0__n_tm__1____in_len___136____in_17__:_0__n_tm__2____in_len___144____in_18__:_0__n_tm__3____in_len___152____in_19__:_0__n_tm__4____in_len___160____in_20__:_0__n_tm__5____in_len___168____in_21__:_0__n_tm__6____in_len___176____in_22__:_0__n_tm__7____in_len___184____in_23__:_0__n_tm__8____in_len___192____in_24__:_0__n_tm__9____in_len___200____in_25__:_0__n_tm_10____in_len___208____in_26__:_0__n_tm_11____in_len___216____in_27__:_0__n_tm_12____in_len___224____in_28__:_0__n_tm_13____in_len___232____in_29__:_0__n_tm_14____in_len___240____in_30__:_0__n_tm_15____in_len___248____in_31__:_0__n_n_tif__in_len___sizeof_ulong___n_t_tm__in_len___128____sizeof_ulong_____ulong___1______64____in_len___sizeof_ulong____8___n_n_tBLAKE2B_ROUNDS____n_n_tif__out_len____0__out_0___h_0___v_0___v_8___n_tif__out_len____8__out_1___h_1___v_1___v_9___n_tif__out_len___16__out_2___h_2___v_2___v_10___n_tif__out_len___24__out_3___h_3___v_3___v_11___n_tif__out_len___32__out_4___h_4___v_4___v_12___n_tif__out_len___40__out_5___h_5___v_5___v_13___n_tif__out_len___48__out_6___h_6___v_6___v_14___n_tif__out_len___56__out_7___h_7___v_7___v_15___n_n_n__attribute____reqd_work_group_size_64__1__1____n__kernel_void_blake2b_hash_registers_name___global_void_out____global_const_void_in__uint_inStrideBytes__n_n_tconst_uint_global_index__get_global_id_0___n_t__global_const_ulong_p______global_const_ulong__in___global_index___inStrideBytes___sizeof_ulong____n_t__global_ulong_h______global_ulong__out___global_index___out_len___sizeof_ulong____n_n_tulong_m_16____p_0___p_1___p_2___p_3___p_4___p_5___p_6___p_7___p_8___p_9___p_10___p_11___p_12___p_13___p_14___p_15____n_n_tulong_hash_8___n_tblake2b_512_process_double_block_name_hash__m__p___n_n_tif__out_len____0__h_0___hash_0___n_tif__out_len____8__h_1___hash_1___n_tif__out_len___16__h_2___hash_2___n_tif__out_len___24__h_3___hash_3___n_tif__out_len___32__h_4___hash_4___n_tif__out_len___40__h_5___hash_5___n_tif__out_len___48__h_6___hash_6___n_tif__out_len___56__h_7___hash_7___n_n
lea r8, [rbp + 0x80]
lea rdx, str._n__nCopyright__c__2019_SChernykh_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_n__constant_static_const_uchar_blake2b_sigma_12__16____n_t0__1__2__3__4__5__6__7__8__9__10__11__12__13__14__15__n_t14__10__4__8__9__15__13__6__1__12__0__2__11__7__5__3__n_t11__8__12__0__5__2__15__13__10__14__3__6__7__1__9__4__n_t7__9__3__1__13__12__11__14__2__6__5__10__4__0__15__8__n_t9__0__5__7__2__4__10__15__14__1__11__12__6__8__3__13__n_t2__12__6__10__0__11__8__3__4__13__7__5__15__14__1__9__n_t12__5__1__15__14__13__4__10__0__7__6__3__9__2__8__11__n_t13__11__7__14__12__1__3__9__5__0__15__4__8__6__2__10__n_t6__15__14__9__11__3__0__8__12__2__13__7__1__4__10__5__n_t10__2__8__4__7__6__1__5__15__11__9__14__3__12__13__0__n_t0__1__2__3__4__5__6__7__8__9__10__11__12__13__14__15__n_t14__10__4__8__9__15__13__6__1__12__0__2__11__7__5__3__n__n_nenum_Blake2b_IV_n_n_tiv0__0x6a09e667f3bcc908ul__n_tiv1__0xbb67ae8584caa73bul__n_tiv2__0x3c6ef372fe94f82bul__n_tiv3__0xa54ff53a5f1d36f1ul__n_tiv4__0x510e527fade682d1ul__n_tiv5__0x9b05688c2b3e6c1ful__n_tiv6__0x1f83d9abfb41bd6bul__n_tiv7__0x5be0cd19137e2179ul__n__n_nulong_rotr64_ulong_a__ulong_shift___return_rotate_a__64___shift____n_ndefine_G_r__i__a__b__c__d______________________________________________________n_tdo_________________________________________________________________________n_t_ta__a__b__m_blake2b_sigma_r__16__2__i__0__________________________n_t_td__rotr64_d__a__32____________________________________________________n_t_tc__c__d_______________________________________________________________n_t_tb__rotr64_b__c__24____________________________________________________n_t_ta__a__b__m_blake2b_sigma_r__16__2__i__1__________________________n_t_td__rotr64_d__a__16____________________________________________________n_t_tc__c__d_______________________________________________________________n_t_tb__rotr64_b__c__63____________________________________________________n_t_while__0__n_ndefine_ROUND_r_________________________________________________________________n_tdo_________________________________________________________________________n_t_tG_r__0__v_0___v_4___v_8___v_12__________________________________________n_t_tG_r__1__v_1___v_5___v_9___v_13__________________________________________n_t_tG_r__2__v_2___v_6___v_10___v_14_________________________________________n_t_tG_r__3__v_3___v_7___v_11___v_15_________________________________________n_t_tG_r__4__v_0___v_5___v_10___v_15_________________________________________n_t_tG_r__5__v_1___v_6___v_11___v_12_________________________________________n_t_tG_r__6__v_2___v_7___v_8___v_13__________________________________________n_t_tG_r__7__v_3___v_4___v_9___v_14__________________________________________n_t_while__0__n_ndefine_BLAKE2B_ROUNDS___ROUND_0__ROUND_1__ROUND_2__ROUND_3__ROUND_4__ROUND_5__ROUND_6__ROUND_7__ROUND_8__ROUND_9__ROUND_10__ROUND_11___n_nvoid_blake2b_512_process_single_block_ulong_h__const_ulong_m__uint_blockTemplateSize__n_n_tulong_v_16___n_t_n_t_tiv0__0x01010040__iv1__iv2__iv3__iv4______________________iv5___iv6__iv7__n_t_tiv0_______________iv1__iv2__iv3__iv4__blockTemplateSize__iv5__iv6__iv7__n_t__n_n_tBLAKE2B_ROUNDS____n_n_th_0___v_0___v__8___iv0__0x01010040__n_th_1___v_1___v__9___iv1__n_th_2___v_2___v_10___iv2__n_th_3___v_3___v_11___iv3__n_th_4___v_4___v_12___iv4__n_th_5___v_5___v_13___iv5__n_th_6___v_6___v_14___iv6__n
lea rcx, [rbp + 0x3c0]
call fcn.180029dd0
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18002da17
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp + 0x380]
call fcn.180036840
nop
mov rax, qword [rbp + 0x3d8]
cmp rax, 0x10
jb 0x18002da73
inc rax
mov rcx, qword [rbp + 0x3c0]
cmp rax, 0x1000
jb 0x18002da6e
test cl, 0x1f
jne 0x18002da67
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18002da67
sub rcx, rax
sub rcx, 8
cmp rcx, 0x1f
ja 0x18002da67
mov rcx, rax
jmp 0x18002da6e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005a7bc
movdqa xmm0, xmmword [0x18008c410]
movdqu xmmword [rbp + 0x3d0], xmm0
mov byte [rbp + 0x3c0], 0
mov rax, qword [rbp + 0x80]
test rax, rax
je 0x18002dace
lock xadd dword [rax + 0x2c], r12d
cmp r12d, 1
jne 0x18002daca
mov rbx, qword [rbp + 0x80]
test rbx, rbx
je 0x18002daca
mov rcx, rbx
lea rax, [rbx + 0x10]
mov rbx, qword [rax]
mov qword [rax], r14
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test rbx, rbx
jne 0x18002daae
mov r13d, dword [rbp + 8]
mov qword [rbp + 0x80], r14
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x18002dafb
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x18002dafb
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov r8d, 0xeecd
lea rdx, str._n__nCopyright__c__2019_SChernykh_nPortions_Copyright__c__2018_2019_tevador_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_npragma_OPENCL_EXTENSION_cl_khr_fp64_:_enable_n_ndefine_CacheLineSize_64_ndefine_ScratchpadL3Mask64__RANDOMX_SCRATCHPAD_L3___CacheLineSize__ndefine_CacheLineAlignMask___RANDOMX_DATASET_BASE_SIZE___1____CacheLineSize___1___n_ndefine_mantissaSize_52_ndefine_exponentSize_11_ndefine_mantissaMask___1UL____mantissaSize____1__ndefine_exponentMask___1UL____exponentSize____1__ndefine_exponentBias_1023_ndefine_constExponentBits_0x300_ndefine_dynamicExponentBits_4_ndefine_staticExponentBits_4_ndefine_dynamicMantissaMask___1UL_____mantissaSize__dynamicExponentBits_____1__n_ndefine_RegistersCount_8_ndefine_RegisterCountFlt__RegistersCount___2__ndefine_ConditionMask___1____RANDOMX_JUMP_BITS____1__ndefine_ConditionOffset_RANDOMX_JUMP_OFFSET_ndefine_StoreL3Condition_14_ndefine_DatasetExtraItems__RANDOMX_DATASET_EXTRA_SIZE___RANDOMX_DATASET_ITEM_SIZE__n_ndefine_RegisterNeedsDisplacement_5_n_n___n___VM_state:_n___n___Bytes_0_255:_registers_n___Bytes_256_1023:_imm32_values__up_to_192_values_can_be_stored_._IMUL_RCP_and_CBRANCH_use_2_consecutive_imm32_values._n___Bytes_1024_2047:_up_to_256_instructions_n___n___Instruction_encoding:_n___n___Bits_0_2:_dst__0_7__n___Bits_3_5:_src__0_7__n___Bits_6_13:_imm32_64_offset__in_DWORDs__0_191__n___Bit_14:_src_location__register__scratchpad__n___Bits_15_16:_src_shift__0_3___ADD_MUL_switch_for_FMA_instruction_n___Bit_17:_srcimm32_n___Bit_18:_srcimm64_n___Bit_19:_src___src_n___Bits_20_23:_opcode__add_rs__add__mul__umul_hi__imul_hi__neg__xor__ror__swap__cbranch__store__fswap__fma__fsqrt__fdiv__cfround__n___Bits_24_27:_how_many_parallel_instructions_to_run_starting_with_this_one__1_16__n___Bits_28_31:_how_many_of_them_are_FP_instructions__0_8__n___n_ndefine_DST_OFFSET_t_t_t0_ndefine_SRC_OFFSET_t_t_t3_ndefine_IMM_OFFSET_t_t_t6_ndefine_LOC_OFFSET_t_t_t14_ndefine_SHIFT_OFFSET_t_t15_ndefine_SRC_IS_IMM32_OFFSET_t17_ndefine_SRC_IS_IMM64_OFFSET_t18_ndefine_NEGATIVE_SRC_OFFSET_t19_ndefine_OPCODE_OFFSET_t_t20_ndefine_NUM_INSTS_OFFSET_t24_ndefine_NUM_FP_INSTS_OFFSET_t28_n_n___ISWAP_r0__r0_ndefine_INST_NOP_t_t_t_8____OPCODE_OFFSET__n_ntypedef_uchar_uint8_t__ntypedef_ushort_uint16_t__ntypedef_uint_uint32_t__ntypedef_ulong_uint64_t__n_ntypedef_int_int32_t__ntypedef_long_int64_t__n_ndouble_getSmallPositiveFloatBits_uint64_t_entropy__n_n_tuint64_t_exponent__entropy____59____0..31_n_tuint64_t_mantissa__entropy__mantissaMask__n_texponent__exponentBias__n_texponent__exponentMask__n_texponent____mantissaSize__n_treturn_as_double_exponent__mantissa___n_n_nuint64_t_getStaticExponent_uint64_t_entropy__n_n_tuint64_t_exponent__constExponentBits__n_texponent___entropy_____64___staticExponentBits______dynamicExponentBits__n_texponent____mantissaSize__n_treturn_exponent__n_n_nuint64_t_getFloatMask_uint64_t_entropy__n_n_tconst_uint64_t_mask22bit___1UL____22____1__n_treturn__entropy__mask22bit___getStaticExponent_entropy___n_n_nvoid_set_buffer___local_uint32_t_dst_buf__uint32_t_N__const_uint32_t_value__n_n_tuint32_t_i__get_local_id_0___sizeof_uint32_t___n_tconst_uint32_t_step__get_local_size_0___sizeof_uint32_t___n_t__local_uint8_t_dst______local_uint8_t_dst_buf___i__n_twhile__i___sizeof_uint32_t___N__n_t_n_t_t___local_uint32_t__dst___value__n_t_tdst__step__n_t_ti__step__n_t_n_n_nuint64_t_imul_rcp_value_uint32_t_divis
lea rcx, [rbp + 0x380]
call fcn.180036840
mov r8d, 0xaab0
lea rdx, str._n__nCopyright__c__2019_SChernykh_nPortions_Copyright__c__2018_2019_tevador_n_nThis_file_is_part_of_RandomX_OpenCL._n_nRandomX_OpenCL_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nRandomX_OpenCL_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE._See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_RandomX_OpenCL._If_not__see__http:__www.gnu.org_licenses__._n__n_ndefine_INITIAL_HASH_SIZE_64_ndefine_INTERMEDIATE_PROGRAM_SIZE__RANDOMX_PROGRAM_SIZE__16__ndefine_COMPILED_PROGRAM_SIZE_10048_ndefine_NUM_VGPR_REGISTERS_128_n_ndefine_mantissaSize_52_ndefine_exponentSize_11_ndefine_mantissaMask___1UL____mantissaSize____1__ndefine_exponentMask___1UL____exponentSize____1__ndefine_exponentBias_1023_n_ndefine_dynamicExponentBits_4_ndefine_staticExponentBits_4_ndefine_constExponentBits_0x300_ndefine_dynamicMantissaMask___1UL_____mantissaSize__dynamicExponentBits_____1__n_ndefine_ScratchpadL1Mask_reg_38_ndefine_ScratchpadL2Mask_reg_39_ndefine_ScratchpadL3Mask_reg_50_n_ndefine_ScratchpadL3Mask__RANDOMX_SCRATCHPAD_L3___8__n_ndefine_RANDOMX_JUMP_BITS__________8_ndefine_RANDOMX_JUMP_OFFSET________8_n_n__global_uint_jit_scratchpad_calc_address___global_uint_p__uint_src__uint_imm32__uint_mask_reg__uint_batch_size__n_n_t___s_add_i32_s14__s_16__src__2___imm32_n_t_p___0x810eff10u___src____1___n_t_p___imm32__n_n_t___v_and_b32_v28__s14__mask_reg_n_t_p___0x2638000eu___mask_reg____9___n_n_treturn_p__n_n_n__global_uint_jit_scratchpad_calc_fixed_address___global_uint_p__uint_imm32__uint_batch_size__n_n_t___v_mov_b32_v28__imm32_n_t_p___0x7e3802ffu__n_t_p___imm32__n_n_treturn_p__n_n_n__global_uint_jit_scratchpad_load___global_uint_p__uint_vgpr_index__n_n_t___v28__offset_n_nif_GCN_VERSION___14_n_t___global_load_dwordx2_v_vgpr_index:vgpr_index1___v28__s_0:1__n_t_p___0xdc548000u__n_t_p___0x0000001cu___vgpr_index____24___nelse_n_t_p___0x32543902u__t_t_t_t_t_t___v_add_u32_v42__vcc__v2__v28_n_t_p___0xd11c6a2bu__t_t_t_t_t_t___v_addc_u32_v43__vcc__v3__0__vcc_n_t_p___0x01a90103u__n_t_p___0xdc540000u__t_t_t_t_t_t___flat_load_dwordx2_v_vgpr_index:vgpr_index1___v_42:43__n_t_p___0x0000002au___vgpr_index____24___nendif_n_n_treturn_p__n_n_n__global_uint_jit_scratchpad_load2___global_uint_p__uint_vgpr_index__int_vmcnt__n_n_t___s_waitcnt_vmcnt_N__n_tif__vmcnt___0__n_t_t_p___0xbf8c0f70u___vmcnt__15_____vmcnt____4_____14___n_n_t___v_readlane_b32_s14__vgpr_index__0_n_t_p___0xd289000eu__n_t_p___0x00010100u__vgpr_index__n_n_t___v_readlane_b32_s15__vgpr_index__1__0_n_t_p___0xd289000fu__n_t_p___0x00010100u___vgpr_index__1___n_n_treturn_p__n_n_n__global_uint_jit_scratchpad_calc_address_fp___global_uint_p__uint_src__uint_imm32__uint_mask_reg__uint_batch_size__n_n_t___s_add_i32_s14__s_16__src__2___imm32_n_t_p___0x810eff10u___src____1___n_t_p___imm32__n_n_t___v_and_b32_v28__s14__mask_reg_n_t_p___0x2638000eu___mask_reg____9___n_nif_GCN_VERSION___14_n_t___v_add_u32_v28__v28__v44_n_t_p___0x6838591cu__nelse_n_t___v_add_u32_v28__vcc__v28__v44_n_t_p___0x3238591cu__nendif_n_n_treturn_p__n_n_n__global_uint_jit_scratchpad_load_fp___global_uint_p__uint_vgpr_index__n_n_t___v28__offset_n_nif_GCN_VERSION___14_n_t___global_load_dword_v_vgpr_index___v28__s_0:1__n_t_p___0xdc508000u__n_t_p___0x0000001cu___vgpr_index____24___nelse_n_t_p___0x32543902u__t_t_t_t_t_t___v_add_u32_v42__vcc__v2__v28_n_t_p___0xd11c6a2bu__t_t_t_t_t_t___v_addc_u32_v43__vcc__v3__0__vcc_n_t_p___0x01a90103u__n_t_p___0xdc500000u__t_t_t_t_t_t___flat_load_dword_v_vgpr_index___v_42:43__n_t_p___0x0000002au___vgpr_index____24___nendif_n_n_treturn_p__n_n_n__gl
lea rcx, [rbp + 0x380]
call fcn.180036840
call fcn.1800392a0
lea rdx, [rax + 0x1c8]
lea rcx, [rbp + 0x448]
call fcn.18002a680
nop
lea rdx, [rbp + 0x448]
lea rcx, [rbp + 0x240]
call fcn.18002a680
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18002db69
mov rcx, qword [rax]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__mkdir]
mov rcx, rbx
call fcn.180036350
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x128], xmm0
lea r9, [rbp + 0x21]
lea r8, [rbp + 0x128]
mov rdx, rsi
lea rcx, [rbp + 0x30]
call fcn.18002ad90
nop
mov rcx, qword [rbp + 0x130]
test rcx, rcx
je 0x18002dbab
call fcn.180033ae0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
lea rcx, [rbp + 0x48]
call fcn.180032d10
mov qword [rbp + 0x48], rax
mov r12d, r14d
test rsi, rsi
je 0x18002e0e5
lea rsi, [r15 + 0x118]
mov r15d, 2
movsd xmm6, qword [0x18008c3f8]
xor ecx, ecx
call fcn.180039110
mov rbx, rax
cmp qword [rax], 0
jne 0x18002dc52
lea rdi, [rax + 0x38]
mov qword [rbp + 0x160], rdi
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
je 0x18002dc0f
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
mov byte [rbp + 0x168], 1
cmp qword [rbx], 0
jne 0x18002dc3e
mov ecx, 0x60
call fcn.18005a780
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x18002dc3b
mov rcx, rax
call fcn.180047c60
nop
mov qword [rbx], rax
mov rcx, rdi
call sub.MSVCP140.dll__Mtx_unlock
test eax, eax
je 0x18002dc52
mov ecx, eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
nop
mov r9, qword [rsi - 0x118]
lea r8, str.OpenCL_Init_device__d
mov edx, 0xa
mov rcx, qword [rbx]
call fcn.180047d30
mov r8, qword [rsi - 0x118]
mov qword [rbp + 0x18], r8
mov rax, qword [rbp + 0x38]
sub rax, qword [rbp + 0x30]
sar rax, 4
cmp rax, r8
ja 0x18002dce6
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x150], xmm0
lea rdx, [r8 + 1]
lea rax, [rbp + 0x30]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x150]
mov qword [rbp + 0x148], rax
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x170], xmm0
lea r8, [rbp + 0x170]
lea rcx, [rbp + 0x30]
call fcn.1800279c0
nop
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x18002dce2
call fcn.180033ae0
mov r8, qword [rbp + 0x18]
mov rax, r8
shl rax, 4
add rax, qword [rbp + 0x30]
cmp qword [rax], 0
jne 0x18002ddce
mov ecx, 0x78
call fcn.18005a780
mov rdi, rax
mov qword [rbp + 0x100], rax
test rax, rax
je 0x18002dd48
mov edx, r15d
mov rcx, rax
call sub.MSVCP140.dll__Mtx_init_in_situ
or r13d, 1
mov dword [rbp + 8], r13d
movabs rax, 0x3fd999999999999a
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], rax
xor eax, eax
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x68], rax
mov dword [rdi + 0x70], eax
jmp 0x18002dd4a
xor edi, edi
mov rbx, qword [rbp + 0x18]
shl rbx, 4
add rbx, qword [rbp + 0x30]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xc8], xmm0
mov rdx, rdi
lea rcx, [rbp + 0xc8]
call fcn.180027490
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x100], rax
mov rcx, qword [rbx + 8]
mov qword [rbp + 0xd0], rcx
mov qword [rbx + 8], rax
mov rdx, qword [rbp + 0xc8]
mov qword [rbp + 0x180], rdx
mov rax, qword [rbx]
mov qword [rbp + 0xc8], rax
mov qword [rbx], rdx
test rcx, rcx
je 0x18002ddb2
call fcn.180033ae0
mov rbx, qword [rbp + 0x18]
shl rbx, 4
add rbx, qword [rbp + 0x30]
mov rbx, qword [rbx]
call fcn.180039060
mov qword [rbx + 0x68], rax
mov r8, qword [rbp + 0x18]
add r8, r8
mov rdx, qword [rbp + 0x30]
mov rax, qword [rdx + r8*8]
mov ecx, dword [rax + 0x70]
mov dword [rsi + 8], ecx
mov rax, qword [rdx + r8*8]
inc dword [rax + 0x70]
mov rax, qword [rbp + 0x18]
shl rax, 4
add rax, qword [rbp + 0x30]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0xd8], xmm0
mov r8, qword [rax + 8]
mov rdx, qword [rax]
test r8, r8
je 0x18002de12
lock inc dword [r8 + 8]
mov r13d, dword [rbp + 8]
lea rcx, [rbp + 0xd8]
call fcn.180035c60
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x1d8], rax
mov rcx, qword [rsi]
mov qword [rsi], rax
mov rdx, qword [rbp + 0xd8]
mov qword [rbp + 0x1e0], rdx
mov rax, qword [rsi - 8]
mov qword [rbp + 0xd8], rax
mov qword [rsi - 8], rdx
test rcx, rcx
je 0x18002de59
call fcn.180033ae0
mov rax, qword [rsi - 8]
movd xmm0, dword [rsi + 0xc]
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm6
movsd qword [rax + 0x50], xmm0
mov rcx, qword [rsi - 8]
mov rax, qword [rcx + 0x50]
mov qword [rcx + 0x58], rax
mov rax, qword [rbp + 0xf0]
mov qword [rsi - 0x98], rax
lea r8, [rbp + 0x380]
cmp qword [rbp + 0x398], 0x10
cmovae r8, qword [rbp + 0x380]
imul rdx, r14, 0x2a8
mov rax, qword [rbp + 0x28]
add rdx, rax
mov rcx, qword [rax + 0x80]
call fcn.18002e180
mov dword [rbp], eax
test eax, eax
jne 0x18002e0e0
mov r14, qword [rbp + 0x48]
mov rcx, qword [r14 + 8]
mov rax, rcx
mov rdi, r14
movzx r8d, byte [rcx + 0x19]
mov rdx, qword [rbp + 0x18]
test r8b, r8b
jne 0x18002df04
cmp qword [rax + 0x20], rdx
jae 0x18002deed
mov rax, qword [rax + 0x10]
jmp 0x18002def3
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18002dee1
cmp rdi, r14
je 0x18002df04
cmp rdx, qword [rdi + 0x20]
jae 0x18002df07
mov rdi, r14
mov rbx, r14
test r8b, r8b
jne 0x18002df33
nop
cmp qword [rcx + 0x20], rdx
jae 0x18002df1c
mov rcx, qword [rcx + 0x10]
jmp 0x18002df22
mov rbx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x18002df10
cmp rbx, r14
je 0x18002df33
cmp rdx, qword [rbx + 0x20]
jae 0x18002df7c
lea rax, [rbp + 0x18]
mov qword [rbp + 0xf8], rax
lea r9, [rbp + 0x22]
lea r8, [rbp + 0xf8]
lea rdx, [0x180060ad0]
lea rcx, [rbp + 0x48]
call fcn.180025110
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rbp + 0xb8]
lea rcx, [rbp + 0x48]
call fcn.180025f50
mov rbx, qword [rbp + 0xb8]
mov byte [rbx + 0x28], 1
cmp rdi, r14
jne 0x18002e0c1
xor ebx, ebx
mov qword [rbp + 0x3f0], rbx
mov qword [rbp + 0x3f8], 0xf
mov byte [rbp + 0x3e0], bl
or r13d, 2
mov dword [rbp + 8], r13d
mov rdx, qword [rsi - 0x18]
inc rdx
lea rcx, [rbp + 0x3e0]
call fcn.18003a260
lea rdx, [rsi - 0x28]
cmp qword [rsi - 0x10], 0x10
jb 0x18002dfcc
mov rdx, qword [rdx]
mov r8, qword [rsi - 0x18]
lea rcx, [rbp + 0x3e0]
call fcn.180036840
mov r8d, 1
lea rdx, [0x180095cc0]
lea rcx, [rbp + 0x3e0]
call fcn.180036840
lea rdx, [rsi - 0x48]
cmp qword [rsi - 0x30], 0x10
jb 0x18002e003
mov rdx, qword [rdx]
mov r8, qword [rsi - 0x38]
lea rcx, [rbp + 0x3e0]
call fcn.180036840
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x120], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x108], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x118], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], bl
or r13d, 4
mov dword [rbp + 8], r13d
lea rax, [rbp + 0x108]
mov qword [rbp + 0xd8], rax
mov rbx, qword [rsi - 0x110]
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0x420]
call fcn.18002a680
mov qword [rbp + 0x440], rbx
lea rcx, [rbp + 0x108]
call fcn.180036350
nop
call fcn.1800392a0
lea rcx, [rax + 0x2d0]
lea rdx, [rbp + 0x420]
call fcn.180028e00
nop
lea rcx, [rbp + 0x420]
call fcn.180036350
and r13d, 0xfffffffd
mov dword [rbp + 8], r13d
lea rcx, [rbp + 0x3e0]
call fcn.180036350
inc r12d
add rsi, 0x2a8
movsxd r14, r12d
cmp r14, qword [rbp + 0xb0]
jb 0x18002dbe1
xor r14d, r14d
jmp 0x18002e0e5
movsxd r15, eax
jmp 0x18002e0e8
mov r15, r14
lea rcx, [rbp + 0x48]
call fcn.18002bac0
nop
lea rcx, [rbp + 0x30]
call fcn.1800362c0
nop
lea rcx, [rbp + 0x448]
call fcn.180036350
nop
lea rcx, [rbp + 0x380]
call fcn.180036350
nop
lea rcx, [rbp + 0x188]
call fcn.1800533c0
nop
lea rcx, [rbp + 0x1a0]
call fcn.180048070
nop
lea rcx, [rbp + 0x3a0]
call fcn.180036350
nop
lea rcx, [rbp + 0x1b8]
call fcn.18002c180
mov rax, r15
mov rcx, qword [rbp + 0x468]
xor rcx, rbp
call fcn.18005aca0
mov rbx, qword [rbp + 0x4d8]
movaps xmm6, xmmword [rbp + 0x470]
lea rsp, [rbp + 0x480]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret