Function at 0x7464c0
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, [0x00790884]
cmp dword [r12 + 4], 0x11
mov esi, r8d
mov edi, r9d
ja case.0x746506.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
mov r10, qword [rbp]
movzx r9d, sil
test dil, dil
je 0x746534
or r9d, 2
or r9d, r8d
lea r11, [0x007990e0]
mov r14, qword [r11 + r9*8]
mov qword [r10 + 0x108], r14
mov r15d, dword [r12 + 4]
cmp r15d, 0xb
je 0x7467a0
cmp r15d, 0x10
je 0x746920
mov r9, qword [rbp]
mov r13, qword [rbp + 8]
mov r10, qword [r9 + 0x108]
mov qword [r13 + 0x108], r10
mov rax, qword [rbp + 0x10]
mov rbp, qword [rbp]
mov rdx, qword [rbp + 0x108]
mov qword [rax + 0x108], rdx
movzx edi, byte [0x007ac158]
test dil, dil
jne 0x7465ae
lea rcx, [0x007ac158]
call sub.libstdc_6.dll___cxa_guard_acquire
test eax, eax
jne 0x7468b0
mov eax, dword [r12 + 4]
mov r15, qword [0x007ac128]
xor edx, edx
mov r12, rax
mov r8, qword [0x007ac120]
div r15
mov rcx, qword [r8 + rdx*8]
test rcx, rcx
je 0x746790
mov r13, qword [rcx]
mov r11, rdx
cmp r12d, dword [r13 + 8]
je 0x746637
mov r13, qword [r13]
test r13, r13
je 0x746790
xor edx, edx
mov eax, dword [r13 + 8]
mov r9, rax
div r15
cmp rdx, r11
je 0x746632
jmp 0x746790
mov r13, qword [r13]
test r13, r13
je 0x746790
xor edx, edx
mov eax, dword [r13 + 8]
mov r9, rax
div r15
cmp r11, rdx
jne 0x746790
cmp r12d, r9d
jne 0x746610
mov r10, qword [r13 + 0x10]
mov qword [rbx], r10
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 4
jmp 0x746520
xor r8d, r8d
jmp 0x746520
mov r8d, 0xc
jmp 0x746520
mov r8d, 0x10
jmp 0x746520
mov r8d, 0x14
jmp 0x746520
mov r8d, 0x18
jmp 0x746520
mov r8d, 0x1c
jmp 0x746520
mov r8d, 0x20
jmp 0x746520
mov r8d, 0x24
jmp 0x746520
mov r8d, 0x28
jmp 0x746520
mov r8d, 0x2c
jmp 0x746520
mov r8d, 0x30
jmp 0x746520
mov r8d, 0x34
jmp 0x746520
mov r8d, 0x38
jmp 0x746520
mov r8d, 0x3c
jmp 0x746520
mov r13, qword [0x007add88]
test r13, r13
je 0x746cdb
mov r14, qword [r13]
test r14, r14
je 0x746d02
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 0x746520
mov qword [rbx], 0
jmp 0x74663e
mov r9, qword [rsp + 0xf8]
lea r13, [rsp + 0x40]
mov rdx, qword [r9]
mov rcx, r13
lea rdi, [r13 + 0x10]
mov r8, qword [r9 + 8]
mov qword [rsp + 0x40], rdi
add r8, rdx
call fcn.00407a50
lea rdx, str.auto
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x746878
lea r14, [rsp + 0x60]
mov edx, 3
mov rcx, r14
call fcn.00744940
mov rax, qword [rsp + 0x40]
mov r10, qword [rsp + 0x60]
lea r8, [r14 + 0x10]
mov r15, qword [rsp + 0x68]
mov r9, rax
mov qword [rsp + 0x28], r15
cmp r10, r8
je 0x746e00
mov r11, qword [rsp + 0x70]
lea r15, [r13 + 0x10]
cmp rax, r15
je 0x746c90
movq xmm5, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x28], r11
movhps xmm5, qword [rsp + 0x28]
movups xmmword [rsp + 0x48], xmm5
test rax, rax
je 0x746caa
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], 0
add r14, 0x10
mov byte [rax], 0
mov rcx, qword [rsp + 0x60]
cmp rcx, r14
je 0x746878
call sub.libstdc_6.dll_operator_delete_void_
lea rdx, [0x007906db]
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x746aa0
mov rcx, qword [rsp + 0x40]
add r13, 0x10
cmp rcx, r13
je 0x746562
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x746562
lea r8, [0x007990d0]
lea rcx, [0x007ac120]
lea rdx, [r8 - 0x10]
call fcn.0041ef30
lea rcx, [0x007ac158]
call sub.libstdc_6.dll___cxa_guard_release
lea rcx, [0x0040c6a0]
call fcn.0077d990
mov eax, dword [r12 + 4]
xor edx, edx
mov r15, qword [0x007ac128]
mov rsi, qword [0x007ac120]
mov r12, rax
div r15
mov r14, qword [rsi + rdx*8]
test r14, r14
je 0x746790
mov r13, qword [r14]
mov r11, rdx
cmp dword [r13 + 8], r12d
jne 0x7465e2
jmp 0x746637
mov rcx, qword [rsp + 0xf8]
lea rdx, [0x007906db]
call fcn.0077d8b8
test eax, eax
je 0x746562
mov rdi, qword [rsp + 0xf8]
lea r13, [rsp + 0x60]
mov rdx, qword [rdi]
mov rcx, r13
lea rsi, [r13 + 0x10]
mov r8, qword [rdi + 8]
mov qword [rsp + 0x60], rsi
add r8, rdx
call fcn.00407a50
lea rdx, str.auto
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x746a17
lea r14, [rsp + 0x40]
mov edx, 3
mov rcx, r14
call fcn.00744940
mov rax, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x40]
lea rcx, [r14 + 0x10]
mov r10, qword [rsp + 0x48]
mov r9, rax
lea rdx, [r13 + 0x10]
mov r8, r10
cmp rsi, rcx
je 0x746e6b
mov r9, qword [rsp + 0x50]
cmp rax, rdx
je 0x746f0b
mov qword [rsp + 0x28], r8
movq xmm2, qword [rsp + 0x28]
mov qword [rsp + 0x28], r9
mov r10, qword [rsp + 0x70]
movhps xmm2, qword [rsp + 0x28]
mov qword [rsp + 0x60], rsi
movups xmmword [rsp + 0x68], xmm2
test rax, rax
je 0x746f2a
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], 0
add r14, 0x10
mov byte [rax], 0
mov rcx, qword [rsp + 0x40]
cmp rcx, r14
je 0x746a17
call sub.libstdc_6.dll_operator_delete_void_
mov r14, qword [0x007add88]
test r14, r14
je 0x746d20
mov rdi, qword [r14]
test rdi, rdi
je 0x746d47
mov r9, qword [rsp + 0x60]
lea r8, str.enable_cryptonight_r_asm__s_cpus
xor edx, edx
mov rcx, rdi
call fcn.00430850
xor r15d, r15d
lea rsi, str.intel_avx
mov rdx, rsi
mov rcx, r13
call fcn.0077d8b8
mov rdx, qword [rbp + r15*8]
test eax, eax
setne al
movzx ecx, al
add r15, 1
add ecx, 1
mov dword [rdx + 0x118], ecx
cmp r15, 3
jne 0x746a53
mov rcx, qword [rsp + 0x60]
add r13, 0x10
cmp rcx, r13
jne 0x7468a1
jmp 0x746562
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 0x746adc
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 0x746cb8
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 0x746de0
call fcn.0077d8b8
test eax, eax
jne 0x746bfd
lea rdx, [0x0077b540]
mov r8, qword [rbp]
mov r9d, edi
mov rcx, qword [r8 + 0x110]
mov r8d, r15d
test rcx, rcx
je 0x746bfd
call fcn.00407d40
mov r11, qword [rbp]
mov rcx, qword [r11 + 0x110]
mov qword [r11 + 0x100], rcx
mov r10, qword [rbp]
mov r9, qword [rbp + 8]
mov rcx, rsi
mov rdx, qword [r10 + 0x100]
mov qword [r9 + 0x100], rdx
lea rdx, str.intel_avx
mov rax, qword [rbp]
mov r15, qword [rbp + 0x10]
mov rdi, qword [rax + 0x100]
mov qword [r15 + 0x100], rdi
call fcn.0077d8b8
mov r14, qword [rbp]
lea r9, [rsp + 0x3c]
lea r8, [0x00403440]
mov edx, 0x10000
mov qword [r14 + 0x108], r8
mov r11, qword [rbp]
mov r8d, 0x20
mov rcx, qword [r11 + 0x110]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rcx, qword [rbp]
mov r15, qword [rcx + 0x110]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r8d, 0x10000
mov rdx, r15
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov rcx, qword [rsp + 0x60]
add rsi, 0x10
cmp rcx, rsi
je 0x746c10
call sub.libstdc_6.dll_operator_delete_void_
mov rcx, qword [rsp + 0xf8]
lea rdx, str.auto
call fcn.0077d8b8
test eax, eax
jne 0x746d70
lea rdx, str.intel_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
jne 0x746c56
lea rdx, str.amd_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x746d70
mov r14, qword [0x007add88]
test r14, r14
je 0x746ec7
mov rdi, qword [r14]
test rdi, rdi
je 0x746eee
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 0x74688f
movq xmm4, qword [rsp + 0x28]
mov qword [rsp + 0x28], r11
movhps xmm4, qword [rsp + 0x28]
mov qword [rsp + 0x40], r10
movups xmmword [rsp + 0x48], xmm4
lea rax, [r14 + 0x10]
mov qword [rsp + 0x60], rax
jmp 0x746859
mov r9d, 0x40
mov r8d, 0x3000
mov edx, 0x10000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [r14 + 0x110], rax
jmp 0x746b06
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 0x74676d
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 0x746a33
lea rdx, str.intel_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x74688f
lea rdx, str.amd_avx
mov rcx, r13
call fcn.0077d8b8
test eax, eax
je 0x74688f
mov rsi, qword [0x007add88]
test rsi, rsi
je 0x746f8d
mov rdi, qword [rsi]
test rdi, rdi
je 0x746fb4
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 0x74688f
call fcn.0077d8b8
lea rdx, [0x0077b200]
test eax, eax
jne 0x746b3b
jmp 0x746b34
test r15, r15
je 0x746e57
cmp r15, 1
je 0x746f38
cmp qword [rsp + 0x28], 8
jae 0x746f4e
test byte [rsp + 0x28], 4
jne 0x747019
cmp qword [rsp + 0x28], 0
je 0x746e4f
movzx r11d, byte [r10]
mov byte [rax], r11b
test byte [rsp + 0x28], 2
jne 0x747080
mov r10, qword [rsp + 0x68]
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], r10
mov r15, qword [rsp + 0x28]
mov rax, r9
mov qword [rsp + 0x48], r15
mov byte [rax + r15], 0
mov rax, qword [rsp + 0x60]
jmp 0x746859
test r10, r10
je 0x746eb3
cmp r10, 1
je 0x746fd1
cmp r10, 8
jae 0x746fe9
test r10b, 4
jne 0x747046
test r10, r10
je 0x746ead
movzx edi, byte [rsi]
mov byte [rax], dil
test r10b, 2
jne 0x747065
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov r10, r8
mov rax, r9
mov qword [rsp + 0x68], r10
mov byte [rax + r10], 0
mov rax, qword [rsp + 0x40]
jmp 0x7469f8
mov ecx, 0x28
call sub.libstdc_6.dll_operator_new_unsigned_long_long_
pxor xmm1, xmm1
mov r14, 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 [r14], rdi
jmp 0x746c72
mov qword [rsp + 0x28], r10
movq xmm1, qword [rsp + 0x28]
mov qword [rsp + 0x28], r9
movhps xmm1, qword [rsp + 0x28]
mov qword [rsp + 0x60], rsi
movups xmmword [rsp + 0x68], xmm1
lea rax, [r14 + 0x10]
mov qword [rsp + 0x40], rax
jmp 0x7469f8
movzx edx, byte [rsp + 0x70]
mov byte [rax], dl
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x40]
jmp 0x746e57
mov rdx, qword [r10]
mov rsi, r10
mov qword [rax], rdx
mov rdi, qword [rsp + 0x28]
mov r11, qword [rsp + 0x28]
mov r8, qword [r10 + rdi - 8]
lea rdi, [rax + 8]
and rdi, 0xfffffffffffffff8
mov qword [rax + r11 - 8], r8
sub r9, rdi
sub rsi, r9
add r9, qword [rsp + 0x28]
mov rcx, r9
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x746e40
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 0x746dba
movzx r11d, byte [rsp + 0x50]
mov byte [rax], r11b
mov r10, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
jmp 0x746eb3
mov rcx, qword [rsi]
lea rdi, [rax + 8]
mov qword [rax], rcx
and rdi, 0xfffffffffffffff8
mov rcx, rax
mov rdx, qword [rsi + r10 - 8]
sub rcx, rdi
mov qword [rax + r10 - 8], rdx
sub rsi, rcx
add rcx, r10
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x746ea3
mov ecx, dword [r10]
mov dword [rax], ecx
mov rdx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x28]
mov r10d, dword [r10 + rdx - 4]
mov dword [rax + rdi - 4], r10d
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], r8
jmp 0x746e4f
mov r11d, dword [rsi]
mov dword [rax], r11d
mov r15d, dword [rsi + r10 - 4]
mov dword [rax + r10 - 4], r15d
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
jmp 0x746ead
movzx esi, word [rsi + r10 - 2]
mov word [rax + r10 - 2], si
mov r9, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
jmp 0x746ead
mov r15, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
movzx esi, word [r10 + r15 - 2]
mov word [r9 + rax - 2], si
mov rcx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
jmp 0x746e4f