Function at 0x744c10
Capabilities:
Allocate or change rwx memory

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov r12, qword [rsp + 0xf0]
mov rbp, rcx
mov rbx, rdx
lea rdx, [0x007907f4]
cmp dword [r12 + 4], 0x11
mov esi, r8d
mov edi, r9d
ja case.0x744c56.136
mov eax, dword [r12 + 4]
movsxd rcx, dword [rdx + rax*4]
add rcx, rdx
jmp rcx
mov r8d, 8
nop word cs:[rax + rax]
xor esi, 1
lea r14, [0x00799520]
mov r11, qword [rbp]
movzx eax, sil
mov r9d, eax
mov r10d, eax
or r9d, 2
test dil, dil
cmovne r10d, r9d
or r10d, r8d
mov r15, qword [r14 + r10*8]
mov qword [r11 + 0x108], r15
mov esi, dword [r12 + 4]
cmp esi, 0xb
je 0x744f10
cmp esi, 0x10
je 0x745090
mov r8, qword [rbp]
mov r13, qword [rbp + 8]
mov rcx, qword [r8 + 0x108]
mov qword [r13 + 0x108], rcx
mov r11, qword [rbp]
mov r9, qword [rbp + 0x10]
mov rdx, qword [r11 + 0x108]
mov qword [r9 + 0x108], rdx
mov rax, qword [rbp]
mov r10, qword [rbp + 0x18]
mov rdi, qword [rax + 0x108]
mov qword [r10 + 0x108], rdi
mov r14, qword [rbp + 0x20]
mov rbp, qword [rbp]
mov rsi, qword [rbp + 0x108]
mov qword [r14 + 0x108], rsi
movzx r15d, byte [0x007ac1d8]
test r15b, r15b
jne 0x744d31
lea rcx, [0x007ac1d8]
call sub.libstdc_6.dll___cxa_guard_acquire
test eax, eax
jne 0x745020
mov eax, dword [r12 + 4]
mov r13, qword [0x007ac1a8]
xor edx, edx
mov r12, rax
mov r8, qword [0x007ac1a0]
div r13
mov rcx, qword [r8 + rdx*8]
test rcx, rcx
je 0x744f00
mov rdi, qword [rcx]
mov r9, rdx
cmp r12d, dword [rdi + 8]
je 0x744db5
mov rdi, qword [rdi]
test rdi, rdi
je 0x744f00
xor edx, edx
mov eax, dword [rdi + 8]
mov r14, rax
div r13
cmp r9, rdx
je 0x744db0
jmp 0x744f00
mov rdi, qword [rdi]
test rdi, rdi
je 0x744f00
xor edx, edx
mov eax, dword [rdi + 8]
mov r14, rax
div r13
cmp rdx, r9
jne 0x744f00
cmp r14d, r12d
jne 0x744d90
mov rbp, qword [rdi + 0x10]
mov qword [rbx], rbp
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 4
jmp 0x744c70
xor r8d, r8d
jmp 0x744c70
mov r8d, 0xc
jmp 0x744c70
mov r8d, 0x10
jmp 0x744c70
mov r8d, 0x14
jmp 0x744c70
mov r8d, 0x18
jmp 0x744c70
mov r8d, 0x1c
jmp 0x744c70
mov r8d, 0x20
jmp 0x744c70
mov r8d, 0x24
jmp 0x744c70
mov r8d, 0x28
jmp 0x744c70
mov r8d, 0x2c
jmp 0x744c70
mov r8d, 0x30
jmp 0x744c70
mov r8d, 0x34
jmp 0x744c70
mov r8d, 0x38
jmp 0x744c70
mov r8d, 0x3c
jmp 0x744c70
mov r13, qword [0x007add88]
test r13, r13
je 0x74547c
mov r14, qword [r13]
test r14, r14
je 0x7454a3
lea r8, str.Unsupported_algorithm_selected__miner_was_only_compiled_with_XMR_support.
xor edx, edx
mov rcx, r14
call fcn.00430850
xor r8d, r8d
jmp 0x744c70
mov qword [rbx], 0
jmp 0x744dbc
mov r9, qword [rsp + 0xf8]
lea r13, [rsp + 0x40]
mov rdx, qword [r9]
lea rcx, [r13 + 0x10]
mov r8, qword [r9 + 8]
mov qword [rsp + 0x40], rcx
mov rcx, r13
add r8, rdx
call fcn.00407a50
lea rdx, str.auto
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x744feb
lea r14, [rsp + 0x60]
mov edx, 5
mov rcx, r14
call fcn.00744940
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x60]
lea r10, [r14 + 0x10]
mov r11, qword [rsp + 0x68]
mov r9, rax
lea r8, [r13 + 0x10]
mov rdx, r11
cmp rsi, r10
je 0x745586
mov r15, qword [rsp + 0x70]
cmp rax, r8
je 0x74542c
mov qword [rsp + 0x28], r11
movq xmm5, qword [rsp + 0x28]
mov qword [rsp + 0x28], r15
mov rdi, qword [rsp + 0x50]
movhps xmm5, qword [rsp + 0x28]
mov qword [rsp + 0x40], rsi
movups xmmword [rsp + 0x48], xmm5
test rax, rax
je 0x74544b
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], 0
add r14, 0x10
mov byte [rax], 0
mov rcx, qword [rsp + 0x60]
cmp rcx, r14
je 0x744feb
call sub.libstdc_6.dll_operator_delete_void_
lea rdx, [0x007906db]
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x745210
mov rcx, qword [rsp + 0x40]
add r13, 0x10
cmp rcx, r13
je 0x744cb8
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x744cb8
lea r8, [0x00799510]
lea rcx, [0x007ac1a0]
lea rdx, [r8 - 0x10]
call fcn.0041ef30
lea rcx, [0x007ac1d8]
call sub.libstdc_6.dll___cxa_guard_release
lea rcx, [0x0040c680]
call fcn.0077d990
mov eax, dword [r12 + 4]
xor edx, edx
mov r13, qword [0x007ac1a8]
mov r11, qword [0x007ac1a0]
mov r12, rax
div r13
mov r10, qword [r11 + rdx*8]
test r10, r10
je 0x744f00
mov rdi, qword [r10]
mov r9, rdx
cmp dword [rdi + 8], r12d
jne 0x744d65
jmp 0x744db5
mov rcx, qword [rsp + 0xf8]
lea rdx, [0x007906db]
call fcn.0077d8b8
test eax, eax
je 0x744cb8
mov rcx, qword [rsp + 0xf8]
lea r13, [rsp + 0x60]
mov rdx, qword [rcx]
lea rdi, [r13 + 0x10]
mov r8, qword [rcx + 8]
mov rcx, r13
mov qword [rsp + 0x60], rdi
add r8, rdx
call fcn.00407a50
lea rdx, str.auto
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x745187
lea r14, [rsp + 0x40]
mov edx, 5
mov rcx, r14
call fcn.00744940
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x40]
lea r11, [r14 + 0x10]
mov r15, qword [rsp + 0x48]
mov r9, rax
mov r8, r15
cmp r10, r11
je 0x7455e3
mov rdx, qword [rsp + 0x50]
lea r9, [r13 + 0x10]
cmp rax, r9
je 0x745683
mov qword [rsp + 0x28], r8
movq xmm2, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdx
mov r15, qword [rsp + 0x70]
movhps xmm2, qword [rsp + 0x28]
mov qword [rsp + 0x60], r10
movups xmmword [rsp + 0x68], xmm2
test rax, rax
je 0x7456a2
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x48], 0
add r14, 0x10
mov byte [rax], 0
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x745187
call sub.libstdc_6.dll_operator_delete_void_
mov r14, qword [0x007add88]
test r14, r14
je 0x7454c1
mov rdi, qword [r14]
test rdi, rdi
je 0x7454e8
mov r9, qword [rsp + 0x60]
lea r8, str.enable_cryptonight_r_asm__s_cpus
xor edx, edx
mov rcx, rdi
call fcn.00430850
lea rdi, str.intel_avx
mov rsi, rbp
lea r15, [rbp + 0x28]
mov rdx, rdi
mov rcx, r13
call fcn.0077d8b8
mov rdx, qword [rsi]
test eax, eax
setne al
movzx r11d, al
add rsi, 8
add r11d, 1
mov dword [rdx + 0x118], r11d
cmp r15, rsi
jne 0x7451c7
mov rcx, qword [rsp + 0x60]
add r13, 0x10
cmp rcx, r13
jne 0x745014
jmp 0x744cb8
mov rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
lea rsi, [rsp + 0x60]
lea r14, [rsi + 0x10]
add r8, rdx
mov rcx, rsi
mov qword [rsp + 0x60], r14
call fcn.00407a50
mov edi, dword [r12 + 0x18]
mov rax, qword [r12 + 0x10]
mov r15d, dword [r12 + 8]
test edi, edi
jne 0x74524c
lea edi, [rax - 1]
and edi, 0xfffffff0
mov r14, qword [rbp]
lea r9, [rsp + 0x38]
mov r8d, 0x40
mov edx, 0x10000
mov rcx, qword [r14 + 0x110]
test rcx, rcx
je 0x745459
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
lea rdx, str.intel_avx
mov rcx, rsi
call fcn.0077d8b8
lea rdx, str.amd_avx
mov rcx, rsi
test eax, eax
je 0x74556d
call fcn.0077d8b8
test eax, eax
jne 0x745399
lea rdx, [0x0077b540]
mov r8, qword [rbp]
mov r9d, edi
mov rcx, qword [r8 + 0x110]
mov r8d, r15d
test rcx, rcx
je 0x745399
call fcn.00407d40
mov rcx, qword [rbp]
mov r9, qword [rcx + 0x110]
mov qword [rcx + 0x100], r9
mov rdx, qword [rbp]
mov r11, qword [rbp + 8]
mov r10, qword [rdx + 0x100]
mov qword [r11 + 0x100], r10
mov rax, qword [rbp]
mov r15, qword [rbp + 0x10]
mov rdi, qword [rax + 0x100]
mov qword [r15 + 0x100], rdi
lea r15, [0x00403400]
mov r8, qword [rbp]
mov r14, qword [rbp + 0x18]
mov rcx, qword [r8 + 0x100]
mov qword [r14 + 0x100], rcx
mov rcx, rsi
mov r11, qword [rbp]
mov r9, qword [rbp + 0x20]
mov rdx, qword [r11 + 0x100]
mov qword [r9 + 0x100], rdx
lea rdx, str.intel_avx
call fcn.0077d8b8
mov r10, qword [rbp]
lea r9, [rsp + 0x3c]
mov r8d, 0x20
mov edx, 0x10000
mov qword [r10 + 0x108], r15
mov rax, qword [rbp]
mov rcx, qword [rax + 0x110]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rdi, qword [rbp]
mov r14, qword [rdi + 0x110]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8d, 0x10000
mov rdx, r14
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov rcx, qword [rsp + 0x60]
add rsi, 0x10
cmp rcx, rsi
je 0x7453ac
call sub.libstdc_6.dll_operator_delete_void_
mov rcx, qword [rsp + 0xf8]
lea rdx, str.auto
call fcn.0077d8b8
test eax, eax
jne 0x745505
lea rdx, str.intel_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x7453f2
lea rdx, str.amd_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x745505
mov r15, qword [0x007add88]
test r15, r15
je 0x74563f
mov rdi, qword [r15]
test rdi, rdi
je 0x745666
mov r9, qword [rsp + 0x40]
lea r8, str.Switch_to_assembler_version_for__s_cpus
mov edx, 3
mov rcx, rdi
call fcn.00430740
jmp 0x745002
mov qword [rsp + 0x28], r11
movq xmm4, qword [rsp + 0x28]
mov qword [rsp + 0x28], r15
movhps xmm4, qword [rsp + 0x28]
mov qword [rsp + 0x40], rsi
movups xmmword [rsp + 0x48], xmm4
lea rax, [r14 + 0x10]
mov qword [rsp + 0x60], rax
jmp 0x744fcc
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x10000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [r14 + 0x110], rax
jmp 0x745276
mov ecx, 0x28
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
pxor xmm0, xmm0
mov r13, rax
movups xmmword [rax], xmm0
mov qword [rax + 0x20], 0
mov qword [0x007add88], rax
movups xmmword [rax + 0x10], xmm0
mov ecx, 0x18
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
mov r14, rax
call fcn.00430940
mov qword [r13], r14
jmp 0x744edd
mov ecx, 0x28
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
pxor xmm3, xmm3
mov r14, rax
movups xmmword [rax], xmm3
mov qword [rax + 0x20], 0
mov qword [0x007add88], rax
movups xmmword [rax + 0x10], xmm3
mov ecx, 0x18
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
mov rdi, rax
call fcn.00430940
mov qword [r14], rdi
jmp 0x7451a3
lea rdx, str.intel_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x745002
lea rdx, str.amd_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x745002
mov rsi, qword [0x007add88]
test rsi, rsi
je 0x7456f8
mov rdi, qword [rsi]
test rdi, rdi
je 0x74571f
mov r9, qword [rsp + 0x40]
lea r8, str.Assembler__s_unknown__fallback_to_non_asm_version_of_cryptonight_v8
mov edx, 1
mov rcx, rdi
call fcn.00430740
jmp 0x745002
call fcn.0077d8b8
lea rdx, [0x0077b200]
test eax, eax
jne 0x7452ab
jmp 0x7452a4
test r11, r11
je 0x7455cf
cmp r11, 1
je 0x7456b0
cmp r11, 8
jae 0x7456c8
test r11b, 4
jne 0x7457a2
test r11, r11
je 0x7455c9
movzx r10d, byte [rsi]
mov byte [rax], r10b
test r11b, 2
jne 0x745787
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
mov r11, rdx
mov rax, r9
mov qword [rsp + 0x48], r11
mov byte [rax + r11], 0
mov rax, qword [rsp + 0x60]
jmp 0x744fcc
test r15, r15
je 0x74562b
cmp r15, 1
je 0x74573c
cmp r15, 8
jae 0x745754
test r15b, 4
jne 0x7457bf
test r15, r15
je 0x745625
movzx ecx, byte [r10]
mov byte [rax], cl
test r15b, 2
jne 0x7457dd
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov r15, r8
mov rax, r9
mov qword [rsp + 0x68], r15
mov byte [rax + r15], 0
mov rax, qword [rsp + 0x40]
jmp 0x745168
mov ecx, 0x28
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
pxor xmm1, xmm1
mov r15, rax
movups xmmword [rax], xmm1
mov qword [rax + 0x20], 0
mov qword [0x007add88], rax
movups xmmword [rax + 0x10], xmm1
mov ecx, 0x18
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
mov rdi, rax
call fcn.00430940
mov qword [r15], rdi
jmp 0x74540e
mov qword [rsp + 0x28], r15
movq xmm1, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdx
movhps xmm1, qword [rsp + 0x28]
mov qword [rsp + 0x60], r10
movups xmmword [rsp + 0x68], xmm1
lea rax, [r14 + 0x10]
mov qword [rsp + 0x40], rax
jmp 0x745168
movzx r10d, byte [rsp + 0x70]
mov byte [rax], r10b
mov r11, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
jmp 0x7455cf
lea rdi, [rax + 8]
mov r15, qword [rsi]
and rdi, 0xfffffffffffffff8
mov qword [rax], r15
sub r9, rdi
mov r8, qword [rsi + r11 - 8]
sub rsi, r9
mov qword [rax + r11 - 8], r8
add r9, r11
mov rcx, r9
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x7455bf
mov ecx, 0x28
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
pxor xmm0, xmm0
mov rsi, rax
movups xmmword [rax], xmm0
mov qword [rax + 0x20], 0
mov qword [0x007add88], rax
movups xmmword [rax + 0x10], xmm0
mov ecx, 0x18
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
mov rcx, rax
mov rdi, rax
call fcn.00430940
mov qword [rsi], rdi
jmp 0x74554f
movzx r10d, byte [rsp + 0x50]
mov byte [rax], r10b
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
jmp 0x74562b
mov r11, qword [r10]
lea rdi, [rax + 8]
mov rcx, rax
mov rsi, r10
and rdi, 0xfffffffffffffff8
mov qword [rax], r11
sub rcx, rdi
mov rdx, qword [r10 + r15 - 8]
sub rsi, rcx
add rcx, r15
mov qword [rax + r15 - 8], rdx
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x74561b
movzx esi, word [rsi + r11 - 2]
mov word [rax + r11 - 2], si
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
jmp 0x7455c9
mov r11d, dword [rsi]
mov dword [rax], r11d
mov ecx, dword [rsi + rdx - 4]
mov dword [rax + rdx - 4], ecx
mov r9, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x68]
jmp 0x7455c9
mov esi, dword [r10]
mov dword [rax], esi
mov edi, dword [r10 + r15 - 4]
mov dword [rax + r15 - 4], edi
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
jmp 0x745625
movzx r10d, word [r10 + r15 - 2]
mov word [rax + r15 - 2], r10w
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
jmp 0x745625