Function at 0x18004d050
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.18004d4d0
mov rbp, rax
mov eax, 0x5a4d
cmp word [rbp], ax
jne 0x18004d0aa
movsxd rdx, dword [rbp + 0x3c]
lea rcx, [rdx - 0x40]
cmp rcx, 0x3bf
ja 0x18004d0aa
cmp dword [rdx + rbp], 0x4550
lea rdi, [rdx + rbp]
mov qword [rsp + 0x70], rdi
je 0x18004d0af
dec rbp
jmp 0x18004d081
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 0x18004d284
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 0x18004d0ff
add rax, 0xffffffffffffffe0
add rax, rcx
inc rdx
add r8w, di
jne 0x18004d0f0
cmp eax, 0x6a4abc5b
jne 0x18004d1d7
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 0x18004d150
cmp r8d, 0xec0e4e8e
je 0x18004d180
cmp r8d, 0x7c0dfcaa
je 0x18004d180
cmp r8d, 0x91afca54
jne 0x18004d1c2
mov ecx, dword [rdi + r9 + 0x1c]
movzx edx, word [r11]
add rcx, r9
cmp r8d, 0xec0e4e8e
jne 0x18004d19e
mov r12d, dword [rcx + rdx*4]
add r12, r9
jmp 0x18004d1bf
cmp r8d, 0x7c0dfcaa
jne 0x18004d1b0
mov r15d, dword [rcx + rdx*4]
add r15, r9
jmp 0x18004d1bf
cmp r8d, 0x91afca54
jne 0x18004d1bf
mov esi, dword [rcx + rdx*4]
add rsi, r9
add bx, bp
add r10, 4
add r11, 2
test bx, bx
jne 0x18004d140
mov edi, ebp
jmp 0x18004d250
cmp eax, 0x3cfa685d
jne 0x18004d25a
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 0x18004d210
cmp ecx, 0x534c0ab8
jne 0x18004d242
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 0x18004d202
mov r11d, 1
lea ebx, [r11 + 2]
test r12, r12
je 0x18004d26e
test r15, r15
je 0x18004d26e
test rsi, rsi
je 0x18004d26e
test r13, r13
jne 0x18004d27a
mov r14, qword [r14]
test r14, r14
jne 0x18004d0e0
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 0x18004d2c0
mov r8, r14
sub r8, rbp
nop dword [rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
inc rdx
sub rax, 1
jne 0x18004d2b0
movzx r9d, word [rdi + 0x14]
movzx r10d, word [rdi + 6]
add r9, 0x2c
test r10, r10
je 0x18004d31b
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 0x18004d312
nop dword [rax]
movzx eax, byte [rdx]
inc rdx
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x18004d300
add r9, 0x28
test r10, r10
jne 0x18004d2e0
mov ebp, dword [rdi + 0x90]
add rbp, r14
cmp dword [rbp + 0xc], 0
je 0x18004d3bf
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 0x18004d3ac
nop
test rbx, rbx
je 0x18004d381
mov rdx, qword [rbx]
test rdx, rdx
jns 0x18004d381
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 0x18004d391
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 0x18004d350
add rbp, 0x14
cmp dword [rbp + 0xc], 0
jne 0x18004d330
mov rdi, qword [rsp + 0x70]
mov r9, r14
sub r9, qword [rdi + 0x30]
cmp dword [rdi + 0xb4], 0
je 0x18004d489
mov ebx, dword [rdi + 0xb0]
add rbx, r14
mov eax, dword [rbx + 4]
test eax, eax
je 0x18004d489
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 0x18004d478
nop word [rax + rax]
movzx edx, word [r11]
dec r10
movzx ecx, dx
movzx eax, dx
shr cx, 0xc
cmp cx, 0xa
jne 0x18004d433
and edx, 0xfff
add qword [rdx + r8], r9
jmp 0x18004d46f
cmp cx, 3
jne 0x18004d444
and eax, 0xfff
add dword [rax + r8], r9d
jmp 0x18004d46f
cmp cx, 1
jne 0x18004d45f
and eax, 0xfff
lea rcx, [rax + r8]
mov rax, r9
shr rax, 0x10
add word [rcx], ax
jmp 0x18004d46f
cmp cx, 2
jne 0x18004d46f
and eax, 0xfff
add word [rax + r8], r9w
add r11, 2
test r10, r10
jne 0x18004d410
mov eax, dword [rbx + 4]
add rbx, rax
mov eax, dword [rbx + 4]
test eax, eax
jne 0x18004d3f0
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