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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov esi, dword [esp + 0xbc]
mov eax, dword [esp + 0xb0]
xor edi, edi
test eax, eax
cmovg edi, eax
add edi, edx
mov dword [esp + 0x68], edi
mov ebp, dword [ecx + 0x7578]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], ecx
mov ecx, dword [ecx + 0x760c]
mov dword [esp + 0x60], ecx
test esi, esi
je 0x75fe7a
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xb8]
mov eax, dword [ecx + 0x74b0]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x74b4]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x74b8]
mov dword [esp + 0x6c], eax
mov dword [ecx + 0x750c], 1
mov eax, dword [ecx + 0x6834]
mov dword [esp + 0x58], eax
movsd xmm0, qword [ecx + 0x682c]
movsd qword [esp + 0x50], xmm0
test ebp, ebp
je 0x76159d
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x30], edi
lea ebx, [edi + 4]
mov dword [esp + 0x34], ebx
cmp ebp, 4
mov dword [esp + 0x14], edx
jb 0x75fec6
lea ecx, [edi + ebp]
add ecx, 0xfffffffc
mov dword [esp + 0x2c], ecx
mov eax, dword [edi + ebp - 4]
mov dword [esp + 0x24], eax
cmp eax, 0x1000000
jb 0x76159d
cmp ebp, 0xffffff88
ja 0x76159d
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], esi
add ebp, 0xfffffffc
mov ecx, eax
shr ecx, 0x18
bsr ebx, ecx
not ebx
add ebx, 9
jmp 0x75ff16
mov ebx, edx
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x7610], 2
jne 0x760972
mov edi, dword [esp + 0x60]
sub edi, ebp
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov eax, 0xffffffba
cmp edi, ecx
ja 0x7615a9
test ebx, ebx
je 0x760953
mov esi, edi
push esi
push ebp
push ebx
mov esi, edx
call fcn.00786d78
mov edx, esi
add esp, 0xc
add ebx, edi
jmp 0x760955
mov dword [esp + 0x2c], edi
movzx eax, byte [edi]
mov dword [esp + 0x24], eax
cmp ebp, 2
je 0x75fee4
cmp ebp, 3
jne 0x75fef1
movzx ecx, byte [edi + 2]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [edi + 1]
shl ecx, 8
add eax, ecx
mov dword [esp + 0x24], eax
movzx ecx, byte [edi + ebp - 1]
test ecx, ecx
je 0x76159d
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], esi
bsr ebx, ecx
xor ebx, 0x1f
shl ebp, 3
sub ebx, ebp
add ebx, 9
xor ebp, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov edi, dword [edx + 4]
add ebx, edi
mov ecx, ebx
neg cl
mov esi, eax
shr esi, cl
and esi, dword [edi*4 + 0xa95648]
mov dword [esp + 0x38], esi
cmp ebx, 0x21
jae 0x7615cd
mov ecx, dword [esp + 0xb4]
lea edi, [ecx + ebp]
cmp ebp, 4
jge 0x75ff74
test ebp, ebp
je 0x7609af
mov eax, ebx
shr eax, 3
mov ecx, edi
sub ecx, eax
cmp ecx, dword [esp + 0xb4]
cmovb eax, ebp
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x75ff82
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov dword [esp + 0x28], ebx
mov eax, dword [edi]
mov dword [esp + 0x24], eax
add edx, 8
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 8]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
mov ebp, eax
shr ebp, cl
and ebp, dword [esi*4 + 0xa95648]
mov dword [esp + 0x40], ebp
cmp ebx, 0x21
jae 0x7615df
cmp edi, dword [esp + 4]
jae 0x75ffe9
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x75fffd
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x75fff7
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov eax, dword [edi]
mov dword [esp + 0x24], eax
add edx, 8
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 4]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
shr eax, cl
and eax, dword [esi*4 + 0xa95648]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], eax
cmp ebx, 0x21
jae 0x7615f1
cmp edi, dword [esp + 4]
jae 0x76005c
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x760074
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x76006a
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov dword [esp + 0x28], ebx
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
add eax, 0x682c
mov dword [esp + 0x98], eax
add edx, 8
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x10]
mov dword [esp + 0x90], ecx
add eax, 0x18
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x14]
nop word [eax + eax]
mov dword [esp], ebx
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov esi, dword [edi + edx*8 + 4]
movzx ebx, byte [edi + edx*8 + 2]
mov dword [esp + 8], ebx
movzx ebx, word [edi + edx*8]
mov dword [esp + 0x84], ebx
movzx edx, byte [edi + edx*8 + 3]
mov dword [esp + 0x78], edx
mov edx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x10], edx
movzx ebx, byte [eax + ecx*8 + 2]
movzx edx, word [eax + ecx*8]
mov dword [esp + 0x80], edx
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov ebp, dword [eax + ecx*8 + 4]
movzx edx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0xc], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x88], eax
cmp edx, 2
mov dword [esp + 4], esi
jb 0x7601c0
cmp dword [esp + 0xc0], 0
je 0x7601f0
cmp dl, 0x19
jb 0x7601f0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov ecx, eax
shl edi, cl
mov cl, 5
sub cl, dl
shr edi, cl
lea ecx, [edx + eax]
add ecx, 0xfffffffb
cmp ecx, 0x21
jae 0x7608cc
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jae 0x760262
mov eax, dword [esp + 0x30]
mov edx, esi
sub edx, eax
je 0x76035e
mov dword [esp + 0x18], ebp
mov ebp, ecx
shr ebp, 3
mov dword [esp + 0x74], eax
mov eax, esi
sub eax, ebp
cmp eax, dword [esp + 0x74]
cmovb ebp, edx
sub esi, ebp
mov dword [esp + 0x2c], esi
shl ebp, 3
sub ecx, ebp
mov ebp, dword [esp + 0x18]
jmp 0x760270
xor eax, eax
test esi, esi
sete al
test edx, edx
jne 0x760367
xor ecx, ecx
test esi, esi
setne cl
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + 0x50]
lea ecx, [eax + ecx*4]
jmp 0x760299
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl esi, cl
mov ecx, edx
neg cl
shr esi, cl
add eax, edx
mov dword [esp + 0x28], eax
add esi, ebp
cmp eax, 0x21
jae 0x76089d
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x760248
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x76028d
mov dword [esp + 0x18], edi
mov edi, eax
shr edi, 3
mov ebp, ecx
sub ebp, edi
cmp ebp, dword [esp + 0x18]
cmovb edi, edx
sub ecx, edi
mov dword [esp + 0x2c], ecx
shl edi, 3
sub eax, edi
jmp 0x760256
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
jmp 0x76028d
mov edx, ecx
shr edx, 3
sub esi, edx
mov dword [esp + 0x2c], esi
and ecx, 7
mov dword [esp + 0x28], ecx
mov esi, dword [esi]
mov dword [esp + 0x24], esi
shl edi, 5
add edi, ebp
shl esi, cl
shr esi, 0x1b
add esi, edi
add ecx, 5
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], esi
test ebx, ebx
je 0x7602c7
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
mov dword [esp + 0x28], eax
add dword [esp + 0x10], edx
mov esi, dword [esp + 4]
add ebx, dword [esp + 8]
cmp ebx, 0x14
mov ebx, dword [esp]
jb 0x760338
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jae 0x76039c
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x760320
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x760338
mov ebp, esi
mov esi, eax
shr esi, 3
mov ebx, ecx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp]
cmovb esi, edx
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
mov esi, ebp
jmp 0x76032e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov ebp, ebx
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x7603b0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
mov dword [esp + 0x28], eax
add esi, edx
jmp 0x7603b4
mov esi, dword [esp + 0x18]
jmp 0x76027a
add ebp, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
shl eax, cl
shr eax, 0x1f
inc ecx
mov dword [esp + 0x28], ecx
add eax, ebp
cmp eax, 3
jne 0x7608aa
mov eax, dword [esp + 0x50]
dec eax
cmp eax, 1
mov esi, 0
sbb esi, esi
or esi, eax
jmp 0x76028d
mov dword [esp + 0x2c], 0xa956c8
mov ebp, ebx
mov ebx, dword [esp + 8]
test ebx, ebx
jne 0x760342
nop
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
cmp eax, 0x21
mov dword [esp + 4], esi
mov ebx, ebp
jae 0x7606f4
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x34]
jae 0x760430
mov esi, dword [esp + 0x30]
mov ecx, edx
sub ecx, esi
je 0x760405
mov edi, eax
shr edi, 3
mov ebx, edx
sub ebx, edi
cmp ebx, esi
mov ebx, dword [esp]
cmovb edi, ecx
sub edx, edi
mov dword [esp + 0x2c], edx
shl edi, 3
sub eax, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 4]
cmp edi, 1
jne 0x76044d
mov eax, dword [esp + 0x64]
lea ecx, [eax + esi]
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 0x760c]
cmp ecx, edx
jbe 0x760581
jmp 0x7609c6
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
cmp edi, 1
je 0x76040e
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x78]
add eax, esi
mov ecx, eax
neg cl
mov edi, ebx
shr edi, cl
and edi, dword [esi*4 + 0xa95648]
mov ebp, dword [esp + 0x7c]
add eax, ebp
mov ecx, eax
neg cl
mov esi, ebx
shr esi, cl
add edi, dword [esp + 0x84]
and esi, dword [ebp*4 + 0xa95648]
mov dword [esp + 0x38], edi
add esi, dword [esp + 0x80]
mov dword [esp + 0x48], esi
cmp eax, 0x21
jae 0x76078e
cmp edx, dword [esp + 0x34]
jae 0x7604d0
mov esi, dword [esp + 0x30]
mov ecx, edx
sub ecx, esi
je 0x7604e8
mov edi, eax
shr edi, 3
mov ebx, edx
sub ebx, edi
cmp ebx, esi
cmovb edi, ecx
sub edx, edi
mov dword [esp + 0x2c], edx
shl edi, 3
sub eax, edi
jmp 0x7604de
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x88]
add eax, edi
mov ecx, eax
neg cl
shr ebx, cl
and ebx, dword [edi*4 + 0xa95648]
add ebx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 0x21
jae 0x7607a0
cmp edx, dword [esp + 0x34]
mov ebx, dword [esp]
jae 0x760550
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x760568
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
mov esi, dword [esp + 4]
jmp 0x76055e
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
lea ecx, [eax + esi]
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 0x760c]
cmp ecx, edx
ja 0x7609bb
lea edi, [ecx - 0x20]
cmp ecx, dword [esp + 0x60]
ja 0x7606b5
mov edx, dword [esp + 0x10]
lea ebp, [esi + edx]
lea edx, [ebx + ebp]
cmp edx, edi
ja 0x7606b5
mov edx, dword [esp + 0x68]
sub edx, ebx
lea esi, [ebp + 0x20]
cmp edx, esi
mov esi, dword [esp + 4]
jb 0x7606b5
mov dword [esp + 8], ebp
mov edx, ebx
add ebx, esi
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
cmp esi, 0x11
jae 0x76070f
mov esi, ebx
mov ebp, dword [esp + 0x18]
sub esi, ebp
mov dword [esp + 0x64], ecx
mov ecx, ebx
mov edx, dword [esp + 0x20]
sub ecx, edx
cmp ecx, ebp
jae 0x760630
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ebp
jb 0x76159d
mov dword [esp + 4], ecx
sub esi, edx
mov edi, dword [esp + 0x6c]
lea eax, [edi + esi]
mov ebp, dword [esp + 0x10]
lea ecx, [eax + ebp]
cmp ecx, edi
jbe 0x760680
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.00786d78
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, ebp
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 4]
jmp 0x760634
mov edi, dword [esp + 0x10]
cmp ebp, 0x10
jb 0x760753
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x76068b
add edi, ebx
mov eax, 0x10
nop
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x760650
jmp 0x76068b
push ebp
push eax
push ebx
call fcn.00786d78
add esp, 0xc
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
ja 0x76094a
add ebx, eax
dec edi
mov dword [esp + 0x1c], edi
jne 0x7600b0
jmp 0x760d11
mov ecx, ebx
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push esi
push edi
call fcn.00762cb0
add esp, 0x24
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp eax, 0xffffff88
jbe 0x7606a3
jmp 0x76094a
mov dword [esp + 0x2c], 0xa956c8
mov edx, 0xa956c8
cmp edi, 1
je 0x76040e
jmp 0x76044d
add esi, 0xfffffff0
movups xmm0, xmmword [eax + 0x10]
mov edx, dword [esp]
movups xmmword [edx + 0x10], xmm0
cmp esi, 0x11
jl 0x7605cc
mov edx, dword [esp]
add edx, 0x20
xor esi, esi
movups xmm0, xmmword [eax + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [eax + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea edi, [edx + esi]
add edi, 0x20
add esi, 0x20
cmp edi, ebx
jb 0x76072e
jmp 0x7605cc
cmp ebp, 7
mov dword [esp + 4], ecx
ja 0x7607b0
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov eax, dword [ebp*4 + 0xa956cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [ebp*4 + 0xa956ec]
jmp 0x7607b8
mov dword [esp + 0x2c], 0xa956c8
mov edx, 0xa956c8
jmp 0x7604e8
mov dword [esp + 0x2c], 0xa956c8
mov ebx, dword [esp]
jmp 0x760568
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x76068b
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], eax
lea eax, [ebx + edi]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x18], 0xf
jg 0x7608dd
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov eax, dword [esp + 4]
cmp ebp, eax
mov ebx, eax
cmovb ebx, ebp
cmova eax, ebp
add ebx, edi
add ebx, eax
sub ebx, ebp
mov edi, dword [esp + 0x90]
add edi, eax
cmp ebx, edi
cmovbe ebx, edi
mov dword [esp + 4], eax
mov edi, dword [esp + 0x20]
add edi, eax
sub ebx, edi
add ebx, 0xfffffff7
cmp ebx, 0x18
jb 0x76091a
cmp dword [esp + 0x18], 0x20
jb 0x76091a
shr ebx, 3
inc ebx
mov dword [esp + 0x10], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x8c]
mov eax, dword [esp]
add edi, eax
mov ebp, dword [esp + 4]
sub ebp, eax
add ebp, edi
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x760855
cmp dword [esp + 0x10], ebx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
jne 0x760926
mov edx, esi
mov ebx, dword [esp]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
jbe 0x7606a3
jmp 0x76094a
mov dword [esp + 0x2c], 0xa956c8
jmp 0x76028d
mov ecx, dword [esp + eax*4 + 0x50]
cmp ecx, 1
mov esi, 0
sbb esi, esi
or esi, ecx
lea ecx, [esp + 0x50]
cmp eax, 1
jne 0x76028d
jmp 0x760299
mov dword [esp + 0x2c], 0xa956c8
mov esi, dword [esp + 0x18]
jmp 0x76027a
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x76068b
add ebx, 0x18
xor ecx, ecx
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x7608f5
jmp 0x76068b
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x760929
mov edx, esi
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
jbe 0x7606a3
mov dword [esp + 8], eax
jmp 0x7615a5
xor ebx, ebx
mov eax, dword [esp + 0x5c]
lea ebp, [eax + 0x7614]
mov dword [eax + 0x7610], 0
add eax, 0x17614
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x60]
sub edi, ebp
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov eax, 0xffffffba
cmp edi, ecx
ja 0x7615a9
test ebx, ebx
je 0x7609a6
mov esi, edi
push esi
push ebp
push ebx
mov esi, edx
call fcn.00786d70
mov edx, esi
add esp, 0xc
add ebx, edi
mov eax, ebx
jmp 0x7609a8
xor eax, eax
sub eax, edx
jmp 0x7615a9
mov edi, dword [esp + 0xb4]
jmp 0x75ff8c
cmp dword [esp + 0x1c], 0
jle 0x76159d
mov ebp, edx
sub ebp, eax
je 0x760a53
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov dword [esp + 8], 0xffffffba
cmp ebp, ecx
ja 0x7615a5
mov edi, ebx
sub edi, eax
add ebx, ebp
cmp edi, 0xfffffff8
mov dword [esp + 0xc], ebx
mov dword [esp + 0x60], ebp
jg 0x760a5e
cmp ebp, 7
jle 0x760a5e
cmp edi, 0xffffffef
ja 0x760af2
lea edx, [ebx - 0x20]
mov edi, edx
mov ebp, dword [esp]
sub edi, ebp
jb 0x760af5
movups xmm0, xmmword [eax]
movups xmmword [ebp], xmm0
cmp edi, 0x11
jl 0x760a48
mov ecx, 0x10
movups xmm0, xmmword [eax + ecx]
movups xmmword [ebp + ecx], xmm0
movups xmm0, xmmword [eax + ecx + 0x10]
movups xmmword [ebp + ecx + 0x10], xmm0
lea esi, [ecx + ebp]
add esi, 0x20
add ecx, 0x20
cmp esi, edx
jb 0x760a28
add eax, edi
mov esi, dword [esp + 4]
jmp 0x760af7
mov ecx, ebx
mov edi, dword [esp + 0x14]
jmp 0x760bab
test ebp, ebp
jle 0x760b9f
mov ebx, dword [esp]
add edx, ebx
sub edx, eax
lea ecx, [ebx + 1]
cmp edx, ecx
cmovbe edx, ecx
sub edx, ebx
cmp edx, 8
jb 0x760b8f
cmp edi, 0x20
jb 0x760b8b
xor edi, edi
cmp edx, 0x20
jb 0x760ac4
mov edi, edx
and edi, 0xffffffe0
xor ecx, ecx
movups xmm0, xmmword [eax + ecx]
movups xmm1, xmmword [eax + ecx + 0x10]
movups xmmword [ebx + ecx], xmm0
movups xmmword [ebx + ecx + 0x10], xmm1
add ecx, 0x20
cmp edi, ecx
jne 0x760a97
cmp edx, edi
je 0x760b9f
test dl, 0x18
je 0x7615bf
mov ebx, dword [esp]
mov ecx, edx
and ecx, 0xfffffff8
mov esi, ebx
add ebx, ecx
lea ebp, [eax + ecx]
movsd xmm0, qword [eax + edi]
movsd qword [esi + edi], xmm0
add edi, 8
cmp ecx, edi
jne 0x760ad0
cmp edx, ecx
mov esi, dword [esp + 4]
jne 0x760b91
jmp 0x760b9f
mov ebp, dword [esp]
mov edx, ebp
add ebp, dword [esp + 0x60]
sub ebp, edx
mov dword [esp], ebp
cmp ebp, 8
jb 0x760b76
mov ecx, edx
sub ecx, eax
cmp ecx, 0x20
jb 0x760b76
xor edi, edi
mov esi, dword [esp]
cmp esi, 0x20
jb 0x760b4f
mov edi, esi
and edi, 0xffffffe0
xor ecx, ecx
mov ebx, esi
movups xmm0, xmmword [eax + ecx]
movups xmm1, xmmword [eax + ecx + 0x10]
movups xmmword [edx + ecx], xmm0
movups xmmword [edx + ecx + 0x10], xmm1
add ecx, 0x20
cmp edi, ecx
jne 0x760b21
cmp ebx, edi
mov esi, dword [esp + 4]
je 0x760b9f
test byte [esp], 0x18
je 0x7615b4
mov esi, dword [esp]
mov ecx, esi
and ecx, 0xfffffff8
lea ebx, [edx + ecx]
lea ebp, [eax + ecx]
movsd xmm0, qword [eax + edi]
movsd qword [edx + edi], xmm0
add edi, 8
cmp ecx, edi
jne 0x760b5a
cmp dword [esp], ecx
mov esi, dword [esp + 4]
jne 0x760b7a
jmp 0x760b9f
mov ebx, edx
mov ebp, eax
add edx, dword [esp]
movzx eax, byte [ebp]
inc ebp
mov byte [ebx], al
inc ebx
cmp ebx, edx
jne 0x760b7d
jmp 0x760b9f
mov ebp, eax
jmp 0x760b91
mov ebp, eax
movzx eax, byte [ebp]
inc ebp
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0xc]
jb 0x760b91
sub esi, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, esi
mov ebx, dword [esp + 0x5c]
lea esi, [ebx + 0x7614]
mov dword [esp + 0x64], esi
lea eax, [ebx + 0x17614]
mov dword [esp + 0x60], eax
mov dword [ebx + 0x7610], 0
mov eax, dword [esp + 0x68]
add eax, 0xffffffe0
mov dword [esp + 0x94], eax
mov ebx, edx
cmp edx, 0x10000
mov dword [esp + 0xc], ecx
jg 0x7615fe
mov eax, dword [esp + 0x10]
lea ebp, [ebx + eax]
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x94]
ja 0x7615fe
mov eax, dword [esp + 0x68]
sub eax, ecx
lea edx, [ebp + 0x20]
cmp eax, edx
jb 0x7615fe
mov dword [esp + 8], ebp
mov edx, ebx
add ebx, ecx
mov eax, dword [esp + 0x5c]
add eax, edx
add eax, 0x7614
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
cmp edx, 0x11
jae 0x761631
mov esi, ebx
mov ecx, dword [esp + 0x18]
sub esi, ecx
mov dword [esp + 0x64], eax
mov eax, ebx
mov edx, dword [esp + 0x20]
sub eax, edx
cmp eax, ecx
jae 0x760c9b
mov dword [esp + 4], eax
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ecx
jb 0x76159d
sub esi, edx
mov ebp, dword [esp + 0x6c]
lea eax, [esi + ebp]
mov ecx, dword [esp + 0x10]
add ecx, eax
cmp ecx, ebp
jbe 0x760ce5
mov ebp, edx
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.00786d78
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, dword [esp + 0x10]
mov esi, ebp
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 4]
jmp 0x760c9f
mov edi, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x761688
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x760cdf
add edi, ebx
mov eax, 0x10
nop word [eax + eax]
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x760cc0
mov edx, dword [esp + 0x14]
jmp 0x760cf5
push dword [esp + 0x10]
push eax
push ebx
call fcn.00786d78
add esp, 0xc
mov edx, edi
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
ja 0x7615a5
add ebx, eax
cmp ecx, 1
jne 0x760d65
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jne 0x76159d
cmp dword [esp + 0x28], 0x20
mov dword [esp + 8], 0xffffffec
jne 0x7615a5
lea esi, [esp + 0x50]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi]
movsd qword [ecx], xmm0
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x7610], 2
je 0x75fe8d
jmp 0x760972
dec ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov esi, dword [edi + edx*8 + 4]
movzx ebx, byte [edi + edx*8 + 2]
mov dword [esp + 8], ebx
movzx ebx, word [edi + edx*8]
mov dword [esp + 0x80], ebx
movzx edx, byte [edi + edx*8 + 3]
mov dword [esp + 0x74], edx
mov ebp, dword [eax + ecx*8 + 4]
movzx edx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0x7c], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edi, dword [eax + ecx*8 + 4]
mov dword [esp + 0x18], edi
movzx ebx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0x88], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x84], eax
cmp ebx, 2
mov dword [esp + 4], esi
jb 0x760e73
cmp dword [esp + 0xc0], 0
je 0x760e9d
cmp bl, 0x19
jb 0x760e9d
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esp], edi
mov ecx, eax
shl edi, cl
mov cl, 5
sub cl, bl
shr edi, cl
lea ecx, [ebx + eax]
add ecx, 0xfffffffb
cmp ecx, 0x21
jae 0x761554
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jae 0x760f16
mov eax, dword [esp + 0x30]
mov ebx, esi
sub ebx, eax
je 0x7612b3
mov dword [esp + 0x10], ebp
mov ebp, ecx
shr ebp, 3
mov dword [esp], eax
mov eax, esi
sub eax, ebp
cmp eax, dword [esp]
cmovb ebp, ebx
sub esi, ebp
mov dword [esp + 0x2c], esi
shl ebp, 3
sub ecx, ebp
mov ebp, dword [esp + 0x10]
jmp 0x760f24
xor eax, eax
test esi, esi
sete al
test ebx, ebx
jne 0x761384
xor ecx, ecx
test esi, esi
setne cl
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + 0x50]
lea ecx, [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp 0x760f59
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl esi, cl
mov ecx, ebx
neg cl
shr esi, cl
add eax, ebx
mov dword [esp + 0x28], eax
add esi, dword [esp + 0x18]
mov dword [esp], esi
cmp eax, 0x21
jae 0x761515
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x760efc
mov ebx, dword [esp + 0x30]
mov edi, ecx
sub edi, ebx
je 0x760f46
mov esi, eax
shr esi, 3
mov dword [esp + 0x10], ebp
mov ebp, ecx
sub ebp, esi
cmp ebp, ebx
mov ebp, dword [esp + 0x10]
cmovb esi, edi
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
jmp 0x760f0a
mov esi, eax
shr esi, 3
sub ecx, esi
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
jmp 0x760f46
mov ebx, ecx
shr ebx, 3
sub esi, ebx
mov dword [esp + 0x2c], esi
and ecx, 7
mov dword [esp + 0x28], ecx
mov eax, dword [esi]
mov dword [esp + 0x24], eax
shl edi, 5
add edi, dword [esp + 0x18]
shl eax, cl
shr eax, 0x1b
add eax, edi
mov dword [esp], eax
add ecx, 5
mov dword [esp + 0x28], ecx
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
mov esi, dword [esp]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov dword [esp], esi
mov dword [esp + 0x50], esi
test edx, edx
je 0x760f84
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edi, cl
mov ecx, edx
neg cl
shr edi, cl
add eax, edx
mov dword [esp + 0x28], eax
add ebp, edi
add edx, dword [esp + 8]
cmp edx, 0x14
jb 0x760fe5
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jae 0x7613c1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x760fcd
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x760fe5
mov esi, eax
shr esi, 3
mov ebx, ecx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, edx
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
jmp 0x760fdb
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 8]
test eax, eax
je 0x7613d9
mov edx, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, esi
neg cl
shr edx, cl
add eax, esi
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 4]
add ebp, edx
cmp eax, 0x21
mov dword [esp + 4], ebp
jae 0x7613ee
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x34]
jae 0x761055
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x76106d
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x761063
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
je 0x761180
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x74]
add eax, esi
mov ecx, eax
neg cl
mov edi, ebx
shr edi, cl
and edi, dword [esi*4 + 0xa95648]
mov ebp, dword [esp + 0x78]
add eax, ebp
mov ecx, eax
neg cl
mov esi, ebx
shr esi, cl
add edi, dword [esp + 0x80]
and esi, dword [ebp*4 + 0xa95648]
mov dword [esp + 0x38], edi
add esi, dword [esp + 0x7c]
mov dword [esp + 0x48], esi
cmp eax, 0x21
jae 0x76140d
cmp edx, dword [esp + 0x34]
jae 0x7610ef
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x761107
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x7610fd
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x84]
add eax, esi
mov ecx, eax
neg cl
shr ebx, cl
and ebx, dword [esi*4 + 0xa95648]
add ebx, dword [esp + 0x88]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 0x21
jae 0x76141f
cmp edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
jae 0x761168
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x761180
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x761176
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 4]
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x60]
ja 0x7612bb
mov edx, dword [esp + 0x10]
lea esi, [edx + ebp]
lea edx, [ebx + esi]
cmp edx, dword [esp + 0x94]
ja 0x7612bb
mov edx, dword [esp + 0x68]
sub edx, ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
add esi, 0x20
cmp edx, esi
jb 0x7612bb
mov edx, ebx
add ebx, ebp
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp ebp, 0x11
jae 0x7612f9
mov esi, ebx
mov ecx, dword [esp]
sub esi, ecx
mov dword [esp + 0x64], eax
mov eax, ebx
mov edx, dword [esp + 0x20]
sub eax, edx
cmp eax, ecx
jae 0x761237
mov dword [esp + 4], eax
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ecx
jb 0x76159d
sub esi, edx
mov edi, dword [esp + 0x6c]
lea eax, [edi + esi]
mov ebp, dword [esp + 0x10]
lea ecx, [eax + ebp]
cmp ecx, edi
jbe 0x761281
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.00786d78
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, ebp
mov esi, dword [esp + 0x20]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
jmp 0x76123b
mov edi, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x76133f
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x76128c
add edi, ebx
mov eax, 0x10
nop word cs:[eax + eax]
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x761260
jmp 0x76128c
push ebp
push eax
push ebx
call fcn.00786d78
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
ja 0x76094a
add ebx, eax
dec ecx
jne 0x760d66
jmp 0x760d11
mov eax, dword [esp]
jmp 0x760f2e
mov ecx, ebx
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebp
call fcn.00762590
add esp, 0x20
mov edx, dword [esp + 0x14]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
jbe 0x7612a5
jmp 0x76094a
add ebp, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
mov edx, dword [esp + 0xc]
movups xmmword [edx + 0x10], xmm0
cmp ebp, 0x11
jl 0x7611d8
mov edx, dword [esp + 0xc]
add edx, 0x20
xor esi, esi
movups xmm0, xmmword [ecx + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [ecx + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea edi, [edx + esi]
add edi, 0x20
add esi, 0x20
cmp edi, ebx
jb 0x76131a
jmp 0x7611d8
mov dword [esp + 4], eax
cmp ecx, 7
ja 0x761430
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov edx, dword [esp]
mov eax, dword [edx*4 + 0xa956cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [edx*4 + 0xa956ec]
jmp 0x761438
mov esi, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
shl eax, cl
shr eax, 0x1f
inc ecx
mov dword [esp + 0x28], ecx
add eax, esi
cmp eax, 3
jne 0x761522
mov eax, dword [esp + 0x50]
dec eax
cmp eax, 1
mov esi, 0
sbb esi, esi
or esi, eax
mov ebx, dword [esp + 0xc]
jmp 0x761543
mov dword [esp + 0x2c], 0xa956c8
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 8]
test eax, eax
jne 0x760ff5
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 4]
cmp eax, 0x21
mov dword [esp + 4], ebp
jb 0x761022
mov dword [esp + 0x2c], 0xa956c8
mov edx, 0xa956c8
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x76107a
jmp 0x761180
mov dword [esp + 0x2c], 0xa956c8
mov edx, 0xa956c8
jmp 0x761107
mov dword [esp + 0x2c], 0xa956c8
mov ebx, dword [esp + 0xc]
jmp 0x761180
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x76128c
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov ebp, ecx
sub ebp, edx
lea eax, [ebx + edi]
mov dword [esp + 0x18], ebp
cmp ebp, 0xf
jg 0x761564
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov edi, dword [esp]
mov ebx, dword [esp + 4]
cmp edi, ebx
mov ebp, ebx
cmovb ebp, edi
cmova ebx, edi
add ebp, dword [esp + 0x10]
add ebp, ebx
sub ebp, edi
mov edi, dword [esp + 0x90]
add edi, ebx
cmp ebp, edi
cmovbe ebp, edi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x20]
add edi, ebx
sub ebp, edi
add ebp, 0xfffffff7
cmp ebp, 0x18
jb 0x7614fe
cmp dword [esp + 0x18], 0x20
jb 0x7614fe
mov ebx, ebp
shr ebx, 3
inc ebx
mov dword [esp], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xc]
add edi, ebp
mov dword [esp + 0x10], edi
mov edi, ebp
mov ebp, dword [esp + 4]
sub ebp, edi
add ebp, dword [esp + 0x10]
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x7614da
cmp dword [esp], ebx
je 0x76128c
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x7614fe
jmp 0x76128c
mov dword [esp + 0x2c], 0xa956c8
jmp 0x760f46
mov ecx, dword [esp + eax*4 + 0x50]
cmp ecx, 1
mov esi, 0
sbb esi, esi
or esi, ecx
lea ecx, [esp + 0x50]
cmp eax, 1
mov ebx, dword [esp + 0xc]
je 0x760f59
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
jmp 0x760f59
mov dword [esp + 0x2c], 0xa956c8
mov eax, dword [esp]
jmp 0x760f2e
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x76128c
add ebx, 0x18
xor ecx, ecx
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x761578
jmp 0x76128c
mov dword [esp + 8], 0xffffffec
mov eax, dword [esp + 8]
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, edi
add edi, edx
mov ebx, edi
jmp 0x760b78
add eax, edi
mov ebx, dword [esp]
add ebx, edi
mov ebp, eax
jmp 0x760b91
mov dword [esp + 0x2c], 0xa956c8
mov edi, 0xa956c8
jmp 0x75ff8c
mov dword [esp + 0x2c], 0xa956c8
mov edi, 0xa956c8
jmp 0x75fffd
mov dword [esp + 0x2c], 0xa956c8
jmp 0x760074
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push ebx
call fcn.00762590
add esp, 0x20
mov dword [esp + 8], eax
jmp 0x760cf3
add edx, 0xfffffff0
mov ecx, dword [esp + 0x5c]
movups xmm0, xmmword [ecx + 0x7624]
mov ecx, dword [esp + 0xc]
movups xmmword [ecx + 0x10], xmm0
cmp edx, 0x11
jl 0x760c39
mov ecx, dword [esp + 0xc]
add ecx, 0x20
xor edx, edx
mov esi, dword [esp + 0x5c]
movups xmm0, xmmword [esi + edx + 0x7634]
movups xmmword [ecx + edx], xmm0
movups xmm0, xmmword [esi + edx + 0x7644]
movups xmmword [ecx + edx + 0x10], xmm0
lea esi, [ecx + edx]
add esi, 0x20
add edx, 0x20
cmp esi, ebx
jb 0x761659
jmp 0x760c39
mov dword [esp + 4], eax
cmp ecx, 7
ja 0x7616c7
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov edx, dword [esp + 0x18]
mov eax, dword [edx*4 + 0xa956cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [edx*4 + 0xa956ec]
jmp 0x7616cf
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x760cdf
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov ebp, ecx
sub ebp, edx
lea eax, [ebx + edi]
mov dword [esp], ebp
cmp ebp, 0xf
jg 0x76179b
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 4]
cmp edi, ebx
mov ebp, ebx
cmovb ebp, edi
cmova ebx, edi
add ebp, dword [esp + 0x10]
add ebp, ebx
sub ebp, edi
mov edi, dword [esp + 0x20]
add edi, ebx
add edi, 0x10
cmp ebp, edi
cmovbe ebp, edi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x20]
add edi, ebx
sub ebp, edi
add ebp, 0xfffffff7
cmp ebp, 0x18
jb 0x761784
cmp dword [esp], 0x20
jb 0x761784
mov ebx, ebp
shr ebx, 3
inc ebx
mov dword [esp], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 4]
add ebp, edi
add ebp, 0x18
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x761760
cmp dword [esp], ebx
je 0x760cdf
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x761784
jmp 0x760cdf
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x760cdf
add ebx, 0x18
xor ecx, ecx
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x7617af
jmp 0x760cdf