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

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor r13d, r13d
mov eax, r9d
mov rbx, rdx
mov rdi, rcx
test r9d, r9d
je 0x14004d1a2
mov r9d, dword [rsp + 0x90]
mov ecx, eax
mov eax, 0x101
lea r12d, [r13 + r8]
sub ecx, r13d
mov edx, r13d
cmp ecx, eax
cmovb eax, ecx
add rdx, r9
mov dword [rbx + 0x30edc], eax
and r12d, dword [rdi + 0x3c]
imul rdx, rdx, 7
mov dword [rbx + 0x30ed0], r12d
mov rcx, qword [rdi + 0x65d0]
mov esi, r12d
movzx eax, byte [rdx + rcx]
movzx r9d, word [rdx + rcx + 1]
mov ebp, dword [rdx + rcx + 3]
and ebp, dword [rdi + 0x3c]
and esi, 0xffffff00
mov qword [rsp + 0x28], rdx
or esi, eax
mov eax, r12d
and eax, 0xffff0000
or r9d, eax
and r9d, dword [rdi + 0x3c]
cmp r9d, r12d
jb 0x14004ce71
add r9d, 0xffff0000
and r9d, dword [rdi + 0x3c]
cmp esi, r12d
jb 0x14004ce7f
add esi, 0xffffff00
and esi, dword [rdi + 0x3c]
mov rdx, qword [rdi]
lea ecx, [r12 + 1]
mov al, byte [rsi + rdx]
mov r8b, byte [rbp + rdx]
mov r14b, byte [r9 + rdx]
mov byte [rsp + 0x21], al
mov rax, qword [rdi + 0x28]
mov r10d, dword [rax + r12*4]
mov eax, dword [rdi + 0x3c]
and rcx, rax
mov dword [rsp + 0x24], r10d
mov r10b, byte [r12 + rdx]
mov r15b, byte [rcx + rdx]
mov edx, 1
mov byte [rsp + 0x20], r10b
cmp dword [rbx + 0x30ec8], edx
mov dword [rbx + 0x30ed8], 1
jl 0x14004ceea
lea ecx, [rdx + 3]
mov rax, qword [rbx + 0x30eb8]
inc edx
and dword [rcx + rax], 0
add rcx, 4
cmp edx, dword [rbx + 0x30ec8]
jle 0x14004ced1
and dword [rbx + 0x30ec8], 0
cmp r8b, r10b
jne 0x14004cf7f
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [rbp + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x14004cf7f
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 2]
lea r8d, [rbp + 2]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x14004cf7f
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 3]
lea r8d, [rbp + 3]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x14004cf7f
cmp dword [rbx + 0x30edc], 3
jle 0x14004cf7f
mov ecx, r12d
sub ecx, ebp
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x3fffe
ja 0x14004cf7f
cmp ecx, dword [rdi + 0x40]
jae 0x14004cf7f
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 4
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 0x10], ecx
mov bpl, byte [rsp + 0x20]
cmp r14b, bpl
jne 0x14004d005
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [r9 + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x14004d005
mov edx, dword [rdi + 0x3c]
lea ecx, [r12 + 2]
lea r8d, [r9 + 2]
and rcx, rdx
and r8, rdx
mov al, byte [rcx + r10]
cmp byte [r8 + r10], al
jne 0x14004d005
cmp dword [rbx + 0x30edc], 2
jle 0x14004d005
mov ecx, r12d
sub ecx, r9d
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x1ffe
ja 0x14004d005
cmp dword [rbx + 0x30ed8], 4
jl 0x14004cfeb
mov eax, dword [rbx + 0x30ed4]
shr eax, 5
cmp ecx, eax
jae 0x14004d005
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 3
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 0xc], ecx
mov edx, dword [rbx + 0x30ed8]
mov r14d, 1
cmp edx, 4
jge 0x14004d06d
cmp byte [rsp + 0x21], bpl
jne 0x14004d06d
mov r8d, dword [rdi + 0x3c]
mov rax, qword [rdi]
lea ecx, [rsi + 1]
and rcx, r8
cmp byte [rcx + rax], r15b
jne 0x14004d06d
cmp dword [rbx + 0x30edc], r14d
jle 0x14004d06d
mov ecx, r12d
sub ecx, esi
and ecx, r8d
cmp edx, r14d
je 0x14004d053
mov eax, dword [rbx + 0x30ed4]
shr eax, 0xa
cmp ecx, eax
jae 0x14004d06d
mov rax, qword [rbx + 0x30eb8]
mov dword [rbx + 0x30ed8], 2
mov dword [rbx + 0x30ed4], ecx
mov dword [rax + 8], ecx
cmp dword [rbx + 0x30ed8], r14d
jle 0x14004d080
mov dword [rbx + 0x30ec8], 4
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x14004d09a
mov r8d, dword [rdi + 0x4c]
mov r9d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.14004b144
mov ecx, dword [rbx + 0x30ed8]
cmp ecx, 2
jl 0x14004d0bb
cmp byte [rdi + 0x14ed], 0
jne 0x14004d0b7
cmp dword [rbx + 0x30ed4], r12d
ja 0x14004d0bb
xor al, al
jmp 0x14004d0be
mov al, r14b
xor sil, sil
test al, al
jne 0x14004d0fa
cmp dword [rdi + 0x48], 2
jl 0x14004d141
cmp ecx, dword [rbx + 0x30edc]
jge 0x14004d141
mov rax, qword [rdi + 0x65d0]
mov rcx, qword [rsp + 0x28]
mov r8d, dword [rdi + 0x50]
mov r9d, dword [rcx + rax + 0xa]
mov rdx, rbx
mov rcx, rdi
call fcn.14004b5ac
test al, al
je 0x14004d141
mov sil, r14b
mov rdx, rbx
mov rcx, rdi
call fcn.14004aab4
test sil, sil
je 0x14004d15a
movzx eax, bpl
mov byte [rbx + 0x30efc], r14b
mov dword [rbx + 0x30ef0], eax
mov eax, dword [rbx + 0x30ef4]
mov dword [rbx + 0x30f00], eax
mov eax, dword [rbx + 0x30ed4]
mov dword [rbx + 0x30ef4], eax
mov eax, dword [rbx + 0x30ed8]
mov dword [rbx + 0x30ef8], eax
jmp 0x14004d17f
mov rdx, rbx
mov rcx, rdi
call fcn.14004ab28
mov r11d, dword [rbx + 0x30ed8]
lea r13d, [r13 + r11 - 1]
jmp 0x14004d17f
mov eax, dword [rbx + 0x30668]
lea rcx, [rax + rax*2]
mov word [rbx + rcx*2], r14w
mov eax, dword [rbx + 0x30668]
lea rcx, [rax + rax*2]
mov byte [rbx + rcx*2 + 2], bpl
add dword [rbx + 0x30668], r14d
mov eax, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x90]
add r13d, r14d
cmp r13d, eax
jb 0x14004cdfb
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.14004aab4