Function at 0x6254a6e0
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, [0x6255c00a]
mov qword [rsp + 0xf0], rcx
mov rbp, rdx
mov edx, 0x16
lea rcx, [0x62588310]
mov dword [rsp + 0x84], 0
call fcn.62557f80
mov r9d, 0xffffc3e3
movdqa xmm0, xmmword [0x62579110]
mov edx, 0x5dd75ece
lea rcx, [0x6255d720]
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.625495f0
mov edx, 0x217aae6a
mov rcx, rax
call fcn.625497c0
mov qword [rsp + 0x50], rsi
test rax, rax
je 0x6254a78c
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 [0x6258bea0]
xor edx, edx
mov rbx, rax
mov rcx, rax
call qword [0x62588300]
mov r8d, dword [0x6257e0e4]
mov esi, eax
test r8d, r8d
je 0x6254ace0
call qword [0x625932d0]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x6258b9d0]
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 [0x6258b9c0]
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 0x6254ad30
lea r12, [r13 + rbx]
xor esi, esi
movdqa xmm6, xmmword [0x62578fb0]
jmp 0x6254a868
mov r12, rbx
movzx ebx, word [r14 + 0x14]
lea eax, [rsi + rsi*4]
add rbx, r13
mov edx, 0x19
lea rcx, [0x6255b020]
shl eax, 3
movzx eax, ax
add rbx, rax
call fcn.625519f0
lea rcx, [0x6255d700]
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, 0x1e2090ce
call fcn.625497c0
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov rdx, rax
call fcn.62550070
test rax, rax
cmovs rbx, r12
add esi, 1
cmp word [r14 + 6], si
ja 0x6254a860
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 0x6254ad40
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 0x6254a9af
lea r14d, [r13 + 1]
test rcx, rcx
je 0x6254a99a
test r12, r12
je 0x6254a99a
mov rdx, r12
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x6254a9cb
cmp dword [rsi + 0x18], r14d
mov r13d, r14d
jle 0x6254ac80
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 0x6254a980
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 [0x6257e0e4]
test eax, eax
jne 0x6254acc0
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 [0x6258bd80]
mov rdx, r12
mov rcx, rax
call qword [0x6258c050]
lea rdx, [rax + 0x27]
jmp 0x6254aa4d
add rax, 1
cmp rdx, rax
je 0x6254acb0
cmp byte [rax], 0xf
jne 0x6254aa40
cmp byte [rax + 1], 5
jne 0x6254aa40
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 [0x6255b060]
test rdx, rdx
jle 0x6254ac60
cmp rbp, qword [rsp + 0x70]
setae cl
cmp r15, qword [rsp + 0x78]
setae al
or cl, al
je 0x6254ad00
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x6254ad00
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 0x6254ab00
mov rax, rdx
and rax, 0xfffffffffffffff0
cmp rax, rdx
je 0x6254ac60
movzx ecx, byte [r15 + rax]
mov byte [rbp + rax], cl
lea rcx, [rax + 1]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 1]
mov byte [rbp + rax + 1], cl
lea rcx, [rax + 2]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 2]
mov byte [rbp + rax + 2], cl
lea rcx, [rax + 3]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 3]
mov byte [rbp + rax + 3], cl
lea rcx, [rax + 4]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 4]
mov byte [rbp + rax + 4], cl
lea rcx, [rax + 5]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 5]
mov byte [rbp + rax + 5], cl
lea rcx, [rax + 6]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 6]
mov byte [rbp + rax + 6], cl
lea rcx, [rax + 7]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 7]
mov byte [rbp + rax + 7], cl
lea rcx, [rax + 8]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 8]
mov byte [rbp + rax + 8], cl
lea rcx, [rax + 9]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 9]
mov byte [rbp + rax + 9], cl
lea rcx, [rax + 0xa]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 0xa]
mov byte [rbp + rax + 0xa], cl
lea rcx, [rax + 0xb]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 0xb]
mov byte [rbp + rax + 0xb], cl
lea rcx, [rax + 0xc]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 0xc]
mov byte [rbp + rax + 0xc], cl
lea rcx, [rax + 0xd]
cmp rdx, rcx
jle 0x6254ac60
movzx ecx, byte [r15 + rax + 0xd]
mov byte [rbp + rax + 0xd], cl
lea rcx, [rax + 0xe]
cmp rdx, rcx
jle 0x6254ac60
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 0x6254a9a7
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 0x6254aa5b
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 0x6254aa03
call qword [0x62593268]
movsxd r8, esi
xor edx, edx
mov rcx, rax
call qword [0x6258c070]
mov qword [rsp + 0x40], rax
jmp 0x6254a7f7
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 0x6254ad10
mov dword [rsp + 0x58], 1
jmp 0x6254ac68
mov rbx, rax
jmp 0x6254a8fc
xor r13d, r13d
jmp 0x6254ac85