Function at 0x14004cd60
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 0x14004d142
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 0x14004ce11
add r9d, 0xffff0000
and r9d, dword [rdi + 0x3c]
cmp esi, r12d
jb 0x14004ce1f
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 0x14004ce8a
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 0x14004ce71
and dword [rbx + 0x30ec8], 0
cmp r8b, r10b
jne 0x14004cf1f
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [rbp + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x14004cf1f
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 0x14004cf1f
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 0x14004cf1f
cmp dword [rbx + 0x30edc], 3
jle 0x14004cf1f
mov ecx, r12d
sub ecx, ebp
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x3fffe
ja 0x14004cf1f
cmp ecx, dword [rdi + 0x40]
jae 0x14004cf1f
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 0x14004cfa5
mov r11d, dword [rdi + 0x3c]
mov r10, qword [rdi]
lea ecx, [r9 + 1]
and rcx, r11
cmp byte [rcx + r10], r15b
jne 0x14004cfa5
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 0x14004cfa5
cmp dword [rbx + 0x30edc], 2
jle 0x14004cfa5
mov ecx, r12d
sub ecx, r9d
and ecx, r11d
lea eax, [rcx - 1]
cmp eax, 0x1ffe
ja 0x14004cfa5
cmp dword [rbx + 0x30ed8], 4
jl 0x14004cf8b
mov eax, dword [rbx + 0x30ed4]
shr eax, 5
cmp ecx, eax
jae 0x14004cfa5
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 0x14004d00d
cmp byte [rsp + 0x21], bpl
jne 0x14004d00d
mov r8d, dword [rdi + 0x3c]
mov rax, qword [rdi]
lea ecx, [rsi + 1]
and rcx, r8
cmp byte [rcx + rax], r15b
jne 0x14004d00d
cmp dword [rbx + 0x30edc], r14d
jle 0x14004d00d
mov ecx, r12d
sub ecx, esi
and ecx, r8d
cmp edx, r14d
je 0x14004cff3
mov eax, dword [rbx + 0x30ed4]
shr eax, 0xa
cmp ecx, eax
jae 0x14004d00d
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 0x14004d020
mov dword [rbx + 0x30ec8], 4
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x14004d03a
mov r8d, dword [rdi + 0x4c]
mov r9d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.14004b0e4
mov ecx, dword [rbx + 0x30ed8]
cmp ecx, 2
jl 0x14004d05b
cmp byte [rdi + 0x14ed], 0
jne 0x14004d057
cmp dword [rbx + 0x30ed4], r12d
ja 0x14004d05b
xor al, al
jmp 0x14004d05e
mov al, r14b
xor sil, sil
test al, al
jne 0x14004d09a
cmp dword [rdi + 0x48], 2
jl 0x14004d0e1
cmp ecx, dword [rbx + 0x30edc]
jge 0x14004d0e1
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.14004b54c
test al, al
je 0x14004d0e1
mov sil, r14b
mov rdx, rbx
mov rcx, rdi
call fcn.14004aa54
test sil, sil
je 0x14004d0fa
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 0x14004d11f
mov rdx, rbx
mov rcx, rdi
call fcn.14004aac8
mov r11d, dword [rbx + 0x30ed8]
lea r13d, [r13 + r11 - 1]
jmp 0x14004d11f
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 0x14004cd9b
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.14004aa54