Function at 0x647940b0
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, 0xa8
movaps xmmword [rsp + 0x90], xmm6
lea rsi, [0x6479b08c]
mov qword [rsp + 0xf0], rcx
mov rbp, rdx
mov edx, 0x16
lea rcx, [0x647ad420]
mov dword [rsp + 0x84], 0
call fcn.64792ba0
mov r9d, 0xffffc3e3
movdqa xmm0, xmmword [0x6479efc0]
mov edx, 0x6f76bcae
lea rcx, [0x6479c9c0]
mov rdi, rax
movups xmmword [rdi + 0x10], xmm0
lea rax, [rax + 0x10]
mov word [rdi + 0x24], r9w
mov dword [rdi + 0x20], 0xff410000
mov qword [rsp + 0x58], rax
call fcn.6478e420
mov edx, 0x6b445eae
mov rcx, rax
call fcn.6478f260
mov qword [rsp + 0x50], rsi
test rax, rax
je 0x6479415c
cmp qword [rax], 0
lea rdx, [rax + 0x10]
cmove rdx, rsi
mov qword [rsp + 0x50], rdx
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call qword [0x647b10d0]
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [0x647b0fe8]
mov r8d, dword [0x647a3048]
mov esi, eax
test r8d, r8d
je 0x647946b0
call qword [0x647b88e8]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x647b0de8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x20], 0
mov r8d, esi
mov rsi, qword [rsp + 0x40]
mov rcx, rbx
lea r9, [rsp + 0x84]
mov rdx, rsi
call qword [0x647b0978]
movsxd r11, dword [rsi + 0x3c]
lea r14, [rsi + r11]
mov eax, dword [r14 + 0x88]
lea r13, [r14 + 0x18]
movzx ebx, word [r14 + 0x14]
cmp word [r14 + 6], 0
mov dword [rsp + 0x48], eax
lea rax, [r13 + rbx]
mov qword [rsp + 0x68], rax
je 0x64794700
lea r12, [r13 + rbx]
xor esi, esi
movdqa xmm6, xmmword [0x6479ed80]
jmp 0x64794238
mov r12, rbx
movzx ebx, word [r14 + 0x14]
lea eax, [rsi + rsi*4]
add rbx, r13
mov edx, 0x19
lea rcx, [0x6479a040]
shl eax, 3
movzx eax, ax
add rbx, rax
call fcn.6478ed60
lea rcx, [0x6479c9a0]
movups xmmword [rax], xmm6
movzx edx, byte [rbx]
mov r15, 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, 0xaa10bea
call fcn.6478f260
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov rdx, rax
call fcn.64786040
test rax, rax
cmovs rbx, r12
add esi, 1
cmp word [r14 + 6], si
ja 0x64794230
mov rcx, qword [rsp + 0x40]
movsxd rsi, dword [rsp + 0x48]
movsxd rdx, dword [rbx + 0xc]
movsxd rax, dword [rbx + 0x14]
add rsi, rcx
sub rsi, rdx
add rsi, rax
movsxd r15, dword [rsi + 0x1c]
movsxd r14, dword [rsi + 0x20]
add r15, rcx
sub r15, rdx
add r14, rcx
lea rcx, [r15 + rax]
sub r14, rdx
mov qword [rsp + 0x60], rcx
mov ecx, dword [rsi + 0x18]
add r14, rax
test ecx, ecx
jle 0x64794710
mov rcx, qword [rsp + 0x58]
xor r13d, r13d
mov qword [rsp + 0x48], r14
lea r8, [rbp + 0x10]
mov dword [rsp + 0x58], r13d
mov r12, qword [rsp + 0xf0]
mov qword [rsp + 0x78], r8
lea r9, [rcx + 0x10]
mov r15, rcx
mov qword [rsp + 0x70], r9
jmp 0x6479437f
lea r14d, [r13 + 1]
test rcx, rcx
je 0x6479436a
test r12, r12
je 0x6479436a
mov rdx, r12
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x6479439b
cmp dword [rsi + 0x18], r14d
mov r13d, r14d
jle 0x64794650
movsxd rdx, dword [rbx + 0xc]
movsxd rax, dword [rbx + 0x14]
mov r10, qword [rsp + 0x48]
movsxd rcx, r13d
movsxd rcx, dword [r10 + rcx*4]
add rcx, qword [rsp + 0x40]
sub rcx, rdx
add rcx, rax
cmp r12, rcx
jne 0x64794350
mov rcx, qword [rsp + 0x60]
lea r14d, [r13 + 1]
movsxd rax, r14d
mov edx, dword [rcx + rax*4]
mov rax, qword [rsp + 0x68]
movsxd r9, dword [rax + 0xc]
movsxd rcx, dword [rax + 0x14]
mov eax, dword [0x647a3048]
test eax, eax
jne 0x64794690
movsxd rax, edx
add rax, qword [rsp + 0x40]
sub rax, r9
add rax, rcx
movzx edx, byte [rax + 4]
mov rcx, qword [rsp + 0x50]
mov byte [rdi + 0x14], dl
movzx edx, byte [rax + 5]
mov byte [rdi + 0x15], dl
movzx edx, byte [rax + 6]
mov byte [rdi + 0x16], dl
movzx eax, byte [rax + 7]
mov byte [rdi + 0x17], al
call qword [0x647b0970]
mov rdx, r12
mov rcx, rax
call qword [0x647b0fe0]
lea rdx, [rax + 0x27]
jmp 0x6479441d
add rax, 1
cmp rdx, rax
je 0x64794680
cmp byte [rax], 0xf
jne 0x64794410
cmp byte [rax + 1], 5
jne 0x64794410
mov r13d, eax
mov rcx, rax
mov r11d, eax
mov r10d, eax
mov byte [rdi + 0x1a], r13b
shr rcx, 0x30
mov r9, rax
mov r8, rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rcx
shr r11d, 0x10
movzx ecx, ah
shr r10d, 0x18
mov byte [rdi + 0x1b], cl
movzx ecx, byte [rsp + 0x58]
shr r9, 0x20
shr r8, 0x28
shr rax, 0x38
mov byte [rdi + 0x1c], r11b
mov byte [rdi + 0x1d], r10b
mov byte [rdi + 0x1e], r9b
mov byte [rdi + 0x1f], r8b
mov byte [rdi + 0x20], cl
mov byte [rdi + 0x21], al
mov rdx, qword [0x6479a080]
test rdx, rdx
jle 0x64794630
cmp rbp, qword [rsp + 0x70]
setae cl
cmp r15, qword [rsp + 0x78]
setae al
or cl, al
je 0x647946d0
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x647946d0
mov rcx, rdx
xor eax, eax
and rcx, 0xfffffffffffffff0
nop dword [rax]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rbp + rax], xmm1
add rax, 0x10
cmp rcx, rax
jne 0x647944d0
mov rax, rdx
and rax, 0xfffffffffffffff0
cmp rax, rdx
je 0x64794630
movzx ecx, byte [r15 + rax]
mov byte [rbp + rax], cl
lea rcx, [rax + 1]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 1]
mov byte [rbp + rax + 1], cl
lea rcx, [rax + 2]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 2]
mov byte [rbp + rax + 2], cl
lea rcx, [rax + 3]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 3]
mov byte [rbp + rax + 3], cl
lea rcx, [rax + 4]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 4]
mov byte [rbp + rax + 4], cl
lea rcx, [rax + 5]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 5]
mov byte [rbp + rax + 5], cl
lea rcx, [rax + 6]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 6]
mov byte [rbp + rax + 6], cl
lea rcx, [rax + 7]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 7]
mov byte [rbp + rax + 7], cl
lea rcx, [rax + 8]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 8]
mov byte [rbp + rax + 8], cl
lea rcx, [rax + 9]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 9]
mov byte [rbp + rax + 9], cl
lea rcx, [rax + 0xa]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 0xa]
mov byte [rbp + rax + 0xa], cl
lea rcx, [rax + 0xb]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 0xb]
mov byte [rbp + rax + 0xb], cl
lea rcx, [rax + 0xc]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 0xc]
mov byte [rbp + rax + 0xc], cl
lea rcx, [rax + 0xd]
cmp rdx, rcx
jle 0x64794630
movzx ecx, byte [r15 + rax + 0xd]
mov byte [rbp + rax + 0xd], cl
lea rcx, [rax + 0xe]
cmp rdx, rcx
jle 0x64794630
movzx edx, byte [r15 + rax + 0xe]
mov byte [rbp + rax + 0xe], dl
nop word [rax + rax]
mov dword [rsp + 0x58], 1
cmp dword [rsi + 0x18], r14d
mov r13d, r14d
jg 0x64794377
nop
nop word cs:[rax + rax]
mov r13d, dword [rsp + 0x58]
movaps xmm6, xmmword [rsp + 0x90]
mov eax, r13d
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r13d, r13d
xor eax, eax
jmp 0x6479442b
mov rax, qword [rsp + 0x60]
lea r8d, [r13 + 8]
movsxd r8, r8d
movsxd rax, dword [rax + r8*4]
add rax, qword [rsp + 0x40]
sub rax, r9
add rax, rcx
jmp 0x647943d3
call qword [0x647b0a60]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x647b0e20]
mov qword [rsp + 0x40], rax
jmp 0x647941c7
xor eax, eax
nop dword [rax]
nop word cs:[rax + rax]
movzx ecx, byte [rdi + rax + 0x10]
mov byte [rbp + rax], cl
add rax, 1
cmp rdx, rax
jne 0x647946e0
mov dword [rsp + 0x58], 1
jmp 0x64794638
mov rbx, rax
jmp 0x647942cc
xor r13d, r13d
jmp 0x64794655