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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x6a4
mov eax, dword [0x302b4e44]
push ebx
mov dword [esp + 0x6a4], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push esi
mov esi, ecx
mov ecx, dword [esi + 0x88864]
mov ebx, dword [esi + 0x88860]
add ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esi + 0x2c]
add ebx, eax
mov eax, dword [esi + 0xcc]
sub ecx, eax
push edi
mov edi, dword [esi + 0x8885c]
add edi, edx
dec ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
test eax, eax
sete dl
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], ebx
lea ecx, [edx + ecx*2]
mov edx, dword [esi + 0x58]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp edx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], ecx
je 0x6ef483
cmp dword [esi + 0x88984], 1
jne 0x6ef483
cmp eax, ecx
je 0x6ef2ea
cmp dword [esi + 0xe0], ecx
je 0x6ef302
cmp dword [esi + 0xd0], ecx
je 0x6ef483
cmp dword [esi + 0xe4], ecx
jne 0x6ef483
mov edx, dword [esi + 0xe0]
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0xe8]
mov dword [esp + 0x80], edx
mov edx, dword [esi + 0xec]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x88], ecx
push 1
mov ecx, esi
mov dword [esp + 0x90], edx
call fcn.006d2c90
mov eax, dword [esi + 0x14]
add esp, 4
test eax, eax
je 0x6ef407
mov eax, dword [esi + 0x12c]
mov edx, dword [esi + 0x124]
test edx, edx
mov ecx, dword [esi + 0x128]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0x130]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0xf0]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov dword [esi + 0xe0], edx
mov dword [esi + 0xe4], ecx
je 0x6ef3af
test eax, eax
je 0x6ef3af
mov dl, byte [esi + 0x11c]
and dl, 3
je 0x6ef3a2
cmp dl, 3
jne 0x6ef3af
mov edx, dword [esp + 0x68]
add edx, 0x20
mov dword [esi + 0xe0], edx
mov dl, byte [esi + 0x11c]
test dl, 4
jne 0x6ef3e5
test eax, eax
jne 0x6ef3d7
test ecx, ecx
je 0x6ef3cd
lea eax, [ecx + 0x20]
mov dword [esi + 0xe4], eax
jmp 0x6ef407
xor eax, eax
mov dword [esi + 0xe4], eax
jmp 0x6ef407
mov eax, dword [ebp + 8]
add eax, 0xffffffe0
mov dword [esi + 0xe4], eax
jmp 0x6ef407
test ecx, ecx
je 0x6ef407
and dl, 0xc
cmp dl, 0xc
jne 0x6ef3fe
shl eax, 5
add eax, ecx
mov dword [esi + 0xe4], eax
jmp 0x6ef407
add ecx, 0x20
mov dword [esi + 0xe4], ecx
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x20]
push edx
push eax
push esi
call fcn.006ecc20
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0xe0], ecx
mov ecx, dword [esp + 0x9c]
add esp, 0x10
test eax, eax
mov dword [esi + 0xe4], edx
mov dword [esi + 0xec], ecx
je 0x6ef499
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esi + 0x124], edx
mov edx, dword [esp + 0x74]
mov dword [esi + 0x128], eax
mov dword [esi + 0x12c], ecx
mov dword [esi + 0x130], edx
jmp 0x6ef499
mov edx, dword [ebp + 8]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.006ed4b0
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push esi
call fcn.006edd50
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xc]
add esp, 8
test ah, 8
je 0x6ef635
mov eax, dword [esi + 0x88c98]
movq mm0, qword [eax + 0x78]
movq mm6, qword [eax]
movq qword [esp + 0x20], mm0
movq mm0, qword [eax + 0x70]
movq mm5, qword [eax + 8]
movq mm4, qword [eax + 0x10]
movq mm3, qword [eax + 0x18]
movq mm1, qword [eax + 0x28]
movq mm2, qword [eax + 0x20]
movq qword [esp + 0x50], mm0
movq mm0, qword [eax + 0x68]
movq qword [esp + 0x30], mm0
movq mm0, qword [eax + 0x60]
movq qword [esp + 0x78], mm0
movq mm0, qword [eax + 0x58]
movq qword [esp + 0x40], mm0
movq mm0, qword [eax + 0x50]
movq qword [esp + 0x98], mm0
movq mm0, qword [eax + 0x48]
pxor mm7, mm7
movq qword [esp + 0x90], mm0
movq mm0, qword [eax + 0x40]
paddd mm7, mm6
paddd mm7, mm5
movq qword [esp + 0x80], mm0
movq mm0, qword [eax + 0x38]
paddd mm7, mm4
movq qword [esp + 0x68], mm0
movq mm0, qword [eax + 0x30]
paddd mm7, mm3
paddd mm7, mm2
paddd mm7, mm1
paddd mm7, mm0
movq mm0, qword [esp + 0x68]
movq mm1, qword [esp + 0x20]
paddd mm7, mm0
movq mm0, qword [esp + 0x80]
paddd mm7, mm0
movq mm0, qword [esp + 0x90]
paddd mm7, mm0
movq mm0, qword [esp + 0x98]
paddd mm7, mm0
movq mm0, qword [esp + 0x40]
paddd mm7, mm0
movq mm0, qword [esp + 0x78]
paddd mm7, mm0
movq mm0, qword [esp + 0x30]
paddd mm7, mm0
movq mm0, qword [esp + 0x50]
paddd mm7, mm0
movq mm0, mm7
paddd mm0, mm1
movq mm1, mm0
punpckhdq mm1, mm0
por mm0, mm1
movd edx, mm0
test edx, edx
jne 0x6ef635
test edi, edi
je 0x6f00b7
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x44]
push ecx
push edi
call dword [esi + edx*4 + 0x888a4]
mov eax, dword [esi + 0x40]
add esp, 0x10
test eax, eax
je 0x6f00b7
test ebx, ebx
je 0x6f00b7
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x6f00b7
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [edx + 4]
push eax
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x120]
mov eax, dword [eax + 0x90]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x50]
push ebx
call dword [esi + ecx*4 + 0x888b4]
add esp, 0x18
mov ecx, dword [esp + 0x6ac]
call fcn.0073ffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x40]
test eax, eax
je 0x6efb36
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 4]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [eax + 0x120]
push 0x20
add edx, 0xfffffffc
push edx
mov edx, dword [eax + 0x90]
add ebx, 0xfffffffc
push ebx
push ecx
push edx
lea eax, [esp + 0x3cc]
push eax
lea ecx, [esp + 0x3c0]
push ecx
mov dword [esp + 0x74], 0x20
call dword [esi + 0x889d4]
lea eax, [esp + 0x454]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x40]
add esp, 0x24
test eax, eax
lea edx, [esp + 0x420]
mov dword [esp + 0x68], edx
je 0x6ef7dd
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xc]
and ecx, 0x80
mov eax, ecx
neg eax
sbb eax, eax
and eax, 3
inc eax
xor edx, edx
test ecx, ecx
sete dl
lea ecx, [esp + 0x430]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov ebx, 0x20
lea edi, [esi + 0x8899c]
inc edx
mov dword [esp + 0x20], edx
lea esp, [esp]
mov edx, dword [esi + 0x88c98]
lea ecx, [ebx + edx - 0x20]
mov edx, dword [ecx]
test edx, edx
mov dword [esp + 0x40], edx
jne 0x6ef70f
mov edx, dword [ecx + 4]
test edx, edx
je 0x6ef7bc
test byte [esp + 0x40], 4
mov eax, dword [edi - 4]
jne 0x6ef768
mov ecx, dword [esi + 0x88c9c]
lea edx, [ebx + ecx - 0x10]
movzx ecx, byte [eax + 1]
push edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
push eax
add ecx, 0xfffffff0
push 0x20
push ecx
call fcn.00702080
mov eax, dword [edi]
mov edx, dword [esi + 0x88c9c]
movzx ecx, byte [eax + 1]
add edx, ebx
push edx
movzx edx, byte [eax]
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push 0x20
push ecx
call fcn.00702080
jmp 0x6ef7b5
mov edx, dword [esi + 0x88c9c]
lea ecx, [ebx + edx - 0x10]
movzx edx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
add edx, 0xfffffff0
push 0x20
push edx
call fcn.00702570
mov eax, dword [edi]
mov ecx, dword [esi + 0x88c9c]
movzx edx, byte [eax + 1]
movzx eax, byte [eax]
add ecx, ebx
push ecx
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push 0x20
push edx
call fcn.00702570
mov eax, dword [esp + 0x60]
add esp, 0x30
mov edx, dword [esp + 0x14]
add ebx, 8
add edx, eax
add edi, 0x18
cmp ebx, 0x30
mov dword [esp + 0x14], edx
jl 0x6ef6f0
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x2c]
cmp eax, 2
mov dword [esp + 0x18], eax
jge 0x6ef95c
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
lea eax, [edi + edi*4]
shl eax, 4
mov dword [esp + 0x98], eax
lea eax, [ebx + ebx*2]
shl eax, 5
mov dword [esp + 0x20], eax
mov eax, ebx
shl ebx, 7
shl eax, 5
add ebx, edx
sub ecx, edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x90], ecx
jmp 0x6ef840
mov ecx, dword [esi + 0x88c98]
mov edx, dword [esp + 0x98]
add ecx, eax
mov eax, dword [ecx + edx]
add ecx, edx
mov edx, dword [ecx + 0xc]
add edx, dword [ecx + 8]
mov dword [esp + 0x80], ecx
add edx, dword [ecx + 4]
add edx, eax
je 0x6ef922
mov ebx, dword [esp + 0x18]
xor ecx, ecx
test ebx, ebx
mov ebx, dword [esi + 0x88c9c]
sete cl
lea edx, [edi + 1]
imul edi, edi, 0xf0
neg ecx
and ecx, edx
lea ecx, [ecx + ecx*2]
lea edx, [esi + ecx*4 + 0x88988]
mov ecx, dword [esp + 0x20]
add ecx, edi
lea ecx, [ecx + ebx + 0x10]
push ecx
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x7c]
mov ecx, dword [ecx + 4]
movzx ebx, byte [ecx + 1]
movzx ecx, byte [ecx]
mov edx, dword [esi + 0x889c4]
push ebx
mov ebx, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0xa0]
add ecx, ebx
and eax, 4
push ecx
call dword [edx + eax*4 + 0xc]
mov edx, dword [esp + 0x8c]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
mov ecx, dword [esi + 0x889c4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x34]
add eax, edi
mov edi, dword [esi + 0x88c9c]
lea eax, [eax + edi + 0x20]
push eax
mov eax, dword [esp + 0x58]
movzx edi, byte [eax + 1]
movzx eax, byte [eax]
push edi
push eax
mov eax, dword [esp + 0x70]
push eax
and edx, 4
push ebx
call dword [ecx + edx*4 + 0xc]
mov edi, dword [esp + 0x3c]
add esp, 0x28
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
add eax, 0x20
add ecx, 0x60
add ebx, 0x80
cmp eax, 0x40
mov dword [esp + 0x50], 0x20
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x40], ebx
jl 0x6ef840
test edi, edi
jne 0x6efae9
push 0x20
push 0x20
lea ecx, [esp + 0x3b8]
push ecx
lea edx, [esp + 0x3ac]
push edx
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x134]
push ecx
call dword [esi + 0x889d0]
lea edx, [esp + 0x13c]
mov dword [esp + 0x80], edx
mov edx, dword [ebp + 0x18]
mov ebx, dword [edx + 4]
lea eax, [esp + 0x14c]
lea ecx, [ebx + ebx]
mov dword [esp + 0x84], eax
mov eax, ecx
mov ecx, dword [esp + 0x78]
sub ecx, eax
movq mm0, qword [ecx + ebx]
movq mm1, qword [ecx]
mov eax, ebx
lea ecx, [eax + eax]
mov ebx, ecx
mov ecx, dword [esp + 0x7c]
movq qword [esp + 0xfc], mm1
sub ecx, ebx
movq qword [esp + 0x11c], mm0
movq mm0, qword [ecx + eax]
movq mm1, qword [ecx]
mov eax, dword [esp + 0x64]
add esp, 0x18
test eax, eax
movq qword [esp + 0xf4], mm1
movq qword [esp + 0x114], mm0
je 0x6efae1
mov eax, dword [esi + 0x88c98]
mov ebx, dword [eax + 0x98]
mov ecx, dword [eax + 0x9c]
add eax, 0x90
add ecx, ebx
add ecx, dword [eax + 4]
add ecx, dword [eax]
je 0x6efad9
mov ecx, dword [edx + 4]
lea eax, [ecx*4]
mov ebx, eax
mov eax, dword [esp + 0x60]
sub eax, ebx
movq mm0, qword [eax + ecx]
movq mm1, qword [eax]
mov eax, dword [esp + 0x64]
mov edx, ecx
lea ecx, [edx*4]
sub eax, ecx
mov ecx, dword [esi + 0x88c9c]
movq qword [esp + 0xa4], mm1
movq qword [esp + 0xc4], mm0
movq mm0, qword [eax + edx]
movq mm1, qword [eax]
mov eax, dword [esi + 0x889bc]
mov edx, dword [esi + 0x889c4]
add ecx, 0x1c0
push ecx
movq qword [esp + 0xb8], mm1
movq qword [esp + 0xd8], mm0
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
lea ecx, [esp + 0x150]
push 0x40
push ecx
call dword [edx + 0xc]
mov ecx, dword [esi + 0x88c9c]
mov eax, dword [esi + 0x889c0]
mov edx, dword [esi + 0x889c4]
add ecx, 0x1d0
push ecx
movzx ecx, byte [eax + 1]
movzx eax, byte [eax]
push ecx
push eax
lea ecx, [esp + 0x174]
push 0x40
push ecx
call dword [edx + 0xc]
add esp, 0x28
mov dword [esp + 0x50], 0x40
mov dword [esp + 0x2c], 0
inc edi
cmp edi, 2
mov dword [esp + 0x14], edi
jl 0x6ef7e3
cmp dword [esp + 0x3c], 4
jge 0x6efb36
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 4]
lea ecx, [eax + eax]
push 0x20
push eax
lea eax, [esp + 0xf8]
push eax
mov eax, dword [esp + 0x70]
sub eax, ecx
lea edx, [esp + 0xec]
push edx
push eax
mov eax, dword [esp + 0x74]
sub eax, ecx
push eax
mov eax, dword [esp + 0x54]
call dword [esi + eax*4 + 0x889e8]
add esp, 0x18
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x424]
mov dword [esp + 0x7c], ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [eax]
push 0x20
add edx, 0xfffffffc
push edx
push ecx
lea edx, [esp + 0x3b4]
push edx
mov dword [esp + 0x68], 0x20
call dword [esi + 0x889cc]
mov eax, dword [esp + 0x34]
add esp, 0x18
test eax, eax
je 0x6efc86
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
and eax, 0x80
mov edi, eax
neg edi
sbb edi, edi
and edi, 7
xor ecx, ecx
inc edi
test eax, eax
sete cl
lea edx, [esp + 0x420]
lea eax, [esi + 0x88994]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], eax
inc ecx
mov dword [esp + 0x40], ecx
xor ebx, ebx
jmp 0x6efbc0
mov eax, dword [esi + 0x88c98]
mov ecx, dword [eax + ebx]
add eax, ebx
test ecx, ecx
jne 0x6efbd6
mov edx, dword [eax + 4]
test edx, edx
je 0x6efc1f
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
movzx edx, byte [eax + 1]
movzx eax, byte [eax]
test cl, 4
mov ecx, dword [esi + 0x88c9c]
jne 0x6efc06
add ecx, ebx
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push 0x20
push edx
call fcn.00701680
jmp 0x6efc1c
add ecx, ebx
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push 0x20
push edx
call fcn.00701c70
add esp, 0x18
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
add eax, 0x18
add ebx, 8
add ecx, edi
cmp ebx, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ecx
jl 0x6efbc0
mov eax, dword [ebp + 8]
test dword [eax + 0xc], 0x1000000
mov dword [esp + 0x2c], 1
je 0x6efc86
mov ecx, dword [esi + 0x18]
mov eax, 2
cmp ecx, eax
mov dword [esp + 0x2c], eax
je 0x6efc86
mov ecx, dword [esi + 0x88c98]
xor eax, eax
mov dword [ecx + 0x1c], eax
mov edx, dword [esi + 0x88c98]
mov dword [edx + 0x18], eax
mov ecx, dword [esi + 0x88c98]
mov dword [ecx + 0x14], eax
mov edx, dword [esi + 0x88c98]
mov dword [edx + 0x10], eax
xor ebx, ebx
mov dword [esp + 0x14], ebx
lea esp, [esp]
mov edx, dword [esp + 0x2c]
cmp edx, 4
mov dword [esp + 0x18], edx
jge 0x6efdfe
mov edi, dword [esp + 0x78]
lea eax, [edx + ebx*4]
add eax, ebx
mov ecx, eax
mov ebx, edx
shl ebx, 7
shl ecx, 4
lea eax, [eax + eax*2]
add ebx, edi
shl eax, 4
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], eax
jmp 0x6efcd0
mov edx, dword [esi + 0x88c98]
mov eax, dword [edx + ecx]
mov edi, dword [edx + ecx + 0xc]
add edx, ecx
add edi, eax
add edi, dword [edx + 8]
mov dword [esp + 0x90], edx
add edi, dword [edx + 4]
je 0x6efd68
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
xor ecx, ecx
test edi, edi
mov edi, dword [esp + 0x20]
sete cl
and eax, 4
neg ecx
inc edx
and ecx, edx
lea ecx, [ecx + ecx*2]
mov edx, dword [esi + ecx*4 + 0x88988]
mov ecx, dword [esi + 0x88c9c]
add ecx, edi
push ecx
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x84]
movzx edi, byte [ecx + 1]
movzx ecx, byte [ecx]
mov edx, dword [esi + 0x889c4]
push edi
push ecx
mov ecx, dword [esp + 0x5c]
push ecx
push ebx
call dword [edx + eax*4 + 4]
mov eax, dword [esi + 0x18]
add esp, 0x14
cmp eax, 2
je 0x6efd64
mov eax, dword [esp + 0x90]
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 8]
test dword [edx + 0xc], 0x1000000
je 0x6efdc4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add eax, 0x30
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x18]
inc edx
add ecx, 0x10
add ebx, 0x80
cmp eax, 2
mov dword [esp + 0x18], edx
je 0x6efdc4
mov edx, dword [esi + 0x88c98]
xor eax, eax
mov dword [ecx + edx + 0xc], eax
mov edx, dword [esi + 0x88c98]
mov dword [ecx + edx + 8], eax
mov edx, dword [esi + 0x88c98]
mov dword [ecx + edx + 4], eax
mov edx, dword [esi + 0x88c98]
mov dword [ecx + edx], eax
jmp 0x6efdc6
xor eax, eax
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
inc edx
add edi, 0x30
add ecx, 0x10
add ebx, 0x80
cmp edx, 4
mov dword [esp + 0x50], 0x20
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ecx
jl 0x6efcd0
mov ebx, dword [esp + 0x14]
jmp 0x6efe00
xor eax, eax
cmp ebx, eax
jne 0x6eff99
push 0x20
push 0x20
lea eax, [esp + 0x3a8]
push eax
lea ecx, [esp + 0x1ac]
push ecx
call dword [esi + 0x889c8]
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 0x6c]
lea edx, [esp + 0x1b4]
mov dword [esp + 0x88], edx
lea ecx, [eax*4]
mov edx, ecx
mov ecx, edi
sub ecx, edx
movq mm0, qword [ecx + 8]
movq mm1, qword [ecx + eax]
movq mm2, qword [ecx + eax + 8]
movq mm3, qword [ecx]
movq qword [esp + 0x134], mm3
movq qword [esp + 0x13c], mm0
movq qword [esp + 0x154], mm1
movq qword [esp + 0x15c], mm2
movq mm0, qword [ecx + eax*2 + 8]
movq mm3, qword [ecx + eax*2]
lea edx, [ecx + eax*2]
movq mm1, qword [edx + eax]
movq mm2, qword [edx + eax + 8]
mov ecx, dword [esp + 0x5c]
add edx, eax
movq qword [esp + 0x174], mm3
add esp, 0x10
test ecx, ecx
movq qword [esp + 0x16c], mm0
movq qword [esp + 0x184], mm1
movq qword [esp + 0x18c], mm2
je 0x6eff91
mov ecx, dword [esi + 0x88c98]
mov edx, dword [ecx + 0x9c]
add edx, dword [ecx + 0x98]
add ecx, 0x90
add edx, dword [ecx + 4]
add edx, dword [ecx]
je 0x6eff89
mov edx, dword [esi + 0x889b8]
lea ecx, [eax*8]
mov ebx, ecx
mov ecx, edi
sub ecx, ebx
movq mm0, qword [ecx + 8]
movq mm1, qword [ecx + eax]
movq mm2, qword [ecx + eax + 8]
movq mm3, qword [ecx]
movq qword [esp + 0xa4], mm3
movq qword [esp + 0xac], mm0
movq qword [esp + 0xc4], mm1
lea edi, [ecx + eax*2]
movq qword [esp + 0xcc], mm2
movq mm0, qword [ecx + eax*2 + 8]
movq mm3, qword [ecx + eax*2]
movq mm1, qword [edi + eax]
movq mm2, qword [edi + eax + 8]
mov ecx, dword [esi + 0x88c9c]
add edi, eax
mov eax, dword [esi + 0x889c4]
movq qword [esp + 0xe4], mm3
movq qword [esp + 0xec], mm0
add ecx, 0x1b0
push ecx
movq qword [esp + 0x108], mm1
movq qword [esp + 0x110], mm2
movzx ecx, byte [edx + 1]
movzx edx, byte [edx]
push ecx
push edx
lea ecx, [esp + 0x1d0]
push 0x40
push ecx
call dword [eax + 4]
mov ebx, dword [esp + 0x28]
add esp, 0x14
mov dword [esp + 0x50], 0x40
mov dword [esp + 0x2c], 0
inc ebx
cmp ebx, 2
mov dword [esp + 0x14], ebx
jl 0x6efc90
mov ecx, dword [esp + 0x3c]
cmp ecx, 4
jge 0x6effdc
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
push 0x20
push eax
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x148]
push ecx
mov ecx, dword [esp + 0x48]
sub eax, edx
push eax
call dword [esi + ecx*4 + 0x889d8]
mov ecx, dword [esp + 0x4c]
add esp, 0x10
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x6f00b7
mov esi, dword [ebp + 0x18]
mov edx, dword [esi]
movq mm0, qword [esp + 0xcc]
movq mm1, qword [esp + 0xe4]
movq mm2, qword [esp + 0xec]
movq mm3, qword [esp + 0xc4]
mov edi, dword [esp + 0x5c]
mov ebx, edx
imul ebx, ebx, 7
mov eax, edi
sub eax, ebx
movq qword [eax], mm3
movq qword [eax + 8], mm0
movq qword [eax + edx], mm1
movq qword [eax + edx + 8], mm2
movq mm0, qword [esp + 0x10c]
movq mm1, qword [esp + 0x124]
movq mm2, qword [esp + 0x12c]
movq mm3, qword [esp + 0x104]
movq qword [eax + edx*2], mm3
movq qword [eax + edx*2 + 8], mm0
lea eax, [eax + edx*2]
add eax, edx
test ecx, ecx
movq qword [eax], mm1
movq qword [eax + 8], mm2
je 0x6f00b7
mov esi, dword [esi]
mov eax, ecx
mov edx, esi
imul edx, edx, 7
dec eax
neg eax
sbb eax, eax
and eax, 0x28
add eax, 0xffffffe8
sub eax, edx
add eax, edi
dec ecx
neg ecx
sbb ecx, ecx
and ecx, 0xf
sub ecx, edx
add ecx, edi
add eax, 0x10
mov edx, 4
nop
movzx edi, byte [ecx]
imul edi, edi, 0x1010101
movd mm0, edi
movq mm1, mm0
punpckldq mm1, mm0
movq mm0, mm1
movq qword [eax - 0x10], mm0
movq qword [eax - 8], mm0
movq qword [eax], mm0
add ecx, esi
add eax, esi
dec edx
jne 0x6f0090
mov ecx, dword [esp + 0x6ac]
call fcn.0073ffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret