Function at 0x7a9900
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, 0x48
mov rsi, qword [rcx + 8]
mov r13, qword [rcx]
mov r15, qword [rcx + 0x10]
movzx eax, byte [rsi + 0x20]
mov byte [rsp + 0x34], al
mov eax, dword [r13 + 0x44]
mov rbx, rcx
mov ebp, edx
mov dword [rsp + 0xa8], r9d
mov edi, r8d
lea r12d, [rax - 1]
mov dword [r13 + 0x44], r12d
cmp edx, 2
je 0x7a9bd0
test r8d, r8d
jle 0x7a9972
cmp byte [rsi + 0x20], 0x59
je 0x7a9df0
mov r9d, r12d
mov r8d, edi
mov edx, 0x31
mov rcx, r15
mov dword [rsp + 0x20], 1
call fcn.00756bb0
mov dword [rsp + 0x30], 0
cmp ebp, 1
je 0x7a9aa0
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsi + 0x22]
cmp byte [rsi + 0x21], al
je 0x7a9ca0
cmp ebp, 2
je 0x7a9c3b
mov eax, dword [rbx + 0x40]
mov r9d, dword [rsi + 0x84]
mov edi, dword [rbx + 0x3c]
mov dword [rsp + 0x38], eax
test r9d, r9d
je 0x7a9d38
mov r8d, dword [rsi + 0x88]
mov dword [rsp + 0x20], 0
mov r9d, 1
mov edx, 0x56
mov rcx, r15
call fcn.00756bb0
cmp dword [rbx + 0x24], ebp
jne 0x7a9af3
xor r9d, r9d
mov r8d, edi
mov edx, 0x82
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.00756bb0
mov eax, dword [r15 + 0x90]
test eax, eax
jle 0x7a9afa
mov rcx, qword [r15 + 0x88]
movsxd rdx, eax
mov r8d, 2
lea rdx, [rdx + rdx*2]
lea rdx, [rcx + rdx*8]
mov word [rdx - 0x16], r8w
mov edx, dword [rsp + 0xa8]
test edx, edx
jne 0x7a9b09
nop
movzx ebp, byte [rsp + 0x34]
xor edx, edx
mov r8d, edi
mov rcx, r15
mov dword [rsp + 0x20], 0
cmp bpl, 0x4c
setne dl
xor r14d, r14d
lea r9d, [rax + rdx + 1]
mov edx, 0x26
call fcn.00756bb0
cmp bpl, 0x4c
je 0x7a9ba0
mov r9d, r12d
xor r8d, r8d
mov edx, 8
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.00756bb0
jmp 0x7a9b4a
mov r11d, dword [rsi + 0x84]
test r11d, r11d
je 0x7a9e20
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsi + 0x21]
cmp byte [rsi + 0x22], al
jne 0x7a9ad8
test edi, edi
je 0x7a9ad8
cmp byte [rsi + 0x20], 0x59
je 0x7a9cb8
nop word [rax + rax]
mov eax, dword [rbx + 0x38]
mov rcx, rbx
mov edi, dword [rbx + 0x34]
mov dword [rsp + 0x38], eax
call fcn.007a9090
cmp dword [rbx + 0x24], ebp
je 0x7a99e9
mov eax, dword [r15 + 0x90]
mov edx, dword [rsp + 0xa8]
test edx, edx
je 0x7a9a40
lea r9d, [rax + 2]
mov r8d, edi
mov edx, 0x26
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.00756bb0
xor r9d, r9d
xor r8d, r8d
mov edx, 8
mov dword [rsp + 0x20], 0
mov rcx, r15
call fcn.00756bb0
cmp byte [rsp + 0x34], 0x4c
mov r14d, eax
je 0x7a9ba0
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x7a9b5f
mov r11d, dword [rax]
test r11d, r11d
jne 0x7a9d90
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, edi
xor ebp, ebp
call fcn.00757e90
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rsi + 0x18]
xor r8d, r8d
mov r9d, dword [rsp + 0x38]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.0076af00
xor r11d, r11d
cmp dword [r13 + 0x28], r11d
jge 0x7a9ba0
mov dword [r13 + 0x28], r11d
mov dword [r13 + 0x2c], ebp
mov eax, dword [rsp + 0x30]
test eax, eax
jne 0x7a9c78
mov edx, r12d
mov rcx, r15
call fcn.007560f0
mov eax, r14d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [rsi + 0x21]
xor r14d, r14d
cmp al, 0x5a
je 0x7a9bb7
test r8d, r8d
jle 0x7a9d58
cmp byte [rsi + 0x20], 0x59
jne 0x7a9957
mov eax, dword [r15 + 0x90]
cmp byte [rsi + 0x21], 0x56
mov r8d, dword [rbx + 0x2c]
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 0x34]
je 0x7a9e50
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, 0x39
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.0076a7b0
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsi + 0x22]
cmp byte [rsi + 0x21], al
je 0x7a9d7d
mov eax, dword [rbx + 0x30]
mov r8d, dword [rsi + 0x84]
mov edi, dword [rbx + 0x2c]
mov dword [rsp + 0x38], eax
test r8d, r8d
jne 0x7a99c5
mov eax, dword [rbx + 0x20]
mov rcx, qword [rbx]
mov r9d, 1
mov r8d, edi
mov rdx, rsi
mov dword [rsp + 0x20], eax
call fcn.007a8ac0
jmp 0x7a9aea
mov r9d, dword [rsp + 0x30]
xor r8d, r8d
mov edx, 8
mov rcx, r15
mov dword [rsp + 0x20], 0
call fcn.00756bb0
jmp 0x7a9bac
test edi, edi
je 0x7a999b
cmp byte [rsi + 0x20], 0x59
jne 0x7a999b
nop word [rax + rax]
movzx eax, byte [r13 + 0x1f]
test al, al
je 0x7a9e38
lea edx, [rax - 1]
movzx ecx, dl
mov byte [r13 + 0x1f], dl
mov r14d, dword [r13 + rcx*4 + 0xd8]
test dl, dl
je 0x7a9f0d
sub eax, 2
mov byte [r13 + 0x1f], al
movzx eax, al
mov edi, dword [r13 + rax*4 + 0xd8]
cmp ebp, 2
je 0x7a9eb8
mov r10d, dword [rbx + 0x28]
test r10d, r10d
jne 0x7a9e78
test r14d, r14d
je 0x7a9d17
mov edx, r14d
mov rcx, r13
call fcn.007427c0
test edi, edi
je 0x7a9d25
mov edx, edi
mov rcx, r13
call fcn.007427c0
cmp ebp, 1
jne 0x7a999b
jmp 0x7a9ad8
mov eax, dword [rbx + 0x20]
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov dword [rsp + 0x20], eax
call fcn.007a8ac0
jmp 0x7a9aea
mov ecx, dword [r15 + 0x90]
cmp byte [rsi + 0x22], al
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x3c], ecx
jne 0x7a9c3b
test r8d, r8d
je 0x7a9c3b
cmp byte [rsi + 0x20], 0x59
jne 0x7a9c3b
jmp 0x7a9cb8
mov edx, r11d
mov rcx, r13
mov dword [rsp + 0x34], r11d
call fcn.007427e0
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
mov r8d, edi
mov r9d, eax
mov ebp, eax
call fcn.00757e90
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rsi + 0x18]
mov r8d, ebp
mov r9d, dword [rsp + 0x38]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.0076af00
mov r11d, dword [rsp + 0x34]
cmp r11d, 1
jne 0x7a9b92
mov edx, ebp
mov rcx, r13
call fcn.00742850
jmp 0x7a9ba0
mov r8d, dword [rbx + 0x3c]
mov r9d, edi
mov edx, 0x36
mov rcx, rbx
mov eax, dword [r15 + 0x90]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x30], eax
mov eax, dword [rbx + 0x34]
mov dword [rsp + 0x20], eax
call fcn.0076a7b0
jmp 0x7a997a
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx]
xor r8d, r8d
call fcn.00757cb0
jmp 0x7a9ab0
mov eax, dword [r13 + 0x38]
lea r14d, [rax + 1]
mov eax, r14d
lea edi, [rax + 1]
mov dword [r13 + 0x38], edi
jmp 0x7a9cf1
mov dword [rsp + 0x20], r8d
mov r9d, edi
mov r8d, eax
mov edx, 0x37
mov dword [rsp + 0x28], r12d
mov rcx, rbx
call fcn.0076a7b0
jmp 0x7a9c23
mov r8d, dword [rbx + 0x3c]
mov r9d, r14d
mov rcx, r15
mov edx, 0x87
mov dword [rsp + 0x20], 0
call fcn.00756bb0
mov dword [rsp + 0x20], r14d
mov r9d, r12d
mov rcx, r15
mov r8d, dword [rbx + 0x28]
mov edx, 0x39
call fcn.00756bb0
jmp 0x7a9d07
mov r8d, dword [rbx + 0x2c]
mov r9d, r14d
mov rcx, r15
mov edx, 0x87
mov dword [rsp + 0x20], 0
call fcn.00756bb0
mov r8d, dword [rbx + 0x3c]
mov r9d, edi
mov rcx, r15
mov dword [rsp + 0x20], 0
mov edx, 0x87
call fcn.00756bb0
mov dword [rsp + 0x20], r14d
mov r9d, r12d
mov r8d, edi
mov edx, 0x39
mov rcx, r15
call fcn.00756bb0
jmp 0x7a9d07
mov eax, dword [r13 + 0x38]
jmp 0x7a9e43