Function at 0x180012478
Capabilities:
Access peb ldr_data
Parse pe header
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebp, ebp
mov r13, rcx
mov r14, rbp
mov r15, rbp
mov r12, rbp
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x88], rbp
call fcn.180012470
mov rbx, rax
lea r10d, [rbp + 1]
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x1800124db
movsxd rdx, dword [rbx + 0x3c]
lea rcx, [rdx - 0x40]
cmp rcx, 0x3bf
ja 0x1800124db
cmp dword [rdx + rbx], 0x4550
je 0x1800124e0
sub rbx, r10
jmp 0x1800124b7
mov rax, qword gs:[0x60]
mov qword [rsp + 0x20], rbx
mov edi, 3
mov rcx, qword [rax + 0x18]
mov rsi, qword [rcx + 0x20]
mov qword [rsp + 0x98], rsi
cmp rsi, rbp
je 0x1800126fb
mov r9d, 0xffff
mov r13, rbp
mov rdx, qword [rsi + 0x50]
movzx r8d, word [rsi + 0x48]
mov rcx, rbp
ror ecx, 0xd
cmp byte [rdx], 0x61
jb 0x180012533
movzx eax, byte [rdx]
sub eax, 0x20
cdqe
jmp 0x180012536
movzx eax, byte [rdx]
add rcx, rax
add rdx, r10
add r8w, r9w
jne 0x180012521
cmp ecx, 0x6a4abc5b
jne 0x18001261b
mov rdx, qword [rsi + 0x20]
mov ebx, 0xffff
movsxd rax, dword [rdx + 0x3c]
mov ebp, dword [rax + rdx + 0x88]
mov r10d, dword [rbp + rdx + 0x20]
mov r11d, dword [rbp + rdx + 0x24]
add r10, rdx
add r11, rdx
xor r9d, r9d
lea esi, [r9 + 2]
mov r8d, dword [r10]
mov ecx, r9d
add r8, rdx
mov al, byte [r8]
ror ecx, 0xd
movsx eax, al
inc r8
add ecx, eax
mov al, byte [r8]
cmp al, r9b
jne 0x180012585
cmp ecx, 0xec0e4e8e
je 0x1800125b0
cmp ecx, 0x7c0dfcaa
je 0x1800125b0
cmp ecx, 0x91afca54
jne 0x1800125f3
mov eax, dword [rbp + rdx + 0x1c]
movzx r8d, word [r11]
lea r9, [rdx + rax]
cmp ecx, 0xec0e4e8e
jne 0x1800125cd
mov r14d, dword [r9 + r8*4]
add r14, rdx
jmp 0x1800125ed
cmp ecx, 0x7c0dfcaa
jne 0x1800125de
mov r15d, dword [r9 + r8*4]
add r15, rdx
jmp 0x1800125ed
cmp ecx, 0x91afca54
jne 0x1800125ed
mov r12d, dword [r9 + r8*4]
add r12, rdx
add di, bx
xor r9d, r9d
add r10, 4
add r11, rsi
cmp di, r9w
ja 0x180012579
mov rsi, qword [rsp + 0x98]
mov qword [rsp + 0x90], r12
xor ebp, ebp
jmp 0x1800126b9
cmp ecx, 0x3cfa685d
jne 0x1800126c6
mov rdx, qword [rsi + 0x20]
movzx edi, r10w
mov ebx, 0xffff
movsxd rax, dword [rdx + 0x3c]
mov r12d, 2
mov r11d, dword [rax + rdx + 0x88]
add r11, rdx
mov r8d, dword [r11 + 0x20]
mov r9d, dword [r11 + 0x24]
add r8, rdx
add r9, rdx
mov ecx, dword [r8]
mov r10d, ebp
add rcx, rdx
mov edx, 1
mov al, byte [rcx]
ror r10d, 0xd
movsx eax, al
add rcx, rdx
add r10d, eax
mov al, byte [rcx]
cmp al, bpl
jne 0x180012667
mov rdx, qword [rsi + 0x20]
cmp r10d, 0x534c0ab8
jne 0x18001269d
mov eax, dword [r11 + 0x1c]
movzx ecx, word [r9]
add rax, rdx
mov r13d, dword [rax + rcx*4]
add r13, rdx
add di, bx
add r8, 4
add r9, r12
cmp di, bp
ja 0x180012657
mov r12, qword [rsp + 0x90]
mov qword [rsp + 0x88], r13
mov r10d, 1
mov r9d, ebx
lea edi, [r10 + 2]
cmp r14, rbp
je 0x1800126da
cmp r15, rbp
je 0x1800126da
cmp r12, rbp
je 0x1800126da
cmp r13, rbp
jne 0x1800126ee
mov rsi, qword [rsi]
mov qword [rsp + 0x98], rsi
cmp rsi, rbp
jne 0x180012515
mov rbx, qword [rsp + 0x20]
mov r13, qword [rsp + 0x80]
movsxd rdi, dword [rbx + 0x3c]
xor ecx, ecx
mov r8d, 0x3000
add rdi, rbx
lea r9d, [rcx + 0x40]
mov edx, dword [rdi + 0x50]
call r12
mov edx, dword [rdi + 0x54]
xor r11d, r11d
mov rbp, rax
mov rax, rbx
lea esi, [r11 + 1]
cmp rdx, r11
je 0x180012740
mov r8, rbp
sub r8, rbx
mov cl, byte [rax]
sub rdx, rsi
mov byte [r8 + rax], cl
add rax, rsi
cmp rdx, r11
jne 0x18001272f
movzx r9d, word [rdi + 6]
movzx eax, word [rdi + 0x14]
cmp r9, r11
je 0x180012784
lea rcx, [rax + rdi + 0x2c]
mov edx, dword [rcx - 8]
mov r8d, dword [rcx]
mov r10d, dword [rcx - 4]
add rdx, rbp
sub r9, rsi
add r8, rbx
jmp 0x180012776
mov al, byte [r8]
sub r10, rsi
mov byte [rdx], al
add rdx, rsi
add r8, rsi
cmp r10, r11
jne 0x180012768
add rcx, 0x28
cmp r9, r11
jne 0x180012753
mov ebx, dword [rdi + 0x90]
add rbx, rbp
mov eax, dword [rbx + 0xc]
cmp eax, r11d
je 0x180012833
mov ecx, eax
add rcx, rbp
call r14
mov r12d, dword [rbx]
mov esi, dword [rbx + 0x10]
add r12, rbp
add rsi, rbp
mov r13, rax
xor r11d, r11d
jmp 0x180012816
cmp r12, r11
je 0x1800127f5
movabs rax, 0x8000000000000000
test qword [r12], rax
je 0x1800127f5
movsxd rax, dword [r13 + 0x3c]
movzx edx, word [r12]
mov ecx, dword [rax + r13 + 0x88]
mov eax, dword [rcx + r13 + 0x10]
sub rdx, rax
mov eax, dword [rcx + r13 + 0x1c]
lea rcx, [r13 + rax]
mov eax, dword [rcx + rdx*4]
add rax, r13
jmp 0x180012806
mov rax, qword [rsi]
mov rcx, r13
lea rdx, [rax + rbp + 2]
call r15
xor r11d, r11d
mov qword [rsi], rax
add rsi, 8
cmp r12, r11
je 0x180012816
add r12, 8
cmp qword [rsi], r11
jne 0x1800127b5
mov eax, dword [rbx + 0x20]
add rbx, 0x14
cmp eax, r11d
jne 0x180012799
mov r13, qword [rsp + 0x80]
mov r9, rbp
sub r9, qword [rdi + 0x30]
cmp dword [rdi + 0xb4], r11d
je 0x1800128ec
mov edx, dword [rdi + 0xb0]
add rdx, rbp
mov eax, dword [rdx + 4]
cmp eax, r11d
je 0x1800128ec
mov r12d, 2
mov ebx, 0xfff
lea r14d, [r12 + 1]
mov r8d, dword [rdx]
mov r10d, eax
lea r11, [rdx + 8]
sub r10, 8
add r8, rbp
shr r10, 1
je 0x1800128df
mov esi, 1
mov cx, word [r11]
sub r10, rsi
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x1800128a4
and rcx, rbx
add qword [rcx + r8], r9
jmp 0x1800128d7
cmp ax, r14w
jne 0x1800128b3
and rcx, rbx
add dword [rcx + r8], r9d
jmp 0x1800128d7
cmp ax, si
jne 0x1800128c9
mov rax, r9
and rcx, rbx
shr rax, 0x10
add word [rcx + r8], ax
jmp 0x1800128d7
cmp ax, r12w
jne 0x1800128d7
and rcx, rbx
add word [rcx + r8], r9w
add r11, r12
test r10, r10
jne 0x180012887
mov eax, dword [rdx + 4]
add rdx, rax
mov eax, dword [rdx + 4]
test eax, eax
jne 0x18001286c
mov ebx, dword [rdi + 0x28]
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
add rbx, rbp
call qword [rsp + 0x88]
xor r13, 0x73de2938
mov edx, 1
mov r8, r13
mov rcx, rbp
call rbx
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret