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

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
xor r12d, r12d
xor r15d, r15d
xor esi, esi
xor r13d, r13d
call fcn.18004e300
mov rbp, rax
mov eax, 0x5a4d
cmp word [rbp], ax
jne 0x18004deda
movsxd rdx, dword [rbp + 0x3c]
lea rcx, [rdx - 0x40]
cmp rcx, 0x3bf
ja 0x18004deda
cmp dword [rdx + rbp], 0x4550
lea rdi, [rdx + rbp]
mov qword [rsp + 0x70], rdi
je 0x18004dedf
dec rbp
jmp 0x18004deb1
mov rax, qword gs:[0x60]
mov r11d, 1
mov qword [rsp + 0x68], rbp
mov rcx, qword [rax + 0x18]
mov r14, qword [rcx + 0x20]
test r14, r14
je 0x18004e0b4
mov edi, 0xffff
lea ebx, [r11 + 2]
nop dword [rax]
mov rdx, qword [r14 + 0x50]
xor eax, eax
movzx r8d, word [r14 + 0x48]
nop dword [rax + rax]
movzx ecx, byte [rdx]
ror eax, 0xd
cmp cl, 0x61
jb 0x18004df2f
add rax, 0xffffffffffffffe0
add rax, rcx
inc rdx
add r8w, di
jne 0x18004df20
cmp eax, 0x6a4abc5b
jne 0x18004e007
mov r9, qword [r14 + 0x20]
mov ebp, 0xffff
movsxd rax, dword [r9 + 0x3c]
mov edi, dword [rax + r9 + 0x88]
mov r10d, dword [rdi + r9 + 0x20]
mov r11d, dword [rdi + r9 + 0x24]
add r10, r9
add r11, r9
nop dword [rax + rax]
mov ecx, dword [r10]
add rcx, r9
xor r8d, r8d
movzx eax, byte [rcx]
nop dword [rax]
ror r8d, 0xd
lea rcx, [rcx + 1]
movsx eax, al
add r8d, eax
movzx eax, byte [rcx]
test al, al
jne 0x18004df80
cmp r8d, 0xec0e4e8e
je 0x18004dfb0
cmp r8d, 0x7c0dfcaa
je 0x18004dfb0
cmp r8d, 0x91afca54
jne 0x18004dff2
mov ecx, dword [rdi + r9 + 0x1c]
movzx edx, word [r11]
add rcx, r9
cmp r8d, 0xec0e4e8e
jne 0x18004dfce
mov r12d, dword [rcx + rdx*4]
add r12, r9
jmp 0x18004dfef
cmp r8d, 0x7c0dfcaa
jne 0x18004dfe0
mov r15d, dword [rcx + rdx*4]
add r15, r9
jmp 0x18004dfef
cmp r8d, 0x91afca54
jne 0x18004dfef
mov esi, dword [rcx + rdx*4]
add rsi, r9
add bx, bp
add r10, 4
add r11, 2
test bx, bx
jne 0x18004df70
mov edi, ebp
jmp 0x18004e080
cmp eax, 0x3cfa685d
jne 0x18004e08a
mov r10, qword [r14 + 0x20]
movsxd rax, dword [r10 + 0x3c]
mov ebx, dword [rax + r10 + 0x88]
mov r8d, dword [rbx + r10 + 0x20]
mov r9d, dword [rbx + r10 + 0x24]
add r8, r10
add r9, r10
mov edx, dword [r8]
add rdx, r10
xor ecx, ecx
movzx eax, byte [rdx]
nop dword [rax]
ror ecx, 0xd
lea rdx, [rdx + 1]
movsx eax, al
add ecx, eax
movzx eax, byte [rdx]
test al, al
jne 0x18004e040
cmp ecx, 0x534c0ab8
jne 0x18004e072
mov ecx, dword [rbx + r10 + 0x1c]
movzx edx, word [r9]
add rcx, r10
mov r13d, dword [rcx + rdx*4]
add r13, r10
add r11w, di
add r8, 4
add r9, 2
test r11w, r11w
jne 0x18004e032
mov r11d, 1
lea ebx, [r11 + 2]
test r12, r12
je 0x18004e09e
test r15, r15
je 0x18004e09e
test rsi, rsi
je 0x18004e09e
test r13, r13
jne 0x18004e0aa
mov r14, qword [r14]
test r14, r14
jne 0x18004df10
mov rbp, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov edx, dword [rdi + 0x50]
xor ecx, ecx
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call rsi
mov r14, rax
mov rdx, rbp
mov eax, dword [rdi + 0x54]
test rax, rax
je 0x18004e0f0
mov r8, r14
sub r8, rbp
nop dword [rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
inc rdx
sub rax, 1
jne 0x18004e0e0
movzx r9d, word [rdi + 0x14]
movzx r10d, word [rdi + 6]
add r9, 0x2c
test r10, r10
je 0x18004e14b
add r9, rdi
nop word [rax + rax]
mov ecx, dword [r9 - 8]
dec r10
mov edx, dword [r9]
add rcx, r14
mov r8d, dword [r9 - 4]
add rdx, rbp
test r8, r8
je 0x18004e142
nop dword [rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x18004e130
add r9, 0x28
test r10, r10
jne 0x18004e110
mov ebp, dword [rdi + 0x90]
add rbp, r14
cmp dword [rbp + 0xc], 0
je 0x18004e1ef
nop
mov ecx, dword [rbp + 0xc]
add rcx, r14
call r12
mov edi, dword [rbp + 0x10]
mov rsi, rax
mov ebx, dword [rbp]
add rdi, r14
add rbx, r14
cmp qword [rdi], 0
je 0x18004e1dc
nop
test rbx, rbx
je 0x18004e1b1
mov rdx, qword [rbx]
test rdx, rdx
jns 0x18004e1b1
movsxd rax, dword [rsi + 0x3c]
movzx edx, dx
mov ecx, dword [rax + rsi + 0x88]
mov eax, dword [rcx + rsi + 0x10]
mov ecx, dword [rcx + rsi + 0x1c]
sub rdx, rax
add rcx, rsi
mov eax, dword [rcx + rdx*4]
add rax, rsi
jmp 0x18004e1c1
mov rdx, qword [rdi]
mov rcx, rsi
add rdx, 2
add rdx, r14
call r15
mov qword [rdi], rax
add rdi, 8
test rbx, rbx
lea rax, [rbx + 8]
cmove rax, rbx
cmp qword [rdi], 0
mov rbx, rax
jne 0x18004e180
add rbp, 0x14
cmp dword [rbp + 0xc], 0
jne 0x18004e160
mov rdi, qword [rsp + 0x70]
mov r9, r14
sub r9, qword [rdi + 0x30]
cmp dword [rdi + 0xb4], 0
je 0x18004e2b9
mov ebx, dword [rdi + 0xb0]
add rbx, r14
mov eax, dword [rbx + 4]
test eax, eax
je 0x18004e2b9
nop word [rax + rax]
mov r8d, dword [rbx]
lea r11, [rbx + 8]
mov r10d, eax
add r8, r14
sub r10, 8
shr r10, 1
je 0x18004e2a8
nop word [rax + rax]
movzx edx, word [r11]
dec r10
movzx ecx, dx
movzx eax, dx
shr cx, 0xc
cmp cx, 0xa
jne 0x18004e263
and edx, 0xfff
add qword [rdx + r8], r9
jmp 0x18004e29f
cmp cx, 3
jne 0x18004e274
and eax, 0xfff
add dword [rax + r8], r9d
jmp 0x18004e29f
cmp cx, 1
jne 0x18004e28f
and eax, 0xfff
lea rcx, [rax + r8]
mov rax, r9
shr rax, 0x10
add word [rcx], ax
jmp 0x18004e29f
cmp cx, 2
jne 0x18004e29f
and eax, 0xfff
add word [rax + r8], r9w
add r11, 2
test r10, r10
jne 0x18004e240
mov eax, dword [rbx + 4]
add rbx, rax
mov eax, dword [rbx + 4]
test eax, eax
jne 0x18004e220
mov ebx, dword [rdi + 0x28]
xor edx, edx
xor r8d, r8d
add rbx, r14
lea rcx, [rdx - 1]
call r13
mov r8, qword [rsp + 0x60]
mov edx, 1
mov rcx, r14
call rbx
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret