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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rdi
push r13
push r14
push r15
sub rsp, 0x48
mov r10, qword [rcx]
xor r13d, r13d
cmp byte [rdx], 0x99
mov rbx, rdx
mov rbp, rcx
mov r14, r13
mov qword [rsp + 0x88], r10
mov r15, r13
jne 0x14004f09a
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x14004f09a
cmp dword [rax], 2
jne 0x14004f09a
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x14004ed3e
mov ecx, r13d
jmp 0x14004ed56
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
sub rcx, 1
and ecx, 0x3fffffff
mov r8d, ecx
mov r9d, 2
mov rcx, r10
mov byte [rsp + 0x28], r13b
mov byte [rsp + 0x20], 1
call fcn.140016fa0
test rax, rax
je 0x14004f09a
mov dx, word [rax + 2]
test dl, 4
je 0x14004f09a
mov rcx, qword [rax + 8]
lea rdi, [rsp + 0x80]
shr edx, 3
movzx eax, word [rcx]
not edx
mov word [rdi], ax
movzx eax, byte [rcx + 2]
and edx, 1
mov byte [rdi + 2], al
mov rax, qword [rsp + 0xa0]
mov dword [rax], edx
mov rax, qword [rbx + 0x20]
mov rdi, qword [rax + 8]
mov rax, qword [rdi + 0x28]
cmp byte [rax], 0x9a
jne 0x14004f09a
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x14004edec
bt ecx, 0x12
jae 0x14004ede3
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
jmp 0x14004ede7
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14004edc7
bt dword [rax + 4], 9
jb 0x14004f09a
movzx ecx, byte [rax]
cmp ecx, 0x77
jne 0x14004ee14
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
call fcn.140005440
jmp 0x14004ee57
cmp ecx, 0x9c
je 0x14004ee2c
cmp ecx, 0x9a
je 0x14004ee2c
cmp ecx, 0x9f
jne 0x14004ee54
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x14004ee54
movsx rcx, word [rax + 0x30]
test ecx, ecx
js 0x14004f09a
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
add rcx, rcx
movzx eax, byte [rax + rcx*8 + 0x29]
jmp 0x14004ee57
mov al, byte [rax + 1]
cmp al, 0x42
jne 0x14004f09a
mov rdi, qword [rdi]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r12
test rdi, rdi
je 0x14004ee96
mov eax, dword [rdi + 4]
bt eax, 0xc
jae 0x14004ee96
bt eax, 0x12
jae 0x14004ee8d
mov rax, qword [rdi + 0x20]
mov rcx, qword [rax + 8]
mov rdi, qword [rcx]
jmp 0x14004ee91
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14004ee71
movzx r12d, byte [rdi]
mov esi, 1
cmp r12d, 0x87
jne 0x14004ef07
movsx ebx, word [rdi + 0x30]
mov rcx, qword [rbp + 0x1f8]
mov r8b, 0x41
mov edx, ebx
call fcn.14002def0
test rax, rax
mov r15, rax
je 0x14004eee3
mov al, byte [rax + 8]
lea rcx, [0x1400abe58]
and eax, 0x1f
cmp byte [rax + rcx], 3
jne 0x14004eee3
mov rcx, r15
call fcn.14002f310
mov r14, rax
cmp ebx, 0x20
mov rdx, qword [rbp + 0x10]
jle 0x14004eef8
mov dword [rdx + 0xfc], 0xffffffff
jmp 0x14004ef15
lea ecx, [rbx - 1]
mov eax, esi
shl eax, cl
or dword [rdx + 0xfc], eax
jmp 0x14004ef15
cmp r12d, 0x61
jne 0x14004f070
mov r14, qword [rdi + 8]
test r14, r14
je 0x14004f070
movsx ecx, byte [r14]
mov r8d, r13d
test ecx, ecx
je 0x14004f06d
movsx r9d, byte [rsp + 0x80]
movzx r10d, byte [rsp + 0x82]
movzx r11d, byte [rsp + 0x81]
mov rdx, r14
nop
nop
cmp ecx, r9d
je 0x14004ef72
movsx eax, r11b
cmp ecx, eax
je 0x14004ef72
movsx eax, r10b
cmp ecx, eax
je 0x14004ef72
add rdx, rsi
add r8d, esi
movsx ecx, byte [rdx]
test ecx, ecx
jne 0x14004ef50
test r8d, r8d
je 0x14004f06d
movsxd rbx, r8d
cmp byte [rbx + r14 - 1], 0xff
je 0x14004f06d
cmp ecx, r9d
jne 0x14004ef9a
cmp byte [rbx + r14 + 1], r13b
jne 0x14004ef9a
mov eax, esi
jmp 0x14004ef9d
mov eax, r13d
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
mov r8, r14
mov dword [rdx], eax
mov edx, 0x61
call fcn.14001d2e0
test rax, rax
mov r11, rax
je 0x14004efcc
mov rax, qword [rax + 8]
mov byte [rbx + rax], r13b
cmp r12d, 0x87
mov rax, qword [rsp + 0x90]
mov qword [rax], r11
jne 0x14004f070
movsx ecx, word [rdi + 0x30]
mov rbx, qword [rbp + 0x10]
cmp ecx, 0x20
jle 0x14004effd
mov dword [rbx + 0xfc], 0xffffffff
jmp 0x14004f008
add ecx, 0xffffffff
shl esi, cl
or dword [rbx + 0xfc], esi
mov rax, qword [rsp + 0x98]
cmp dword [rax], r13d
je 0x14004f070
mov rax, qword [rdi + 8]
cmp byte [rax + 1], r13b
je 0x14004f070
movzx eax, byte [rbp + 0x1f]
test al, al
jne 0x14004f030
add dword [rbp + 0x54], 1
mov esi, dword [rbp + 0x54]
jmp 0x14004f03c
sub al, 1
movzx eax, al
mov byte [rbp + 0x1f], al
mov esi, dword [rbp + rax*4 + 0x24]
mov r8d, esi
mov rdx, rdi
mov rcx, rbp
call fcn.14004b040
mov ecx, dword [rbx + 0x3c]
lea eax, [rcx - 1]
cmp ecx, eax
jbe 0x14004f061
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 0xc], r13d
mov edx, esi
mov rcx, rbp
call fcn.140004a90
jmp 0x14004f070
mov r14, r13
mov rcx, r15
call fcn.140023e90
mov r12, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
test r14, r14
setne r13b
mov eax, r13d
add rsp, 0x48
pop r15
pop r14
pop r13
pop rdi
pop rbp
pop rbx
ret
xor eax, eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop rdi
pop rbp
pop rbx
ret