Function at 0x696c0a50
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, 0x118
lea rax, [rsp + 0x88]
mov byte [rsp + 0x5d], dl
mov r13, rcx
mov dword [rsp + 0x170], r8d
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x68], rax
nop
mov ecx, dword [r13 + 4]
mov edx, dword [rsp + 0x48]
xor ebp, ebp
xor r12d, r12d
mov rdi, qword [r13 + 0x20]
mov rbx, qword [r13 + 0x18]
mov qword [r13 + 0x78], 0
imul edx, ecx
mov word [r13 + 0x6a], bp
imul ecx, dword [rsp + 0x170]
lea rsi, [rdi - 0x34]
mov qword [r13 + 0x30], rbx
cmp word [r13 + 0xb8], 0
mov qword [r13 + 0x28], rsi
mov dword [r13 + 0x60], edx
mov dword [r13 + 0x64], ecx
mov qword [r13 + 0x38], 0
mov qword [r13 + 0x70], rbx
mov qword [rbx + 0x10], rbx
mov word [r13 + 0x68], r12w
jle 0x696c1598
mov qword [rsp + 0x40], 0
mov r15, qword [r13 + 0xd0]
xor esi, esi
mov ecx, dword [r13 + 8]
nop dword [rax + rax]
mov r9, qword [rsp + 0x40]
mov r14, qword [r13 + 0xc0]
movzx esi, si
mov dword [r13 + 0x88], 0
mov qword [r13 + 0x80], 0
mov edx, dword [r13 + 0xc]
movzx r11d, word [r15 + r9*2]
lea rax, [r14 + rsi*8]
lea r10, [r9 + r9]
mov r12d, dword [rax]
mov ebp, dword [rax + 4]
mov qword [rsp + 0x50], r10
lea rdi, [r14 + r11*8]
mov ebx, dword [rdi]
imul r12d, edx
imul ebp, edx
imul ebx, edx
imul edx, dword [rdi + 4]
sub r12d, ecx
sub ebp, ecx
sub ebx, ecx
sub edx, ecx
cmp byte [rsp + 0x5d], 0
je 0x696c0b86
mov r8d, r12d
mov r15d, ebx
mov r12d, ebp
mov ebx, edx
mov ebp, r8d
mov edx, r15d
mov r9, qword [r13 + 0xc8]
add rsi, r9
movzx ecx, byte [rsi]
test cl, 4
je 0x696c0ba2
shr cl, 5
mov byte [r13 + 0x40], cl
movzx ecx, byte [rsi]
and ecx, 3
cmp cl, 2
je 0x696c1428
test cl, cl
jne 0x696c0beb
movzx r10d, byte [r9 + r11]
and r10d, 3
cmp r10b, 1
je 0x696c1468
add r12d, ebx
add ebp, edx
mov r14d, r12d
mov r11d, ebp
shr r14d, 0x1f
shr r11d, 0x1f
add r12d, r14d
add ebp, r11d
sar r12d, 1
sar ebp, 1
sub rax, 8
sub rsi, 1
mov dword [r13 + 0x58], r12d
mov dword [r13 + 0x5c], ebp
cmp rdi, rax
jbe 0x696c0d28
movzx r8d, byte [rsi + 1]
lea r14, [rax + 8]
lea r15, [rsi + 1]
and r8d, 3
je 0x696c0ff8
cmp r8b, 1
jne 0x696c0c68
mov r8d, dword [r13 + 0xc]
mov edx, dword [rax + 8]
mov ebx, dword [r13 + 8]
imul edx, r8d
imul r8d, dword [rax + 0xc]
sub edx, ebx
sub r8d, ebx
cmp byte [rsp + 0x5d], 0
je 0x696c0c41
mov esi, edx
mov edx, r8d
mov r8d, esi
mov rcx, r13
call fcn.696bd2c0
test al, al
jne 0x696c1160
mov rsi, r15
cmp rdi, r14
jbe 0x696c0d28
mov rax, r14
jmp 0x696c0bfc
lea r14, [rax + 0x10]
cmp rdi, r14
jb 0x696c1428
movzx r15d, byte [rsi + 2]
and r15d, 3
cmp r15b, 2
jne 0x696c1428
mov ecx, dword [r13 + 0xc]
mov edx, dword [rax + 8]
lea r14, [rax + 0x18]
mov r8d, dword [rax + 0xc]
mov r9d, dword [rax + 0x10]
mov r15d, dword [rax + 0x14]
imul edx, ecx
mov r10d, dword [r13 + 8]
imul r8d, ecx
imul r9d, ecx
imul r15d, ecx
sub edx, r10d
sub r8d, r10d
sub r9d, r10d
sub r15d, r10d
cmp byte [rsp + 0x5d], 0
je 0x696c1440
cmp rdi, r14
jb 0x696c1ba8
mov ebx, dword [rax + 0x18]
imul ebx, ecx
imul ecx, dword [rax + 0x1c]
sub ebx, r10d
sub ecx, r10d
mov r10d, edx
mov edx, r8d
mov r11d, ecx
mov ecx, r9d
mov r8d, r10d
mov r9d, r15d
mov r15d, ecx
mov dword [rsp + 0x30], ebx
mov rcx, r13
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r15d
call fcn.696a3580
test al, al
jne 0x696c1160
add rsi, 3
cmp rdi, r14
ja 0x696c0c5d
nop word [rax + rax]
mov r8d, ebp
mov edx, r12d
mov rcx, r13
call fcn.696bd2c0
test al, al
jne 0x696c1160
mov r15, qword [r13 + 0xd0]
mov r8, qword [rsp + 0x50]
mov eax, dword [r13 + 4]
mov r14d, dword [r13 + 0x5c]
movzx esi, word [r15 + r8]
mov rdi, qword [r13 + 0x70]
lea r9d, [rax - 1]
mov rdx, qword [r13 + 0x30]
add esi, 1
and r9d, r14d
mov ebp, r9d
jne 0x696c0da0
cmp r14d, dword [r13 + 0x60]
jl 0x696c0da0
cmp r14d, dword [r13 + 0x64]
jg 0x696c0da0
mov r12, qword [r13 + 0x80]
test r12, r12
je 0x696c0da0
movzx ebx, word [r12 + 0x18]
xor bx, word [rdi + 0x18]
and ebx, 8
jne 0x696c0da0
sub rdx, 4
mov qword [r13 + 0x30], rdx
nop dword [rax]
mov r11, qword [rdi + 0x10]
mov ecx, dword [r13 + 8]
cmp r11, rdx
je 0x696c11e0
test byte [rdi + 0x18], 8
je 0x696c11e0
cmp ebp, ecx
setge r14b
mov rax, rdx
sub rax, r11
sar rax, 2
test eax, eax
js 0x696c11d0
je 0x696c0e20
mov dword [rdi + 0x1c], eax
test r14b, r14b
je 0x696c0dfc
movzx r9d, word [rdi + 0x18]
mov ebp, r9d
mov r12d, r9d
or ebp, 0x20
or r12d, 0x10
and r9d, 8
cmove r12d, ebp
mov word [rdi + 0x18], r12w
lea rbx, [rdx + 0x34]
mov qword [r13 + 0x70], rdx
mov qword [r13 + 0x30], rbx
mov dword [rdx + 0x1c], 0
mov qword [rdx + 0x10], rbx
mov qword [rdi + 0x28], rdx
mov rdx, rbx
add word [r13 + 0x68], 1
cmp qword [r13 + 0x28], rdx
jbe 0x696c1180
mov r11, qword [r13 + 0x80]
mov byte [r13 + 0x6b], 0
test r11, r11
je 0x696c0e3f
mov qword [rdi + 0x28], r11
add qword [rsp + 0x40], 1
movsx r10d, word [r13 + 0xb8]
mov rdi, qword [rsp + 0x40]
cmp r10d, edi
jg 0x696c0b10
movzx ebp, word [r13 + 0x68]
mov rbx, qword [r13 + 0x78]
cmp bp, 1
jbe 0x696c1b80
test rbx, rbx
je 0x696c1b80
test bpl, 1
je 0x696c0fac
movsxd r15, dword [rbx + 0x1c]
xor r8d, r8d
cmp bp, 1
je 0x696c0e99
mov rcx, qword [rbx + 0x10]
movsxd rsi, r15d
lea r8, [rcx + rsi*4]
mov qword [rbx + 8], r8
mov r14d, dword [rbx + 0x20]
test byte [rbx + 0x18], 8
jne 0x696c1be0
mov edx, r14d
lea rax, [r15*4 - 4]
add qword [rbx + 0x10], rax
mov r12d, r14d
sub edx, r15d
add edx, 1
mov dword [rbx + 0x20], edx
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
lea edx, [r12 + 1]
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
mov rbx, qword [rbx + 8]
sub bp, 1
jne 0x696c0fac
jmp 0x696c14d0
lea esi, [r9 + r10 - 1]
mov edx, r10d
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
lea edx, [rsi + 1]
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
mov rbx, qword [rbx + 8]
lea r14d, [rbp - 1]
xor eax, eax
movsxd r8, dword [rbx + 0x1c]
cmp bp, 2
je 0x696c0f4a
mov rcx, qword [rbx + 0x10]
movsxd rbp, r8d
lea rax, [rcx + rbp*4]
mov qword [rbx + 8], rax
mov r12d, dword [rbx + 0x20]
test byte [rbx + 0x18], 8
jne 0x696c14c0
mov edx, r12d
lea r9, [r8*4 - 4]
add qword [rbx + 0x10], r9
mov edi, r12d
sub edx, r8d
add edx, 1
mov dword [rbx + 0x20], edx
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
lea edx, [rdi + 1]
mov rcx, r13
call fcn.696bc400
test al, al
jne 0x696c1160
sub r14w, 1
mov rbx, qword [rbx + 8]
mov ebp, r14d
je 0x696c14d0
movsxd r9, dword [rbx + 0x1c]
xor edi, edi
cmp bp, 1
je 0x696c0fc3
mov r11, qword [rbx + 0x10]
movsxd rdx, r9d
lea rdi, [r11 + rdx*4]
mov qword [rbx + 8], rdi
mov r10d, dword [rbx + 0x20]
test byte [rbx + 0x18], 8
jne 0x696c0f00
mov edx, r10d
lea r15, [r9*4 - 4]
mov esi, r10d
add qword [rbx + 0x10], r15
sub edx, r9d
add edx, 1
mov dword [rbx + 0x20], edx
jmp 0x696c0f08
mov ecx, dword [r13 + 0xc]
mov edx, dword [rax + 8]
mov rbx, rdi
mov r10d, dword [rax + 0xc]
mov r11d, dword [r13 + 8]
sub rbx, r14
imul edx, ecx
add rbx, 7
imul r10d, ecx
sub edx, r11d
sub r10d, r11d
cmp byte [rsp + 0x5d], 0
je 0x696c1288
and ebx, 8
jne 0x696c1200
mov r8d, edx
mov edx, r10d
jmp 0x696c112c
mov ebx, dword [r13 + 0xc]
mov esi, dword [r14 + 8]
add r14, 8
add r15, 1
movzx r10d, byte [r15]
mov r9d, dword [r13 + 8]
imul esi, ebx
imul ebx, dword [r14 + 4]
and r10d, 3
sub esi, r9d
sub ebx, r9d
cmp r10b, 1
je 0x696c14b0
test r10b, r10b
jne 0x696c1428
lea ecx, [rsi + r8]
lea eax, [rbx + rdx]
mov r11d, ecx
mov r9d, eax
shr r11d, 0x1f
shr r9d, 0x1f
add r11d, ecx
add r9d, eax
mov rcx, r13
sar r11d, 1
sar r9d, 1
mov dword [rsp + 0x20], r11d
call fcn.696a2f60
test al, al
jne 0x696c1160
add r14, 8
mov r8d, esi
mov edx, ebx
mov ebx, dword [r13 + 0xc]
mov esi, dword [r14]
movzx r10d, byte [r15 + 1]
add r15, 1
mov r9d, dword [r13 + 8]
imul esi, ebx
and r10d, 3
imul ebx, dword [r14 + 4]
sub esi, r9d
sub ebx, r9d
cmp r10b, 1
je 0x696c14b0
test r10b, r10b
jne 0x696c1428
lea ecx, [rsi + r8]
lea eax, [rbx + rdx]
mov r11d, ecx
mov r9d, eax
shr r11d, 0x1f
shr r9d, 0x1f
add r11d, ecx
add r9d, eax
mov rcx, r13
sar r11d, 1
sar r9d, 1
mov dword [rsp + 0x20], r11d
call fcn.696a2f60
test al, al
jne 0x696c1160
mov r8d, esi
mov edx, ebx
cmp r14, rdi
jb 0x696c1040
mov r10d, edx
mov edx, r8d
mov edi, edx
mov edx, r10d
mov r10d, edi
mov dword [rsp + 0x20], ebp
mov r9d, r12d
mov r8d, r10d
mov rcx, r13
call fcn.696a2f60
test al, al
je 0x696c0d3e
nop dword [rax]
mov eax, dword [r13 + 0x38]
cmp eax, 0x62
je 0x696c1188
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [r13 + 0x38], 0x62
mov r10d, dword [rsp + 0x48]
cmp r10d, dword [rsp + 0x170]
je 0x696c1c08
mov r14d, dword [rsp + 0x170]
movsxd rdx, dword [rsp + 0x4c]
add r14d, r10d
lea edi, [rdx + 1]
mov dword [rsp + rdx*4 + 0x90], r10d
sar r14d, 1
mov dword [rsp + 0x4c], edi
add r14d, 1
mov dword [rsp + 0x48], r14d
jmp 0x696c0a90
mov dword [r13 + 0x38], 0x63
mov eax, 0x63
jmp 0x696c1169
lea r10d, [r14 + rax - 1]
neg eax
and r10d, eax
sub r10d, r14d
cmp r10d, ecx
setge r14b
jmp 0x696c0dc1
cmp r14, rdi
jae 0x696c113b
movzx r9d, byte [rsi + 2]
mov ebx, dword [rax + 0x14]
lea r15, [rsi + 2]
lea r14, [rax + 0x10]
mov esi, dword [rax + 0x10]
imul ebx, ecx
and r9d, 3
imul esi, ecx
sub ebx, r11d
sub esi, r11d
cmp r9b, 1
je 0x696c148c
test r9b, r9b
jne 0x696c1428
lea ecx, [rsi + rdx]
lea eax, [rbx + r10]
mov r8d, edx
mov edx, r10d
mov r11d, ecx
mov r9d, eax
shr r11d, 0x1f
shr r9d, 0x1f
add r11d, ecx
add r9d, eax
mov rcx, r13
sar r11d, 1
sar r9d, 1
mov dword [rsp + 0x20], r11d
call fcn.696a2f60
test al, al
jne 0x696c1160
mov r8d, esi
mov edx, ebx
jmp 0x696c112c
and ebx, 8
jne 0x696c13a8
mov r8d, r10d
jmp 0x696c1390
mov esi, dword [r13 + 0xc]
mov ebx, dword [r14 + 8]
add r14, 8
add r15, 1
movzx r11d, byte [r15]
mov r10d, dword [r13 + 8]
imul ebx, esi
imul esi, dword [r14 + 4]
and r11d, 3
sub ebx, r10d
sub esi, r10d
cmp r11b, 1
je 0x696c1480
test r11b, r11b
jne 0x696c1428
lea ecx, [rsi + r8]
lea eax, [rbx + rdx]
mov r11d, ecx
mov r9d, eax
shr r11d, 0x1f
shr r9d, 0x1f
add r11d, ecx
add r9d, eax
mov rcx, r13
sar r11d, 1
sar r9d, 1
mov dword [rsp + 0x20], r11d
call fcn.696a2f60
test al, al
jne 0x696c1160
add r14, 8
mov r8d, esi
mov edx, ebx
mov esi, dword [r13 + 0xc]
mov ebx, dword [r14]
movzx r9d, byte [r15 + 1]
add r15, 1
mov r10d, dword [r13 + 8]
imul ebx, esi
and r9d, 3
imul esi, dword [r14 + 4]
sub ebx, r10d
sub esi, r10d
cmp r9b, 1
je 0x696c1480
test r9b, r9b
jne 0x696c1428
lea ecx, [rsi + r8]
lea eax, [rbx + rdx]
mov r11d, ecx
mov r9d, eax
shr r11d, 0x1f
shr r9d, 0x1f
add r11d, ecx
add r9d, eax
mov rcx, r13
sar r11d, 1
sar r9d, 1
mov dword [rsp + 0x20], r11d
call fcn.696a2f60
test al, al
jne 0x696c1160
mov r8d, esi
mov edx, ebx
cmp rdi, r14
ja 0x696c12a0
mov r10d, r8d
jmp 0x696c1143
cmp rdi, r14
jbe 0x696c1143
movzx r9d, byte [rsi + 2]
mov ebx, dword [rax + 0x10]
lea r15, [rsi + 2]
lea r14, [rax + 0x10]
mov esi, dword [rax + 0x14]
imul ebx, ecx
and r9d, 3
imul esi, ecx
sub ebx, r11d
sub esi, r11d
cmp r9b, 1
je 0x696c1483
test r9b, r9b
jne 0x696c1428
lea r8d, [rsi + r10]
lea eax, [rbx + rdx]
mov ecx, r8d
mov r9d, eax
shr ecx, 0x1f
shr r9d, 0x1f
add ecx, r8d
add r9d, eax
mov r8d, r10d
sar ecx, 1
sar r9d, 1
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.696a2f60
test al, al
jne 0x696c1160
mov r8d, esi
mov edx, ebx
jmp 0x696c1390
mov dword [r13 + 0x38], 0x14
mov eax, 0x14
jmp 0x696c1169
cmp rdi, r14
jb 0x696c1bb9
mov r11d, dword [rax + 0x18]
imul r11d, ecx
imul ecx, dword [rax + 0x1c]
sub r11d, r10d
mov ebx, ecx
sub ebx, r10d
jmp 0x696c0cf7
sub rdi, 8
mov ebp, edx
mov r12d, ebx
jmp 0x696c0be3
mov r10d, r8d
mov r8d, r10d
mov r10d, edx
mov edx, r8d
mov dword [rsp + 0x20], esi
mov r8d, edx
mov r9d, ebx
mov edx, r10d
mov rcx, r13
call fcn.696a2f60
test al, al
jne 0x696c1160
jmp 0x696c0c51
mov r10d, edx
mov edx, r8d
jmp 0x696c148c
lea edi, [r8 + r12 - 1]
mov edx, r12d
jmp 0x696c0f77
mov rdx, qword [r13 + 0x28]
cmp qword [r13 + 0x30], rdx
jae 0x696c1160
mov r9, qword [r13 + 0x78]
test r9, r9
je 0x696c15a9
mov ecx, dword [r13]
mov edi, dword [r13 + 0x60]
lea r10, [rsp + 0x78]
xor ebp, ebp
mov ebx, dword [r13 + 0x64]
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
sar edi, cl
mov qword [rsp + 0x60], r10
sar ebx, cl
mov r15d, edi
mov qword [rsp + 0x88], 0
nop dword [rax + rax]
mov r14d, dword [r9 + 0x20]
mov dword [r9], 0
mov rax, r10
mov rsi, qword [r9 + 8]
cmp bx, r14w
cmovg ebx, r14d
add r14w, word [r9 + 0x1c]
sub r14d, 1
cmp r15w, r14w
cmovl r15d, r14d
test rbp, rbp
jne 0x696c1575
jmp 0x696c157e
lea rax, [rbp + 8]
mov rbp, qword [rbp + 8]
test rbp, rbp
je 0x696c157e
mov r12d, dword [rbp]
test r12d, r12d
jle 0x696c1568
mov qword [r9 + 8], rbp
mov qword [rax], r9
test rsi, rsi
je 0x696c15e0
mov rbp, qword [rsp + 0x78]
mov r9, rsi
jmp 0x696c1530
mov qword [r13 + 0x78], 0
cmp rbx, rsi
jae 0x696c1160
sub dword [rsp + 0x4c], 1
movsxd rbx, dword [rsp + 0x4c]
cmp ebx, 0xffffffff
je 0x696c1b9b
mov r12d, dword [rsp + 0x48]
mov ecx, dword [rsp + rbx*4 + 0x90]
sub r12d, 1
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x170], r12d
jmp 0x696c0a90
mov r8d, dword [r13 + 0x3c]
mov word [rsp + 0x5e], r15w
test r8d, r8d
je 0x696c1428
movsx ebp, bx
mov rcx, r13
movsx r8d, word [rsp + 0x5e]
mov edx, ebp
call qword [r13 + 0xe0]
mov rcx, qword [rsp + 0x78]
mov rdx, rcx
test rcx, rcx
je 0x696c162c
nop dword [rax]
mov r9d, dword [rdx + 0x20]
sub r9d, ebp
mov dword [rdx + 0x24], r9d
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x696c1618
mov edi, dword [r13 + 0x3c]
test edi, edi
jle 0x696c1a30
mov r11d, edi
mov r15, qword [r13 + 0x20]
neg r11d
movsxd r10, r11d
cmp ebp, dword [r15 + r10*4]
je 0x696c1a20
xor esi, esi
mov rbp, qword [rsp + 0x68]
lea r12, [rsp + 0x80]
mov word [rsp + 0x40], si
nop dword [rax + rax]
movsx edi, word [rsp + 0x40]
nop dword [rax]
test rcx, rcx
je 0x696c16fa
mov r15, rcx
mov rcx, qword [rcx + 8]
sub dword [r15 + 0x24], edi
jne 0x696c1670
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x696c16b5
cmp r15, rdx
jne 0x696c16a9
jmp 0x696c1b70
cmp r15, rdx
je 0x696c1a08
mov r14, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x696c16a0
mov esi, dword [r15]
test byte [r15 + 0x18], 8
je 0x696c1928
mov r11, qword [rsp + 0x80]
mov r8, r12
test r11, r11
jne 0x696c16e5
jmp 0x696c16ea
lea r8, [r11 + 8]
mov r11, qword [r11 + 8]
test r11, r11
je 0x696c16ea
cmp dword [r11], esi
jle 0x696c16d8
mov qword [r15 + 8], r11
mov qword [r8], r15
test rcx, rcx
jne 0x696c1679
mov rcx, r12
call fcn.696c2020
mov rcx, rbp
call fcn.696c2020
mov eax, dword [r13 + 0x3c]
mov r14, qword [r13 + 0x20]
lea ecx, [rax - 1]
neg eax
cdqe
mov dword [r13 + 0x3c], ecx
mov edi, dword [r14 + rax*4]
mov r8d, edi
sub r8d, ebx
mov word [rsp + 0x40], r8w
cmp di, bx
jle 0x696c184e
lea ecx, [rdi - 1]
movsx r15d, bx
sub ecx, ebx
lea esi, [r15 + 1]
movzx ebx, cx
add ebx, esi
mov dword [rsp + 0x50], ebx
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x88]
test rbx, rbx
je 0x696c1831
xor eax, eax
test r14, r14
jne 0x696c17b1
jmp 0x696c1831
add edx, r10d
cmp ecx, edx
je 0x696c17fb
nop
mov dword [rsp + 0x58], eax
mov edx, r15d
mov rcx, r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
call qword [r13 + 0xe8]
mov eax, dword [rsp + 0x58]
mov rbx, qword [rbx + 8]
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x696c1828
test r14, r14
je 0x696c1828
mov r8d, dword [rbx]
mov r9d, dword [r14]
cmp r8d, r9d
jle 0x696c17c5
mov edx, r8d
mov r8d, r9d
mov r9d, edx
mov r11d, r9d
mov edx, dword [r13 + 4]
sub r11d, r8d
cmp edx, r11d
jl 0x696c1780
mov r11d, edx
lea ecx, [r9 + rdx - 1]
neg r11d
mov r10d, r11d
and ecx, r11d
and r10d, r8d
cmp r8d, r10d
je 0x696c1780
cmp r9d, ecx
je 0x696c1780
cmp r10d, ecx
jle 0x696c1778
movzx edx, word [rbx + 0x18]
and edx, 7
cmp dx, 2
je 0x696c179f
mov dword [rbx], r8d
add eax, 1
mov dword [r14], r9d
mov r14, qword [r14 + 8]
mov dword [rbx + 0x24], 1
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x696c17ac
nop dword [rax]
test ax, ax
jg 0x696c1980
mov rcx, r13
mov r15d, esi
call qword [r13 + 0xf8]
cmp dword [rsp + 0x50], esi
jne 0x696c1968
mov ecx, dword [r13 + 0x3c]
mov ebx, edi
mov r11, qword [rsp + 0x80]
nop word cs:[rax + rax]
test r11, r11
je 0x696c18b0
mov r9, r11
mov r11, qword [r11 + 8]
mov eax, dword [r9 + 0x1c]
test eax, eax
jne 0x696c1860
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x696c1860
cmp rsi, r9
je 0x696c1b60
nop word [rax + rax]
mov r8, rsi
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x696c1860
cmp rsi, r9
jne 0x696c1890
lea r10, [r8 + 8]
mov qword [r10], r11
test r11, r11
jne 0x696c1865
nop dword [rax]
mov r11, qword [rsp + 0x88]
test r11, r11
jne 0x696c18c5
jmp 0x696c1910
test r11, r11
je 0x696c1910
mov r10, r11
mov r11, qword [r11 + 8]
mov edi, dword [r10 + 0x1c]
test edi, edi
jne 0x696c18c0
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x696c18c0
cmp rsi, r10
je 0x696c1b58
nop word [rax + rax]
mov r8, rsi
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x696c18c0
cmp rsi, r10
jne 0x696c18f0
lea rdx, [r8 + 8]
mov qword [rdx], r11
test r11, r11
jne 0x696c18c5
nop dword [rax]
test ecx, ecx
jle 0x696c1a30
mov rcx, qword [rsp + 0x78]
jmp 0x696c1668
mov r11, qword [rsp + 0x88]
mov r8, rbp
test r11, r11
jne 0x696c1951
jmp 0x696c16ea
lea r8, [r11 + 8]
mov r11, qword [r11 + 8]
test r11, r11
je 0x696c16ea
cmp dword [r11], esi
jle 0x696c1940
mov qword [r15 + 8], r11
mov qword [r8], r15
jmp 0x696c16f1
mov rcx, r12
add esi, 1
call fcn.696c2020
mov rcx, rbp
call fcn.696c2020
jmp 0x696c174c
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
test r14, r14
je 0x696c1831
test rbx, rbx
jne 0x696c19e6
jmp 0x696c1831
mov dword [rbx + 0x24], 0
mov edx, r15d
mov rcx, r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rbx
mov r9d, dword [r14]
mov r8d, dword [rbx]
call qword [r13 + 0xf0]
mov rbx, qword [rbx + 8]
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x696c1831
test r14, r14
je 0x696c1831
mov r9d, dword [rbx + 0x24]
test r9d, r9d
jne 0x696c19a8
mov rbx, qword [rbx + 8]
mov r14, qword [r14 + 8]
test rbx, rbx
jne 0x696c19dd
jmp 0x696c1831
add r14, 8
mov rax, qword [rdx + 8]
mov qword [r14], rax
jmp 0x696c16b5
sub edi, 1
mov dword [r13 + 0x3c], edi
jne 0x696c164f
nop dword [rax]
movzx r14d, word [rsp + 0x5e]
cmp r14w, bx
jl 0x696c15a9
mov r15d, r14d
lea edi, [rbx + 1]
mov rcx, r13
call qword [r13 + 0xf8]
sub r15d, ebx
and r15d, 7
cmp di, r14w
jg 0x696c15a9
test r15w, r15w
je 0x696c1af2
cmp r15w, 1
je 0x696c1ada
cmp r15w, 2
je 0x696c1acd
cmp r15w, 3
je 0x696c1ac0
cmp r15w, 4
je 0x696c1ab3
cmp r15w, 5
je 0x696c1aa6
cmp r15w, 6
jne 0x696c1bf0
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
mov rcx, r13
add edi, 1
call qword [r13 + 0xf8]
cmp di, word [rsp + 0x5e]
jg 0x696c15a9
mov rcx, r13
add edi, 8
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
mov rcx, r13
call qword [r13 + 0xf8]
cmp di, word [rsp + 0x5e]
jle 0x696c1af2
jmp 0x696c15a9
mov rdx, rbp
jmp 0x696c1905
mov r10, r12
jmp 0x696c18a5
mov r14, qword [rsp + 0x60]
jmp 0x696c1a0c
sub dword [rsp + 0x4c], 1
movsxd rbx, dword [rsp + 0x4c]
mov qword [r13 + 0x78], 0
cmp ebx, 0xffffffff
jne 0x696c15bc
xor eax, eax
jmp 0x696c1169
mov edi, r9d
mov eax, edx
mov r9d, r15d
mov edx, r8d
mov r15d, edi
mov r8d, eax
mov dword [rsp + 0x30], ebp
mov rcx, r13
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r15d
call fcn.696a3580
test al, al
jne 0x696c1160
jmp 0x696c0d3e
lea r12d, [r15 + r14 - 1]
mov edx, r14d
jmp 0x696c0ec6
mov rcx, r13
lea edi, [rbx + 2]
call qword [r13 + 0xf8]
jmp 0x696c1a99
mov eax, 0x62
jmp 0x696c1169