Function at 0x29d5e96f0
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 r14, rcx
mov ecx, 0x10
mov rbx, rdx
mov rdi, rsi
mov rbp, r8
mov r12d, r9d
rep stosq qword [rdi], rax
test r14, r14
je 0x29d5e972e
cmp word [r14], 0x5a4d
je 0x29d5e9750
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 [r14 + 0x3c]
add rdi, r14
cmp dword [rdi], 0x4550
jne 0x29d5e972e
mov edx, 0x1cafdf66
lea rcx, [0x29d5fc1e0]
call fcn.29d5e7eb0
mov edx, 0x2547c526
mov rcx, rax
call fcn.29d5e8e10
test byte [rdi + 0x17], 0x20
je 0x29d5e972e
mov edx, 0x7c030c66
lea rcx, [0x29d5fc1c0]
call fcn.29d5e7eb0
mov edx, 0x4399ea26
mov rcx, rax
call fcn.29d5e8e10
movsxd rdx, dword [r14 + 0x3c]
add rdx, r14
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 0x29d5e972e
movsxd r15, dword [rsp + 0x30]
test r15d, r15d
je 0x29d5e972e
mov edx, 0x1ecc8482
lea rcx, [0x29d5fc160]
add r15, r14
call fcn.29d5e7eb0
mov edx, 0x114b99c2
lea rsi, [0x29d5f9fc0]
mov rcx, rax
call fcn.29d5e8e10
movsxd rdi, dword [r15 + 0x1c]
add rdi, r14
cmp rbx, rsi
je 0x29d5e9a10
test rbx, rbx
je 0x29d5e9a46
cmp byte [rbx], 0
je 0x29d5e9a10
mov r13d, dword [r15 + 0x18]
test r13d, r13d
js 0x29d5e9a30
mov eax, dword [rdi]
mov qword [rsp + 0x28], rdi
xor esi, esi
mov dword [rsp + 0x24], eax
movsxd rax, dword [r15 + 0x20]
mov edi, dword [rax + r14]
jmp 0x29d5e98b1
movsxd rbp, dword [rsp + 0x24]
add r13d, 1
test r15, r15
jne 0x29d5e9918
add edi, 1
add esi, 1
cmp r13d, esi
jl 0x29d5e9a30
mov dword [rsp + 0x24], ebp
mov edx, 0x7c030c66
lea rcx, [0x29d5fc120]
call fcn.29d5e8e10
movsxd r8, edi
mov edx, 0x1ecc8482
lea rcx, [0x29d5fc100]
lea r15, [r8 + r14]
call fcn.29d5e8e10
lea rdx, [0x29d5f9fc0]
test rax, rax
je 0x29d5e98f9
lea rdx, [rax + 0x10]
cmp qword [rax], 0
lea rax, [0x29d5f9fc0]
cmove rdx, rax
mov rcx, r15
call fcn.29d5e95d0
test eax, eax
jne 0x29d5e9890
add qword [rsp + 0x28], 4
mov rax, qword [rsp + 0x28]
movsxd rbp, dword [rax]
jmp 0x29d5e9899
mov rcx, r15
call sub.msvcrt.dll_strlen
lea edi, [rdi + rax + 1]
cmp r15, rbx
je 0x29d5e9940
mov rdx, r15
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x29d5e98a1
nop dword [rax]
mov ecx, r12d
call fcn.29d5e0890
mov ecx, dword [0x29d68301c]
test al, al
jne 0x29d5e9af3
call fcn.29d5e0890
mov edx, 0x6e0c4d42
lea rcx, [0x29d5fc080]
call fcn.29d5e8e10
mov edx, 0x7f5d9ee6
lea rcx, [0x29d5fc040]
call fcn.29d5e8e10
mov edx, 0x66612402
lea rcx, [0x29d5fc020]
call fcn.29d5e8e10
mov edx, 0x2cebaf26
lea rcx, [0x29d5fbfe0]
call fcn.29d5e8e10
mov edx, 0x5d04b8c2
lea rcx, [0x29d5fbfa0]
call fcn.29d5e8e10
mov edx, 0x306ed966
lea rcx, [0x29d5fbf80]
call fcn.29d5e8e10
mov edx, 0x24803b82
lea rcx, [0x29d5fbf40]
call fcn.29d5e8e10
mov ecx, r12d
lea r12, [rbp + r14]
call fcn.29d5e0890
test al, al
jne 0x29d5e99f0
movsxd r12, dword [rsp + 0x24]
add r12, r14
nop dword [rax + rax]
mov edx, 0x57f85c42
lea rcx, [0x29d5fbe80]
call fcn.29d5e8e10
jmp 0x29d5e9731
mov edx, 0x77ddada6
lea rcx, [0x29d5fbf00]
call fcn.29d5e8e10
movsxd r12, dword [rdi + rbp*4 - 4]
add r12, r14
jmp 0x29d5e99f0
mov edx, 0x57f85c42
lea rcx, [0x29d5fbe80]
call fcn.29d5e8e10
jmp 0x29d5e972e
mov r13d, dword [r15 + 0x18]
test r13d, r13d
js 0x29d5e9a30
mov eax, dword [rdi]
mov qword [rsp + 0x28], rdi
xor edi, edi
mov dword [rsp + 0x24], eax
movsxd rax, dword [r15 + 0x20]
mov ebx, dword [rax + r14]
jmp 0x29d5e9a9f
add qword [rsp + 0x28], 4
mov rax, qword [rsp + 0x28]
movsxd rbp, dword [rax]
test r15, r15
je 0x29d5e9940
mov rcx, r15
add edi, 1
call sub.msvcrt.dll_strlen
lea ebx, [rbx + rax + 1]
cmp r13d, edi
jl 0x29d5e9a30
mov dword [rsp + 0x24], ebp
mov edx, 0x7c030c66
lea rcx, [0x29d5fc120]
call fcn.29d5e8e10
movsxd r8, ebx
mov edx, 0x1ecc8482
lea rcx, [0x29d5fc100]
lea r15, [r8 + r14]
call fcn.29d5e8e10
mov rdx, rsi
test rax, rax
je 0x29d5e9adc
lea rdx, [rax + 0x10]
cmp qword [rax], 0
cmove rdx, rsi
mov rcx, r15
call fcn.29d5e95d0
test eax, eax
je 0x29d5e9a70
movsxd rbp, dword [rsp + 0x24]
add r13d, 1
jmp 0x29d5e9a7e
call fcn.29d5e0890
test al, al
je 0x29d5e995b
mov edx, 0x7df498a6
lea rcx, [0x29d5fc0a0]
call fcn.29d5e8e10
jmp 0x29d5e995b