Function at 0x7090a870
Capabilities:
Enumerate pe sections
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, 0x88
movaps xmmword [rsp + 0x70], xmm6
mov rbp, rcx
mov r13, rdx
mov edx, 0x79241bc0
mov dword [rsp + 0x6c], 0
lea rcx, [0x7091fb80]
call fcn.70909b50
mov edx, 0x47b3d3c0
mov rcx, rax
call fcn.70909bc0
lea rcx, [0x7091e0d1]
test rax, rax
je 0x7090a8cc
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmovne rcx, rdx
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x30], 0
mov edx, 0x80000000
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [0x70a3ac40]
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [0x70a3a608]
mov esi, eax
call qword [0x70a42040]
xor edx, edx
movsxd r8, esi
mov rcx, rax
call qword [0x70a3a520]
lea r9, [rsp + 0x6c]
mov rcx, rbx
mov r8d, esi
mov qword [rsp + 0x20], 0
mov rdi, rax
mov rdx, rax
call qword [0x70a3a7e0]
movsxd r11, dword [rdi + 0x3c]
lea r15, [rdi + r11]
mov eax, dword [r15 + 0x88]
movzx ebx, word [r15 + 0x14]
mov dword [rsp + 0x40], eax
lea rax, [r15 + 0x18]
mov rcx, rax
add rax, rbx
cmp word [r15 + 6], 0
mov qword [rsp + 0x48], rax
je 0x7090adab
mov r12, rax
xor esi, esi
movdqa xmm6, xmmword [0x70a27540]
mov r14, rcx
mov qword [rsp + 0x50], rdi
jmp 0x7090a998
mov r12, rbx
movzx ebx, word [r15 + 0x14]
lea eax, [rsi + rsi*4]
add rbx, r14
mov edx, 0x19
lea rcx, [0x7091d020]
shl eax, 3
movzx eax, ax
add rbx, rax
call fcn.70916d80
lea rcx, [0x7091fb60]
movups xmmword [rax], xmm6
movzx edx, byte [rbx]
mov rdi, rax
mov byte [rax + 0x10], dl
movzx edx, byte [rbx + 1]
mov byte [rax + 0x11], dl
movzx edx, byte [rbx + 2]
mov byte [rax + 0x12], dl
movzx edx, byte [rbx + 3]
mov byte [rax + 0x13], dl
movzx edx, byte [rbx + 4]
mov byte [rax + 0x14], dl
movzx edx, byte [rbx + 5]
mov byte [rax + 0x15], dl
movzx edx, byte [rbx + 6]
mov byte [rax + 0x16], dl
movzx edx, byte [rbx + 7]
mov byte [rax + 0x17], dl
mov edx, 0x73d7af40
call fcn.70909b50
mov edx, 0x20165740
mov rcx, rax
call fcn.70909bc0
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov rdx, rax
call fcn.70910a70
test rax, rax
cmovs rbx, r12
add esi, 1
cmp word [r15 + 6], si
ja 0x7090a990
mov rdi, qword [rsp + 0x50]
movsxd rsi, dword [rsp + 0x40]
movsxd rdx, dword [rbx + 0xc]
movsxd rax, dword [rbx + 0x14]
add rsi, rdi
sub rsi, rdx
lea rcx, [rsi + rax]
movsxd r12, dword [rcx + 0x1c]
mov qword [rsp + 0x50], rcx
movsxd r10, dword [rcx + 0x20]
add r12, rdi
sub r12, rdx
add r10, rdi
lea r11, [r12 + rax]
mov r12d, dword [rcx + 0x18]
sub r10, rdx
lea rsi, [r10 + rax]
mov qword [rsp + 0x40], r11
test r12d, r12d
jle 0x7090ada3
lea rcx, [r13 + 0x10]
mov r8, r13
xor r15d, r15d
mov r13, rdi
xor r14d, r14d
mov edi, r12d
mov qword [rsp + 0x58], rcx
mov r12, rsi
mov rsi, rbx
jmp 0x7090aaed
lea ebx, [r15 + 1]
test rcx, rcx
je 0x7090aada
test rbp, rbp
je 0x7090aada
mov rdx, rbp
mov qword [rsp + 0xd8], r8
call sub.msvcrt.dll_strcmp
mov r8, qword [rsp + 0xd8]
test eax, eax
je 0x7090ab02
cmp ebx, edi
mov r15d, ebx
jge 0x7090ad19
movsxd rdx, dword [rsi + 0xc]
movsxd rax, dword [rsi + 0x14]
movsxd rcx, r15d
movsxd rcx, dword [r12 + rcx*4]
add rcx, r13
sub rcx, rdx
add rcx, rax
cmp rbp, rcx
jne 0x7090aab0
mov rcx, qword [rsp + 0x40]
lea ebx, [r15 + 1]
movsxd rax, ebx
mov edx, dword [0x70a2d0e0]
movsxd rax, dword [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
test edx, edx
movsxd r14, dword [rcx + 0xc]
movsxd rcx, dword [rcx + 0x14]
jne 0x7090ad40
lea rdx, [r13 + rax]
mov rax, rdx
sub rax, r14
lea rdx, [rax + rcx]
mov rcx, qword [section..data]
test rcx, rcx
jle 0x7090ad69
cmp rdx, qword [rsp + 0x58]
lea rax, [rdx + 0x10]
setae r10b
cmp r8, rax
setae al
or r10b, al
je 0x7090ad74
lea rax, [rcx - 1]
cmp rax, 0xe
jbe 0x7090ad74
mov r10, rcx
mov r14, r8
mov rax, rdx
and r10, 0xfffffffffffffff0
sub r14, rdx
add r10, rdx
nop dword [rax]
movdqu xmm0, xmmword [rax]
movups xmmword [r14 + rax], xmm0
add rax, 0x10
cmp rax, r10
jne 0x7090ab90
mov rax, rcx
and rax, 0xfffffffffffffff0
cmp rax, rcx
je 0x7090ad00
movzx r10d, byte [rax + rdx]
mov byte [r8 + rax], r10b
lea r10, [rax + 1]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 1]
mov byte [r8 + rax + 1], r10b
lea r10, [rax + 2]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 2]
mov byte [r8 + rax + 2], r10b
lea r10, [rax + 3]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 3]
mov byte [r8 + rax + 3], r10b
lea r10, [rax + 4]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 4]
mov byte [r8 + rax + 4], r10b
lea r10, [rax + 5]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 5]
mov byte [r8 + rax + 5], r10b
lea r10, [rax + 6]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 6]
mov byte [r8 + rax + 6], r10b
lea r10, [rax + 7]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 7]
mov byte [r8 + rax + 7], r10b
lea r10, [rax + 8]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 8]
mov byte [r8 + rax + 8], r10b
lea r10, [rax + 9]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 9]
mov byte [r8 + rax + 9], r10b
lea r10, [rax + 0xa]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 0xa]
mov byte [r8 + rax + 0xa], r10b
lea r10, [rax + 0xb]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 0xb]
mov byte [r8 + rax + 0xb], r10b
lea r10, [rax + 0xc]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 0xc]
mov byte [r8 + rax + 0xc], r10b
lea r10, [rax + 0xd]
cmp rcx, r10
jle 0x7090ad00
movzx r10d, byte [rdx + rax + 0xd]
mov byte [r8 + rax + 0xd], r10b
lea r10, [rax + 0xe]
cmp rcx, r10
jle 0x7090ad00
movzx edx, byte [rdx + rax + 0xe]
mov byte [r8 + rax + 0xe], dl
nop dword [rax]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x50]
mov r14d, 1
mov edi, dword [rax + 0x18]
cmp ebx, edi
mov r15d, ebx
jl 0x7090aae5
movaps xmm6, xmmword [rsp + 0x70]
mov eax, r14d
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x40]
add r15d, 8
movsxd r15, r15d
movsxd rdx, dword [rax + r15*4]
add rdx, r13
sub rdx, r14
add rdx, rcx
mov rcx, qword [section..data]
test rcx, rcx
jg 0x7090ab4c
mov r14d, 1
jmp 0x7090aada
mov r10, r8
add rcx, rdx
sub r10, rdx
nop dword [rax]
movzx eax, byte [rdx]
mov byte [r10 + rdx], al
add rdx, 1
cmp rcx, rdx
jne 0x7090ad80
mov rax, qword [rsp + 0x50]
mov r14d, 1
mov edi, dword [rax + 0x18]
jmp 0x7090ad0e
xor r14d, r14d
jmp 0x7090ad19
mov rbx, rax
jmp 0x7090aa3e