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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rax, qword [0x140113040]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov rax, rcx
mov dword [rsp + 0xa8], 0x78563412
mov rcx, qword [rcx + 0x70]
mov r15, r9
mov qword [rsp + 0x40], rcx
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0xa0], rbx
mov rbp, qword [rax + 8]
mov r10d, dword [rax + 0x18]
mov ecx, dword [rax + 0x108]
mov r8d, dword [rax + 0x28]
mov rdx, qword [rsp + 0x130]
mov r13d, dword [rbx]
mov r11d, edx
sub r11d, ebp
mov dword [rsp + 0x28], ecx
mov rcx, qword [rax + 0x80]
add r11d, r9d
mov qword [rsp + 0x60], rcx
mov r9d, 1
mov ecx, dword [rax + 0x104]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rax + 0x100]
mov eax, r11d
shl r9d, cl
sub eax, r10d
sub r11d, r9d
mov qword [rsp + 0x48], rbp
cmp eax, r9d
mov dword [rsp + 0x20], r13d
lea rax, [r15 + rdx]
mov dword [rsp + 0xac], 0xf0debc9a
mov edx, dword [rbx + 4]
lea rdi, [rax - 8]
cmovbe r11d, r10d
mov qword [rsp + 0x30], rax
test r8d, r8d
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x2c], edx
cmovne r11d, r10d
mov word [rsp + 0xb0], 0xb4e2
xor esi, esi
mov ecx, r11d
add rcx, rbp
mov dword [rsp + 0x54], r11d
cmp r15, rcx
mov qword [rsp + 0x78], rcx
mov eax, esi
mov dword [rsp + 0x5c], esi
sete al
mov dword [rsp + 0x3c], esi
lea rbx, [rax + r15]
mov r11d, ebx
sub r11d, ebp
mov eax, r11d
mov ecx, r11d
sub ecx, r9d
sub eax, r10d
cmp eax, r9d
cmovbe ecx, r10d
test r8d, r8d
cmovne ecx, r10d
sub r11d, ecx
cmp edx, r11d
jbe 0x140096ec4
mov dword [rsp + 0x3c], edx
mov edx, esi
mov dword [rsp + 0x2c], edx
cmp r13d, r11d
jbe 0x140096ed2
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], esi
lea rsi, [rbx + 1]
lea r12, [rbx + 0x100]
cmp rsi, rdi
ja 0x14009759e
nop word [rax + rax]
mov edx, dword [rsp + 0x28]
mov rcx, rbx
call fcn.1400958e0
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x24]
lea rdi, [rcx + rax*4]
mov rcx, rbx
mov eax, dword [rdi]
mov dword [rsp + 0x38], eax
lea r13, [rax + rbp]
call fcn.1400958a0
mov r8, qword [rsp + 0x60]
mov edx, ebx
sub edx, ebp
mov dword [rsp + 0x58], edx
mov ecx, dword [r8 + rax*4]
mov dword [r8 + rax*4], edx
mov ebp, ecx
add rbp, qword [rsp + 0x48]
mov dword [rdi], edx
xor edx, edx
mov r8d, edx
mov dword [rsp + 0x50], ecx
mov ecx, dword [rsp + 0x20]
test ecx, ecx
mov eax, ecx
mov rcx, rbx
setne r8b
sub rcx, rax
mov eax, dword [rbx + 1]
mov dword [rsp + 0x70], r8d
cmp dword [rcx + 1], eax
sete dl
test r8d, edx
jne 0x14009708c
mov edi, 1
mov qword [rsp + 0x80], rdi
nop dword [rax + rax]
mov edx, dword [rsp + 0x28]
mov rcx, rsi
mov qword [rsp + 0x98], rsi
call fcn.1400958e0
mov r8d, dword [rsp + 0x54]
lea rdx, [rsp + 0xa8]
cmp dword [rsp + 0x38], r8d
mov rcx, qword [rbx]
cmovae rdx, r13
mov qword [rsp + 0x88], rax
cmp qword [rdx], rcx
jne 0x140096fc3
cmp rdx, r13
je 0x140097136
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + rax*4]
mov r13d, eax
mov dword [rsp + 0x38], eax
add r13, qword [rsp + 0x48]
lea rax, [rsp + 0xa8]
cmp dword [rsp + 0x50], r8d
cmovae rax, rbp
cmp dword [rax], ecx
jne 0x140096ff5
cmp rax, rbp
je 0x1400971b7
cmp rsi, r12
jb 0x140097017
prefetcht0 byte [rsi + 0x40]
prefetcht0 byte [rsi + 0x80]
inc rdi
mov qword [rsp + 0x80], rdi
add r12, 0x100
mov rbx, rsi
add rsi, rdi
cmp rsi, qword [rsp + 0x68]
ja 0x14009759a
mov edx, dword [rsp + 0x24]
mov rcx, rbx
call fcn.1400958a0
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov edx, dword [rsp + 0x98]
sub edx, r8d
mov dword [rsp + 0x58], edx
mov ecx, dword [r9 + rax*4]
mov dword [r9 + rax*4], edx
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x50], ecx
lea rbp, [r8 + rcx]
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x20]
mov dword [rcx + rax*4], edx
xor edx, edx
mov eax, dword [rbx + 1]
mov rcx, rbx
sub rcx, r8
cmp dword [rcx + 1], eax
sete dl
test dword [rsp + 0x70], edx
je 0x140096f80
mov eax, dword [rsp + 0x20]
lea rcx, [rbx + 5]
mov rbp, qword [rsp + 0x30]
mov rdx, rbx
sub rdx, rax
mov r8, rbp
add rdx, 5
call fcn.140095750
inc rbx
lea r9, [rbp - 0x20]
mov rsi, rbx
sub rsi, r15
lea rdi, [rax + 4]
cmp rbx, r9
ja 0x140097370
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
cmp rsi, 0x10
jbe 0x14009737f
mov rcx, qword [r14 + 0x18]
lea rax, [rsi - 0x10]
movdqu xmm0, xmmword [r15 + 0x10]
add rcx, 0x10
lea rdx, [rax + rcx]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x14009737f
add rcx, 0x10
add r15, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [r15]
lea r15, [r15 + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [r15 - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x140097110
jmp 0x14009737f
mov rbp, qword [rsp + 0x30]
lea rdx, [r13 + 8]
mov r8, rbp
lea rcx, [rbx + 8]
call fcn.140095750
mov r8, qword [rsp + 0x78]
xor r9d, r9d
mov edx, r9d
mov ecx, r9d
mov r12d, ebx
sub r12d, r13d
lea rdi, [rax + 8]
cmp r13, r8
seta dl
cmp rbx, r15
seta cl
test ecx, edx
je 0x140097263
nop word [rax + rax]
lea rax, [r13 - 1]
mov r13, rax
lea rdx, [rbx - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x140097263
inc rdi
mov ecx, r9d
cmp rdx, r15
mov eax, r9d
mov rbx, rdx
seta cl
cmp r13, r8
seta al
test eax, ecx
jne 0x140097180
jmp 0x140097263
mov r8, qword [rsp + 0x30]
lea rdx, [rbp + 4]
lea rcx, [rbx + 4]
call fcn.140095750
mov r11d, dword [rsp + 0x54]
mov r12d, ebx
sub r12d, ebp
lea rdi, [rax + 4]
cmp dword [rsp + 0x38], r11d
jbe 0x140097212
mov rax, qword [rsi]
cmp qword [r13], rax
jne 0x140097212
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 8]
lea rcx, [rsi + 8]
call fcn.140095750
add rax, 8
cmp rax, rdi
jbe 0x140097212
mov r12d, esi
mov rbx, rsi
sub r12d, r13d
mov rdi, rax
mov rbp, r13
mov r8, qword [rsp + 0x78]
xor r9d, r9d
cmp rbp, r8
mov ecx, r9d
mov eax, r9d
seta cl
cmp rbx, r15
seta al
test eax, ecx
je 0x14009725e
lea rax, [rbp - 1]
mov rbp, rax
lea rdx, [rbx - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x14009725e
inc rdi
mov ecx, r9d
cmp rdx, r15
mov eax, r9d
mov rbx, rdx
seta cl
cmp rbp, r8
seta al
test eax, ecx
jne 0x140097230
mov rbp, qword [rsp + 0x30]
cmp qword [rsp + 0x80], 4
mov r13d, dword [rsp + 0x20]
mov dword [rsp + 0x2c], r13d
mov dword [rsp + 0x20], r12d
jae 0x140097291
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
sub esi, dword [rsp + 0x48]
mov dword [rcx + rax*4], esi
mov rsi, rbx
lea r9, [rbp - 0x20]
sub rsi, r15
lea r8, [rsi + r15]
cmp r8, r9
ja 0x140097303
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
cmp rsi, 0x10
jbe 0x14009730f
mov rcx, qword [r14 + 0x18]
lea rax, [rsi - 0x10]
movdqu xmm0, xmmword [r15 + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x14009730f
add rcx, 0x10
add r15, 0x20
nop
movdqu xmm0, xmmword [r15]
lea r15, [r15 + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [r15 - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x1400972e0
jmp 0x14009730f
mov rcx, qword [r14 + 0x18]
mov rdx, r15
call fcn.14008cd80
add qword [r14 + 0x18], rsi
cmp rsi, 0xffff
jbe 0x140097333
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 1
mov rax, qword [r14 + 8]
lea ecx, [r12 + 3]
mov word [rax + 4], si
mov rax, qword [r14 + 8]
mov dword [rax], ecx
lea rcx, [rdi - 3]
cmp rcx, 0xffff
jbe 0x1400973de
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
jmp 0x1400973de
mov rcx, qword [r14 + 0x18]
mov r8, rbx
mov rdx, r15
call fcn.14008cd80
add qword [r14 + 0x18], rsi
cmp rsi, 0xffff
jbe 0x1400973a3
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 1
mov rax, qword [r14 + 8]
lea rcx, [rdi - 3]
mov word [rax + 4], si
mov rax, qword [r14 + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x1400973d9
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
mov r13d, dword [rsp + 0x2c]
mov rax, qword [r14 + 8]
mov word [rax + 6], cx
add qword [r14 + 8], 8
mov rax, qword [rsp + 0x68]
lea r15, [rdi + rbx]
mov rbx, r15
cmp r15, rax
ja 0x140097581
mov ebp, dword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
add ebp, 2
mov edx, dword [rsp + 0x28]
mov esi, ebp
add rsi, r12
mov rcx, rsi
call fcn.1400958e0
mov rcx, qword [rsp + 0x40]
mov edi, r15d
mov edx, dword [rsp + 0x28]
sub edi, r12d
sub edi, 2
mov dword [rcx + rax*4], ebp
lea rcx, [r15 - 2]
call fcn.1400958e0
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x24]
mov dword [rcx + rax*4], edi
mov rcx, rsi
call fcn.1400958a0
mov rsi, qword [rsp + 0x60]
lea rcx, [r15 - 1]
mov edx, dword [rsp + 0x24]
mov edi, r15d
sub edi, r12d
dec edi
mov dword [rsi + rax*4], ebp
call fcn.1400958a0
mov r8, qword [rsp + 0x30]
xor r9d, r9d
mov dword [rsi + rax*4], edi
lea r12, [r8 - 0x20]
nop dword [rax + rax]
mov eax, r13d
mov ecx, r9d
mov rdx, rbx
sub rdx, rax
mov eax, dword [rdx]
cmp dword [rbx], eax
mov eax, r9d
sete cl
test r13d, r13d
setne al
test eax, ecx
je 0x140097577
add rdx, 4
lea rcx, [rbx + 4]
call fcn.140095750
mov edx, dword [rsp + 0x24]
mov ecx, r13d
mov r13d, dword [rsp + 0x20]
mov edi, ebx
sub edi, dword [rsp + 0x48]
mov dword [rsp + 0x20], ecx
lea rsi, [rax + 4]
mov rcx, rbx
call fcn.1400958a0
mov rcx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x28]
mov dword [rcx + rax*4], edi
mov rcx, rbx
call fcn.1400958e0
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edi
cmp r15, r12
ja 0x140097503
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
jmp 0x140097515
mov rcx, qword [r14 + 0x18]
mov r9, r12
mov r8, r15
mov rdx, r15
call fcn.14008cd80
mov rax, qword [r14 + 8]
lea rcx, [rsi - 3]
xor r9d, r9d
mov word [rax + 4], r9w
mov rax, qword [r14 + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x14009754f
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
mov rax, qword [r14 + 8]
add rbx, rsi
mov r8, qword [rsp + 0x30]
mov r15, rbx
mov word [rax + 6], cx
add qword [r14 + 8], 8
mov rax, qword [rsp + 0x68]
cmp rbx, rax
jbe 0x140097480
jmp 0x14009757c
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x2c], r13d
mov rbp, qword [rsp + 0x48]
lea rsi, [rbx + 1]
lea r12, [rbx + 0x100]
cmp rsi, rax
jbe 0x140096ef0
mov edx, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x20]
test r8d, r8d
je 0x1400975b6
test eax, eax
cmovne ecx, r8d
test eax, eax
cmovne r8d, eax
mov rax, qword [rsp + 0xa0]
test edx, edx
cmovne ecx, edx
mov dword [rax], r8d
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x30]
sub rax, r15
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1400dde30
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret