Function at 0x2016d2c00
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
xor eax, eax
lea rsi, [rsp + 0x30]
mov rbx, rcx
mov ecx, 0x10
mov r15, rdx
mov rdi, rsi
mov r13, r8
mov r12d, r9d
rep stosq qword [rdi], rax
test rbx, rbx
je 0x2016d2c3d
cmp word [rbx], 0x5a4d
je 0x2016d2c60
xor r12d, r12d
mov rax, r12
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdi, dword [rbx + 0x3c]
add rdi, rbx
cmp dword [rdi], 0x4550
jne 0x2016d2c3d
mov edx, 0x2a34a444
lea rcx, [0x2016e14c0]
call fcn.2016d1b10
mov edx, 0x52456224
mov rcx, rax
call fcn.2016d23b0
test byte [rdi + 0x17], 0x20
je 0x2016d2c3d
mov edx, 0x52456224
lea rcx, [0x2016e14a0]
call fcn.2016d1b10
mov edx, 0x1e0102a4
mov rcx, rax
call fcn.2016d23b0
movsxd rdx, dword [rbx + 0x3c]
add rdx, rbx
movdqu xmm0, xmmword [rdx + 0x88]
movdqu xmm1, xmmword [rdx + 0x98]
movdqu xmm2, xmmword [rdx + 0xa8]
movdqu xmm3, xmmword [rdx + 0xb8]
movups xmmword [rsi], xmm0
movdqu xmm4, xmmword [rdx + 0xc8]
movdqu xmm5, xmmword [rdx + 0xd8]
movdqu xmm0, xmmword [rdx + 0xe8]
movups xmmword [rsi + 0x10], xmm1
mov eax, dword [rsp + 0x34]
movdqu xmm1, xmmword [rdx + 0xf8]
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x40], xmm4
movups xmmword [rsi + 0x50], xmm5
movups xmmword [rsi + 0x60], xmm0
movups xmmword [rsi + 0x70], xmm1
test eax, eax
je 0x2016d2c3d
movsxd rax, dword [rsp + 0x30]
test eax, eax
je 0x2016d2c3d
mov edx, 0x27397eac
lea rcx, [0x2016e1400]
lea rsi, [rax + rbx]
call fcn.2016d1b10
mov edx, 0x5f97282c
mov rcx, rax
call fcn.2016d23b0
movsxd rbp, dword [rsi + 0x1c]
lea rax, [0x2016df560]
add rbp, rbx
cmp r15, rax
je 0x2016d2e5f
test r15, r15
je 0x2016d2d78
cmp byte [r15], 0
je 0x2016d2e5f
mov r13d, dword [rsi + 0x18]
test r13d, r13d
js 0x2016d2eb5
mov eax, dword [rbp]
xor edi, edi
mov dword [rsp + 0x28], eax
movsxd rax, dword [rsi + 0x20]
mov esi, dword [rax + rbx]
jmp 0x2016d2df9
mov r9d, dword [rbp + 4]
add rbp, 4
mov edx, 1
test r14, r14
jne 0x2016d2e8e
add esi, edx
cmp r15, r14
je 0x2016d2ecb
test r15, r15
je 0x2016d2de8
test r14, r14
je 0x2016d2de8
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x2c], r9d
call sub.msvcrt.dll_strcmp
mov r9d, dword [rsp + 0x2c]
test eax, eax
je 0x2016d2ecb
add edi, 1
cmp r13d, edi
jl 0x2016d2eb5
mov dword [rsp + 0x28], r9d
mov edx, 0x26f43d44
lea rcx, [0x2016e13c0]
call fcn.2016d23b0
movsxd r8, esi
mov edx, 0x167c720c
lea rcx, [0x2016e13a0]
lea r14, [r8 + rbx]
call fcn.2016d23b0
lea rdx, [0x2016df560]
test rax, rax
je 0x2016d2e41
lea rdx, [rax + 0x10]
cmp qword [rax], 0
lea rax, [0x2016df560]
cmove rdx, rax
mov rcx, r14
call fcn.2016d2b00
test eax, eax
je 0x2016d2da0
mov r9d, dword [rsp + 0x28]
add r13d, 1
jmp 0x2016d2da8
mov edx, 0x4d094164
lea rcx, [0x2016e11a0]
call fcn.2016d23b0
movsxd r12, dword [rbp + r13*4 - 4]
add r12, rbx
mov edx, 0x2991f06c
lea rcx, [0x2016e10a0]
call fcn.2016d23b0
jmp 0x2016d2c40
xor eax, eax
cmp byte [r14], 0
lea rcx, [r14 + 1]
je 0x2016d2db6
nop
lea rdx, [rcx + rax]
add rax, 1
cmp byte [rdx], 0
jne 0x2016d2ea0
lea edx, [rax + 1]
jmp 0x2016d2db6
mov edx, 0x2991f06c
lea rcx, [0x2016e10a0]
call fcn.2016d23b0
jmp 0x2016d2c3d
mov ecx, r12d
mov dword [rsp + 0x2c], r9d
call fcn.2016c9ed0
mov r9d, dword [rsp + 0x2c]
test al, al
jne 0x2016d2f94
mov ecx, dword [0x201704b1c]
mov dword [rsp + 0x2c], r9d
call fcn.2016c9ed0
mov r9d, dword [rsp + 0x2c]
mov edx, 0x337c7eec
lea rcx, [0x2016e1320]
mov dword [rsp + 0x2c], r9d
call fcn.2016d23b0
mov edx, 0x78fbcd84
lea rcx, [0x2016e12e0]
call fcn.2016d23b0
mov edx, 0x786486cc
lea rcx, [0x2016e12c0]
call fcn.2016d23b0
mov edx, 0x52403324
lea rcx, [0x2016e1280]
call fcn.2016d23b0
mov edx, 0x1f1081ac
lea rcx, [0x2016e1240]
call fcn.2016d23b0
mov edx, 0x12fc21c4
lea rcx, [0x2016e1220]
call fcn.2016d23b0
mov edx, 0x26e9278c
lea rcx, [0x2016e11e0]
call fcn.2016d23b0
mov ecx, r12d
call fcn.2016c9ed0
movsxd r9, dword [rsp + 0x2c]
test al, al
jne 0x2016d2fcc
movsxd r12, dword [rsp + 0x28]
add r12, rbx
jmp 0x2016d2e78
mov ecx, dword [0x201704b1c]
mov dword [rsp + 0x2c], r9d
call fcn.2016c9ed0
mov r9d, dword [rsp + 0x2c]
test al, al
je 0x2016d2efa
mov edx, 0x71e788e4
lea rcx, [0x2016e1340]
call fcn.2016d23b0
mov r9d, dword [rsp + 0x2c]
jmp 0x2016d2efa
lea r12, [r9 + rbx]
jmp 0x2016d2e78