Function at 0x6a6d30
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 ebx, 7
mov dword [rsp + 0xe4], r9d
mov eax, dword [rsp + 0xe4]
mov r12, rcx
mov qword [rsp + 0x1e8], rdx
mov rsi, r8
mov word [rsp + 0x9e], ax
mov rax, qword [rcx]
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov rax, qword [rax]
cmp byte [rax + 0x67], 0
mov qword [rsp + 0x60], rax
jne 0x6a7ed0
mov r14, qword [rcx + 0x10]
mov eax, dword [r14 + 0x30]
mov dword [rsp + 0x84], eax
and eax, 0x20
cmp eax, 1
sbb eax, eax
and eax, 0x1a7
add eax, 0x18
test byte [r8 + 0x64], 4
je 0x6a6db3
and eax, 0xffffffc3
mov ebx, dword [r14 + 0x18]
mov rdx, qword [r12 + 8]
lea rcx, [rsp + 0x120]
mov word [rsp + 0x72], bx
mov bx, word [r14 + 0x1a]
mov word [rsp + 0xc6], bx
mov ebx, dword [r14 + 0x1c]
mov word [rsp + 0xd8], bx
mov bx, word [r14 + 0x36]
mov word [rsp + 0xda], bx
mov ebx, dword [r14 + 0x34]
mov word [rsp + 0x9c], bx
mov rbx, qword [r14]
mov qword [rsp + 0xc8], rbx
mov bx, word [r14 + 0x16]
mov word [rsp + 0x82], bx
movzx ebx, word [rsp + 0x72]
mov dword [rsp + 0x74], ebx
mov rbx, qword [rsp + 0x1e8]
mov r9d, dword [rsp + 0x74]
mov ebx, dword [rbx + 0x44]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
mov r8d, ebx
mov dword [rsp + 0x40], ebx
xor ebx, ebx
call fcn.006aa730
mov rdi, rax
mov rax, qword [rsi + 0x10]
mov word [r14 + 0x12], 0
movsx eax, word [rax]
mov ecx, eax
mov dword [rsp + 0xc0], eax
call fcn.00610690
mov word [rsp + 0xc4], ax
movzx eax, word [rsp + 0x72]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0xa8], rax
add rax, rax
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x108]
mov qword [rsp + 0xf0], rax
test ebx, ebx
jne 0x6a7d1d
test rdi, rdi
je 0x6a7d1d
mov r15d, dword [rdi + 0x14]
cmp r15w, 0x100
je 0x6a6ec7
test byte [rdi + 0x12], 0x80
je 0x6a6efe
mov rax, qword [rsi + 8]
mov rbx, qword [rsp + 0xa0]
movsx rdx, word [rax + rbx]
test edx, edx
mov rax, rdx
js 0x6a6ef6
mov rdx, qword [rsi + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
je 0x6a6efe
jmp 0x6a7d06
inc edx
je 0x6a7d06
mov rax, qword [rdi + 0x28]
test qword [r14 + 8], rax
jne 0x6a7d06
test byte [rdi + 0x13], 1
je 0x6a6f1d
cmp r15w, 0x10
je 0x6a7d06
mov rax, qword [rsp + 0x1e8]
test byte [rax + 0x3c], 0x58
je 0x6a6f4c
mov rax, qword [rdi]
test byte [rax + 4], 3
je 0x6a7d06
mov rbx, qword [rsp + 0x1e8]
mov ebx, dword [rbx + 0x44]
cmp dword [rax + 0x34], ebx
jne 0x6a7d06
cmp byte [rsi + 0x62], 0
mov eax, dword [r12 + 0x28]
mov dword [rsp + 0xf8], eax
mov al, byte [r12 + 0x2c]
je 0x6a6f74
movzx edx, word [rsi + 0x5e]
dec edx
cmp dword [rsp + 0x74], edx
jne 0x6a6f74
or eax, 2
jmp 0x6a6f77
or eax, 1
mov byte [r12 + 0x2c], al
mov eax, dword [rsp + 0x84]
mov rdx, r14
movzx r8d, word [rsp + 0x9c]
mov rcx, qword [rsp + 0x60]
mov dword [r14 + 0x30], eax
mov ax, word [rsp + 0x72]
mov word [r14 + 0x34], r8w
inc r8d
mov word [r14 + 0x18], ax
mov ax, word [rsp + 0xc6]
mov word [r14 + 0x1a], ax
mov eax, dword [rsp + 0xd8]
mov word [r14 + 0x1c], ax
call fcn.006a93c0
test eax, eax
mov ebx, eax
je 0x6a6fd5
xor ebx, ebx
jmp 0x6a7d1d
movzx edx, word [r14 + 0x34]
mov r8, qword [r14 + 0x40]
mov ebp, r15d
mov rcx, qword [r14 + 8]
lea eax, [rdx + 1]
not rcx
mov word [r14 + 0x34], ax
mov qword [r8 + rdx*8], rdi
mov rdx, qword [rsp + 0xc8]
or rdx, qword [rdi + 0x28]
and rdx, rcx
and bp, 1
mov qword [r14], rdx
je 0x6a70cd
mov rcx, qword [rdi]
test byte [rcx + 5], 0x10
je 0x6a7042
movzx eax, ax
xor edx, edx
mov r13d, 0x2e
dec eax
xor r11d, r11d
cmp eax, edx
jle 0x6a7062
mov r9, qword [r8 + rdx*8]
test r9, r9
je 0x6a703d
cmp qword [r9], rcx
cmove r13d, r11d
inc rdx
jmp 0x6a7029
mov rax, qword [rcx + 0x20]
xor r13d, r13d
test rax, rax
je 0x6a7062
mov r13d, dword [rax]
test r13d, r13d
je 0x6a7062
movsxd rcx, r13d
call fcn.0066d870
movsx r13d, ax
cmp byte [rsi + 0x64], 0
jns 0x6a70c3
cmp word [rsp + 0xc4], 9
jle 0x6a70c3
mov ecx, r13d
call fcn.00610690
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0xa0]
mov dx, word [rdx + rcx]
add edx, 0xa
sub edx, dword [rsp + 0xc4]
sub edx, r13d
add dx, ax
jns 0x6a70c3
cmp word [rsp + 0x9e], 1
jg 0x6a7d08
mov rax, qword [rsp + 0x60]
test byte [rax + 0x62], 2
jne 0x6a7d08
or dword [r14 + 0x30], 0x100000
or dword [r14 + 0x30], 4
jmp 0x6a7275
test r15b, 0x82
mov eax, dword [r14 + 0x30]
je 0x6a715c
mov rdx, qword [rsi + 8]
mov rcx, qword [rsp + 0xa0]
movsx edx, word [rdx + rcx]
mov ecx, eax
or ecx, 1
mov dword [r14 + 0x30], ecx
cmp edx, 0xffffffff
je 0x6a712e
test edx, edx
js 0x6a713e
cmp word [rsp + 0x9e], 0
jne 0x6a713e
movzx edx, word [rsi + 0x5e]
mov ecx, edx
dec edx
cmp dword [rsp + 0x74], edx
jne 0x6a713e
test byte [rsi + 0x64], 8
jne 0x6a712e
dec cx
jne 0x6a7135
cmp byte [rsi + 0x62], 0
je 0x6a7135
cmp r15w, 2
jne 0x6a7135
or eax, 0x1001
jmp 0x6a713a
or eax, 0x10001
mov dword [r14 + 0x30], eax
xor r13d, r13d
cmp byte [rsp + 0x149], 1
jbe 0x6a7275
or dword [r14 + 0x30], 0x200000
jmp 0x6a7275
test r15w, 0x100
je 0x6a7173
or eax, 8
xor r13d, r13d
mov dword [r14 + 0x30], eax
jmp 0x6a7275
mov rdx, qword [rsp + 0x1e8]
test r15b, 0x24
mov edx, dword [rdx + 0x44]
je 0x6a720a
mov r9d, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x50]
or eax, 0x22
mov dword [r14 + 0x30], eax
mov r8, rsi
mov qword [rsp + 0x20], rdi
call fcn.006aa5f0
test byte [rdi + 0x13], 1
mov word [r14 + 0x1a], ax
je 0x6a7251
movzx r8d, word [r14 + 0x34]
mov rcx, qword [rsp + 0x60]
lea rax, [rdi + 0x38]
mov rdx, r14
mov qword [rsp + 0x40], rax
inc r8d
call fcn.006a93c0
test eax, eax
mov r13d, eax
jne 0x6a6fce
movzx eax, word [r14 + 0x34]
mov rdx, qword [r14 + 0x40]
mov qword [rsp + 0x48], rdi
lea ecx, [rax + 1]
mov word [r14 + 0x34], cx
lea rcx, [rdi + 0x38]
mov qword [rdx + rax*8], rcx
or dword [r14 + 0x30], 0x10
mov word [r14 + 0x1c], 1
jmp 0x6a7275
mov r9d, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x50]
or eax, 0x12
mov dword [r14 + 0x30], eax
mov r8, rsi
mov qword [rsp + 0x20], rdi
call fcn.006aa5f0
test byte [r14 + 0x30], 0x20
mov word [r14 + 0x1c], ax
je 0x6a7264
movzx edx, word [r14 + 0x34]
mov rax, qword [r14 + 0x40]
xor r13d, r13d
mov qword [rsp + 0x40], rdi
mov rax, qword [rax + rdx*8 - 0x10]
mov qword [rsp + 0x48], rax
jmp 0x6a7275
xor r13d, r13d
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], 0
jmp 0x6a7275
xor r13d, r13d
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 0
test byte [r14 + 0x30], 2
mov eax, dword [r14 + 0x18]
je 0x6a7a06
movsx edi, word [r14 + 0x16]
mov dword [rsp + 0x5c], edi
mov rdi, qword [r14 + 0x20]
mov edx, dword [rdi + 0x68]
test edx, edx
mov dword [rsp + 0x68], edx
jle 0x6a797b
movzx edx, ax
cmp edx, dword [rdi + 0x6c]
mov dword [rsp + 0x88], edx
jge 0x6a797b
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx]
test byte [rcx + 0x61], 8
mov qword [rsp + 0x78], rcx
jne 0x6a797b
movzx ecx, ax
cmp ecx, dword [r12 + 0x28]
movzx r15d, ax
jne 0x6a75d4
mov rdx, qword [r12 + 0x20]
movzx ecx, word [r14 + 0x1a]
movzx r10d, word [r14 + 0x1c]
test rdx, rdx
mov qword [rsp + 0x110], rdx
mov dword [rsp + 0x90], ecx
je 0x6a7303
mov word [rdx + 0x1c], ax
cmp dword [rsp + 0x88], 0
jne 0x6a7321
mov eax, dword [rdi + 0x88]
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x78], eax
jmp 0x6a735a
lea r9, [rsp + 0x118]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x98], r10d
call fcn.006a6290
mov eax, dword [rsp + 0x118]
mov r10d, dword [rsp + 0x98]
mov dword [rsp + 0x68], eax
add eax, dword [rsp + 0x11c]
mov dword [rsp + 0x78], eax
mov rax, qword [rdi + 0x38]
cmp byte [rax + r15], 0
jne 0x6a7383
mov eax, r10d
mov r15, qword [rsp + 0x40]
mov r10d, dword [rsp + 0x90]
mov rbp, qword [rsp + 0x48]
mov dword [rsp + 0x90], eax
jmp 0x6a738d
mov r15, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
test rbp, rbp
mov dword [rsp + 0x98], 0xfffffffe
je 0x6a7482
mov rax, qword [rbp]
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x110]
mov rdx, rdi
mov r11, qword [rax + 0x18]
lea rax, [rsp + 0x10c]
mov dword [rsp + 0x20], r10d
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
mov r9, r11
mov qword [rsp + 0xb0], r11
mov dword [rsp + 0x28], eax
call fcn.0067f510
test eax, eax
mov ebx, eax
jne 0x6a7482
mov r8d, dword [rsp + 0x10c]
test r8d, r8d
je 0x6a7482
mov r11, qword [rsp + 0xb0]
mov rcx, r11
call fcn.0065dc50
mov edx, 0x18
cmp r8d, eax
mov eax, 0xc
cmovl eax, edx
mov rdx, qword [rsp + 0x110]
lea r9, [rsp + 0x118]
mov r10d, eax
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0xb0], r10d
call fcn.006a6290
xor edx, edx
mov r10d, dword [rsp + 0xb0]
test word [rbp + 0x14], r10w
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x118]
je 0x6a746d
mov edx, dword [rsp + 0x11c]
add eax, edx
cmp dword [rsp + 0x68], eax
cmovae eax, dword [rsp + 0x68]
dec dword [rsp + 0x5c]
xor ebp, ebp
mov dword [rsp + 0x68], eax
test r15, r15
mov dword [rsp + 0xb0], 0xffffffff
je 0x6a757f
mov rax, qword [r15]
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x110]
mov rdx, rdi
mov r11, qword [rax + 0x18]
lea rax, [rsp + 0x10c]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
mov r9, r11
mov qword [rsp + 0x88], r11
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
call fcn.0067f510
test eax, eax
mov ebx, eax
jne 0x6a757f
mov r8d, dword [rsp + 0x10c]
test r8d, r8d
je 0x6a757f
mov r11, qword [rsp + 0x88]
mov rcx, r11
call fcn.0065dc50
mov rdx, qword [rsp + 0x110]
cmp r8d, eax
mov r11d, 0x18
mov eax, 0xc
lea r9, [rsp + 0x118]
mov r8d, 1
cmovge r11d, eax
mov rcx, rdi
mov dword [rsp + 0x88], r11d
call fcn.006a6290
xor edx, edx
mov r11d, dword [rsp + 0x88]
test word [r15 + 0x14], r11w
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x118]
je 0x6a7569
mov edx, dword [rsp + 0x11c]
add eax, edx
cmp dword [rsp + 0x78], eax
cmovbe eax, dword [rsp + 0x78]
dec dword [rsp + 0x5c]
xor r15d, r15d
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x110]
test ebx, ebx
mov qword [r12 + 0x20], rax
jne 0x6a7985
mov ebx, dword [rsp + 0x78]
cmp dword [rsp + 0x68], ebx
mov eax, 0xa
jae 0x6a75c1
mov ecx, ebx
sub ecx, dword [rsp + 0x68]
call fcn.0066d870
mov ebx, dword [rsp + 0xb0]
cmp dword [rsp + 0x98], ebx
jne 0x6a75c1
sub eax, 0x14
cwde
cmp dword [rsp + 0x5c], eax
cmovle eax, dword [rsp + 0x5c]
mov dword [rsp + 0x5c], eax
jmp 0x6a7985
cmp qword [rdi + 0x20], 0
je 0x6a75e5
mov rax, qword [rdi + 0x20]
mov bpl, byte [rax + r15]
jmp 0x6a75fa
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.0066a600
test rax, rax
jne 0x6a75db
mov bpl, 0x41
mov rax, qword [rdi + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov rdx, qword [rax + r15*8]
xor r15d, r15d
call fcn.0066d410
cmp qword [rsp + 0x48], 0
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0xb0], 0xffffffff
je 0x6a767a
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
movzx r8d, bpl
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
call fcn.0069d820
mov dword [rsp + 0xb0], 0
mov r15d, eax
cmp qword [rsp + 0x40], 0
je 0x6a7687
test r15d, r15d
je 0x6a768f
mov eax, dword [rsp + 0x68]
inc eax
jmp 0x6a76d5
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
movzx r8d, bpl
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
call fcn.0069d820
cmp qword [rsp + 0x118], 0
mov r15d, eax
mov dword [rsp + 0x98], 0
jne 0x6a76dc
mov eax, dword [rdi + 0x68]
mov dword [rsp + 0x98], eax
cmp qword [rsp + 0x110], 0
mov qword [rsp + 0xb8], 0
jne 0x6a7704
mov rbp, qword [rsp + 0x118]
test rbp, rbp
je 0x6a7951
lea rax, [rsp + 0x10c]
xor ebp, ebp
mov qword [rsp + 0xe8], rax
test r15d, r15d
jne 0x6a78f6
mov eax, dword [rsp + 0xb8]
cmp eax, dword [rdi + 0x68]
jge 0x6a78f6
imul rax, qword [rsp + 0xb8], 0x28
add rax, qword [rdi + 0x78]
mov ecx, dword [rax + 8]
mov rax, qword [rax]
mov dword [rsp + 0x108], 0
mov qword [rsp + 0x90], rax
movzx eax, byte [rax]
mov dword [rsp + 0xdc], ecx
test al, al
js 0x6a7772
mov dword [rsp + 0x10c], eax
mov r8d, 1
jmp 0x6a778b
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x90]
call fcn.00669fc0
movzx r8d, al
mov eax, dword [rsp + 0x10c]
cmp eax, r8d
mov dword [rsp + 0x68], eax
jle 0x6a77af
cmp dword [rsp + 0xdc], eax
mov dword [rsp + 0xe0], 0
jge 0x6a77f4
mov ecx, 0x13ab4
jmp 0x6a7857
mov ecx, dword [rsp + 0x108]
mov dword [rsp + 0xfc], r8d
call fcn.0068d0c0
inc dword [rsp + 0xe0]
add eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0xe0]
cmp dword [rsp + 0x88], ecx
mov r8d, dword [rsp + 0xfc]
jl 0x6a7849
mov dword [rsp + 0x68], eax
movsxd rcx, r8d
add rcx, qword [rsp + 0x90]
movzx eax, byte [rcx]
test al, al
js 0x6a7811
mov dword [rsp + 0x108], eax
mov al, 1
jmp 0x6a782e
mov rdx, qword [rsp + 0xf0]
mov dword [rsp + 0xfc], r8d
call fcn.00669fc0
mov r8d, dword [rsp + 0xfc]
movzx eax, al
add r8d, eax
cmp r8d, dword [rsp + 0x10c]
jle 0x6a77b9
mov ecx, 0x13aba
jmp 0x6a7857
cmp dword [rsp + 0xdc], eax
jge 0x6a7866
mov ecx, 0x13ac0
call fcn.00656590
test eax, eax
jne 0x6a78e6
jmp 0x6a78b1
test rbp, rbp
jne 0x6a787d
mov rcx, qword [rsp + 0x78]
call fcn.006828f0
test rax, rax
mov rbp, rax
je 0x6a78a9
movsxd rax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x90]
mov r8, rbp
mov edx, dword [rsp + 0x108]
add rcx, rax
call fcn.0068cf90
mov rax, qword [rsp + 0x78]
mov al, byte [rax + 0x64]
mov byte [rbp + 0x16], al
jmp 0x6a78b1
mov r15d, 7
jmp 0x6a78e9
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x6a7e9b
mov r8, qword [rsp + 0xd0]
mov rdx, rbp
call fcn.0066de40
test eax, eax
js 0x6a7e9b
inc dword [rsp + 0xb0]
jmp 0x6a7e9b
mov r15d, eax
inc qword [rsp + 0xb8]
jmp 0x6a7716
mov r8d, dword [rsp + 0x98]
sub r8d, dword [rsp + 0xb0]
cmp qword [rsp + 0x48], 0
sete dl
cmp qword [rsp + 0x40], 0
sete al
or dl, al
jne 0x6a7922
cmp r8d, 1
jle 0x6a7951
movsxd rcx, dword [rdi + 0x68]
mov ebx, 1
call fcn.0066d870
mov ecx, 1
test r8d, r8d
movsx r9d, ax
cmovg ecx, r8d
movsxd rcx, ecx
call fcn.0066d870
cwde
sub r9d, eax
sub word [r14 + 0x16], r9w
mov rcx, qword [rsp + 0x110]
call fcn.00682890
mov rcx, qword [rsp + 0x118]
call fcn.00682890
mov rcx, rbp
call fcn.00682890
test ebx, ebx
jne 0x6a7c14
mov r15, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
test rbp, rbp
mov eax, dword [rsp + 0x5c]
je 0x6a79a7
mov edx, dword [rbp + 0x10]
test dx, dx
jg 0x6a799a
add eax, edx
jmp 0x6a79a7
test byte [rbp + 0x12], 0x80
jne 0x6a79a7
mov eax, dword [rsp + 0x5c]
sub eax, 0x14
test r15, r15
je 0x6a79d7
mov edx, dword [r15 + 0x10]
test dx, dx
jg 0x6a79b9
add eax, edx
jmp 0x6a79c3
test byte [r15 + 0x12], 0x80
jne 0x6a79c3
sub eax, 0x14
test rbp, rbp
je 0x6a79d7
cmp word [rbp + 0x10], 0
jle 0x6a79d7
test dx, dx
jle 0x6a79d7
sub eax, 0x14
xor edx, edx
test rbp, rbp
mov ebx, dword [rsp + 0x5c]
setne dl
xor ecx, ecx
test r15, r15
setne cl
add edx, ecx
mov ecx, 0xa
sub ebx, edx
cmp ax, 0xa
cmovl eax, ecx
cwde
cmp eax, ebx
cmovg eax, ebx
jmp 0x6a7c0f
inc eax
mov word [rsp + 0x5c], ax
mov word [r14 + 0x18], ax
mov eax, dword [rdi + 0x10]
test ax, ax
jg 0x6a7a3a
mov rdx, qword [rsi + 8]
mov rbx, qword [rsp + 0xa0]
cmp word [rdx + rbx], 0
js 0x6a7a3a
add ax, word [r14 + 0x16]
sub eax, r13d
jmp 0x6a7c0f
cmp word [rsp + 0x9e], 0
mov dword [rsp + 0x110], 0
jne 0x6a7bec
cmp dword [rsi + 0x68], 0
je 0x6a7bec
movzx eax, word [rsp + 0x5c]
cmp dword [rsi + 0x6c], eax
mov dword [rsp + 0x78], eax
jl 0x6a7bec
test bp, bp
je 0x6a7a82
mov rax, qword [rdi]
test byte [rax + 5], 0x10
jne 0x6a7bec
mov rax, qword [rsp + 0x60]
test byte [rax + 0x61], 8
jne 0x6a7bec
test r15w, 0x182
mov rax, qword [rdi]
je 0x6a7aba
mov r8, qword [rax + 0x18]
mov rcx, qword [rsp + 0x50]
lea r9, [rsp + 0x110]
mov rdx, r12
call fcn.006a60a0
jmp 0x6a7b72
mov rax, qword [rax + 0x20]
xor ebp, ebp
mov qword [rsp + 0x68], rax
mov rax, qword [r12 + 0x10]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x10]
movsx ecx, word [rax]
call fcn.0066d9a0
mov r11d, dword [r12 + 0x28]
mov rbx, rax
lea rax, [rsp + 0x118]
xor r10d, r10d
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x68]
cmp dword [rax], r10d
jle 0x6a7b61
mov rcx, qword [rsp + 0x68]
mov rax, r10
mov r9, qword [rsp + 0x88]
shl rax, 5
mov rdx, r12
mov dword [rsp + 0x98], r11d
mov qword [rsp + 0x90], r10
mov dword [rsp + 0x118], ebx
mov r8, qword [rcx + rax + 8]
mov rcx, qword [rsp + 0x50]
call fcn.006a60a0
mov r10, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x98]
add ebp, dword [rsp + 0x118]
inc r10
test eax, eax
mov dword [r12 + 0x28], r11d
je 0x6a7af5
jmp 0x6a7b72
mov eax, ebp
cmp rbx, rax
cmovl ebp, ebx
xor eax, eax
mov dword [rsp + 0x110], ebp
cmp eax, 0xc
mov ebx, eax
je 0x6a7b81
test eax, eax
jne 0x6a7d1d
mov ecx, dword [rsp + 0x110]
test ecx, ecx
je 0x6a7bec
call fcn.0066d870
cmp dword [rsp + 0x78], 1
mov word [r14 + 0x16], ax
jne 0x6a7bc6
mov rcx, qword [rsi + 0x10]
movsx edx, ax
add edx, 9
movsx ecx, word [rcx]
cmp edx, ecx
jl 0x6a7bc6
mov dx, word [rdi + 0x12]
mov ecx, edx
or ch, 0x40
and dh, 0x20
mov word [rdi + 0x12], cx
je 0x6a7bc6
or byte [r12 + 0x2d], 4
cmp ax, word [rsp + 0x82]
jle 0x6a7bdd
mov ax, word [rsp + 0x82]
mov word [r14 + 0x16], ax
sub word [r14 + 0x16], r13w
cmp dword [rsp + 0x110], 0
jne 0x6a7c14
movzx ecx, word [rsp + 0x5c]
mov rdx, qword [rsi + 0x10]
mov ax, word [r14 + 0x16]
add ax, word [rdx + rcx*2]
sub ax, word [rdx + rcx*2 - 2]
test r15w, 0x100
lea edx, [rax + 0xa]
cmovne eax, edx
mov word [r14 + 0x16], ax
mov rbx, qword [rsp + 0x1e8]
movsx eax, word [rsi + 0x5c]
mov di, word [r14 + 0x16]
mov rdx, qword [rbx + 0x20]
imul eax, eax, 0xf
movsx ecx, word [rdx + 0x3c]
cdq
idiv ecx
movsx ecx, word [rsp + 0xc4]
lea eax, [rdi + rax + 1]
movsx edx, ax
call fcn.0066d8c0
test dword [r14 + 0x30], 0x140
mov word [r14 + 0x14], ax
jne 0x6a7c69
lea edx, [rdi + 0x10]
movsx ecx, ax
movsx edx, dx
call fcn.0066d8c0
mov word [r14 + 0x14], ax
add r13w, word [rsp + 0x9e]
mov rcx, qword [r12 + 8]
mov rdx, r14
add word [r14 + 0x14], r13w
mov r8d, dword [rsp + 0xc0]
lea eax, [rdi + r13]
mov word [r14 + 0x16], ax
call fcn.006a9230
mov rdx, r14
mov rcx, r12
call fcn.006a8fe0
mov ebx, eax
mov eax, dword [r14 + 0x30]
test al, 2
cmovne di, word [rsp + 0x82]
test al, 0x10
mov word [r14 + 0x16], di
jne 0x6a7ceb
mov eax, dword [r14 + 0x18]
cmp ax, word [rsi + 0x60]
jae 0x6a7ceb
cmp ax, word [rsi + 0x5e]
jb 0x6a7cd4
mov al, byte [rsi + 0x64]
and eax, 3
cmp al, 2
je 0x6a7ceb
mov rdx, qword [rsp + 0x1e8]
movsx r9d, r13w
mov r8, rsi
mov rcx, r12
call fcn.006a6d30
mov ax, word [rsp + 0x82]
mov word [r14 + 0x16], ax
mov eax, dword [rsp + 0xf8]
mov dword [r12 + 0x28], eax
jmp 0x6a7d08
xor ebx, ebx
lea rcx, [rsp + 0x120]
call fcn.006aa820
mov rdi, rax
jmp 0x6a6ea4
mov rax, qword [rsp + 0xc8]
mov di, word [rsp + 0xda]
cmp word [rsp + 0x72], di
mov qword [r14], rax
mov ax, word [rsp + 0x72]
mov word [r14 + 0x18], ax
mov ax, word [rsp + 0xc6]
mov word [r14 + 0x1a], ax
mov eax, dword [rsp + 0xd8]
mov word [r14 + 0x1c], ax
mov ax, word [rsp + 0xda]
mov word [r14 + 0x36], ax
mov eax, dword [rsp + 0x84]
mov dword [r14 + 0x30], eax
mov ax, word [rsp + 0x82]
mov word [r14 + 0x16], ax
mov eax, dword [rsp + 0x9c]
mov word [r14 + 0x34], ax
jne 0x6a7ed0
mov edx, dword [rsp + 0x74]
movzx eax, word [rsi + 0x5e]
inc edx
cmp edx, eax
jge 0x6a7ed0
mov edi, dword [rsp + 0x9c]
cmp word [rsp + 0x72], di
jne 0x6a7ed0
mov al, byte [rsi + 0x64]
and eax, 0xffffffc0
cmp al, 0x80
jne 0x6a7ed0
mov rax, qword [rsp + 0x60]
test byte [rax + 0x61], 0x40
jne 0x6a7ed0
mov rdi, qword [rsp + 0xa8]
mov rax, qword [rsi + 0x10]
inc rdi
add rdi, rdi
cmp word [rax + rdi], 0x29
jle 0x6a7ed0
movzx r8d, word [rsp + 0x9c]
mov rcx, qword [rsp + 0x60]
mov rdx, r14
inc r8d
call fcn.006a93c0
test eax, eax
mov ebx, eax
jne 0x6a7ed0
movzx eax, word [r14 + 0x34]
mov rdx, qword [r14 + 0x40]
mov r8, rsi
inc word [r14 + 0x18]
inc word [r14 + 0x36]
lea ecx, [rax + 1]
mov word [r14 + 0x34], cx
mov qword [rdx + rax*8], 0
mov rcx, r12
mov rax, qword [rsi + 0x10]
or dword [r14 + 0x30], 0x8000
mov rdx, qword [rsp + 0x1e8]
mov r9w, word [rax + rdi - 2]
sub r9w, word [rax + rdi]
mov eax, dword [rsp + 0xe4]
sub word [r14 + 0x16], r9w
lea r9d, [r9 + rax + 5]
movsx r9d, r9w
call fcn.006a6d30
mov ax, word [rsp + 0x82]
mov word [r14 + 0x16], ax
mov ax, word [rsp + 0x72]
mov word [r14 + 0x18], ax
mov word [r14 + 0x36], ax
mov eax, dword [rsp + 0x84]
mov dword [r14 + 0x30], eax
jmp 0x6a7ed0
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x6a78e9
mov r8, qword [rsp + 0xd0]
mov rdx, rbp
call fcn.0066de40
test eax, eax
js 0x6a78e9
inc dword [rsp + 0x98]
jmp 0x6a78e9
mov eax, ebx
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret