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

Disassembly:
sub esp, 0x110
mov eax, dword [0x75a1c0]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x120]
push ebx
mov ebx, dword [esp + 0x118]
push ebp
push esi
push edi
mov eax, dword [ebx + 0x70f0]
mov ebp, ecx
mov edi, dword [esp + 0x12c]
mov esi, dword [ebx + 0x7100]
add edi, ecx
mov dword [esp + 0x5c], ebx
add esi, eax
cmp dword [esp + 0x138], 0
mov dword [esp + 0x64], ecx
mov ecx, dword [ebx + 0x703c]
mov ebx, dword [ebx + 0x7040]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], eax
mov ebx, dword [ebx + 0x7044]
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ebx
je 0x675805
mov edi, dword [esp + 0x5c]
mov eax, 4
cmp dword [esp + 0x138], eax
push dword [esp + 0x134]
cmovl eax, dword [esp + 0x13c]
mov dword [esp + 0x58], eax
mov dword [edi + 0x708c], 1
mov eax, dword [edi + 0x682c]
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x6830]
mov dword [esp + 0xcc], eax
mov eax, dword [edi + 0x6834]
mov dword [esp + 0xd0], eax
mov eax, ebp
sub eax, ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xdc], eax
lea eax, [esp + 0x9c]
push edx
push eax
mov dword [esp + 0xe0], ebx
call fcn.0066eda0
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x6748cf
mov eax, 0xffffffec
jmp 0x67582f
mov esi, dword [edi]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0x9c], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x73a368]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x98]
push eax
call fcn.0066ef10
mov ecx, dword [esp + 0xa0]
lea eax, [esi + 8]
mov esi, dword [edi + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0xa0], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x73a368]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x9c]
push eax
call fcn.0066ef10
mov ecx, dword [esp + 0xa4]
lea eax, [esi + 8]
mov esi, dword [edi + 4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0xa4], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x73a368]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0xa0]
push eax
call fcn.0066ef10
mov ebx, dword [esp + 0xa8]
lea eax, [esp + 0xe8]
add esi, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xc0]
add esp, 0xc
mov dword [esp + 0xc0], esi
xor edx, edx
mov esi, dword [esp + 0x98]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x24], edx
cmp ebx, 0x20
jbe 0x6749f7
mov edi, 3
jmp 0x674a58
cmp ecx, eax
jb 0x674a09
mov eax, ebx
and ebx, 7
shr eax, 3
sub ecx, eax
xor edi, edi
jmp 0x674a3a
cmp ecx, ebp
jne 0x674a17
cmp ebx, 0x20
sbb edi, edi
add edi, 2
jmp 0x674a58
mov edx, ebx
mov eax, ecx
shr edx, 3
xor edi, edi
sub eax, edx
cmp eax, ebp
jae 0x674a2f
mov edx, ecx
mov edi, 1
sub edx, ebp
imul eax, edx, 0xfffffff8
sub ecx, edx
mov edx, dword [esp + 0x24]
add ebx, eax
mov esi, dword [ecx]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ecx
cmp edx, dword [esp + 0x54]
jge 0x674e30
cmp edi, 2
ja 0x6748c5
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov edx, dword [ecx + eax*8]
mov ebp, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, ebp
mov dword [esp + 0x60], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x44], edx
mov edx, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, edi
mov dword [esp + 0x20], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x18], edi
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x38]
mov ecx, eax
mov dword [esp + 0x70], eax
mov eax, edx
shrd ecx, eax, 0x10
mov dword [esp + 0x10], edx
cmp cl, 1
jbe 0x674be2
cmp dword [esp + 0x13c], 0
je 0x674b83
cmp cl, 0x19
jb 0x674b83
movzx edi, cl
mov eax, 0x20
sub eax, ebx
mov edx, edi
cmp edi, eax
mov ecx, ebx
cmovae edx, eax
and ecx, 0x1f
shl esi, cl
lea eax, [esp + 0x98]
mov ecx, edx
sub edi, edx
neg ecx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
shr esi, cl
mov ecx, edi
shl esi, cl
add esi, dword [esp + 0x10]
push eax
mov dword [esp + 0x14], esi
call fcn.0066ef10
add esp, 4
test edi, edi
je 0x674bca
lea eax, [esp + 0x98]
push edi
push eax
call fcn.0066eee0
mov edi, dword [esp + 0x20]
mov ecx, esi
mov ebx, dword [esp + 0xa4]
add esp, 8
mov esi, dword [esp + 0x98]
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x674c5c
movzx eax, cl
mov ecx, ebx
and ecx, 0x1f
add ebx, eax
shl esi, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
lea eax, [esp + 0x98]
shr esi, cl
add esi, edx
push eax
mov dword [esp + 0x14], esi
call fcn.0066ef10
mov ebx, dword [esp + 0xa0]
mov ecx, esi
mov esi, dword [esp + 0x9c]
add esp, 4
jmp 0x674c5c
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp 0x674c5c
xor eax, eax
test ebp, ebp
sete al
mov dword [esp + 0x10], eax
test cl, cl
jne 0x674c0f
test ebp, ebp
je 0x674c02
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
jmp 0x674c7f
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
jmp 0x674c6a
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
xor ecx, ecx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x9c], ebx
add edx, dword [esp + 0x10]
cmp edx, 3
jne 0x674c45
mov eax, dword [esp + 0xc4]
add eax, 0xffffffff
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x674c5c
mov eax, dword [esp + edx*4 + 0xc4]
test eax, eax
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
cmp edx, 1
je 0x674c6a
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], edi
test al, al
je 0x674cbe
movzx edx, al
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
neg edx
mov dword [esp + 0x9c], ebx
mov eax, esi
and edx, 0x1f
shl eax, cl
mov ecx, edx
shr eax, cl
add edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x30]
movzx edi, cl
movzx eax, al
add eax, edi
cmp eax, 0x14
jb 0x674ced
lea eax, [esp + 0x98]
push eax
call fcn.0066ef10
mov ebx, dword [esp + 0xa0]
add esp, 4
mov esi, dword [esp + 0x98]
cmp byte [esp + 0x30], 0
mov dword [esp + 0x78], ebp
jbe 0x674d17
mov ecx, ebx
add ebx, edi
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
neg edi
shl esi, cl
and edi, 0x1f
mov ecx, edi
shr esi, cl
add ebp, esi
mov dword [esp + 0x78], ebp
lea eax, [esp + 0x98]
push eax
call fcn.0066ef10
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, ebp
cmp dword [esp + 0x14], ecx
mov edi, dword [esp + 0xa0]
cmova eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x14]
movzx esi, byte [esp + 0x4b]
add eax, ecx
mov ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0x88], eax
mov edx, ebx
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, edi
neg ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x64]
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x73a368]
movzx eax, ax
add edx, eax
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0x6f]
lea ecx, [edi + edx]
lea eax, [edi + edx]
neg ecx
mov dword [esp + 0xa0], eax
and ecx, 0x1f
mov eax, dword [esp + 0x24]
shr ebx, cl
and ebx, dword [edx*4 + 0x73a368]
movzx eax, ax
add ebx, eax
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0xc4], ebx
call fcn.0066ef10
movzx eax, byte [esp + 0x7b]
add esp, 8
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
add ebx, eax
mov edx, dword [esp + 0x38]
mov ecx, ebx
movups xmm0, xmmword [esp + 0x78]
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
mov edi, esi
shr edi, cl
mov ecx, dword [esp + 0x1c]
and edi, dword [eax*4 + 0x73a368]
movzx eax, dx
mov edx, dword [esp + 0x24]
add edi, eax
movups xmmword [ecx], xmm0
inc edx
mov dword [esp + 0x38], edi
add ecx, 0x10
mov dword [esp + 0xb4], edi
mov dword [esp + 0x1c], ecx
jmp 0x6749d2
cmp ebx, 0x20
jbe 0x674e3c
mov edi, 3
jmp 0x674e96
cmp ecx, eax
jb 0x674e4e
mov eax, ebx
and ebx, 7
shr eax, 3
sub ecx, eax
xor edi, edi
jmp 0x674e7f
cmp ecx, ebp
jne 0x674e5c
cmp ebx, 0x20
sbb edi, edi
add edi, 2
jmp 0x674e96
mov edx, ebx
mov eax, ecx
shr edx, 3
xor edi, edi
sub eax, edx
cmp eax, ebp
jae 0x674e74
mov edx, ecx
mov edi, 1
sub edx, ebp
imul eax, edx, 0xfffffff8
sub ecx, edx
mov edx, dword [esp + 0x24]
add ebx, eax
mov esi, dword [ecx]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x138]
cmp edx, eax
jge 0x675543
cmp edi, 2
ja 0x6748c5
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov edx, dword [ecx + eax*8]
mov ebp, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, ebp
mov dword [esp + 0x60], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x70], edx
mov edx, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
mov ecx, edx
mov eax, edi
mov dword [esp + 0x44], edx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x18], edi
mov edx, dword [eax + ecx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x78], eax
mov eax, edx
shrd ecx, eax, 0x10
mov dword [esp + 0x20], edx
cmp cl, 1
jbe 0x675029
cmp dword [esp + 0x13c], 0
je 0x674fca
cmp cl, 0x19
jb 0x674fca
movzx edi, cl
mov eax, 0x20
sub eax, ebx
mov edx, edi
cmp edi, eax
mov ecx, ebx
cmovae edx, eax
and ecx, 0x1f
shl esi, cl
lea eax, [esp + 0x98]
mov ecx, edx
sub edi, edx
neg ecx
add ebx, edx
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
shr esi, cl
mov ecx, edi
shl esi, cl
add esi, dword [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.0066ef10
add esp, 4
test edi, edi
je 0x675011
lea eax, [esp + 0x98]
push edi
push eax
call fcn.0066eee0
mov edi, dword [esp + 0x20]
mov ecx, esi
mov ebx, dword [esp + 0xa4]
add esp, 8
mov esi, dword [esp + 0x98]
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6750a6
movzx eax, cl
mov ecx, ebx
and ecx, 0x1f
add ebx, eax
shl esi, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x9c], ebx
and ecx, 0x1f
lea eax, [esp + 0x98]
shr esi, cl
add esi, edx
push eax
mov dword [esp + 0x14], esi
call fcn.0066ef10
mov ebx, dword [esp + 0xa0]
mov ecx, esi
mov esi, dword [esp + 0x9c]
add esp, 4
jmp 0x6750a6
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
jmp 0x6750a6
xor eax, eax
test ebp, ebp
sete al
mov dword [esp + 0x20], eax
test cl, cl
jne 0x675059
test ebp, ebp
je 0x67504c
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10], ecx
jmp 0x6750c9
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], ecx
jmp 0x6750b4
mov ecx, ebx
mov eax, esi
and ecx, 0x1f
inc ebx
shl eax, cl
xor ecx, ecx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x9c], ebx
add edx, dword [esp + 0x20]
cmp edx, 3
jne 0x67508f
mov eax, dword [esp + 0xc4]
add eax, 0xffffffff
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6750a6
mov eax, dword [esp + edx*4 + 0xc4]
test eax, eax
sete cl
add ecx, eax
mov dword [esp + 0x10], ecx
cmp edx, 1
je 0x6750b4
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xc4], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], edi
test al, al
je 0x67510e
movzx edx, al
mov ecx, ebx
add ebx, edx
and ecx, 0x1f
neg edx
mov dword [esp + 0x9c], ebx
and edx, 0x1f
mov eax, esi
shl eax, cl
mov ecx, edx
shr eax, cl
add edi, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x8c], edi
mov ecx, dword [esp + 0x30]
movzx edi, cl
movzx eax, al
add eax, edi
cmp eax, 0x14
jb 0x67513d
lea eax, [esp + 0x98]
push eax
call fcn.0066ef10
mov ebx, dword [esp + 0xa0]
add esp, 4
mov esi, dword [esp + 0x98]
cmp byte [esp + 0x30], 0
mov dword [esp + 0x88], ebp
jbe 0x67516d
mov ecx, ebx
add ebx, edi
and ecx, 0x1f
mov dword [esp + 0x9c], ebx
neg edi
shl esi, cl
and edi, 0x1f
mov ecx, edi
shr esi, cl
add ebp, esi
mov dword [esp + 0x88], ebp
lea eax, [esp + 0x98]
push eax
call fcn.0066ef10
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd4]
add ecx, ebp
cmp dword [esp + 0x14], ecx
mov edi, dword [esp + 0xa0]
cmova eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x14]
movzx esi, byte [esp + 0x77]
add eax, ecx
mov ebx, dword [esp + 0x9c]
add edi, esi
mov dword [esp + 0x98], eax
mov edx, ebx
mov eax, dword [esp + 0x1c]
add eax, ecx
mov ecx, edi
neg ecx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x64]
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x73a368]
movzx eax, ax
add edx, eax
mov dword [esp + 0xb0], edx
movzx edx, byte [esp + 0x6f]
lea ecx, [edx + edi]
lea eax, [edi + edx]
neg ecx
mov dword [esp + 0xa0], eax
and ecx, 0x1f
mov eax, dword [esp + 0x48]
shr ebx, cl
and ebx, dword [edx*4 + 0x73a368]
movzx eax, ax
add ebx, eax
lea eax, [esp + 0x9c]
push eax
mov dword [esp + 0xc4], ebx
call fcn.0066ef10
movzx eax, byte [esp + 0x83]
add esp, 8
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x98]
add ebx, eax
mov ecx, ebx
mov dword [esp + 0x9c], ebx
neg ecx
mov edx, esi
and ecx, 0x1f
shr edx, cl
lea ecx, [esp + 0xdc]
and edx, dword [eax*4 + 0x73a368]
mov eax, dword [esp + 0x2c]
movzx eax, ax
add edx, eax
mov eax, dword [esp + 0x24]
and eax, 3
mov dword [esp + 0x38], edx
shl eax, 4
add eax, ecx
mov dword [esp + 0xb4], edx
mov dword [esp + 0x20], eax
movups xmm1, xmmword [eax]
mov eax, dword [esp + 0x14]
movaps xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
movd ecx, xmm0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
lea ebp, [edx + eax]
mov dword [esp + 0x44], ebp
lea edi, [ecx + edx]
mov ecx, dword [esp + 0x28]
add ecx, edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], ecx
psrldq xmm1, 8
mov edx, ebp
movd ecx, xmm1
sub edx, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x4c]
cmp dword [esp + 0x30], ecx
ja 0x6754b3
lea ecx, [edi + eax]
mov eax, dword [esp + 0x50]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x6754b3
cmp dword [esp + 0x1c], 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jbe 0x67533f
movups xmm0, xmmword [ecx + 0x10]
mov ebp, dword [esp + 0x1c]
add eax, 0x10
add ebp, 0xfffffff0
add ecx, 0x20
add ebp, eax
mov dword [esp + 0x20], ebp
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, ebp
mov ebp, dword [esp + 0x44]
jae 0x67533f
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, dword [esp + 0x20]
jb 0x675325
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov eax, ebp
sub eax, dword [esp + 0x34]
cmp ecx, eax
jbe 0x6753bd
mov eax, ebp
sub eax, dword [esp + 0x58]
cmp ecx, eax
ja 0x675537
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
add edx, eax
lea eax, [edx + ecx]
cmp eax, dword [esp + 0x3c]
ja 0x675392
push ecx
push edx
push ebp
call fcn.0067d850
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x6754f2
mov edi, dword [esp + 0x3c]
sub edi, edx
push edi
push edx
push ebp
call fcn.0067d850
mov eax, dword [esp + 0x1c]
add ebp, edi
mov edx, dword [esp + 0x40]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
sub eax, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x6753c1
mov eax, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x675402
movups xmm0, xmmword [edx]
add eax, ebp
lea ecx, [edx + 0x10]
mov dword [esp + 0x44], eax
lea eax, [ebp + 0x10]
mov edx, dword [esp + 0x44]
movups xmmword [ebp], xmm0
cmp eax, edx
jae 0x6753f9
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, edx
jb 0x6753e1
mov ebp, dword [esp + 0x14]
jmp 0x6754f2
cmp ecx, 8
jae 0x675437
movzx eax, byte [edx]
mov byte [ebp], al
movzx eax, byte [edx + 1]
mov byte [ebp + 1], al
movzx eax, byte [edx + 2]
mov byte [ebp + 2], al
movzx eax, byte [edx + 3]
add edx, dword [ecx*4 + 0x73a328]
mov byte [ebp + 3], al
mov eax, dword [edx]
sub edx, dword [ecx*4 + str._b_b_b_a_b_t_n_v]
mov dword [ebp + 4], eax
jmp 0x675442
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, 8
jbe 0x6754ad
lea edi, [edx + 8]
lea edx, [ebp + 8]
mov eax, edx
lea ebp, [ecx - 8]
sub eax, edi
add ebp, edx
cmp eax, 0x10
jge 0x675481
sub edi, edx
mov eax, dword [edx + edi]
mov ecx, dword [edx + edi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, ebp
jb 0x675461
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x6754f2
movups xmm0, xmmword [edi]
lea eax, [edi + 0x10]
movups xmmword [edx], xmm0
add edx, 0x10
cmp edx, ebp
jae 0x6754a9
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, ebp
jb 0x675491
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
jmp 0x6754f2
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x1c]
push dword [esp + 0x3c]
movups xmm0, xmmword [ecx]
push dword [esp + 0x58]
push eax
sub esp, 0x10
mov eax, esp
push dword [esp + 0x74]
movups xmmword [eax], xmm0
push ebp
call fcn.006769b0
mov edi, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
cmp edi, 0xffffff88
ja 0x67553c
mov edx, dword [esp + 0x24]
add ebp, edi
movups xmm0, xmmword [esp + 0x88]
mov ecx, dword [esp + 0xa0]
mov eax, edx
and eax, 3
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xa4]
add eax, eax
inc edx
mov dword [esp + 0x24], edx
movups xmmword [esp + eax*8 + 0xdc], xmm0
mov eax, dword [esp + 0xa8]
jmp 0x674e30
mov edi, 0xffffffec
mov eax, edi
jmp 0x67582f
sub edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x24], edx
cmp edx, eax
jge 0x6757ce
nop word [eax + eax]
mov eax, edx
lea edx, [esp + 0xdc]
and eax, 3
shl eax, 4
add eax, edx
mov dword [esp + 0x44], eax
movups xmm1, xmmword [eax]
movd eax, xmm1
movaps xmm0, xmm1
psrldq xmm0, 4
psrldq xmm1, 8
movd esi, xmm1
mov dword [esp + 0x54], eax
lea edi, [eax + ebp]
mov dword [esp + 0x1c], esi
movd ebp, xmm0
mov edx, edi
sub edx, esi
lea ebx, [eax + ebp]
add eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x4c]
ja 0x67576e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
add ecx, ebx
add eax, 0xffffffe0
cmp ecx, eax
ja 0x67576e
cmp dword [esp + 0x54], 0x10
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
jbe 0x67561e
movups xmm0, xmmword [ecx + 0x10]
mov esi, dword [esp + 0x54]
add eax, 0x10
add esi, 0xfffffff0
add ecx, 0x20
add esi, eax
mov dword [esp + 0x44], esi
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, esi
mov esi, dword [esp + 0x1c]
jae 0x67561e
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, dword [esp + 0x44]
jb 0x675604
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], eax
mov eax, edi
sub eax, ecx
cmp esi, eax
jbe 0x675682
mov eax, edi
sub eax, dword [esp + 0x58]
cmp esi, eax
ja 0x675814
mov esi, dword [esp + 0x3c]
mov eax, esi
sub eax, ecx
add edx, eax
lea eax, [edx + ebp]
cmp eax, esi
ja 0x675669
push ebp
push edx
push edi
call fcn.0067d850
mov ebp, dword [esp + 0x20]
add esp, 0xc
jmp 0x6757ad
sub esi, edx
push esi
push edx
push edi
call fcn.0067d850
mov edx, dword [esp + 0x40]
add edi, esi
add esp, 0xc
sub ebp, esi
mov esi, dword [esp + 0x1c]
cmp esi, 0x10
jb 0x6756c1
movups xmm0, xmmword [edx]
lea esi, [edi + ebp]
lea eax, [edi + 0x10]
lea ecx, [edx + 0x10]
movups xmmword [edi], xmm0
cmp eax, esi
jae 0x6756b8
nop word [eax + eax]
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x20]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx - 0x10]
movups xmmword [eax + 0x10], xmm0
add eax, 0x20
cmp eax, esi
jb 0x6756a0
mov ebp, dword [esp + 0x14]
jmp 0x6757ad
cmp esi, 8
jae 0x6756f5
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
movzx eax, byte [edx + 3]
add edx, dword [esi*4 + 0x73a328]
mov byte [edi + 3], al
mov eax, dword [edx]
sub edx, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov dword [edi + 4], eax
jmp 0x6756ff
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
cmp ebp, 8
jbe 0x6756b8
lea esi, [edx + 8]
lea edx, [edi + 8]
mov eax, edx
lea edi, [edx - 8]
sub eax, esi
add edi, ebp
cmp eax, 0x10
jge 0x67573c
sub esi, edx
nop word [eax + eax]
mov eax, dword [edx + esi]
mov ecx, dword [edx + esi + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, edi
jb 0x675720
mov ebp, dword [esp + 0x14]
jmp 0x6757ad
movups xmm0, xmmword [esi]
lea eax, [esi + 0x10]
movups xmmword [edx], xmm0
add edx, 0x10
cmp edx, edi
jae 0x6756b8
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmmword [edx], xmm0
movups xmm0, xmmword [eax - 0x10]
movups xmmword [edx + 0x10], xmm0
add edx, 0x20
cmp edx, edi
jb 0x675750
mov ebp, dword [esp + 0x14]
jmp 0x6757ad
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x44]
push dword [esp + 0x5c]
mov ebp, dword [esp + 0x1c]
push dword [esp + 0x3c]
movups xmm0, xmmword [ecx]
push dword [esp + 0x58]
push eax
sub esp, 0x10
mov eax, esp
push dword [esp + 0x74]
movups xmmword [eax], xmm0
push ebp
call fcn.006769b0
mov ebx, eax
add esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
cmp ebx, 0xffffff88
ja 0x675819
mov edx, dword [esp + 0x24]
add ebp, ebx
inc edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], edx
cmp edx, dword [esp + 0x138]
jl 0x675560
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov dword [ebx + 0x682c], eax
mov eax, dword [esp + 0xc8]
mov dword [ebx + 0x6830], eax
mov eax, dword [esp + 0xcc]
mov dword [ebx + 0x6834], eax
mov eax, dword [esp + 0x28]
sub esi, eax
sub edi, ebp
cmp esi, edi
jbe 0x67581d
mov eax, 0xffffffba
jmp 0x67582f
mov ebx, 0xffffffec
mov eax, ebx
jmp 0x67582f
push esi
push eax
push ebp
call fcn.0067d850
add esp, 0xc
sub esi, dword [esp + 0x64]
lea eax, [esi + ebp]
mov ecx, dword [esp + 0x11c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0067bc9f
add esp, 0x110
ret