Function at 0x7ce390
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, 0xc8
mov rax, qword [rcx]
mov r9d, dword [rcx + 0x10]
mov qword [rsp + 0x110], rcx
mov rsi, r8
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xa0], 0
test r9d, r9d
je 0x7ce530
mov rax, qword [rsp + 0x110]
mov rbx, qword [rax + 8]
cmp qword [rbx + 0x18], 0
je 0x7cea08
mov eax, dword [rbx + 0x20]
mov rdi, qword [rbx + 0x28]
cmp qword [rsp + 0x118], rdi
jl 0x7ce4d8
je 0x7ce4c8
mov rdx, qword [rbx]
cmp dword [rdx + 0x98], eax
jl 0x7ce4d8
mov r14d, dword [rbx + 0x3c]
mov rax, qword [rsp + 0x118]
mov dword [rbx + 0x30], 1
mov dword [rbx + 0x3c], 0
mov qword [rbx + 0x28], rax
test r14d, r14d
jne 0x7ce516
mov rax, qword [rsp + 0x110]
mov rdi, qword [rax]
mov edx, dword [rdi + 0x44]
test edx, edx
je 0x7ce550
xor r9d, r9d
lea r8, [rsp + 0xb0]
mov edx, 8
mov rcx, rax
mov qword [rsp + 0xb0], 0
call fcn.00738d90
mov r14d, eax
test eax, eax
jne 0x7ce516
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x118]
call fcn.00822c50
mov rcx, qword [rsp + 0xb0]
call fcn.00833a40
cmp eax, 0x64
je 0x7ceb10
mov rcx, qword [rsp + 0xb0]
call fcn.00831020
mov r14d, eax
jmp 0x7ce7f3
mov r8d, dword [rbx + 0x30]
test r8d, r8d
jne 0x7ce409
nop dword [rax]
test eax, eax
jne 0x7ce4e7
mov ecx, dword [rbx + 0x34]
test ecx, ecx
je 0x7ce418
mov rcx, rbx
call fcn.00726b40
mov r14d, dword [rbx + 0x3c]
test r14d, r14d
je 0x7ceae0
mov rax, qword [rsp + 0x118]
mov dword [rbx + 0x30], 1
mov dword [rbx + 0x3c], 0
mov qword [rbx + 0x28], rax
mov eax, r14d
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 1
call fcn.007398e0
mov r14d, eax
test eax, eax
je 0x7ce3d7
jmp 0x7ce516
mov qword [rsp + 0xa8], 0
xor ebx, ebx
test rsi, rsi
je 0x7cf968
mov rax, qword [rsp + 0x110]
mov ebp, 1
xor r12d, r12d
mov dword [rsp + 0xb8], 0xffffffff
mov qword [rsp + 0xb0], rax
mov eax, dword [rdi + 0x18]
cmp eax, ebp
jl 0x7ce74b
mov rdx, qword [rdi + 0x28]
movsxd rbp, ebp
test rsi, rsi
je 0x7ce730
cmp byte [rdx + rbp - 1], 0
mov r15d, ebp
jne 0x7ce7c0
test rbx, rbx
je 0x7ce880
mov rax, qword [rbx]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x7ce5ce
call qword [0x008693e0]
mov rax, qword [rbx + 0xa0]
test rax, rax
je 0x7ce5ea
movzx edx, word [rbx + 0xc0]
cmp edx, r15d
jg 0x7ce8e8
mov rcx, qword [rbx]
xor r14d, r14d
mov dword [rcx + 0x50], 0x19
call fcn.007b2ce0
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x7ce93c
xor eax, eax
test edx, edx
jne 0x7ce93c
mov rcx, qword [rcx + 0x18]
mov dword [rbx + 0x34], eax
test rcx, rcx
je 0x7ce628
call qword [0x008693f0]
mov r13, qword [rsp + 0xa8]
lea rbx, [rbp*8 - 8]
test r13, r13
je 0x7ceb00
mov rax, qword [r13]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x7ce654
call qword [0x008693e0]
mov rax, qword [r13 + 0xa0]
test rax, rax
je 0x7ce671
movzx edx, word [r13 + 0xc0]
cmp edx, r15d
jg 0x7ce780
mov rcx, qword [r13]
xor ebp, ebp
mov dword [rcx + 0x50], 0x19
call fcn.007b2ce0
mov rcx, qword [r13]
mov edx, dword [r13 + 0x34]
cmp byte [rcx + 0x67], 0
jne 0x7ce970
xor eax, eax
test edx, edx
jne 0x7ce970
mov rcx, qword [rcx + 0x18]
mov dword [r13 + 0x34], eax
test rcx, rcx
je 0x7ce6b2
call qword [0x008693f0]
mov dword [rsp + 0xbc], r12d
test r14, r14
je 0x7cead0
mov rax, qword [rdi + 0x70]
mov rcx, qword [rdi + 0x68]
mov r9, r14
lea r11, [0x00739250]
mov qword [rsp + 0x28], r11
lea rdx, [rsp + 0xb0]
mov r8d, 4
mov dword [rsp + 0x20], ebp
call qword [rax + 0x10]
movsxd rcx, dword [rsp + 0xbc]
mov rdx, qword [rsp + 0x110]
add rbx, qword [rdx + 0x20]
sub qword [rbx], rcx
mov rbx, qword [rsp + 0xa8]
js 0x7ce7d8
lea ebp, [r15 + 1]
test eax, eax
je 0x7ce58a
mov r14d, eax
jmp 0x7ce7de
cmp byte [rdx + rbp - 1], 0
mov ecx, ebp
mov r15d, ebp
je 0x7ce8d0
lea ecx, [rbp + 1]
add rbp, 1
cmp eax, ecx
jge 0x7ce730
mov rax, qword [rsp + 0x110]
mov rax, qword [rax + 0x18]
test rax, rax
jle 0x7cf950
mov rsi, qword [rsp + 0x110]
sub rax, 1
mov rcx, rbx
mov qword [rsi + 0x18], rax
call fcn.00831020
mov r14d, eax
jmp 0x7ce7f3
lea rdx, [rbp*8]
sub rdx, rbp
lea rcx, [rax + rdx*8]
movzx eax, word [rcx + 0x14]
test al, 2
je 0x7ce7a1
cmp byte [rcx + 0x16], 1
je 0x7ce980
test al, 0x10
je 0x7cfa2d
mov ebp, dword [rcx + 0x10]
test ah, 4
je 0x7ce683
add ebp, dword [rcx]
jmp 0x7ce683
add rbp, 1
cmp eax, ebp
jge 0x7ce5a5
jmp 0x7ce74b
mov r14d, 0x10b
mov rax, qword [rsp + 0x110]
mov rcx, rbx
sub qword [rax + 0x18], 1
call fcn.00831020
test r14d, r14d
jne 0x7ce516
mov rax, qword [rsp + 0x78]
mov r14d, dword [rax + 0x58]
test r14d, r14d
jne 0x7ce990
mov eax, dword [rax + 0x40]
test eax, eax
jne 0x7ce516
lea rbx, [rsp + 0xa0]
mov rcx, qword [rsp + 0x110]
xor r9d, r9d
mov r8, rbx
mov edx, 5
call fcn.00738d90
mov r14d, eax
test eax, eax
jne 0x7ce516
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xa0]
call fcn.00822c50
mov rcx, qword [rsp + 0xa0]
call fcn.00833a40
mov rcx, qword [rsp + 0xa0]
call fcn.00831020
mov r14d, eax
jmp 0x7ce516
lea rbx, [rbp*8 - 8]
lea rbp, [rsi + rbx]
mov rcx, qword [rbp]
call fcn.007ff100
mov rcx, qword [rbp]
mov r14, rax
movzx eax, word [rcx + 0x14]
test al, 2
je 0x7ce8ae
cmp byte [rcx + 0x16], 1
je 0x7cf8a0
test al, 0x10
je 0x7ce950
mov ebp, dword [rcx + 0x10]
test ah, 4
je 0x7ce6b2
add ebp, dword [rcx]
jmp 0x7ce6b2
test rbx, rbx
jne 0x7ce5bc
add ecx, 1
jmp 0x7ce743
lea rdx, [rbp*8]
sub rdx, rbp
lea rcx, [rax + rdx*8]
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
jne 0x7ce913
cmp byte [rcx + 0x16], 1
je 0x7cf9e8
and eax, 1
test ax, ax
jne 0x7cfa10
mov edx, 1
call fcn.00847860
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x34]
mov r14, rax
cmp byte [rcx + 0x67], 0
je 0x7ce60c
call fcn.006dc060
mov rcx, qword [rbx]
jmp 0x7ce616
xor ebp, ebp
test al, 1
jne 0x7ce6b2
mov edx, 1
call fcn.00846db0
mov ebp, eax
jmp 0x7ce6b2
call fcn.006dc060
mov rcx, qword [r13]
jmp 0x7ce69f
mov ebp, dword [rcx + 0x10]
jmp 0x7ce683
mov rcx, qword [rsp + 0x110]
lea rbx, [rsp + 0xa0]
xor r9d, r9d
mov edx, 7
mov r8, rbx
call fcn.00738d90
mov r14d, eax
test eax, eax
jne 0x7ce516
mov rdx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0xa0]
call fcn.00822c50
mov rcx, qword [rsp + 0xa0]
call fcn.00833a40
mov rcx, qword [rsp + 0xa0]
call fcn.00831020
mov r14d, eax
mov rax, qword [rsp + 0x78]
mov esi, r14d
or esi, dword [rax + 0x40]
je 0x7ce821
jmp 0x7ce516
mov rdi, qword [rbx]
call fcn.0082e1a0
test eax, eax
jne 0x7cf9d1
mov ecx, 0x28
mov ebp, 7
call fcn.007dc490
mov qword [rbx + 0x18], rax
mov r12, rax
test rax, rax
je 0x7ceac1
mov qword [rax], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
lea rax, [rbx + 0x20]
mov qword [r12 + 8], rax
mov eax, dword [rdi + 0x5c]
mov dword [r12 + 0x14], 0x400
mov dword [r12], eax
call fcn.0082e1a0
mov ebp, eax
test eax, eax
jne 0x7cf9c0
mov ecx, 0x2000
call fcn.007dc490
mov qword [r12 + 0x20], rax
test rax, rax
je 0x7cf9c9
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [rax + 0x1ff8], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x2000]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
mov dword [rbx + 0x3c], ebp
jmp 0x7ce3ee
xor eax, eax
xor ecx, ecx
jmp 0x7ce6f7
mov rcx, qword [rbx + 0x18]
call fcn.007ca4b0
mov dword [rbx + 0x20], 0
mov qword [rbx + 0x34], 0
jmp 0x7ce418
xor ebp, ebp
jmp 0x7ce6b2
mov r12, qword [rsp + 0xb0]
mov edx, 1
mov rcx, r12
call fcn.006e9a30
mov rcx, rax
call fcn.00811ff0
mov rcx, r12
mov qword [rsp + 0x88], rax
mov rdi, rax
call fcn.006e99c0
mov rcx, qword [rsp + 0xb0]
call fcn.00831020
test eax, eax
jne 0x7ce778
test rdi, rdi
je 0x7ce778
mov rax, qword [rsp + 0x110]
mov rbp, qword [rax + 8]
mov rcx, rbp
call fcn.0073a580
mov qword [rsp + 0x98], rax
test rax, rax
je 0x7cf398
mov edx, dword [rax + 0x1c]
test edx, edx
jle 0x7cf37d
mov rsi, rax
movsxd rax, edx
shl rax, 4
lea rdi, [rsi + rax]
lea rcx, [rsi + rax - 0x10]
lea eax, [rdx - 1]
mov qword [rsp + 0x50], rdi
shl rax, 4
sub rcx, rax
mov qword [rsp + 0x90], rcx
xor ecx, ecx
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x14]
mov edx, eax
sub edx, 1
js 0x7cf364
movsxd r9, edx
mov edx, edx
mov r14, rbp
sub rax, rdx
lea r8, [r9*8]
lea rdx, [rax*8]
sub r8, r9
sub rdx, rax
lea rdi, [r8*8]
lea rax, [rdx*8 - 0x70]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x80], rax
nop word [rax + rax]
mov rax, qword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
add r15, qword [rax + 0x18]
mov rax, qword [rsp + 0x88]
cmp qword [r15 + 0x10], rax
ja 0x7cf348
cmp qword [r15 + 0x18], rax
jb 0x7cf348
test ecx, ecx
jne 0x7cec4b
add qword [r15 + 0x28], 1
mov ebp, dword [r15 + 0x20]
add dword [r14 + 0x34], 1
test ebp, ebp
jg 0x7cf540
mov dword [rsp + 0x74], 0xffffffff
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x60], 4
mov eax, 0xffffffff
cmp qword [rsp + 0x118], rax
mov eax, 8
cmovbe eax, dword [rsp + 0x60]
mov edi, eax
mov dword [rsp + 0x60], eax
mov rax, qword [r14]
mov eax, dword [rax + 0x88]
sub eax, 8
cdq
idiv edi
mov edx, 0x20
cmp eax, 0x20
cmovl eax, edx
mov dword [rsp + 0x64], eax
test ebp, ebp
je 0x7cf7d0
cmp ebp, 1
je 0x7cf800
mov ebx, dword [rsp + 0x64]
lea ebp, [rbp + rbp + 1]
mov qword [rsp + 0x48], r15
mov r15, r14
movsxd rdi, ebp
mov eax, dword [r15 + 0x3c]
mov qword [rsp + 0x58], rdi
test eax, eax
jne 0x7cf1bd
nop dword [rax]
lea rsi, [rdi*8]
call fcn.0082e1a0
test eax, eax
jne 0x7cf4f8
lea rax, [rsi - 1]
cmp rax, 0x7ffffefe
ja 0x7cf4f8
mov eax, dword [0x00869360]
test eax, eax
je 0x7cf528
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7ced2d
call qword [0x008693e0]
mov rcx, rsi
call fcn.007dc4f0
mov r12, rax
test r12, r12
je 0x7cf4d0
mov r8, rsi
xor edx, edx
mov rcx, r12
call sub.msvcrt.dll_memset
imul ebx, dword [rsp + 0x60]
mov eax, dword [r15 + 0x3c]
add ebx, 8
test ebp, ebp
jle 0x7cf514
nop word [rax + rax]
movsxd rdi, ebx
lea edx, [rbp - 1]
mov r14, r12
lea rsi, [rdi + 0xf]
lea r13, [r12 + rdx*8 + 8]
add rdi, 0x10
mov qword [rsp + 0x68], rsi
mov rsi, r12
test eax, eax
jne 0x7cf1f7
mov eax, dword [0x008694b4]
test eax, eax
jne 0x7cf4c0
cmp qword [0x008693d0], 0
je 0x7cf3c0
call qword [0x008693c0]
mfence
test eax, eax
jne 0x7cf1d8
call fcn.0082e2e0
test eax, eax
jne 0x7cf1d8
cmp qword [rsp + 0x68], 0x7ffffefe
ja 0x7cf1d8
mov eax, dword [0x00869360]
test eax, eax
je 0x7cf3b0
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cedf7
call qword [0x008693e0]
mov rcx, rdi
call fcn.007dc4f0
mov rcx, rax
test rcx, rcx
je 0x7cf1d8
mov r8, rdi
xor edx, edx
add rsi, 8
call sub.msvcrt.dll_memset
mov dword [rax + 8], ebx
mov rcx, rax
lea rax, [rax + 0x10]
mov qword [rcx], rax
mov eax, dword [r15 + 0x3c]
mov qword [rsi - 8], rcx
cmp r13, rsi
jne 0x7ced86
test eax, eax
jne 0x7cf208
movzx eax, byte [rsp + 0x60]
nop dword [rax]
mov rdx, qword [r14]
add r14, 8
mov rdx, qword [rdx]
mov byte [rdx], al
mov rdx, qword [r14 - 8]
mov rdx, qword [rdx]
mov dword [rdx + 4], 0
cmp r13, r14
jne 0x7cee48
mov rax, qword [rsp + 0x48]
xor esi, esi
mov eax, dword [rax + 0x20]
jmp 0x7cee84
cmp qword [rsp + 0x38], 0
jne 0x7ceed0
add rsi, 1
mov r14d, esi
cmp esi, eax
jge 0x7cf5d0
cmp dword [rsp + 0x74], esi
je 0x7cee78
mov rdi, qword [rsp + 0x48]
mov rcx, r15
mov eax, dword [rdi]
lea edx, [rax + 0x10000]
mov dword [rsp + 0x68], eax
shl rdx, 0x25
add rdx, rsi
call fcn.00721aa0
mov rbx, rax
test rax, rax
jne 0x7cf4a8
mov eax, dword [rdi + 0x20]
jmp 0x7cee80
mov rbx, qword [rsp + 0x38]
xor r13d, r13d
mov rcx, qword [rbx]
mov eax, dword [rbx + 8]
xor r11d, r11d
cmp byte [rcx], 4
setne r11b
sub eax, 8
lea r11d, [r11*4 + 4]
cdq
idiv r11d
test eax, eax
jle 0x7cf016
sub eax, 1
mov r10d, 8
mov r9d, ebp
mov rbp, rsi
lea rax, [rax*4 + 0xc]
mov esi, r11d
mov rdi, r10
mov qword [rsp + 0x68], rax
jmp 0x7cefa0
lea rcx, [rcx + rdi*2 - 8]
cmp qword [rcx], 0
je 0x7cef92
movzx r10d, byte [rcx]
movzx r11d, byte [rcx + 7]
movzx r8d, byte [rcx + 2]
movzx edx, byte [rcx + 3]
mov rax, r10
movzx r10d, byte [rcx + 1]
shl rax, 0x38
shl r8, 0x28
shl r10, 0x30
shl rdx, 0x20
add r10, rax
movzx eax, byte [rcx + 4]
add r11, r10
lea r10, [r11 + r8]
shl rax, 0x18
lea r8, [r10 + rdx]
lea rdx, [r8 + rax]
movzx eax, byte [rcx + 5]
movzx ecx, byte [rcx + 6]
shl rax, 0x10
shl rcx, 8
add rax, rdx
add rcx, rax
test rcx, rcx
jne 0x7cefd6
add rdi, 4
cmp qword [rsp + 0x68], rdi
je 0x7cf010
mov rcx, qword [rbx]
cmp esi, 4
jne 0x7cef28
add rcx, rdi
mov r11d, dword [rcx]
test r11d, r11d
je 0x7cef92
movzx eax, byte [rcx]
shl eax, 0x18
mov edx, eax
movzx eax, byte [rcx + 1]
shl eax, 0x10
add eax, edx
movzx edx, byte [rcx + 3]
add eax, edx
movzx edx, byte [rcx + 2]
shl edx, 8
lea ecx, [rax + rdx]
test rcx, rcx
je 0x7cef92
mov rax, rcx
xor edx, edx
xor r8d, r8d
mov dword [rsp + 0x70], r9d
div qword [rsp + 0x58]
mov r10, qword [r12 + rdx*8]
mov edx, dword [r10 + 8]
mov qword [rsp + 0x20], rcx
mov rcx, r10
call fcn.0072bde0
mov r9d, dword [rsp + 0x70]
test eax, eax
je 0x7cef92
mov rsi, rbp
mov edi, eax
mov ebp, r9d
jmp 0x7cf018
mov rsi, rbp
mov ebp, r9d
xor edi, edi
test r14d, r14d
jne 0x7cf02e
mov rax, qword [r12]
mov rdx, qword [rbx]
mov rax, qword [rax]
movzx edx, byte [rdx + 1]
mov byte [rax + 1], dl
test r13, r13
je 0x7cf086
mov r10d, dword [0x00869360]
test r10d, r10d
je 0x7cf0a0
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf051
call qword [0x008693e0]
mov rcx, r13
call qword [0x00869398]
mov rcx, r13
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf086
call qword [0x008693f0]
test edi, edi
jne 0x7cf0ad
nop word [rax + rax]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x20]
jmp 0x7cee80
mov rcx, r13
call qword [0x00869388]
test edi, edi
je 0x7cf090
test r12, r12
je 0x7cf1a1
mov eax, dword [0x00869360]
lea rsi, [0x00869360]
test ebp, ebp
jle 0x7cf152
lea edx, [rbp - 1]
mov rbx, r12
lea rdi, [r12 + rdx*8 + 8]
jmp 0x7cf132
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf0f2
call qword [0x008693e0]
mov rcx, r13
call qword [0x00869398]
mov rcx, r13
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf147
call qword [0x008693f0]
mov eax, dword [rsi]
add rbx, 8
cmp rdi, rbx
je 0x7cf152
mov r13, qword [rbx]
test r13, r13
je 0x7cf129
test eax, eax
jne 0x7cf0e0
mov rcx, r13
call qword [0x00869388]
add rbx, 8
mov eax, dword [rsi]
cmp rdi, rbx
jne 0x7cf132
test eax, eax
je 0x7cf4b0
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf16c
call qword [0x008693e0]
mov rcx, r12
call qword [0x00869398]
mov rcx, r12
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf1a1
call qword [0x008693f0]
lea ebp, [rbp + rbp + 1]
mov eax, dword [r15 + 0x3c]
mov ebx, dword [rsp + 0x64]
movsxd rdi, ebp
mov qword [rsp + 0x58], rdi
test eax, eax
je 0x7cece8
imul ebx, dword [rsp + 0x60]
add ebx, 8
test ebp, ebp
jle 0x7cf7f8
xor r12d, r12d
jmp 0x7ced68
lea rax, [rsi + 8]
mov dword [r15 + 0x3c], 7
cmp rax, r13
je 0x7cf208
add rsi, 0x10
cmp rsi, r13
je 0x7cf208
mov eax, 7
add rsi, 8
cmp r13, rsi
jne 0x7ced86
nop dword [rax]
mov r14, r15
test r12, r12
je 0x7cf308
mov eax, dword [0x00869360]
lea rbx, [0x00869360]
test ebp, ebp
jle 0x7cf2b2
lea edx, [rbp - 1]
mov rsi, r12
lea rdi, [r12 + rdx*8 + 8]
jmp 0x7cf292
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf252
call qword [0x008693e0]
mov rcx, r13
call qword [0x00869398]
mov rcx, r13
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf2a7
call qword [0x008693f0]
mov eax, dword [rbx]
add rsi, 8
cmp rdi, rsi
je 0x7cf2b2
mov r13, qword [rsi]
test r13, r13
je 0x7cf289
test eax, eax
jne 0x7cf240
mov rcx, r13
call qword [0x00869388]
add rsi, 8
mov eax, dword [rbx]
cmp rdi, rsi
jne 0x7cf292
test eax, eax
je 0x7cf848
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf2cc
call qword [0x008693e0]
mov rcx, r12
call qword [0x00869398]
mov rcx, r12
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf308
call qword [0x008693f0]
nop dword [rax]
cmp qword [rsp + 0x38], 0
je 0x7cf340
mov ecx, dword [0x00869360]
xor ebp, ebp
xor r12d, r12d
test ecx, ecx
jne 0x7cf681
mov rcx, qword [rsp + 0x38]
call qword [0x00869388]
test r12, r12
jne 0x7cf6d6
nop word [rax + rax]
mov ecx, 1
nop dword [rax]
sub qword [rsp + 0x40], 0x38
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0x80], rax
jne 0x7cec18
mov rbp, r14
sub qword [rsp + 0x50], 0x10
mov rax, qword [rsp + 0x50]
cmp qword [rsp + 0x90], rax
jne 0x7cebc0
mov rdi, qword [rsp + 0x98]
mov eax, dword [rdi]
mov dword [rsp + 0x60], eax
sub eax, 1
mov dword [rdi], eax
test eax, eax
jle 0x7cf8b0
mov r14d, dword [rbp + 0x3c]
mov dword [rbp + 0x3c], 0
jmp 0x7ce7f3
mov ecx, edi
call qword [0x00869380]
mov rcx, rax
jmp 0x7cee02
cmp byte [0x00869364], 0
lea rax, [0x0085c720]
lea rcx, [0x00760180]
cmovne rcx, rax
lea rdx, [0x0085c730]
lea rax, [0x00760190]
cmovne rax, rdx
lea rdx, [0x0085c630]
lea r8, [0x00760160]
lea r9, [0x00760170]
movq xmm0, rax
lea rax, [0x00760150]
movq xmm5, rcx
cmove rdx, rax
lea rax, [0x0085c640]
punpcklqdq xmm0, xmm5
cmovne r8, rax
lea rax, [0x00760140]
movups xmmword [0x008693e8], xmm0
movq xmm4, rdx
pxor xmm0, xmm0
movq xmm1, r8
lea r8, [0x0085c5b0]
movups xmmword [0x008693f8], xmm0
cmove r8, rax
lea rax, [0x0085c6a0]
punpcklqdq xmm1, xmm4
cmovne r9, rax
movups xmmword [0x008693d8], xmm1
lea rax, [0x00997840]
movq xmm3, r8
movq xmm2, r9
lea r9, [0x009977e0]
punpcklqdq xmm2, xmm3
cmove rax, r9
movups xmmword [0x008693c0], xmm2
mfence
mov rax, qword [rax + 0x10]
mov qword [0x008693d0], rax
jmp 0x7cedaa
mov r13, rax
jmp 0x7ceed8
mov rcx, r12
call qword [0x00869388]
jmp 0x7cf1a1
mfence
jmp 0x7cedc8
imul ebx, dword [rsp + 0x60]
mov dword [r15 + 0x3c], 7
add ebx, 8
test ebp, ebp
jle 0x7cf7f8
mov eax, 7
xor r12d, r12d
jmp 0x7ced68
test rsi, rsi
jg 0x7cf4d0
imul ebx, dword [rsp + 0x60]
mov eax, dword [r15 + 0x3c]
xor r12d, r12d
add ebx, 8
test ebp, ebp
jg 0x7ced68
test eax, eax
je 0x7cee67
jmp 0x7cf208
mov ecx, esi
call qword [0x00869380]
mov r12, rax
jmp 0x7ced38
mov rax, qword [rsp + 0x118]
movsxd rdi, ebp
xor edx, edx
mov rcx, r14
div rdi
mov eax, dword [r15]
mov dword [rsp + 0x74], edx
mov rbx, rdx
lea edx, [rax + 0x10000]
shl rdx, 0x25
add rdx, rbx
call fcn.00721aa0
mov qword [rsp + 0x38], rax
test rax, rax
je 0x7cf340
mov edx, dword [rax + 8]
mov rcx, rax
mov r9d, dword [r15 + 0x20]
xor r8d, r8d
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x20], rax
call fcn.0072bde0
test eax, eax
je 0x7cf860
mov rax, qword [rsp + 0x38]
mov ebp, dword [r15 + 0x20]
mov rax, qword [rax]
cmp byte [rax], 4
setne al
movzx eax, al
lea eax, [rax*4 + 4]
mov dword [rsp + 0x60], eax
jmp 0x7cec75
mov r14, r15
mov r15, qword [rsp + 0x48]
mov r9d, dword [r14 + 0x3c]
test r9d, r9d
jne 0x7cf20b
mov rax, qword [rsp + 0x118]
xor edx, edx
mov r9d, ebp
lea ebx, [rbp - 1]
mov r8d, 1
xor esi, esi
div qword [rsp + 0x58]
mov rax, qword [rsp + 0x118]
mov rcx, qword [r12 + rdx*8]
mov edx, dword [rcx + 8]
mov qword [rsp + 0x20], rax
call fcn.0072bde0
test ebp, ebp
jle 0x7cf64f
nop
mov edi, dword [r15]
mov rax, qword [r12 + rsi*8]
mov rcx, r14
lea edx, [rdi + 0x10000]
mov r9d, dword [rax + 8]
mov r8, qword [rax]
shl rdx, 0x25
add rdx, rsi
call fcn.00721c80
mov rax, rsi
add rsi, 1
cmp rbx, rax
jne 0x7cf620
mov r8d, dword [r14 + 0x3c]
mov dword [r15 + 0x20], ebp
test r8d, r8d
jne 0x7cf66b
mov rdx, qword [r14 + 0x90]
mov rcx, r14
call fcn.0073b410
cmp qword [rsp + 0x38], 0
je 0x7cf6cd
mov ecx, dword [0x00869360]
test ecx, ecx
je 0x7cf323
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf693
call qword [0x008693e0]
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call qword [0x00869398]
mov rcx, rsi
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf6cd
call qword [0x008693f0]
test r12, r12
je 0x7cf340
mov eax, dword [0x00869360]
lea rbx, [0x00869360]
test ebp, ebp
jle 0x7cf772
lea edx, [rbp - 1]
mov rsi, r12
lea rdi, [r12 + rdx*8 + 8]
jmp 0x7cf752
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf712
call qword [0x008693e0]
mov rcx, r13
call qword [0x00869398]
mov rcx, r13
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf767
call qword [0x008693f0]
mov eax, dword [rbx]
add rsi, 8
cmp rsi, rdi
je 0x7cf772
mov r13, qword [rsi]
test r13, r13
je 0x7cf749
test eax, eax
jne 0x7cf700
mov rcx, r13
call qword [0x00869388]
add rsi, 8
mov eax, dword [rbx]
cmp rsi, rdi
jne 0x7cf752
test eax, eax
je 0x7cf7e0
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf788
call qword [0x008693e0]
mov rcx, r12
call qword [0x00869398]
mov rcx, r12
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf340
call qword [0x008693f0]
mov ecx, 1
jmp 0x7cf348
mov ebp, 1
mov ebx, 0x20
jmp 0x7cecc9
mov rcx, r12
call qword [0x00869388]
mov ecx, 1
jmp 0x7cf348
mov r14, r15
jmp 0x7cf308
mov rax, qword [rsp + 0x38]
mov r8, qword [rax]
movzx ebx, byte [r8 + 4]
movzx eax, byte [r8 + 7]
shl ebx, 0x18
mov ecx, ebx
movzx ebx, byte [r8 + 5]
shl ebx, 0x10
add ebx, ecx
add eax, ebx
movzx ebx, byte [r8 + 6]
shl ebx, 8
add ebx, eax
shl ebx, 2
cmp ebx, 0x20
cmovl ebx, edx
cmp dword [rsp + 0x64], ebx
jge 0x7cecc9
jmp 0x7cecc1
mov rcx, r12
call qword [0x00869388]
jmp 0x7cf308
mov edx, dword [r15]
mov rsi, qword [rsp + 0x38]
mov rcx, r14
add edx, 0x10000
mov r9d, dword [rsi + 8]
mov r8, qword [rsi]
shl rdx, 0x25
add rdx, rbx
call fcn.00721c80
mov rcx, rsi
call fcn.0082d7e0
mov ecx, 1
jmp 0x7cf348
mov ebp, dword [rcx + 0x10]
jmp 0x7ce6b2
mov eax, dword [rdi + 0x1c]
mov rsi, qword [rsp + 0x98]
xor ebx, ebx
test eax, eax
jg 0x7cf926
jmp 0x7cf9f8
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf8e2
call qword [0x008693e0]
mov rcx, r12
call qword [0x00869398]
mov rcx, r12
sub qword [0x00869728], 1
cdqe
sub qword [0x008696e0], rax
call qword [0x00869388]
mov rcx, qword [0x00868fc0]
test rcx, rcx
je 0x7cf94a
call qword [0x008693f0]
mov eax, dword [rsi + 0x1c]
add rbx, 1
cmp eax, ebx
jle 0x7cf9f8
mov rdx, rbx
shl rdx, 4
mov r12, qword [rsi + rdx + 0x28]
test r12, r12
je 0x7cf91a
mov edx, dword [0x00869360]
test edx, edx
jne 0x7cf8d0
mov rcx, r12
call qword [0x00869388]
mov eax, dword [rsi + 0x1c]
jmp 0x7cf91a
mov rcx, rbx
mov r14d, 0x10b
call fcn.00831020
jmp 0x7ce516
mov rcx, rax
xor r9d, r9d
mov edx, 2
lea r8, [rsp + 0xa8]
call fcn.00738d90
mov r14d, eax
test eax, eax
jne 0x7ce516
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x118]
call fcn.00822c50
mov rcx, qword [rsp + 0xa8]
call fcn.00833a40
cmp eax, 0x64
jne 0x7cfa18
mov rbx, qword [rsp + 0xa8]
jmp 0x7ce567
mov qword [r12 + 0x20], 0
mov rcx, r12
call fcn.0082d7e0
mov qword [rbx + 0x18], 0
mov ebp, 7
jmp 0x7ceac1
mov r14, qword [rcx + 8]
jmp 0x7ce5fc
mov rcx, qword [rsp + 0x98]
call fcn.0082d7e0
jmp 0x7cf398
xor r14d, r14d
jmp 0x7ce5fc
mov rcx, qword [rsp + 0xa8]
call fcn.00831020
mov r14d, eax
jmp 0x7ce7f3
xor ebp, ebp
test al, 1
jne 0x7ce683
mov edx, 1
call fcn.00846db0
mov ebp, eax
jmp 0x7ce683