Function at 0x7b57d0
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, 0x68
mov rax, qword [rcx]
mov rsi, qword [rcx + 8]
movzx edx, byte [rcx + 0x48]
mov r12, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
mov rax, qword [rax]
mov r13, rcx
mov qword [rsp + 0x48], rsi
lea esi, [rdx - 1]
mov qword [rsp + 0x40], rax
mov eax, dword [r12 + 0x90]
mov dword [rsp + 0x50], eax
mov rax, rdx
test edx, edx
je 0x7b6120
lea rdx, [rdx*8]
mov dword [rsp + 0x34], 0
xor r14d, r14d
lea rbp, [0x00bc2ee0]
sub rdx, rax
mov qword [rsp + 0xb0], rcx
mov rax, rdx
shl rax, 4
lea rbx, [rcx + rax + 0x300]
jmp 0x7b597d
mov rax, qword [rsp + 0xb0]
xor r15d, r15d
cmp byte [rax + 0x4b], 2
je 0x7b5c80
mov edx, dword [rbx + 0x18]
test edx, edx
jne 0x7b5d00
movzx eax, byte [rbx + 0x42]
mov r9d, dword [rbx + 0x48]
mov rcx, r12
mov r8d, dword [rbx + 0x44]
movzx edx, byte [rbx + 0x41]
mov dword [rsp + 0x20], eax
call fcn.00756bb0
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x7b58c0
mov r11, qword [r12 + 0x88]
movzx edx, byte [rbx + 0x43]
lea rax, [rax + rax*2]
lea rax, [r11 + rax*8]
mov word [rax - 0x16], dx
mov r10d, dword [rbx + 0x24]
test r10d, r10d
jne 0x7b5cd0
test r15d, r15d
je 0x7b5904
mov eax, dword [r12 + 0x90]
mov rcx, qword [r12]
lea edx, [rax - 1]
cmovs r15d, edx
cmp byte [rcx + 0x67], 0
mov rdx, rbp
jne 0x7b5901
mov rdx, qword [r12 + 0x88]
movsxd r15, r15d
lea rcx, [r15 + r15*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
test byte [rdi + 0x39], 8
je 0x7b5917
mov r9d, dword [rbx + 0x50]
test r9d, r9d
jg 0x7b5dc0
mov edx, dword [rbx + 0xc]
mov rcx, r12
call fcn.007560f0
mov rax, qword [rbx + 0x38]
test rax, rax
je 0x7b5947
mov r8d, dword [rax + 8]
xor r9d, r9d
mov edx, 0x43
mov rcx, r12
mov dword [rsp + 0x20], 1
call fcn.00756bb0
mov r9d, dword [rbx + 0x14]
test r9d, r9d
jne 0x7b5c10
mov r9d, dword [rbx + 0x30]
test r9d, r9d
jne 0x7b5be8
mov r8d, dword [rbx]
test r8d, r8d
jne 0x7b59f0
sub esi, 1
sub rbx, 0x70
cmp esi, 0xffffffff
je 0x7b5af3
mov rdi, qword [rbx + 0x38]
test rdi, rdi
je 0x7b59c5
mov edx, dword [rbx + 0x18]
mov rcx, r12
call fcn.007560f0
mov r9d, dword [rdi + 0xc]
mov r8d, dword [rdi + 8]
mov rcx, r12
mov dword [rbx + 0x18], 0
mov eax, dword [r12 + 0x90]
mov edx, 0x43
mov dword [rdi + 0x10], eax
mov dword [rsp + 0x20], 1
call fcn.00756bb0
add dword [rsp + 0x34], 1
cmp byte [rbx + 0x41], 0xb8
mov rdi, qword [rbx + 0x60]
jne 0x7b5860
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x7b5904
mov rcx, r12
call fcn.007560f0
jmp 0x7b5904
mov r15d, dword [rdi + 0x38]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov rcx, r12
mov edx, 0x31
call fcn.00756bb0
mov edi, eax
test r15b, 0x40
je 0x7b5da0
mov eax, r15d
and eax, 0x2000
and r15d, 0x200
jne 0x7b5d20
test eax, eax
je 0x7b5a8d
mov r15, qword [rbx + 0x50]
test r15, r15
je 0x7b5a8d
mov rdx, qword [r15 + 0x30]
test rdx, rdx
je 0x7b6248
mov rcx, qword [rsp + 0x40]
call fcn.00743320
mov r9d, dword [r15 + 0x58]
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x20], eax
mov rcx, r12
mov edx, 0x65
call fcn.00756bb0
mov rcx, qword [rsp + 0x38]
mov rdx, r15
call fcn.00767590
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov rcx, r12
mov edx, 0x88
call fcn.00756bb0
cmp byte [rbx + 0x41], 0x43
mov r9d, dword [rbx + 0x1c]
je 0x7b5d38
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov edx, 8
mov rcx, r12
call fcn.00756bb0
mov eax, dword [r12 + 0x90]
mov rcx, qword [r12]
test edi, edi
lea edx, [rax - 1]
cmovs edi, edx
cmp byte [rcx + 0x67], 0
mov rdx, rbp
jne 0x7b5ae0
mov rdx, qword [r12 + 0x88]
movsxd rdi, edi
lea rcx, [rdi + rdi*2]
lea rdx, [rdx + rcx*8]
sub esi, 1
mov dword [rdx + 8], eax
sub rbx, 0x70
cmp esi, 0xffffffff
jne 0x7b597d
mov r13, qword [rsp + 0xb0]
cmp qword [r13 + 0x68], 0
je 0x7b5b0e
lea rdx, [r13 + 0x68]
mov rcx, r13
call fcn.0074afd0
cmp byte [r13 + 0x48], 0
lea rbx, [r13 + 0x370]
je 0x7b5ba3
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
xor esi, esi
jmp 0x7b5b7f
movzx edx, byte [rbx + 0x40]
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
lea rax, [rdi + rax*8]
test byte [rax + 0x48], 0x20
jne 0x7b5d70
mov rcx, qword [rbx + 0x60]
mov eax, dword [rcx + 0x38]
test eax, 0x240
je 0x7b5d58
mov rcx, qword [rcx + 0x20]
test rcx, rcx
je 0x7b5b6f
cmp byte [rbp + 0x67], 0
je 0x7b5f90
movzx eax, byte [r13 + 0x48]
add esi, 1
add rbx, 0x70
cmp eax, esi
jle 0x7b5ba3
cmp qword [rbx + 0x38], 0
je 0x7b5b30
mov r8, rbx
mov edx, esi
mov rcx, r13
add esi, 1
call fcn.007b5310
movzx eax, byte [r13 + 0x48]
add rbx, 0x70
cmp eax, esi
jg 0x7b5b7f
movzx ebx, byte [rsp + 0x34]
mov edx, dword [r13 + 0x3c]
mov rcx, r12
call fcn.007560f0
mov rsi, qword [rsp + 0x38]
mov eax, dword [r13 + 0x40]
mov rdx, r13
mov rcx, qword [rsp + 0x40]
mov dword [rsi + 0xc8], eax
call fcn.00748c80
sub byte [rsi + 0x26], bl
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, dword [rbx + 0x2c]
mov dword [rsp + 0x20], r14d
mov edx, 0x3c
mov rcx, r12
shr r8d, 1
call fcn.00756bb0
jmp 0x7b5961
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov edx, 8
mov rcx, r12
call fcn.00756bb0
mov eax, dword [rbx + 0x14]
mov r8, qword [r12]
mov edx, dword [r12 + 0x90]
test eax, eax
mov ecx, eax
lea r9d, [rdx - 1]
cmovs ecx, r9d
cmp byte [r8 + 0x67], 0
jne 0x7b5d10
sub eax, 2
mov r8, qword [r12 + 0x88]
movsxd rcx, ecx
cmovs eax, r9d
lea rcx, [rcx + rcx*2]
mov dword [r8 + rcx*8 + 8], edx
cdqe
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov dword [rax + 8], edx
jmp 0x7b5954
movzx eax, byte [rax + 0x48]
sub eax, 1
cmp eax, esi
jne 0x7b5875
test byte [rdi + 0x39], 2
je 0x7b5875
mov rax, qword [rdi + 0x20]
cmp byte [rax + 0x64], 0
jns 0x7b5875
movzx r15d, word [rdi + 0x1e]
test r15d, r15d
je 0x7b5875
mov rax, qword [rax + 0x10]
cmp word [rax + r15*2], 0x23
jg 0x7b617a
xor r15d, r15d
jmp 0x7b5875
mov edx, dword [rbx + 0x28]
mov rcx, r12
call fcn.007560f0
mov eax, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x24]
mov rcx, r12
mov dword [rsp + 0x20], r14d
mov edx, 0x3c
lea r9d, [rax - 1]
call fcn.00756bb0
jmp 0x7b58cd
mov rcx, r12
call fcn.007560f0
jmp 0x7b5880
mov dword [0x00bc2ee8], edx
mov rax, rbp
jmp 0x7b5c70
test eax, eax
je 0x7b5a74
mov r15, qword [rbx + 0x50]
jmp 0x7b5a37
mov r8d, dword [rbx + 0x44]
mov dword [rsp + 0x20], r14d
mov edx, 9
mov rcx, r12
call fcn.00756bb0
jmp 0x7b5ab0
test ah, 0x20
je 0x7b5b6f
mov rcx, qword [rbx + 0x50]
jmp 0x7b5b60
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rcx + 0x10]
mov dword [rsp + 0x28], 0
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 4]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rcx]
call fcn.00744020
jmp 0x7b5b6f
mov r8d, dword [rbx + 4]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov rcx, r12
mov edx, 0x88
call fcn.00756bb0
jmp 0x7b5a15
mov edx, dword [rbx + 0x10]
mov rcx, r12
call fcn.007560f0
movsxd rax, dword [rbx + 0x50]
lea rdx, [rax + rax*4]
mov rcx, rax
mov rax, qword [rbx + 0x58]
lea r13, [rax + rdx*4 - 0x14]
test ecx, ecx
jle 0x7b5917
lea r15d, [rcx - 1]
mov rdx, qword [r12]
mov eax, dword [r12 + 0x90]
add r15, 1
imul r15, r15, 0xffffffffffffffec
movzx edx, byte [rdx + 0x67]
add r15, r13
jmp 0x7b5e83
cmp r10d, 0x40000
je 0x7b5f1e
mov r9d, dword [r13 + 4]
movzx ecx, byte [r13 + 0x10]
mov dword [rsp + 0x20], r14d
mov r8d, dword [r13]
movzx edx, cl
mov rcx, r12
call fcn.00756bb0
mov rdx, qword [r12]
mov r9d, dword [r13 + 4]
mov eax, dword [r12 + 0x90]
movzx edx, byte [rdx + 0x67]
lea ecx, [rax - 1]
sub r9d, 1
cmovs r9d, ecx
mov rcx, rbp
test dl, dl
jne 0x7b5e73
mov rcx, qword [r12 + 0x88]
movsxd r9, r9d
lea r8, [r9 + r9*2]
lea rcx, [rcx + r8*8]
sub r13, 0x14
mov dword [rcx + 8], eax
cmp r13, r15
je 0x7b5917
mov r9d, dword [r13 + 4]
lea r8d, [rax - 1]
mov ecx, r9d
add ecx, 1
cmovs ecx, r8d
mov r8, rbp
test dl, dl
jne 0x7b5eaf
movsxd rcx, ecx
lea r8, [rcx + rcx*2]
mov rcx, qword [r12 + 0x88]
lea r8, [rcx + r8*8]
mov dword [r8 + 8], eax
movzx ecx, byte [r13 + 0x10]
cmp cl, 0xb8
je 0x7b5e4e
mov r8d, dword [r13 + 0xc]
test r8d, r8d
je 0x7b5e26
mov r10d, dword [rdi + 0x38]
mov edx, dword [rbx]
and r10d, 0x40400
test edx, edx
je 0x7b5e10
cmp r10d, 0x40000
mov dword [rsp + 0x20], r14d
mov r8d, dword [r13]
mov rcx, r12
sete dl
mov dword [rsp + 0x54], r10d
movzx edx, dl
lea r9d, [rax + rdx + 2]
mov edx, 0x18
call fcn.00756bb0
mov r10d, dword [rsp + 0x54]
cmp r10d, 0x40000
jne 0x7b5e1d
mov edx, dword [r13 + 0xc]
mov eax, dword [r12 + 0x90]
mov rcx, r12
mov r8d, dword [rbx + 8]
mov dword [rsp + 0x28], edx
mov edx, dword [r13 + 8]
lea r9d, [rax + 2]
mov dword [rsp + 0x20], edx
mov edx, 0x19
call fcn.00756c20
mov r9d, dword [r13 + 4]
mov r8, qword [r12]
mov edx, dword [r12 + 0x90]
mov eax, r9d
lea ecx, [rdx - 1]
add eax, 1
cmovs eax, ecx
cmp byte [r8 + 0x67], 0
mov rcx, rbp
jne 0x7b5f83
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
movzx ecx, byte [r13 + 0x10]
jmp 0x7b5e26
mov r11d, dword [rsp + 0x50]
cmp byte [r13 + 0x4a], 0
mov r8d, r11d
jne 0x7b6048
mov eax, dword [rbx + 0x20]
lea r9d, [rax + 1]
mov r10d, r9d
test r9d, r9d
js 0x7b606d
mov r11, qword [r12]
lea rax, [0x00bc2ee0]
cmp byte [r11 + 0x67], 0
je 0x7b6030
lea r10, [rdx + rdx*2]
sub r8d, r9d
mov r9d, dword [rbx + 4]
lea rdx, [rdx + r10*4]
mov r15, qword [rdi + rdx*8 + 0x28]
movsxd rdx, r8d
lea rdx, [rdx + rdx*2]
lea r10, [rax + rdx*8]
jmp 0x7b5ffd
add rax, 0x18
cmp r10, rax
jbe 0x7b5b6f
cmp dword [rax + 4], r9d
jne 0x7b5ff0
movzx edx, byte [rax]
cmp dl, 0x5e
je 0x7b6080
cmp dl, 0x87
je 0x7b6020
cmp dl, 0x12
jne 0x7b5ff0
mov edx, dword [rbx + 8]
mov dword [rax + 4], edx
jmp 0x7b5ff0
mov edx, dword [rbx + 8]
mov byte [rax], 0x8e
mov dword [rax + 4], edx
jmp 0x7b5ff0
mov rax, qword [r12 + 0x88]
movsxd r10, r10d
lea r10, [r10 + r10*2]
lea rax, [rax + r10*8]
jmp 0x7b5fc8
mov rax, qword [rcx + 0x18]
test byte [rax + 0x30], 0x80
jne 0x7b5fa3
mov eax, dword [rbx + 0x20]
mov r8d, dword [r13 + 0x58]
lea r9d, [rax + 1]
mov r10d, r9d
test r9d, r9d
jns 0x7b5fb6
mov eax, dword [r12 + 0x90]
lea r10d, [rax - 1]
jmp 0x7b5fb6
mov edx, dword [r15 + 0x30]
movsxd r11, dword [rax + 8]
test dl, 0x80
jne 0x7b613a
and edx, 0x20
mov r8d, r11d
jne 0x7b60e0
movzx r11d, word [rcx + 0x60]
test r11d, r11d
je 0x7b5ff0
mov r14, qword [rcx + 8]
xor edx, edx
jmp 0x7b60bd
add rdx, 1
cmp r11d, edx
jle 0x7b5ff0
cmp word [r14 + rdx*2], r8w
jne 0x7b60b0
movsx edx, dx
test edx, edx
js 0x7b5ff0
mov dword [rax + 8], edx
mov edx, dword [rbx + 8]
mov dword [rax + 4], edx
jmp 0x7b5ff0
test r11w, r11w
js 0x7b6099
mov rdx, qword [r15 + 8]
xor r11d, r11d
add rdx, 0x12
nop dword [rax]
test byte [rdx], 0x20
lea r14d, [r8 + 1]
cmovne r8d, r14d
add r11d, 1
add rdx, 0x18
movsx r14d, r8w
cmp r11d, r14d
jle 0x7b60f8
jmp 0x7b6099
xor ebx, ebx
cmp qword [rcx + 0x68], 0
mov dword [rsp + 0x34], 0
jne 0x7b5b02
jmp 0x7b5ba8
mov rdx, qword [r15 + 0x10]
test rdx, rdx
jne 0x7b615d
jmp 0x7b6252
mov rdx, qword [rdx + 0x28]
test rdx, rdx
je 0x80073e
movzx r8d, byte [rdx + 0x64]
and r8d, 3
cmp r8b, 2
jne 0x7b6150
mov rdx, qword [rdx + 8]
movzx r8d, word [rdx + r11*2]
jmp 0x7b6099
mov rax, qword [rsp + 0x38]
xor r13d, r13d
mov qword [rsp + 0x58], rdi
mov edi, r13d
mov r13d, esi
mov eax, dword [rax + 0x38]
add eax, 1
mov dword [rsp + 0x54], eax
mov esi, eax
nop dword [rax]
lea eax, [rsi + rdi]
mov r8d, dword [rbx + 8]
mov r9d, edi
mov edx, 0x5e
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.00756bb0
mov eax, edi
add edi, 1
cmp r15d, edi
jne 0x7b61a0
mov rcx, qword [rsp + 0x38]
add eax, 2
mov r8d, dword [rbx + 8]
xor edx, edx
mov esi, r13d
mov r13d, edi
mov rdi, qword [rsp + 0x58]
add dword [rcx + 0x38], eax
mov eax, dword [rsp + 0x54]
mov rcx, r12
cmp byte [rbx + 0x41], 0x25
mov dword [rsp + 0x20], eax
setne dl
xor r9d, r9d
lea edx, [rdx + rdx*2 + 0x14]
call fcn.00756bb0
mov r15d, eax
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne 0x7b6227
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], r13d
mov r9d, dword [rbx + 0x48]
mov dword [rsp + 0x20], r14d
mov edx, 8
mov rcx, r12
mov r8d, 1
call fcn.00756bb0
jmp 0x7b5875
mov eax, 0xffff8000
jmp 0x7b5a4e
jmp 0x80073e
mov rax, qword [8]
ud2