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

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov r12, qword [rcx + 0x58]
mov r14d, r8d
mov rbp, rcx
mov r13, rdx
mov esi, r8d
shr r14d, 0x1f
test r12, r12
je 0x49bde0
test r14b, r14b
je 0x49bde0
mov eax, dword [r12]
lea rbx, [r12 + 8]
test eax, eax
jle 0x49beb0
sub eax, 1
shl rax, 5
lea rdi, [r12 + rax + 0x28]
jmp 0x49bd9d
add rbx, 0x20
cmp rbx, rdi
je 0x49beb0
test byte [rbx + 0x14], 8
je 0x49bd90
mov rdx, qword [rbx]
test rdx, rdx
je 0x49bfb0
test r13, r13
je 0x49bfb0
xor ecx, ecx
mov r9d, 0xffffffff
mov r8, r13
call fcn.00451980
test eax, eax
jne 0x49bd90
mov eax, dword [rbx + 0x18]
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
test r13, r13
je 0x49bea0
mov rcx, qword [rbp]
mov rdx, r13
call fcn.00436990
mov r13, rax
test rax, rax
je 0x49bea0
test byte [rax + 4], 8
jne 0x49bedb
test r12, r12
je 0x49c000
movsxd rax, dword [r12]
cmp eax, dword [r12 + 4]
jge 0x49bfda
lea edx, [rax + 1]
mov dword [r12], edx
mov rdx, rax
shl rdx, 5
add rdx, r12
mov qword [rdx + 0x10], 0
mov qword [rdx + 0x18], 0
mov qword [rdx + 0x20], 0
mov qword [rdx + 8], r13
mov rdx, rax
lea ecx, [r14*8]
shl rdx, 5
lea rdx, [r12 + rdx + 0x10]
movzx r14d, byte [rdx + 0xc]
and r14d, 0xfffffff7
or r14d, ecx
mov byte [rdx + 0xc], r14b
test esi, esi
jns 0x49be81
mov esi, dword [rbp + 0x38]
add esi, 1
mov dword [rbp + 0x38], esi
shl rax, 5
mov dword [r12 + rax + 0x20], esi
mov eax, esi
mov qword [rbp + 0x58], r12
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
xor r13d, r13d
jmp 0x49be0b
test r13, r13
je 0x49bfc8
mov rcx, qword [rbp]
mov rdx, r13
call fcn.00436990
mov r13, rax
test rax, rax
je 0x49bfc8
test byte [rax + 4], 8
je 0x49be14
mov rbx, qword [rbp + 0x10]
movsxd rdi, dword [rbx + 0x90]
cmp edi, dword [rbx + 0x94]
jge 0x49c01f
lea eax, [rdi + 1]
mov dword [rbx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0xf
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rcx, qword [rbp]
mov byte [rbp + 0x23], 0
mov eax, esi
cmp byte [rcx + 0x67], 0
jne 0x49bf5d
test esi, esi
js 0x49c011
cmp qword [rbp + 0x10], 0
je 0x49bf5d
mov r8d, eax
mov rcx, rbp
mov rdx, r13
mov dword [rsp + 0x3c], eax
call fcn.0049afa0
mov rcx, qword [rbp]
mov eax, dword [rsp + 0x3c]
mov byte [rbp + 0x23], 1
mov rdx, r13
mov dword [rsp + 0x3c], eax
call fcn.00424ea0
mov r8, qword [rbx]
mov eax, dword [rsp + 0x3c]
lea rdx, [0x0066e7a0]
mov ecx, dword [rbx + 0x90]
cmp byte [r8 + 0x67], 0
jne 0x49bf97
mov rdx, qword [rbx + 0x88]
lea r8, [rdi + rdi*2]
lea rdx, [rdx + r8*8]
mov dword [rdx + 8], ecx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp rdx, r13
jne 0x49bd90
mov eax, dword [rbx + 0x18]
jmp 0x49bdcf
movsxd rax, dword [r12]
xor r13d, r13d
cmp eax, dword [r12 + 4]
jl 0x49be23
mov rcx, qword [rbp]
mov rdx, r12
mov r8, r13
call fcn.0043ac40
mov r12, rax
test r12, r12
jne 0x49c042
mov eax, esi
jmp 0x49be8c
mov rcx, qword [rbp]
mov rdx, r13
call fcn.00438af0
mov r12, rax
jmp 0x49bfec
mov eax, dword [rbp + 0x38]
add eax, 1
mov dword [rbp + 0x38], eax
jmp 0x49bf3c
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, rbx
mov dword [rsp + 0x20], 0
call fcn.0043df10
movsxd rdi, eax
jmp 0x49bf24
mov eax, dword [r12]
sub eax, 1
cdqe
jmp 0x49be50