Function at 0x18002aaa0
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0xb40
mov rax, qword [0x1800a8040]
xor rax, rsp
mov qword [rsp + 0xb30], rax
mov rsi, rdx
xor r8d, r8d
xor edx, edx
mov r14, rcx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov rbp, rax
test rax, rax
je 0x18002af42
mov rdx, rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18002af44
cmp dword [0x1800d7e88], eax
jne 0x18002af42
mov rdi, qword [0x1800d7e90]
xor ebx, ebx
test rdi, rdi
jne 0x18002ace2
xorps xmm0, xmm0
mov qword [0x1800d7f80], rax
movups xmmword [0x1800d7f40], xmm0
movups xmmword [0x1800d7f50], xmm0
movups xmmword [0x1800d7f60], xmm0
movups xmmword [0x1800d7f70], xmm0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r8d, r8d
lea rcx, str.dbghelp.dll
xor edx, edx
mov qword [0x1800d7f40], rax
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov qword [0x1800d7f48], rax
test rax, rax
je 0x18002aef9
lea rdx, str.ImagehlpApiVersionEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymInitialize
mov qword [0x1800d7f50], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymSetOptions
mov qword [0x1800d7f58], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymGetOptions
mov qword [0x1800d7f60], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymLoadModule64
mov qword [0x1800d7f68], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymGetModuleInfo64
mov qword [0x1800d7f70], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1800d7f48]
lea rdx, str.SymFromName
mov qword [0x1800d7f78], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, qword [0x1800d7f50]
mov ecx, 0xc
mov qword [rsp + 0x290], rbx
mov qword [0x1800d7f80], rax
mov word [rsp + 0x290], cx
test rdx, rdx
je 0x18002aef2
cmp qword [0x1800d7f58], rbx
je 0x18002aef2
cmp qword [0x1800d7f70], rbx
je 0x18002aef2
cmp qword [0x1800d7f78], rbx
je 0x18002aef2
test rax, rax
je 0x18002aef2
lea rcx, [rsp + 0x290]
call rdx
cmp word [rsp + 0x290], 0xc
jb 0x18002aef2
mov rcx, qword [0x1800d7f40]
xor r8d, r8d
xor edx, edx
call qword [0x1800d7f58]
test eax, eax
je 0x18002aef2
mov rax, qword [0x1800d7f68]
test rax, rax
je 0x18002acd4
cmp qword [0x1800d7f60], rbx
je 0x18002acd4
call rax
and eax, 0xfffffffc
or eax, 0x2704
mov ecx, eax
call qword [0x1800d7f60]
lea rdi, [0x1800d7f40]
mov qword [0x1800d7e90], rdi
mov rcx, qword [rdi]
xor r9d, r9d
mov dword [rsp + 0x28], ebx
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rbp
call qword [rdi + 0x30]
test rax, rax
jne 0x18002ad0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x18002af42
xor edx, edx
lea rcx, [rsp + 0x2a4]
mov r8d, 0x68c
call fcn.18007afa0
mov dword [rsp + 0x2a0], 0x690
lea r8, [rsp + 0x2a0]
mov rcx, qword [rdi]
mov rdx, rbp
call qword [rdi + 0x38]
test eax, eax
je 0x18002af42
lea r8, [rsp + 0x2c4]
mov edx, 0x200
lea rax, [rsp + 0x930]
sub r8, rax
lea rcx, [rsp + 0x930]
nop word [rax + rax]
lea rax, [rdx + 0x7ffffdfe]
test rax, rax
je 0x18002ad90
movzx eax, byte [r8 + rcx]
test al, al
je 0x18002ad90
mov byte [rcx], al
inc rcx
sub rdx, 1
jne 0x18002ad70
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18002af42
mov ecx, 0x200
lea rax, [rsp + 0x930]
cmp byte [rax], 0
je 0x18002adbf
inc rax
sub rcx, 1
jne 0x18002adb1
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18002af42
mov edx, 0x200
lea rcx, [rsp + 0x930]
lea rcx, [rcx + rax]
mov r8d, 0x7ffffffe
sub rdx, rax
je 0x18002ae1e
lea r10, [0x180098db4]
mov eax, r8d
sub r10, rcx
nop dword [rax]
test rax, rax
je 0x18002ae1e
movzx r9d, byte [r10 + rcx]
test r9b, r9b
je 0x18002ae1e
mov byte [rcx], r9b
dec rax
inc rcx
sub rdx, 1
jne 0x18002ae00
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18002af42
mov ecx, 0x200
lea rax, [rsp + 0x930]
nop
cmp byte [rax], 0
je 0x18002ae4e
inc rax
sub rcx, 1
jne 0x18002ae40
mov eax, 0x200
sub rax, rcx
test rcx, rcx
cmove rax, rbx
je 0x18002af42
mov edx, 0x200
lea rcx, [rsp + 0x930]
lea rcx, [rcx + rax]
sub rdx, rax
je 0x18002ae9b
sub rsi, rcx
nop dword [rax]
test r8, r8
je 0x18002ae9b
movzx eax, byte [rsi + rcx]
test al, al
je 0x18002ae9b
mov byte [rcx], al
dec r8
inc rcx
sub rdx, 1
jne 0x18002ae80
test rdx, rdx
lea rax, [rcx - 1]
cmovne rax, rcx
mov byte [rax], 0
je 0x18002af42
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x258
call fcn.18007afa0
mov dword [rsp + 0x30], 0x58
lea r8, [rsp + 0x30]
mov dword [rsp + 0x80], 0x200
lea rdx, [rsp + 0x930]
mov rcx, qword [rdi]
call qword [rdi + 0x40]
test eax, eax
je 0x18002af42
mov rax, qword [rsp + 0x68]
jmp 0x18002af44
mov rax, qword [0x1800d7f48]
mov dword [0x1800d7e88], 1
test rax, rax
je 0x18002af11
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x1800d7f50], rbx
mov qword [0x1800d7f58], rbx
mov qword [0x1800d7f60], rbx
mov qword [0x1800d7f68], rbx
mov qword [0x1800d7f70], rbx
mov qword [0x1800d7f78], rbx
mov qword [0x1800d7f80], rbx
xor eax, eax
mov rcx, qword [rsp + 0xb30]
xor rcx, rsp
call fcn.18002b710
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret