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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov rbp, qword [rcx]
mov esi, r8d
mov rbx, rcx
mov r15, rdx
mov r14d, r8d
mov qword [rsp + 0xc0], 0
mov edi, r9d
add esi, 1
je 0x7cb260
mov eax, esi
mov r12d, 0x40
cmp esi, 0x40
jbe 0x7caf78
nop word [rax + rax]
add r12, r12
cmp r12, rax
jb 0x7caf70
call fcn.0082e1a0
mov r13d, eax
test eax, eax
jne 0x7cb330
mov rcx, r12
call fcn.007dc490
mov r12, rax
test rax, rax
je 0x7cb330
test r14d, r14d
jle 0x7cb263
movsxd r8, r14d
lea rcx, [rax + 1]
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov r8d, edi
and r8d, 1
je 0x7cbce5
xor edx, edx
jmp 0x7cafd0
add edx, 1
cmp r14d, r13d
jle 0x7cb012
movsxd rax, r13d
lea r13d, [r13 + 1]
cmp byte [r15 + rax], 0xbf
jbe 0x7cafc8
cmp r14d, r13d
jle 0x7cb00f
movsxd rax, r13d
nop word cs:[rax + rax]
movsx ecx, byte [r15 + rax]
mov r13d, eax
and ecx, 0xc0
cmp ecx, 0x80
jne 0x7cafc8
add rax, 1
cmp r14d, eax
jg 0x7caff0
add edx, 1
mov r9d, dword [rbp + 0x30]
test r9d, r9d
jle 0x7cb99f
mov r10, qword [rbp + 0x38]
mov eax, 1
xor r13d, r13d
lea r11d, [rdx + 1]
nop
mov ecx, dword [r10 + rax*4 - 4]
mov r8d, eax
cmp ecx, edx
je 0x7cb277
cmp r11d, ecx
cmove r13d, eax
add rax, 1
cmp r9d, eax
jge 0x7cb030
mov rax, qword [rbx]
mov eax, dword [rax + 0x5c]
mov dword [rsp + 0x68], eax
cmp eax, 1
je 0x7cb3c8
lea rax, [0x0072e9d0]
mov dword [rsp + 0x68], 0xf
mov edx, 0x780
lea r15, [0x0071e760]
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x54], 0x78
mov r10d, dword [rbx + 0x3c]
lea rax, [rbx + 0x3c]
mov qword [rsp + 0x88], rax
test r10d, r10d
jne 0x7cb410
mov rcx, rax
call fcn.007cc570
mov rcx, rbx
mov qword [rsp + 0x78], rax
mov r14, rax
call fcn.0073a580
mov qword [rsp + 0x60], rax
test r14, r14
je 0x7cb426
test rax, rax
je 0x7cb44a
mov qword [rsp + 0xc8], 0
mov dword [rsp + 0xb8], 1
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
test r13d, r13d
jne 0x7cb6d2
lea rax, [rsp + 0xd0]
xor ebp, ebp
lea r10, [rsp + 0xc8]
mov qword [rsp + 0x80], rax
add r13d, 0x30
mov rdx, qword [rsp + 0x60]
mov r8d, 0x38
mov rcx, rbx
mov byte [r12], r13b
mov r9, qword [rsp + 0x150]
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r12
call fcn.007302a0
mov eax, dword [rbx + 0x3c]
movsxd r13, dword [rsp + 0x68]
test eax, eax
je 0x7cb630
mov r14d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
shl r13, 4
xor ebp, ebp
mov qword [rsp + 0x68], r12
lea esi, [r14 - 1]
mov dword [rsp + 0x148], edi
add rsi, 1
mov qword [rsp + 0x58], r13
mov r13, rdx
shl rsi, 4
add rsi, rdx
nop dword [rax]
mov edi, ebp
test eax, eax
jne 0x7cb1ce
mov rax, qword [rsp + 0x70]
mov r9, r13
mov r8d, r14d
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
call rax
add ebp, r14d
mov r15, r13
cmp edi, ebp
jl 0x7cb243
jmp 0x7cb3f0
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cb1f2
call qword [0x008693e0]
mov rcx, r12
call qword [0x00869398]
mov rcx, r12
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cb227
call qword [0x008693f0]
mov qword [r15], 0
add r15, 0x10
mov qword [r15 - 8], 0
cmp r15, rsi
je 0x7cb3f0
mov r12, qword [r15]
test r12, r12
je 0x7cb227
mov eax, dword [0x00869360]
test eax, eax
jne 0x7cb1e0
mov rcx, r12
call qword [0x00869388]
jmp 0x7cb227
xor r12d, r12d
mov r8d, edi
mov r9d, dword [rbp + 0x30]
and r8d, 1
jne 0x7cb6ab
xor r13d, r13d
cmp r8d, r9d
mov dword [rsp + 0x54], r8d
jg 0x7cb050
mov rcx, rbx
call fcn.0073a580
mov r8d, dword [rsp + 0x54]
mov r13, rax
add r8d, 0x30
mov byte [r12], r8b
test rax, rax
je 0x7cb300
mov dword [rsp + 0x28], esi
or edi, 0x10
mov rdx, r13
mov rcx, rbx
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x38], 0
mov r8d, edi
mov r9, qword [rsp + 0x150]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x30], 0xffffffff
mov qword [rsp + 0x20], r12
call fcn.007302a0
mov eax, dword [r13]
sub eax, 1
mov dword [r13], eax
test eax, eax
jg 0x7cb300
mov rcx, r13
call fcn.0073b2d0
nop dword [rax + rax]
mov edx, dword [rbx + 0x3c]
mov rcx, qword [rsp + 0xc0]
test edx, edx
jne 0x7cb388
mov rax, qword [rsp + 0x158]
mov qword [rax], rcx
mov rcx, r12
call fcn.0082d7e0
mov eax, dword [rbx + 0x3c]
jmp 0x7cb335
mov eax, 7
mov dword [rbx + 0x3c], 0
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x0072e240]
lea r8, [rcx + 0x2c]
mov qword [rcx + 0x38], rax
lea rdx, [rcx + 0x20]
mov rcx, qword [rsp + 0x88]
call fcn.007c78a0
mov r8d, dword [rbx + 0x3c]
mov rcx, qword [rsp + 0xc0]
test r8d, r8d
je 0x7cb4a5
nop dword [rax]
test rcx, rcx
jne 0x7cb4e0
mov qword [rsp + 0xc0], 0
mov rcx, qword [rbx + 0x40]
test rcx, rcx
je 0x7cb30f
mov qword [rbx + 0x40], 0
call fcn.00824240
mov rcx, qword [rsp + 0xc0]
jmp 0x7cb30f
lea rax, [0x0072f3a0]
mov dword [rsp + 0x54], 0x20
mov edx, 0x200
lea r15, [0x0071e910]
mov qword [rsp + 0x70], rax
jmp 0x7cb08b
mov rax, qword [rsp + 0x58]
add rsi, rax
add r13, rax
cmp dword [rsp + 0x54], ebp
jle 0x7cb510
mov eax, dword [rbx + 0x3c]
jmp 0x7cb1b0
mov rcx, rbx
call fcn.0073a580
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x60], rax
cmp qword [rsp + 0x60], 0
je 0x7cb44a
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi]
mov dword [rsp + 0x54], eax
sub eax, 1
mov dword [rdi], eax
test eax, eax
jg 0x7cb44a
mov rcx, rdi
call fcn.0073b2d0
mov rcx, qword [rsp + 0x78]
call fcn.0082d7e0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x7cb620
mov r10d, dword [rbx + 0x3c]
test r10d, r10d
jne 0x7cb4e0
mov rax, qword [rcx + 0x18]
mov rdx, qword [rax]
mov eax, dword [rdx + 0x5c]
cmp eax, 1
je 0x7cb6c2
mov r8, qword [rcx + 0x30]
test r8, r8
je 0x7cb6b2
mov r9d, dword [r8]
test r9d, r9d
jne 0x7cb934
lea rax, [0x0072e740]
mov qword [rcx + 0x38], rax
mov rax, qword [rcx + 0x58]
movzx r8d, word [rax + 4]
mov rdx, r8
shl rdx, 4
add rdx, r8
cmp qword [rcx + rdx*8 + 0x70], 0
je 0x7cb30f
mov rdx, r8
mov rax, r8
shl rdx, 4
add rax, rdx
lea rdx, [rcx + rax*8 + 0x60]
call qword [rcx + 0x38]
jmp 0x7cb300
mov rsi, qword [rcx + 0x18]
call fcn.0072fac0
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x7cb391
mov qword [rsi + 0x40], 0
call fcn.00824240
jmp 0x7cb391
mov rcx, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x68]
mov edi, dword [rsp + 0x148]
test rcx, rcx
je 0x7cb52e
call fcn.0072fac0
mov eax, dword [rbx + 0x3c]
test eax, eax
jne 0x7cb608
movsxd rdx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x88]
add rdx, 0x18
call fcn.007cc570
mov r13, rax
test rax, rax
je 0x7cb608
movsxd r8, dword [rsp + 0xd8]
lea rcx, [rax + 0x10]
mov qword [rax], rcx
mov dword [rax + 0xc], r8d
mov dword [rax + 8], r8d
test r8d, r8d
jne 0x7cb9e0
mov r15d, dword [rbx + 0x3c]
test r15d, r15d
jne 0x7cb600
mov rcx, qword [rsp + 0x88]
mov edx, 0x178
call fcn.007cc570
mov rsi, rax
test rax, rax
je 0x7cb600
mov dword [rax + 0x40], 2
mov r14d, dword [r13 + 0xc]
lea rax, [rax + 0x170]
mov qword [rsi + 0x58], rax
lea rax, [0x0072e730]
mov qword [rsi + 0x18], rbx
mov qword [rsi + 0x38], rax
mov dword [rsi + 0xf0], 1
test r14d, r14d
jg 0x7cba0a
mov byte [rsi + 0x14], 1
mov rax, qword [rbx]
cmp dword [rax + 0x5c], 1
je 0x7cbacb
lea rax, [0x00735de0]
mov qword [rsi + 0x120], rax
mov qword [rsp + 0xc0], rsi
mov rcx, r13
call fcn.0082d7e0
mov rcx, qword [rsp + 0x80]
call fcn.007c7810
jmp 0x7cb42e
mov eax, dword [rbx + 0x3c]
test eax, eax
je 0x7cb30f
jmp 0x7cb391
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx + 0x18]
mov rax, qword [rax]
mov edx, dword [rax + 0x5c]
cmp edx, 1
je 0x7cb9b2
mov r8, qword [rcx + 0x30]
test r8, r8
je 0x7cba8d
mov r11d, dword [r8]
test r11d, r11d
jne 0x7cb9f2
lea rax, [0x0072e740]
mov qword [rcx + 0x38], rax
movsxd rax, esi
movsxd r13, dword [rsp + 0x68]
mov dword [rsp + 0xa8], esi
mov rsi, rbx
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x90], rax
cmp byte [rcx + 0x14], 0
je 0x7cb84f
mov eax, dword [rsi + 0x3c]
mov rbx, rsi
jmp 0x7cb176
xor edx, edx
jmp 0x7cb016
lea rax, [0x0072e5e0]
mov qword [rcx + 0x38], rax
jmp 0x7cb4a5
lea rax, [0x0072e710]
mov qword [rcx + 0x38], rax
jmp 0x7cb4a5
lea r10, [rsp + 0xc8]
mov rcx, rbx
mov r8d, 0x30
mov rdx, rax
mov r9, qword [rsp + 0x150]
mov qword [rsp + 0x58], r10
mov dword [rsp + 0xbc], 0
mov byte [r12], 0x30
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0xffffffff
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r12
call fcn.007302a0
mov r9d, dword [rbx + 0x3c]
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc8]
test r9d, r9d
jne 0x7cb988
mov rax, qword [rcx + 0x18]
mov rax, qword [rax]
mov edx, dword [rax + 0x5c]
cmp edx, 1
je 0x7cbabb
mov r8, qword [rcx + 0x30]
test r8, r8
je 0x7cbc3f
mov r8d, dword [r8]
test r8d, r8d
jne 0x7cbc00
lea rax, [0x0072e740]
mov qword [rcx + 0x38], rax
lea rax, [rsp + 0xd0]
xor ebp, ebp
lea r14, [rsp + 0xbc]
mov qword [rsp + 0x80], rax
mov r9, rbp
mov rbp, r10
cmp byte [rcx + 0x14], 0
jne 0x7cb9a7
mov rax, qword [rcx + 0x58]
mov qword [rsp + 0x58], r9
movzx edx, word [rax + 4]
mov rax, rdx
shl rax, 4
add rax, rdx
lea rdx, [rcx + rax*8 + 0x60]
call qword [rcx + 0x38]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x58]
mov eax, dword [rcx + 0x10]
test eax, eax
je 0x7cb7f6
mov rdx, qword [rcx]
mov r8, rcx
mov rcx, rbx
sub rdx, r9
mov r9, qword [rsp + 0x80]
call r15
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rcx]
mov eax, dword [rbx + 0x3c]
test eax, eax
jne 0x7cb9a7
mov rdx, rcx
mov r8, r14
mov rcx, rbx
mov qword [rsp + 0x58], r9
call fcn.00731fd0
mov eax, dword [rbx + 0x3c]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc8]
test eax, eax
je 0x7cb797
mov r10, rbp
mov rbp, r9
test rcx, rcx
je 0x7cb125
mov qword [rsp + 0x58], r10
call fcn.0072fac0
mov r10, qword [rsp + 0x58]
jmp 0x7cb125
mov rax, qword [rcx + 0x58]
movzx r8d, word [rax + 4]
mov rdx, r8
mov rax, r8
shl rdx, 4
add rdx, r8
lea rdx, [rcx + rdx*8]
mov ebx, dword [rdx + 0xd0]
mov r14, qword [rdx + 0xc8]
mov rdx, r8
shl rdx, 4
add rax, rdx
lea rdx, [rcx + rax*8 + 0x60]
call qword [rcx + 0x38]
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x7cb8b8
cmp dword [rsp + 0xa8], ebx
jg 0x7cb6a0
mov r8, qword [rsp + 0x58]
mov rdx, r14
mov rcx, r12
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x7cb6a0
mov rdx, qword [rsp + 0xc8]
mov r10d, dword [rdx + 0x10]
test r10d, r10d
je 0x7cb902
mov rax, qword [rdx]
cmp rax, rbp
jg 0x7cb8e0
mov ecx, dword [rsp + 0xd8]
test ecx, ecx
jg 0x7cbade
sub rax, rbp
mov r8, rdx
mov r9, qword [rsp + 0x80]
mov rcx, rsi
mov rdx, rax
call r15
mov rdx, qword [rsp + 0xc8]
mov rbp, qword [rdx]
mov eax, dword [rsi + 0x3c]
test eax, eax
jne 0x7cb92c
mov r8, qword [rsp + 0x90]
mov rcx, rsi
call fcn.00731fd0
mov eax, dword [rsi + 0x3c]
mov rcx, qword [rsp + 0xc8]
test eax, eax
je 0x7cb696
mov rbx, rsi
jmp 0x7cb176
test eax, eax
jne 0x7cb9c2
lea rax, [0x0072e360]
mov qword [rcx + 0x38], rax
jmp 0x7cb4a5
lea rax, [0x0072e240]
lea rdx, [rcx + 0x20]
mov qword [rsp + 0x58], r10
mov qword [rcx + 0x38], rax
lea r8, [rcx + 0x2c]
mov rcx, qword [rsp + 0x88]
call fcn.007c78a0
cmp dword [rbx + 0x3c], 0
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xc8]
je 0x7cb777
lea rax, [rsp + 0xd0]
xor ebp, ebp
mov qword [rsp + 0x80], rax
jmp 0x7cb832
xor r13d, r13d
jmp 0x7cb050
mov r10, rbp
mov rbp, r9
jmp 0x7cb83b
lea rax, [0x0072e710]
mov qword [rcx + 0x38], rax
jmp 0x7cb66f
mov r9d, dword [rdx + 0x18]
cmp r9d, 0x64
jle 0x7cb350
lea rax, [0x0072db90]
mov qword [rcx + 0x38], rax
jmp 0x7cb4a5
mov rdx, qword [rsp + 0xd0]
call sub.msvcrt.dll_memcpy
jmp 0x7cb57e
test edx, edx
jne 0x7cba9d
lea rax, [0x0072e360]
mov qword [rcx + 0x38], rax
jmp 0x7cb66f
mov qword [rsi + 0xf8], r13
mov rcx, qword [r13]
lea rdx, [rsi + 0x160]
mov ebp, 1
lea r14, [rsi + 0xe8]
call fcn.007ca200
and edi, 2
movzx eax, al
mov qword [rsi + 0x108], rax
mov eax, dword [r13 + 8]
mov dword [rsi + 0x134], eax
mov rax, qword [rsi + 0x58]
mov word [rax + 4], bp
jne 0x7cbc18
mov r11d, dword [rbx + 0x3c]
test r11d, r11d
jne 0x7cba66
mov rcx, qword [rbx]
mov rdx, r14
call fcn.00735950
mov eax, dword [rsi + 0xf0]
and eax, 2
test eax, eax
je 0x7cbc7a
lea rax, [0x00736990]
xor r13d, r13d
mov qword [rsi + 0x120], rax
jmp 0x7cb5f8
lea rax, [0x0072e5e0]
mov qword [rcx + 0x38], rax
jmp 0x7cb66f
mov r9d, dword [rax + 0x18]
cmp r9d, 0x64
jle 0x7cbc82
lea rax, [0x0072db90]
mov qword [rcx + 0x38], rax
jmp 0x7cb66f
lea rax, [0x0072e710]
mov qword [rcx + 0x38], rax
jmp 0x7cb777
lea rax, [0x00736580]
mov qword [rsi + 0x120], rax
jmp 0x7cb5f8
mov r9d, dword [rsi + 0x3c]
test r9d, r9d
jne 0x7cbcde
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0xac], edi
xor r14d, r14d
xor ebp, ebp
mov qword [rsp + 0x98], r15
mov rdi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
mov qword [rsp + 0xa0], r12
mov ebx, eax
mov r12, rsi
mov esi, eax
mov edx, ebp
cmp ebp, ebx
jge 0x7cbb81
mov r9, r14
shl r9, 4
add r9, rdi
mov rax, r9
jmp 0x7cbb47
add edx, 1
add rax, 0x10
cmp edx, ebx
je 0x7cbbd4
mov r8d, dword [rax + 8]
test r8d, r8d
jne 0x7cbb38
movdqu xmm0, xmmword [rax]
mov r8d, dword [rsp + 0xdc]
mov r9, qword [rsp + 0xd0]
movups xmmword [rsp + 0xd0], xmm0
mov qword [rax], r9
mov dword [rax + 8], ecx
mov dword [rax + 0xc], r8d
mov dword [rsp + 0xd8], 0
cmp ebx, edx
je 0x7cbc4f
mov eax, dword [r12 + 0x3c]
test eax, eax
jne 0x7cbba8
mov ecx, dword [rsp + 0xd8]
add ebx, esi
add ebp, esi
add r14, r13
test ecx, ecx
jne 0x7cbb1f
mov rdx, qword [rsp + 0xc8]
mov rsi, r12
mov edi, dword [rsp + 0xac]
xor ebp, ebp
mov r15, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rax, qword [rdx]
jmp 0x7cb8e0
mov rax, qword [rsp + 0x70]
mov r8d, esi
mov rdx, r15
mov rcx, r12
call rax
mov rax, r14
mov rdx, rax
add rax, 1
shl rdx, 4
mov dword [rdi + rdx + 8], 0
cmp ebx, eax
jg 0x7cbbe7
jmp 0x7cbb89
test edx, edx
jne 0x7cbcc0
lea rax, [0x0072e360]
mov qword [rcx + 0x38], rax
jmp 0x7cb777
or dword [rsi + 0xf0], 2
mov rdx, r14
mov rcx, rbx
mov dword [rsi + 0x44], 1
call fcn.00736a30
mov eax, dword [rsi + 0xf0]
and eax, 2
jmp 0x7cba6f
lea rax, [0x0072e5e0]
mov qword [rcx + 0x38], rax
jmp 0x7cb777
mov r9, r14
mov rax, qword [rsp + 0x70]
mov r8d, esi
mov rdx, r15
shl r9, 4
mov rcx, r12
add r9, rdi
call rax
mov eax, ebx
sub eax, esi
cmp eax, ebx
jl 0x7cbbe4
jmp 0x7cbb89
xor r13d, r13d
jmp 0x7cb5dd
lea rax, [0x0072e240]
lea rdx, [rcx + 0x20]
mov qword [rcx + 0x38], rax
lea r8, [rcx + 0x2c]
mov rcx, qword [rsp + 0x88]
call fcn.007c78a0
mov eax, dword [rbx + 0x3c]
mov rcx, qword [rsp + 0xc8]
test eax, eax
je 0x7cb66f
jmp 0x7cb176
mov r9d, dword [rax + 0x18]
cmp r9d, 0x64
jle 0x7cb94c
lea rax, [0x0072db90]
mov qword [rcx + 0x38], rax
jmp 0x7cb777
xor ebp, ebp
jmp 0x7cb8e0
mov r9d, dword [rbp + 0x30]
jmp 0x7cb274