Function at 0x6a4060
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, 0x198
mov rax, qword [rcx + 0x30]
mov ebx, dword [rcx + 0x58]
mov rsi, rcx
mov qword [rsp + 0x1e8], rdx
mov dword [rsp + 0x1f0], r8d
mov qword [rsp + 0x1f8], r9
mov rax, qword [rax]
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rax
mov eax, dword [rax + 0x60]
cmp eax, ebx
jae 0x6a4739
mov ax, word [rcx + 0x56]
xor edi, edi
xor ebx, ebx
or r13d, 0xffffffff
mov word [rsp + 0x88], ax
mov eax, dword [rcx + 0x5c]
mov dword [rsp + 0x6c], eax
mov rax, qword [rsp + 0x30]
lea r12, [rax + 0x68]
lea r15, [r12 + rdi*4]
mov ebp, dword [r15]
cmp ebp, dword [rsp + 0x38]
jae 0x6a4143
lea r14d, [rdi + 4]
mov r8, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov r9d, r14d
call fcn.006a4010
test eax, eax
mov ebx, eax
jne 0x6a412a
mov eax, dword [rsp + 0x38]
test edi, edi
mov r8d, 1
mov edx, r14d
mov rcx, rsi
cmovne eax, r13d
mov dword [r15], eax
call fcn.006a5b80
jmp 0x6a4143
cmp eax, 5
jne 0x6a47ee
mov dword [rsp + 0x38], ebp
mov qword [rsp + 0x1f8], 0
inc rdi
cmp rdi, 4
jne 0x6a40d0
mov rax, qword [rsp + 0x30]
xor ebp, ebp
mov eax, dword [rax + 0x60]
cmp eax, dword [rsp + 0x38]
jae 0x6a4732
mov rax, qword [rsp + 0x30]
mov ebx, 7
mov r12d, dword [rax + 0x60]
mov eax, dword [rsi + 0x58]
lea edi, [rax + 0x1000]
mov dword [rsp + 0x3c], eax
mov edx, dword [rsp + 0x3c]
sub rdi, 0xfdf
shr rdi, 0xc
movsxd rax, edi
shl rax, 4
lea r13, [rax + rdx + 0x14]
add r13, r13
mov rcx, r13
call fcn.00698860
test rax, rax
mov rbp, rax
je 0x6a473d
lea eax, [rdi + 1]
mov rcx, r13
mov rdi, rbp
mov dword [rsp + 0x68], eax
xor eax, eax
cmp dword [rsp + 0x3c], 0x1000
rep stosb byte [rdi], al
mov ecx, 0x1000
cmovbe ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x68]
mov dword [rbp + 4], eax
mov ecx, ecx
add rcx, rcx
call fcn.00698860
cmp rax, 1
mov qword [rsp + 0x40], rax
lea eax, [r12 + 0x1001]
sbb ebx, ebx
mov qword [rsp + 0x48], 0
sub rax, 0xfdf
and ebx, 7
shr rax, 0xc
mov qword [rsp + 0x50], rax
movsxd r14, dword [rsp + 0x50]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x70], rax
shl r14, 5
add r14, rbp
mov edi, dword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
add edx, edi
test ebx, ebx
jne 0x6a446d
cmp dword [rsp + 0x68], edx
jle 0x6a446d
lea r8, [rsp + 0xa8]
mov rcx, rsi
call fcn.006a4ab0
test eax, eax
mov ebx, eax
jne 0x6a4463
mov rdx, qword [rsp + 0xb0]
mov eax, dword [rsp + 0xb8]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x50]
lea edx, [rdi + rdx + 1]
cmp dword [rsp + 0x68], edx
jne 0x6a428b
mov r13d, dword [rsp + 0x3c]
sub r13d, eax
jmp 0x6a429c
mov r13, qword [rsp + 0xa8]
sub r13, qword [rsp + 0x60]
sar r13, 2
movsxd rcx, dword [rbp + 4]
mov edx, eax
inc eax
add rdx, rdx
mov dword [rsp + 0xb8], eax
xor eax, eax
shl rcx, 5
lea rdx, [rcx + rdx + 8]
lea rdi, [rbp + rdx]
mov qword [rsp + 0x58], rdi
cmp r13d, eax
jle 0x6a42d6
mov rdi, qword [rsp + 0x58]
mov word [rdi + rax*2], ax
inc rax
jmp 0x6a42c3
lea rdx, [rsp + 0xc0]
mov ecx, 0x34
xor eax, eax
mov dword [rsp + 0x9c], 0
mov qword [rsp + 0xa0], 0
xor r15d, r15d
mov rdi, rdx
xor r12d, r12d
rep stosd dword [rdi], eax
mov rdi, rdx
cmp r15d, r13d
mov r10d, r15d
jge 0x6a43cb
lea rax, [r15 + r15]
add rax, qword [rsp + 0x58]
lea r11, [rsp + 0x9c]
mov dword [rsp + 0x9c], 1
xor r12d, r12d
mov qword [rsp + 0xa0], rax
mov rax, rdi
bt r10d, r12d
jae 0x6a439e
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 8]
inc r12d
mov qword [rsp + 0x20], r11
mov r9, qword [rsp + 0x70]
mov dword [rsp + 0x8c], r10d
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov r8d, dword [rax]
mov qword [rsp + 0x78], rax
call fcn.006a55d0
mov rax, qword [rsp + 0x78]
mov r10d, dword [rsp + 0x8c]
mov r11, qword [rsp + 0x80]
add rax, 0x10
jmp 0x6a4340
mov rdx, qword [rsp + 0xa0]
mov eax, r12d
inc r15
shl rax, 4
mov qword [rsp + rax + 0xc8], rdx
mov edx, dword [rsp + 0x9c]
mov dword [rsp + rax + 0xc0], edx
jmp 0x6a430a
lea eax, [r12 + 1]
xor r15d, r15d
mov r12, rax
shl rax, 4
add rdi, rax
lea rax, [rsp + 0x9c]
cmp r12d, 0xc
ja 0x6a442b
bt r13d, r12d
jae 0x6a4422
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rdi + r15 + 8]
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x60]
mov r8d, dword [rdi + r15]
call fcn.006a55d0
mov rax, qword [rsp + 0x78]
inc r12d
add r15, 0x10
jmp 0x6a43e5
mov rax, qword [rsp + 0x48]
mov edx, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0xb8]
mov rdi, qword [rsp + 0x58]
shl rax, 5
mov dword [r14 + rax + 0x20], edx
mov rdx, qword [rsp + 0xb0]
mov dword [r14 + rax + 0x24], ecx
mov qword [r14 + rax + 0x10], rdi
mov qword [r14 + rax + 0x18], rdx
inc qword [rsp + 0x48]
jmp 0x6a4228
mov rcx, qword [rsp + 0x40]
call fcn.00697980
test ebx, ebx
je 0x6a448a
mov rcx, rbp
xor ebp, ebp
call fcn.00697980
jmp 0x6a4732
mov r8, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov r9d, 3
mov dword [rsp + 0x20], 1
mov rcx, rsi
call fcn.006a4010
test eax, eax
mov ebx, eax
jne 0x6a4732
mov rax, qword [rsp + 0x30]
mov edi, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x38]
mov rcx, qword [rsi + 0x10]
mov eax, dword [rax + 0x60]
shl edi, 0x10
and edi, 0x10000
mov edx, edi
mov edi, dword [rsp + 0x88]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x30]
and edi, 0xfe00
mov dword [rax + 0x80], ebx
mov eax, dword [rsp + 0x208]
or edi, edx
sar eax, 2
and eax, 3
mov edx, eax
mov dword [rsp + 0x3c], eax
call fcn.0066e7f0
test eax, eax
mov ebx, eax
jne 0x6a46c2
mov eax, dword [rsp + 0x6c]
movsxd r15, edi
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x27
imul rax, r15
mov qword [rsp + 0xa8], rax
call fcn.0066e770
mov rcx, qword [rsi + 8]
lea rdx, [rsp + 0xc0]
call fcn.0066e7a0
test eax, eax
mov ebx, eax
jne 0x6a46c2
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
jge 0x6a45ad
mov eax, dword [rsi + 0x58]
imul rax, r15
lea rax, [rcx + rax + 0x10000]
cmp rdx, rax
jle 0x6a4597
mov ecx, 0xf8e1
call fcn.00656590
test eax, eax
je 0x6a45ad
jmp 0x6a46c0
mov rcx, qword [rsi + 8]
lea r8, [rsp + 0xa8]
mov edx, 5
call fcn.0066e790
lea eax, [rdi + 0x18]
xor r13d, r13d
cdqe
mov qword [rsp + 0x48], rax
mov eax, dword [rbp + 4]
mov r10d, dword [rbp]
or r12d, 0xffffffff
lea edx, [rax - 1]
movsxd rax, edx
shl rax, 5
lea rax, [rbp + rax + 8]
test edx, edx
js 0x6a461c
mov r9d, dword [rax + 0x18]
mov ecx, dword [rax]
cmp ecx, r9d
jge 0x6a4614
mov r11, qword [rax + 8]
movsxd r8, ecx
movzx r14d, word [r11 + r8*2]
mov r11, qword [rax + 0x10]
mov r11d, dword [r11 + r14*4]
cmp r10d, r11d
jae 0x6a460e
cmp r11d, r12d
jae 0x6a4614
movzx r13d, r14w
mov r12d, r11d
add r13d, dword [rax + 0x1c]
jmp 0x6a4614
inc ecx
mov dword [rax], ecx
jmp 0x6a45dc
dec edx
sub rax, 0x20
jmp 0x6a45d4
cmp r12d, 0xffffffff
mov dword [rbp], r12d
je 0x6a46c2
mov rax, qword [rsp + 0x1e8]
mov eax, dword [rax + 0x198]
test eax, eax
je 0x6a4652
mov rax, qword [rsp + 0x1e8]
cmp byte [rax + 0x67], 1
sbb ebx, ebx
and ebx, 2
add ebx, 7
jmp 0x6a46c2
cmp dword [rsp + 0x38], r13d
setb dl
cmp dword [rsp + 0x40], r13d
setae al
or dl, al
jne 0x6a45ba
cmp dword [rsp + 0x6c], r12d
jb 0x6a45ba
lea eax, [r13 - 1]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsp + 0x210]
imul rax, qword [rsp + 0x48]
mov r8d, edi
lea r9, [rax + 0x38]
call fcn.0066e7c0
test eax, eax
jne 0x6a46c0
lea r9d, [r12 - 1]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsp + 0x210]
mov r8d, edi
imul r9, r15
call fcn.0066e820
test eax, eax
je 0x6a45ba
mov ebx, eax
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov edx, 0x25
call fcn.0066e770
test ebx, ebx
jne 0x6a471f
mov rax, qword [rsi + 0x30]
mov rax, qword [rax]
mov eax, dword [rax + 0x10]
cmp eax, dword [rsp + 0x38]
je 0x6a46f5
mov rax, qword [rsp + 0x30]
mov edi, dword [rsp + 0x38]
mov dword [rax + 0x60], edi
jmp 0x6a471f
mov eax, dword [rsi + 0x5c]
movsxd rdx, edi
mov rcx, qword [rsi + 8]
imul rdx, rax
call fcn.0066e800
test eax, eax
jne 0x6a471d
mov rcx, qword [rsi + 8]
mov edx, dword [rsp + 0x3c]
call fcn.0066e7f0
test eax, eax
je 0x6a46e7
mov ebx, eax
mov r8d, 1
mov edx, 3
mov rcx, rsi
call fcn.006a5b80
cmp ebx, 5
jne 0x6a473d
jmp 0x6a473b
xor ebp, ebp
xor ebx, ebx
test ebx, ebx
jne 0x6a47f0
cmp dword [rsp + 0x1f0], 0
je 0x6a47f0
mov rax, qword [rsp + 0x30]
mov ebx, 5
mov eax, dword [rax + 0x60]
cmp eax, dword [rsi + 0x58]
jb 0x6a47f0
xor ebx, ebx
cmp dword [rsp + 0x1f0], 1
jle 0x6a47f0
lea rdx, [rsp + 0xc0]
mov ecx, 4
call fcn.00698e80
mov r8, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x1f8]
mov r9d, 4
mov dword [rsp + 0x20], 4
mov rcx, rsi
call fcn.006a4010
test eax, eax
mov ebx, eax
jne 0x6a47f0
cmp dword [rsp + 0x1f0], 3
jne 0x6a47d9
mov edx, dword [rsp + 0xc0]
mov rcx, rsi
call fcn.006a5680
mov rcx, qword [rsi + 0x10]
xor edx, edx
call fcn.0066e800
mov ebx, eax
mov r8d, 4
mov edx, 4
mov rcx, rsi
call fcn.006a5b80
jmp 0x6a47f0
xor ebp, ebp
mov rcx, rbp
call fcn.00697980
mov eax, ebx
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret