Function at 0x679440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x679a1a
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov edx, dword [rcx + 0x2c]
mov qword [rsp + 0x78], rdx
mov ecx, dword [rcx + 0x3c]
mov dword [rsp + 0x14], ecx
lea rax, [0x006eba40]
call fcn.0040d960
mov rcx, qword [rsp + 0x78]
cmp rcx, 0x100000
mov edx, 0x100000
cmovg rcx, rdx
cmp rcx, 0x10000
mov edx, 0x10000
mov rbx, rcx
cmovg rcx, rdx
mov edx, dword [rsp + 0x14]
test edx, 4
cmove rbx, rcx
mov word [rax + 0x30], 0x1201
mov qword [rax + 0x38], 0
mov dword [rax + 0x34], ebx
mov rbx, rax
mov rax, qword [rsp + 0xa0]
call fcn.0067cd40
test rdi, rdi
jne 0x679781
cmp rbx, 0x60
jl 0x679744
nop
nop
mov ebx, dword [rax + 4]
shl rbx, 0x20
mov esi, dword [rax]
add rbx, rsi
imul rbx, rbx, 0x64
movabs rsi, 0x5e6684f4b3960000
lea rdi, [rsi + rbx]
nop
nop
cmp rdi, 0x3b9aca00
jb 0x679577
mov rdx, rax
movabs rax, 0x44b82fa09b5a52cc
mov r8, rdx
imul rdi
sar rdx, 0x1c
sar rdi, 0x3f
sub rdx, rdi
imul r9, rdx, 0x3b9aca00
sub rbx, r9
lea rdi, [rsi + rbx]
lea r9, [rdx - 1]
test rdi, rdi
cmovl rdx, r9
movabs r9, 0x5e6684f4ef30ca00
add rbx, r9
test rdi, rdi
cmovl rdi, rbx
jmp 0x679586
mov r8, rax
movabs r9, 0x5e6684f4ef30ca00
xor edx, edx
lea rbx, [rcx - 8]
mov r10, qword [0x009563e8]
cmp rbx, 8
jb 0x679a0c
mov ebx, dword [r8 + 0xc]
shl rbx, 0x20
mov r11d, dword [r8 + 8]
add rbx, r11
imul rbx, rbx, 0x64
lea r11, [rsi + rbx]
nop
cmp r11, 0x3b9aca00
jb 0x6795fc
movabs rax, 0x44b82fa09b5a52cc
mov r12, rdx
imul r11
sar rdx, 0x1c
sar r11, 0x3f
sub rdx, r11
imul r13, rdx, 0x3b9aca00
sub rbx, r13
lea r11, [rbx + rsi]
lea r13, [rdx - 1]
test r11, r11
cmovl rdx, r13
add rbx, r9
test r11, r11
cmovl r11, rbx
jmp 0x679601
mov r12, rdx
xor edx, edx
lea rbx, [rcx - 0x10]
cmp rbx, 8
jb 0x6799ff
mov ebx, dword [r8 + 0x14]
shl rbx, 0x20
mov r13d, dword [r8 + 0x10]
add rbx, r13
imul rbx, rbx, 0x64
lea r13, [rsi + rbx]
nop
cmp r13, 0x3b9aca00
jb 0x679673
movabs rax, 0x44b82fa09b5a52cc
mov r15, rdx
imul r13
sar rdx, 0x1c
sar r13, 0x3f
sub rdx, r13
mov rax, r15
imul r15, rdx, 0x3b9aca00
sub rbx, r15
lea r13, [rsi + rbx]
lea r15, [rdx - 1]
test r13, r13
cmovl rdx, r15
add rbx, r9
test r13, r13
cmovl r13, rbx
jmp 0x679678
mov rax, rdx
xor edx, edx
lea rbx, [rcx - 0x18]
nop dword [rax]
cmp rbx, 8
jb 0x6799f2
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x28], rdx
mov ebx, dword [r8 + 0x1c]
shl rbx, 0x20
mov r15d, dword [r8 + 0x18]
add rbx, r15
imul rbx, rbx, 0x64
lea r15, [rsi + rbx]
nop
cmp r15, 0x3b9aca00
jb 0x679705
movabs rax, 0x44b82fa09b5a52cc
imul r15
sar rdx, 0x1c
sar r15, 0x3f
sub rdx, r15
mov rax, r13
imul r13, rdx, 0x3b9aca00
sub rbx, r13
lea r15, [rsi + rbx]
lea rsi, [rdx - 1]
test r15, r15
cmovl rdx, rsi
add rbx, r9
test r15, r15
cmovl r15, rbx
mov r13, rax
mov rbx, rdx
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x28]
jmp 0x679707
xor ebx, ebx
lea rsi, [rcx - 0x28]
cmp rsi, 0x10
jb 0x6799e5
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsi + 0x18]
mov qword [rsp + 0x50], rcx
mov rsi, qword [rsi + 0x10]
nop
nop
mov r9, qword [r8 + 0x30]
mov qword [rsp + 0x68], r9
mov r9, qword [r8 + 0x28]
mov r8d, dword [r8 + 0x20]
mov dword [rsp + 0x14], r8d
jmp 0x6797a3
lea rax, [0x006c3fc0]
call fcn.0040d960
mov qword [rax + 8], 0x21
lea rcx, [0x0070d153]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007a9920]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
nop
ret
xor eax, eax
xor ebx, ebx
mov rcx, rdi
mov rdi, rsi
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
dec rcx
mov r8d, dword [rsp + 0x14]
test rcx, rcx
jle 0x6797bc
movzx r8d, byte [rcx + rsi - 1]
cmp r8b, 0x5c
je 0x67979b
test rcx, rcx
mov r8d, dword [rsp + 0x14]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x58], r9
je 0x6797f2
lea r8, [rcx - 1]
jmp 0x679965
xor ecx, ecx
xor esi, esi
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x88], rcx
lea rax, [0x006eb800]
call fcn.0040d960
mov rcx, qword [rsp + 0x48]
movsxd rcx, ecx
mov qword [rax], rcx
mov rcx, qword [rsp + 0x60]
movabs rdx, 0xe7791f700
add rcx, rdx
mov qword [rax + 8], rcx
cmp dword [0x009b88a0], 0
jne 0x679847
mov rsi, qword [rsp + 0x80]
mov qword [rax + 0x10], rsi
jmp 0x679858
lea rdi, [rax + 0x10]
mov rsi, qword [rsp + 0x80]
call fcn.004658e0
mov r8, qword [rsp + 0x40]
movsxd r8, r8d
mov qword [rax + 0x18], r8
mov r8, qword [rsp + 0x70]
add r8, rdx
mov qword [rax + 0x20], r8
cmp dword [0x009b88a0], 0
jne 0x67987f
mov qword [rax + 0x28], rsi
jmp 0x679888
lea rdi, [rax + 0x28]
call fcn.004658e0
mov r8, qword [rsp + 0x38]
movsxd r8, r8d
mov qword [rax + 0x30], r8
mov r8, qword [rsp + 0x28]
add r8, rdx
mov qword [rax + 0x38], r8
cmp dword [0x009b88a0], 0
jne 0x6798af
mov qword [rax + 0x40], rsi
jmp 0x6798b8
lea rdi, [rax + 0x40]
call fcn.004658e0
mov r8, qword [rsp + 0x30]
movsxd r8, r8d
mov qword [rax + 0x48], r8
mov r8, qword [rsp + 0x20]
add rdx, r8
mov qword [rax + 0x50], rdx
cmp dword [0x009b88a0], 0
jne 0x6798df
mov qword [rax + 0x58], rsi
jmp 0x6798e8
lea rdi, [rax + 0x58]
call fcn.004658e0
mov rdx, qword [rsp + 0x68]
mov qword [rax + 0x60], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rax + 0x68], rdx
mov edx, dword [rsp + 0x14]
mov dword [rax + 0x70], edx
mov rdx, qword [rsp + 0x18]
mov qword [rax + 0x80], rdx
cmp dword [0x009b88a0], 0
jne 0x679924
mov rdx, qword [rsp + 0x88]
mov qword [rax + 0x78], rdx
jmp 0x679935
lea rdi, [rax + 0x78]
mov rdx, qword [rsp + 0x88]
call fcn.004658a0
mov rbx, rax
xor ecx, ecx
xor edi, edi
lea rax, [0x007ac550]
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rbx, qword [rsp + 0x20]
mov r15, qword [rsp + 0x30]
mov r8, r9
mov r9, qword [rsp + 0x58]
test r8, r8
jle 0x679995
lea r9, [r8 - 1]
mov rbx, qword [rsp + 0x50]
cmp rbx, r9
jbe 0x6799d5
movzx r15d, byte [r8 + rsi - 1]
nop
cmp r15b, 0x5c
jne 0x679953
mov rbx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x58]
mov r15, qword [rsp + 0x30]
mov r9, qword [rsp + 0x50]
cmp rcx, r9
ja 0x6799cd
nop
cmp r8, rcx
ja 0x6799c5
sub rcx, r8
mov r9, rcx
neg rcx
sar rcx, 0x3f
and r8, rcx
lea rcx, [rsi + r8]
mov rsi, r9
nop dword [rax]
jmp 0x6797f6
mov rax, r8
call fcn.00465ce0
mov rdx, r9
call fcn.00465c60
mov rax, r9
mov rcx, rbx
nop dword [rax + rax]
call fcn.00465c20
mov ecx, 0x10
mov rdx, rsi
call fcn.00465ca0
mov ecx, 8
mov rdx, rbx
call fcn.00465ca0
mov ecx, 8
mov rdx, rbx
call fcn.00465ca0
mov ecx, 8
mov rdx, rbx
call fcn.00465ca0
nop
mov qword [rsp + 8], rax
nop
call fcn.004635c0
mov rax, qword [rsp + 8]
jmp fcn.00679440