Function at 0x140025ae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov eax, dword [rdx + 0x14]
xor ebp, ebp
mov word [rsp + 0x80], bp
mov rsi, r9
mov r15, rcx
mov rcx, qword [rdx + 0x20]
mov r9, r8
mov r10d, ebp
test eax, eax
jle 0x140025b59
mov r8d, dword [rsi + 0x44]
add rcx, 0x28
mov edx, eax
nop word [rax + rax]
cmp dword [rcx - 0xc], r8d
jne 0x140025b4f
test qword [rcx], r9
jne 0x140025b4f
movzx eax, word [rcx - 0x14]
test eax, 0xfffff7ff
je 0x140025b4f
test byte [rcx - 0x16], 0x80
jne 0x140025b4f
inc r10d
add rcx, 0x38
sub rdx, 1
jne 0x140025b30
mov rax, qword [rsp + 0xa0]
mov edi, ebp
test rax, rax
je 0x140025bab
movsxd rbx, dword [rax]
mov r9d, ebp
test ebx, ebx
jle 0x140025ba5
mov r8, rbp
lea rcx, [rax + 0x18]
nop dword [rax]
mov rdx, qword [rcx - 0x10]
cmp byte [rdx], 0xa6
jne 0x140025ba5
mov eax, dword [rsi + 0x44]
cmp dword [rdx + 0x2c], eax
jne 0x140025ba5
test byte [rcx], 2
jne 0x140025ba5
inc r9d
inc r8
add rcx, 0x20
cmp r8, rbx
jl 0x140025b80
cmp r9d, ebx
cmove edi, ebx
mov rcx, qword [r15]
movsxd rbx, r10d
movsxd r12, edi
mov qword [rsp + 0x28], r12
lea rsi, [rbx + 7]
lea rsi, [rbx + rsi*4]
lea r14, [r12*8]
lea rsi, [r14 + rsi*4]
test rcx, rcx
je 0x140025bdc
mov rdx, rsi
call fcn.140066380
jmp 0x140025be4
mov rcx, rsi
call fcn.14007d0e0
mov r13, rax
test rax, rax
je 0x140025df8
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.1400d1e20
mov r9, qword [rsp + 0x88]
lea rdx, [r13 + 0x70]
lea rax, [rbx + rbx*2]
mov dword [r13 + 0x10], edi
lea rbx, [rdx + rax*4]
mov qword [r13 + 8], rdx
mov qword [r13 + 0x18], rbx
lea rax, [r14 + rbx]
mov qword [r13 + 0x20], rax
mov r10d, ebp
mov qword [r13 + 0x60], r9
mov r11d, ebp
mov qword [r13 + 0x68], r15
mov r8, qword [r9 + 0x20]
mov qword [rsp + 0x20], rbx
cmp dword [r9 + 0x14], ebp
jle 0x140025da4
mov rdi, qword [rsp + 0x98]
add rdx, 4
mov r12d, dword [rsp + 0x80]
mov r14d, 0x100
mov rsi, qword [rsp + 0x90]
mov r15d, 0x20
mov ebx, 0x180
mov ebp, 0x1fff
nop dword [rax + rax]
mov eax, dword [rdi + 0x44]
cmp dword [r8 + 0x1c], eax
jne 0x140025d7f
test qword [r8 + 0x28], rsi
jne 0x140025d7f
movzx eax, word [r8 + 0x14]
test eax, 0xfffff7ff
je 0x140025d7f
test byte [r8 + 0x12], 0x80
jne 0x140025d7f
test byte [rdi + 0x3c], 8
je 0x140025cc5
mov rax, qword [r8]
test byte [rax + 4], 1
je 0x140025d7f
mov eax, dword [r8 + 0x20]
mov dword [rdx - 4], eax
mov dword [rdx + 4], r11d
movzx ecx, word [r8 + 0x14]
and cx, bp
cmp cx, 1
jne 0x140025ce6
mov byte [rdx], 2
jmp 0x140025d78
cmp cx, 0x40
jne 0x140025cf8
movzx eax, byte [r8 + 0x17]
mov byte [rdx], al
jmp 0x140025d78
test bx, cx
je 0x140025d0a
cmp cx, r14w
setne al
add al, 0x47
mov byte [rdx], al
jmp 0x140025d78
mov byte [rdx], cl
test cl, 0x3c
je 0x140025d78
mov rax, qword [r8]
mov r9, qword [rax + 0x18]
movzx eax, byte [r9]
cmp al, 0xaf
jne 0x140025d25
movzx eax, byte [r9 + 2]
cmp al, 0xb0
jne 0x140025d2f
mov rax, qword [r9 + 0x20]
jmp 0x140025d3b
cmp al, 0x89
jne 0x140025d70
mov rax, qword [r9 + 0x20]
mov rax, qword [rax + 0x20]
cmp dword [rax], 1
jle 0x140025d70
cmp r10d, 0x10
jge 0x140025d4e
movzx r12d, r12w
bts r12d, r10d
mov r9, qword [rsp + 0x88]
cmp cx, 0x10
jne 0x140025d61
mov byte [rdx], 8
jmp 0x140025d78
movzx eax, byte [rdx]
cmp cx, 4
cmove eax, r15d
mov byte [rdx], al
jmp 0x140025d78
mov r9, qword [rsp + 0x88]
inc r10d
add rdx, 0xc
inc r11d
add r8, 0x38
cmp r11d, dword [r9 + 0x14]
jl 0x140025c80
mov rbx, qword [rsp + 0x20]
xor ebp, ebp
mov dword [rsp + 0x80], r12d
mov r12, qword [rsp + 0x28]
mov dword [r13], r10d
test r12, r12
jle 0x140025de1
mov rdx, qword [rsp + 0xa0]
add rdx, 0x18
nop dword [rax]
mov rax, qword [rdx - 0x10]
lea rdx, [rdx + 0x20]
movsx ecx, word [rax + 0x30]
mov dword [rbx + rbp*8], ecx
movzx eax, byte [rdx - 0x20]
and al, 1
mov byte [rbx + rbp*8 + 4], al
inc rbp
cmp rbp, r12
jl 0x140025dc0
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x80]
mov word [rax], cx
mov rax, r13
jmp 0x140025e09
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.1400692d0
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret