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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
mov rax, qword [0x100190170]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov eax, dword [rcx + 0x1bc]
mov rsi, rcx
mov qword [rsp + 0x90], rcx
neg eax
lea rax, [rsp + 0x60]
sbb ecx, ecx
xor edi, edi
xor edx, edx
and ecx, 0x40cf503
lea ebx, [rdi + 0x1c]
mov dword [rsp + 0x5c], edi
add ecx, 0x42415443
mov r8, rbx
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x58], ecx
lea rcx, [r11 - 0x170]
mov qword [rsp + 0x68], rax
mov r15, rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x80], rdi
mov r14, rdi
call sub.msvcrt.dll_memset
mov eax, dword [rsi + 0xf0]
mov dword [rsp + 0xa0], eax
mov eax, dword [rsi + 0xf4]
lea r12d, [rdi + 1]
lea rdx, [rsp + 0x98]
lea rcx, [rsp + 0x58]
mov r9d, r12d
mov r8d, ebx
mov dword [rsp + 0xac], eax
mov dword [rsp + 0x98], ebx
mov qword [rsp + 0x20], rdi
call fcn.100154878
cmp eax, edi
mov ebx, eax
jl 0x10016aec0
mov ebp, edi
mov edx, edi
mov r8d, edi
mov r10d, edi
cmp dword [rsi + 0xc], edi
jbe 0x10016a4d3
mov rdi, qword [rsi + 0x18]
mov r9, qword [rsi + 0x20]
mov ebx, dword [rsi + 0xc]
mov rcx, qword [r9]
bt dword [rcx], 0x1c
mov eax, dword [rcx + 4]
mov r11, qword [rdi + rax*8]
jb 0x10016a4ca
mov eax, dword [r11 + 8]
bt eax, 9
jae 0x10016a4ca
bt eax, 8
jb 0x10016a4ca
test al, al
jns 0x10016a49d
mov eax, dword [rcx + 0xc]
cmp r8d, eax
ja 0x10016a4ca
lea r8d, [rax + 1]
jmp 0x10016a4ca
bt eax, 0xd
jae 0x10016a4af
mov eax, dword [rcx + 0xc]
cmp ebp, eax
ja 0x10016a4ca
lea ebp, [rax + 1]
jmp 0x10016a4ca
bt eax, 0x12
mov eax, dword [rcx + 0xc]
jae 0x10016a4c3
cmp r10d, eax
ja 0x10016a4ca
lea r10d, [rax + 1]
jmp 0x10016a4ca
cmp edx, eax
ja 0x10016a4ca
lea edx, [rax + 1]
add r9, 8
sub rbx, r12
jne 0x10016a46b
lea r12d, [r8 + rdx]
lea r13d, [rdx + rbp]
lea ebx, [r10 + r8]
add ebx, edx
mov rcx, 0xffffffffffffffff
mov eax, 8
add ebx, ebp
add r12d, ebp
mov edi, ebx
mul rdi
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
xor ecx, ecx
mov qword [rsp + 0x38], rax
cmp rax, rcx
je 0x10016b069
lea eax, [rcx + 4]
mov rcx, 0xffffffffffffffff
mul rdi
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov r14, rax
mov qword [rsp + 0x30], rax
xor eax, eax
cmp r14, rax
je 0x10016b069
mov r14, qword [rsp + 0x38]
mov r8, rdi
xor edx, edx
mov rcx, r14
shl r8, 3
call sub.msvcrt.dll_memset
xor r10d, r10d
mov r11d, r10d
cmp dword [rsi + 0xc], r10d
jbe 0x10016a615
mov r9, r10
lea r15d, [r10 + 1]
mov rax, qword [rsi + 0x20]
mov rdx, qword [r9 + rax]
mov rax, qword [rsi + 0x18]
bt dword [rdx], 0x1c
mov ecx, dword [rdx + 4]
mov r8, qword [rax + rcx*8]
jb 0x10016a601
cmp qword [rdx + 0x60], r10
je 0x10016a601
cmp dword [rdx + 8], 0xffffffff
jne 0x10016a601
mov eax, dword [r8 + 8]
bt eax, 9
jae 0x10016a601
bt eax, 8
jb 0x10016a601
test al, al
jns 0x10016a5b8
mov ecx, r13d
jmp 0x10016a5cd
bt eax, 0xd
jae 0x10016a5c3
mov ecx, r10d
jmp 0x10016a5cd
mov ecx, ebp
bt eax, 0x12
cmovb ecx, r12d
add ecx, dword [rdx + 0xc]
mov eax, dword [rdx + 0x7c]
shr eax, 2
mov r8d, ecx
sub r8d, eax
inc ecx
movsxd rax, ecx
cmp ecx, r8d
jbe 0x10016a601
lea rax, [r14 + rax*8]
dec ecx
sub rax, 8
cmp ecx, ebx
jae 0x10016a601
cmp qword [rax], r10
jne 0x10016a601
mov qword [rax], rdx
cmp ecx, r8d
ja 0x10016a5ea
add r11d, r15d
add r9, 8
cmp r11d, dword [rsi + 0xc]
jb 0x10016a57a
mov r15, r10
xor r12d, r12d
mov r8, r14
mov ebp, r12d
mov dword [rsp + 0x50], r12d
cmp ebx, r12d
jbe 0x10016a64d
mov rcx, r14
mov rax, r14
mov rdx, qword [rax]
cmp rdx, r12
je 0x10016a63f
mov qword [rcx], rdx
inc ebp
add rcx, 8
add rax, 8
sub rdi, 1
jne 0x10016a62e
mov dword [rsp + 0x50], ebp
mov r14, qword [rsp + 0x30]
mov r13d, r12d
mov dword [rsp + 0x40], r12d
mov r9, r12
mov r11d, r12d
cmp ebp, r12d
jbe 0x10016a705
mov rbx, r14
mov r10, r8
cmp r9, r12
je 0x10016a6aa
mov rcx, qword [r10]
mov eax, dword [r9 + 4]
cmp dword [rcx + 4], eax
jne 0x10016a6aa
mov rax, qword [r9 + 0x60]
cmp qword [rcx + 0x60], rax
jne 0x10016a6aa
mov eax, dword [r9 + 0x7c]
mov edx, dword [r9 + 0xc]
mov r8, rcx
mov ecx, dword [rcx + 0x7c]
shr eax, 2
sub edx, eax
mov eax, dword [r8 + 0xc]
shr ecx, 2
sub eax, ecx
cmp eax, edx
je 0x10016a6f0
mov r9, qword [r10]
cmp r9, r12
je 0x10016a6f0
mov rcx, qword [r9 + 0x60]
cmp dword [rcx + 8], 6
jne 0x10016a6f0
mov rax, qword [rcx + 0x28]
cmp rax, r12
je 0x10016a6f0
cmp dword [rax + 8], 3
jne 0x10016a6f0
mov rdx, qword [rcx + 0x30]
cmp rdx, r12
je 0x10016a6f0
cmp dword [rdx + 8], 0xb
jne 0x10016a6f0
cmp dword [rax + 0x20], 9
jne 0x10016a6f0
cmp qword [rax + 0x28], r12
je 0x10016a6f0
mov dword [rbx], r11d
inc r13d
add rbx, 4
inc r11d
add r10, 8
cmp r11d, ebp
jb 0x10016a66f
mov dword [rsp + 0x40], r13d
mov edx, r12d
cmp r13d, r12d
jbe 0x10016a801
mov rsi, qword [rsp + 0x38]
mov r10, r14
xor r15d, r15d
mov ebp, dword [r10]
mov r8d, r15d
mov r11, r15
mov rdi, qword [rsi + rbp*8]
mov qword [rsp + 0x88], rbp
mov rax, qword [rdi + 0x60]
mov rcx, qword [rax + 0x28]
mov r12, qword [rcx + 0x28]
cmp edx, r15d
jbe 0x10016a7db
mov r13d, 1
or rbp, 0xffffffffffffffff
mov eax, dword [r14 + r11*4]
mov rbx, qword [rsi + rax*8]
mov rax, qword [rbx + 0x60]
mov rcx, qword [rax + 0x28]
mov rax, r12
mov r9, qword [rcx + 0x28]
sub r9, r12
mov cl, byte [rax]
cmp cl, byte [rax + r9]
jne 0x10016a77e
add rax, r13
test cl, cl
jne 0x10016a76a
mov eax, r15d
jmp 0x10016a782
sbb eax, eax
sbb eax, ebp
cmp eax, r15d
jl 0x10016a79c
jg 0x10016a791
mov eax, dword [rbx + 4]
cmp dword [rdi + 4], eax
jb 0x10016a79c
add r8d, r13d
add r11, r13
cmp r8d, edx
jb 0x10016a750
mov rbp, qword [rsp + 0x88]
mov r13d, dword [rsp + 0x40]
cmp r8d, edx
jae 0x10016a7db
cmp edx, r8d
jbe 0x10016a7d7
mov eax, edx
mov r9, r10
mov r15d, 1
sub eax, r8d
mov r8d, eax
mov eax, dword [r9 - 4]
mov dword [r9], eax
add r9, 0xfffffffffffffffc
sub r8, r15
jne 0x10016a7c4
xor r15d, r15d
mov dword [r14 + r11*4], ebp
mov ebp, 1
add r10, 4
add edx, ebp
cmp edx, r13d
jb 0x10016a71c
mov rsi, qword [rsp + 0x90]
mov r15, qword [rsp + 0x48]
xor r12d, r12d
jmp 0x10016a806
mov ebp, 1
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x118]
mov edi, eax
add edi, r13d
je 0x10016ae6e
mov ecx, edi
mov eax, 0x14
mul rcx
mov rcx, 0xffffffffffffffff
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov r15, rax
mov qword [rsp + 0x48], rax
cmp rax, r12
je 0x10016b064
lea ebx, [rdi + rdi*4]
xor edx, edx
mov rcx, rax
shl ebx, 2
mov r8d, ebx
call sub.msvcrt.dll_memset
lea r11, [rsp + 0xa8]
lea rcx, [rsp + 0x58]
mov r9d, ebp
mov r8d, ebx
mov rdx, r15
mov qword [rsp + 0x20], r11
call fcn.100154878
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov dword [rsp + 0xa4], edi
mov r15d, r12d
cmp r13d, r12d
jbe 0x10016ae69
mov rbx, qword [rsp + 0x48]
mov r13, r14
lea r14, [rbx + 4]
mov eax, dword [r13]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rsi + 0x18]
mov rdx, qword [rcx + 0x60]
mov ecx, dword [rcx + 4]
mov rdi, qword [rax + rcx*8]
mov rbp, qword [rdx + 0x30]
mov rax, qword [rdx + 0x28]
mov rdx, qword [rax + 0x28]
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0x88], rdi
cmp dword [rsi + 0x1bc], r12d
jne 0x10016a8f8
mov r9d, 7
jmp 0x10016a959
bt dword [rdi + 8], 0xd
lea rax, [0x100036dec]
jae 0x10016a90f
lea r8, [0x100036df4]
jmp 0x10016a92e
bt dword [rdi + 8], 0x12
jae 0x10016a91f
lea r8, [0x100036dfc]
jmp 0x10016a92e
test byte [rdi + 8], 0x80
lea r8, [0x100036e04]
cmove r8, rax
mov r9, rdx
lea rcx, [rsp + 0xd0]
mov edx, 0xff
call fcn.10008db04
mov byte [rsp + 0x1ce], r12b
mov r9d, 6
lea rdx, [rsp + 0xd0]
mov eax, r15d
or r8d, 0xffffffff
lea rcx, [rax + rax*4]
lea r12, [rbx + rcx*4]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], r12
call fcn.100154878
mov ebx, eax
xor eax, eax
cmp ebx, eax
jl 0x10016aebb
mov r9d, dword [r13]
lea r10d, [rax + 1]
inc r9d
mov r11d, r10d
cmp r9d, dword [rsp + 0x50]
jae 0x10016aa32
mov ecx, dword [r13]
mov rsi, qword [rsp + 0x38]
mov ebp, dword [rsp + 0x50]
mov rax, qword [rsi + rcx*8]
lea r10d, [rcx + 1]
mov rdi, r11
mov ebx, dword [rax + 4]
mov rcx, qword [rsi + r10*8]
cmp ebx, dword [rcx + 4]
jne 0x10016aa14
mov edx, dword [r13]
mov rcx, qword [rsi + rdx*8]
lea eax, [r11 + rdx]
mov rax, qword [rsi + rax*8]
mov rax, qword [rax + 0x60]
cmp qword [rcx + 0x60], rax
jne 0x10016aa14
mov edx, dword [r13]
lea eax, [r11 + rdx]
mov r8, qword [rsi + rax*8]
mov rax, qword [rsi + rdx*8]
mov ecx, dword [rax + 0x7c]
mov edx, dword [rax + 0xc]
mov eax, dword [r8 + 0xc]
shr ecx, 2
sub edx, ecx
mov ecx, dword [r8 + 0x7c]
shr ecx, 2
sub eax, ecx
cmp edx, eax
jne 0x10016aa14
add r9d, edi
add r11d, edi
add r10d, edi
cmp r9d, ebp
jb 0x10016a9b7
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xb8]
mov r10d, 1
mov eax, dword [rdi + 8]
test al, al
jns 0x10016aa40
mov eax, 3
jmp 0x10016aa58
bt eax, 0xd
jae 0x10016aa4c
xor edi, edi
mov eax, edi
jmp 0x10016aa5a
and eax, 0x40000
neg eax
sbb eax, eax
add eax, 2
xor edi, edi
mov r9, qword [rsp + 0x38]
mov word [r14], ax
mov eax, dword [r13]
mov rdx, qword [r9 + rax*8]
mov ecx, dword [rdx + 0x7c]
movzx eax, word [rdx + 0xc]
mov word [r14 + 4], r11w
shr ecx, 2
sub ax, cx
mov word [r14 + 2], ax
mov rdx, qword [rbp + 0x30]
cmp rdx, rdi
je 0x10016aabf
mov eax, dword [r13]
lea r8, [r12 + 0xc]
mov rcx, qword [r9 + rax*8]
mov qword [rsp + 0x20], r8
mov r8d, r10d
mov r9d, dword [rcx + 0x3c]
lea rcx, [rsp + 0x58]
and r9d, 0xe00000
call fcn.10016b0f4
cmp eax, edi
mov ebx, eax
jl 0x10016aebb
cmp qword [rbp + 0x50], rdi
je 0x10016aae1
mov rax, qword [rsi]
mov r8, r12
mov rdx, rbp
mov rcx, rsi
call qword [rax + 0x128]
cmp eax, edi
mov ebx, eax
jl 0x10016aebb
mov eax, dword [rbp + 0x58]
cmp eax, edi
je 0x10016ae3c
mov ecx, 1
cmp cx, word [r14]
jne 0x10016ac22
lea edi, [rax + 3]
lea eax, [rcx + 3]
mov rcx, 0xffffffffffffffff
and edi, 0xfffffffc
mov ebx, edi
mul rbx
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
xor ecx, ecx
mov qword [rsp + 0x80], rax
cmp rax, rcx
je 0x10016b064
mov r8, rbx
xor edx, edx
mov rcx, rax
shl r8, 2
call sub.msvcrt.dll_memset
mov rbx, qword [rsp + 0x80]
mov r11d, edi
shr r11d, 2
xor eax, eax
cmp r11d, eax
jbe 0x10016ab74
lea rcx, [rbx + 8]
mov eax, r11d
mov edx, 1
mov dword [rcx], edx
add rcx, 0x10
sub rax, rdx
jne 0x10016ab69
xor r11d, r11d
mov r10d, r11d
cmp dword [rbp + 0x58], r11d
jbe 0x10016abe3
mov r9, r11
mov r8, rbx
lea ecx, [r11 + 1]
mov rax, qword [rbp + 0x60]
mov rdx, qword [r9 + rax]
cmp rdx, r11
je 0x10016abd2
mov ecx, dword [rdx]
cmp ecx, r11d
je 0x10016abc3
mov eax, 1
sub ecx, eax
je 0x10016abb6
sub ecx, eax
je 0x10016abb6
cmp ecx, eax
jne 0x10016abcf
cvttsd2si eax, qword [rdx + 8]
jmp 0x10016abb9
mov eax, dword [rdx + 8]
mov dword [r8], eax
mov ecx, 1
jmp 0x10016abd2
cmp dword [rdx + 8], r11d
mov eax, r11d
setne al
jmp 0x10016abb9
mov rcx, rax
add r10d, ecx
add r9, 8
add r8, 4
cmp r10d, dword [rbp + 0x58]
jb 0x10016ab8a
lea rax, [r12 + 0x10]
mov r8d, edi
lea rcx, [rsp + 0x58]
mov r9d, 0xb
mov rdx, rbx
shl r8d, 2
mov qword [rsp + 0x20], rax
call fcn.100154878
xor r12d, r12d
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov qword [rsp + 0x80], r12
jmp 0x10016ae3f
mov ecx, 2
cmp cx, word [r14]
jne 0x10016ad3c
lea edi, [rax + 3]
lea eax, [rcx + 2]
mov rcx, 0xffffffffffffffff
and edi, 0xfffffffc
mov ebx, edi
mul rbx
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
xor ecx, ecx
mov qword [rsp + 0x78], rax
cmp rax, rcx
je 0x10016b064
mov r8, rbx
xor edx, edx
mov rcx, rax
shl r8, 2
call sub.msvcrt.dll_memset
mov r10, qword [rsp + 0x78]
xor ebx, ebx
mov r11d, ebx
cmp dword [rbp + 0x58], ebx
jbe 0x10016ad00
mov r9, rbx
mov r8, r10
lea esi, [rbx + 1]
mov rax, qword [rbp + 0x60]
mov rdx, qword [r9 + rax]
cmp rdx, rbx
je 0x10016ace7
mov ecx, dword [rdx]
cmp ecx, ebx
je 0x10016acd0
sub ecx, esi
je 0x10016acc6
sub ecx, esi
je 0x10016acb8
cmp ecx, esi
jne 0x10016ace7
cvtsd2ss xmm0, qword [rdx + 8]
jmp 0x10016ace2
mov eax, dword [rdx + 8]
pxor xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x10016ace2
movd xmm0, dword [rdx + 8]
cvtdq2ps xmm0, xmm0
jmp 0x10016ace2
cmp dword [rdx + 8], ebx
je 0x10016acdf
movss xmm0, dword [0x1000240ac]
jmp 0x10016ace2
xorps xmm0, xmm0
movss dword [r8], xmm0
add r11d, esi
add r9, 8
add r8, 4
cmp r11d, dword [rbp + 0x58]
jb 0x10016ac92
mov rsi, qword [rsp + 0x90]
lea rax, [r12 + 0x10]
mov r8d, edi
lea rcx, [rsp + 0x58]
mov r9d, 0xb
mov rdx, r10
shl r8d, 2
mov qword [rsp + 0x20], rax
call fcn.100154878
xor r12d, r12d
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov qword [rsp + 0x78], r12
jmp 0x10016ae3f
cmp di, word [r14]
jne 0x10016ae3c
mov edi, dword [rbp + 0x24]
mov rcx, 0xffffffffffffffff
mov eax, 4
mul rdi
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
xor ecx, ecx
mov qword [rsp + 0x70], rax
cmp rax, rcx
je 0x10016b064
mov r8, rdi
xor edx, edx
mov rcx, rax
shl r8, 2
call sub.msvcrt.dll_memset
mov r10, qword [rsp + 0x70]
xor ebx, ebx
mov r11d, ebx
cmp dword [rbp + 0x24], ebx
jbe 0x10016ae03
mov r9, rbx
mov r8, r10
lea ecx, [rbx + 1]
mov rax, qword [rbp + 0x68]
mov rdx, qword [r9 + rax]
cmp rdx, rbx
je 0x10016adf2
mov ecx, dword [rdx]
cmp ecx, ebx
je 0x10016addd
mov eax, 1
sub ecx, eax
je 0x10016addd
sub ecx, eax
je 0x10016addd
cmp ecx, eax
jne 0x10016adef
movsd xmm0, qword [rdx + 8]
ucomisd xmm0, qword [0x100038430]
jp 0x10016ade5
jne 0x10016ade5
mov eax, ebx
jmp 0x10016ade5
cmp dword [rdx + 8], ebx
mov eax, ebx
setne al
mov dword [r8], eax
mov ecx, 1
jmp 0x10016adf2
mov rcx, rax
add r11d, ecx
add r9, 8
add r8, 4
cmp r11d, dword [rbp + 0x24]
jb 0x10016ada4
lea rax, [r12 + 0x10]
mov r8d, edi
lea rcx, [rsp + 0x58]
mov r9d, 0xb
mov rdx, r10
shl r8d, 2
mov qword [rsp + 0x20], rax
call fcn.100154878
xor r12d, r12d
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov qword [rsp + 0x70], r12
jmp 0x10016ae3f
xor r12d, r12d
mov rbx, qword [rsp + 0x48]
mov ebp, 1
add r13, 4
add r15d, ebp
add r14, 0x14
cmp r15d, dword [rsp + 0x40]
jb 0x10016a8af
mov r13d, dword [rsp + 0x40]
mov r15, rbx
jmp 0x10016ae6e
mov r15, qword [rsp + 0x48]
mov rax, qword [rsi]
lea rdx, [rsp + 0x58]
mov r9d, r13d
mov r8, r15
mov rcx, rsi
call qword [rax + 0x120]
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov edx, dword [rsi + 0x158]
mov eax, 0x2c
lea rcx, [0x10000e5c8]
or r13d, 0xffffffff
sub rcx, 0x10
add eax, r13d
cmp dword [rcx], edx
je 0x10016af3a
cmp eax, r12d
ja 0x10016aea2
mov ebx, 0x80004005
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov rcx, r14
call sub.msvcrt.dll_free
lea rcx, [rsp + 0x58]
call fcn.100154824
mov eax, ebx
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.10017a260
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
add rax, rax
lea rcx, [0x10000e300]
mov edi, 5
mov r9d, edi
mov r8d, r13d
movdqu xmm0, xmmword [rcx + rax*8]
lea rax, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
movdqu xmmword [rsp + 0xb8], xmm0
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.100154878
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
lea rax, [rsp + 0x9c]
lea rdx, [0x100036e10]
lea rcx, [rsp + 0x58]
mov r9d, edi
mov r8d, r13d
mov qword [rsp + 0x20], rax
call fcn.100154878
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov edi, dword [rsp + 0x5c]
mov rcx, rsi
add edi, 3
shr edi, 2
add edi, 2
cmp edi, 0x8000
ja 0x10016b04b
mov edx, edi
call fcn.10016be1c
cmp eax, r12d
mov ebx, eax
jl 0x10016aebb
mov rcx, qword [rsi + 0x160]
mov r8d, dword [rsi + 0x168]
lea rdx, [rcx + 4]
sub r8d, ebp
lea rcx, [rcx + rdi*4 + 4]
shl r8, 2
call sub.msvcrt.dll_memmove
mov rdx, qword [rsi + 0x160]
lea rcx, [rsp + 0x58]
add rdx, 4
mov r8d, edi
call fcn.1001549fc
mov r14, qword [rsp + 0x30]
cmp eax, r12d
mov ebx, eax
jl 0x10016aec0
add dword [rsi + 0x168], edi
mov eax, dword [rsi + 0x168]
add dword [rsi + 0x178], edi
mov dword [rsi + 0x174], eax
mov ebx, r12d
jmp 0x10016aec0
lea r9, [0x100036db8]
xor edx, edx
mov r8d, 0x11c4
call fcn.10013cf50
jmp 0x10016aeb6
mov r14, qword [rsp + 0x30]
mov ebx, 0x8007000e
jmp 0x10016aec0