4cfd97:	cc                   	int3
4cfd98:	cc                   	int3
4cfd99:	cc                   	int3
4cfd9a:	cc                   	int3
4cfd9b:	cc                   	int3
4cfd9c:	cc                   	int3
4cfd9d:	cc                   	int3
4cfd9e:	cc                   	int3
4cfd9f:	cc                   	int3
4cfda0:	8b 44 24 04          	mov    0x4(%esp),%eax
4cfda4:	56                   	push   %esi
4cfda5:	8b 70 04             	mov    0x4(%eax),%esi
4cfda8:	85 f6                	test   %esi,%esi
4cfdaa:	74 23                	je     0x4cfdcf
4cfdac:	57                   	push   %edi
4cfdad:	83 cf ff             	or     $0xffffffff,%edi
4cfdb0:	8b c7                	mov    %edi,%eax
4cfdb2:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
4cfdb7:	75 15                	jne    0x4cfdce
4cfdb9:	8b 06                	mov    (%esi),%eax
4cfdbb:	8b ce                	mov    %esi,%ecx
4cfdbd:	ff 10                	call   *(%eax)
4cfdbf:	f0 0f c1 7e 08       	lock xadd %edi,0x8(%esi)
4cfdc4:	4f                   	dec    %edi
4cfdc5:	75 07                	jne    0x4cfdce
4cfdc7:	8b 06                	mov    (%esi),%eax
4cfdc9:	8b ce                	mov    %esi,%ecx
4cfdcb:	ff 50 04             	call   *0x4(%eax)
4cfdce:	5f                   	pop    %edi
4cfdcf:	5e                   	pop    %esi
4cfdd0:	c2 04 00             	ret    $0x4
4cfdd3:	cc                   	int3
4cfdd4:	cc                   	int3
4cfdd5:	cc                   	int3
4cfdd6:	cc                   	int3
4cfdd7:	cc                   	int3
4cfdd8:	cc                   	int3
4cfdd9:	cc                   	int3
4cfdda:	cc                   	int3
4cfddb:	cc                   	int3
4cfddc:	cc                   	int3
4cfddd:	cc                   	int3
4cfdde:	cc                   	int3
4cfddf:	cc                   	int3
4cfde0:	8b 44 24 04          	mov    0x4(%esp),%eax
4cfde4:	56                   	push   %esi
4cfde5:	8b 70 04             	mov    0x4(%eax),%esi
4cfde8:	85 f6                	test   %esi,%esi
4cfdea:	74 23                	je     0x4cfe0f
4cfdec:	57                   	push   %edi
4cfded:	83 cf ff             	or     $0xffffffff,%edi
4cfdf0:	8b c7                	mov    %edi,%eax
4cfdf2:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
4cfdf7:	75 15                	jne    0x4cfe0e
4cfdf9:	8b 06                	mov    (%esi),%eax
4cfdfb:	8b ce                	mov    %esi,%ecx
4cfdfd:	ff 10                	call   *(%eax)
4cfdff:	f0 0f c1 7e 08       	lock xadd %edi,0x8(%esi)
4cfe04:	4f                   	dec    %edi
4cfe05:	75 07                	jne    0x4cfe0e
4cfe07:	8b 06                	mov    (%esi),%eax
4cfe09:	8b ce                	mov    %esi,%ecx
4cfe0b:	ff 50 04             	call   *0x4(%eax)
4cfe0e:	5f                   	pop    %edi
4cfe0f:	5e                   	pop    %esi
4cfe10:	c2 04 00             	ret    $0x4
4cfe13:	cc                   	int3
4cfe14:	cc                   	int3
4cfe15:	cc                   	int3
4cfe16:	cc                   	int3
4cfe17:	cc                   	int3
4cfe18:	cc                   	int3
4cfe19:	cc                   	int3
4cfe1a:	cc                   	int3
4cfe1b:	cc                   	int3
4cfe1c:	cc                   	int3
4cfe1d:	cc                   	int3
4cfe1e:	cc                   	int3
4cfe1f:	cc                   	int3
4cfe20:	8b 44 24 08          	mov    0x8(%esp),%eax
4cfe24:	56                   	push   %esi
4cfe25:	8b 70 04             	mov    0x4(%eax),%esi
4cfe28:	85 f6                	test   %esi,%esi
4cfe2a:	74 25                	je     0x4cfe51
4cfe2c:	57                   	push   %edi
4cfe2d:	83 cf ff             	or     $0xffffffff,%edi
4cfe30:	8b c7                	mov    %edi,%eax
4cfe32:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
4cfe37:	75 17                	jne    0x4cfe50
4cfe39:	8b 06                	mov    (%esi),%eax
4cfe3b:	8b ce                	mov    %esi,%ecx
4cfe3d:	ff 10                	call   *(%eax)
4cfe3f:	f0 0f c1 7e 08       	lock xadd %edi,0x8(%esi)
4cfe44:	4f                   	dec    %edi
4cfe45:	75 09                	jne    0x4cfe50
4cfe47:	8b 06                	mov    (%esi),%eax
4cfe49:	8b ce                	mov    %esi,%ecx
4cfe4b:	5f                   	pop    %edi
4cfe4c:	5e                   	pop    %esi
4cfe4d:	ff 60 04             	jmp    *0x4(%eax)
4cfe50:	5f                   	pop    %edi
4cfe51:	5e                   	pop    %esi
4cfe52:	c3                   	ret
4cfe53:	cc                   	int3
4cfe54:	cc                   	int3
4cfe55:	cc                   	int3
4cfe56:	cc                   	int3
4cfe57:	cc                   	int3
4cfe58:	cc                   	int3
4cfe59:	cc                   	int3
4cfe5a:	cc                   	int3
4cfe5b:	cc                   	int3
4cfe5c:	cc                   	int3
4cfe5d:	cc                   	int3
4cfe5e:	cc                   	int3
4cfe5f:	cc                   	int3
4cfe60:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4cfe64:	e8 bb e1 f4 ff       	call   0x41e024
4cfe69:	c2 04 00             	ret    $0x4
4cfe6c:	cc                   	int3
4cfe6d:	cc                   	int3
4cfe6e:	cc                   	int3
4cfe6f:	cc                   	int3
4cfe70:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4cfe74:	e8 ab e1 f4 ff       	call   0x41e024
4cfe79:	c2 04 00             	ret    $0x4
4cfe7c:	cc                   	int3
4cfe7d:	cc                   	int3
4cfe7e:	cc                   	int3
4cfe7f:	cc                   	int3
4cfe80:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4cfe84:	e9 9b e1 f4 ff       	jmp    0x41e024
4cfe89:	cc                   	int3
4cfe8a:	cc                   	int3
4cfe8b:	cc                   	int3
4cfe8c:	cc                   	int3
4cfe8d:	cc                   	int3
4cfe8e:	cc                   	int3
4cfe8f:	cc                   	int3
4cfe90:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4cfe94:	e8 cb ca f3 ff       	call   0x40c964
4cfe99:	c2 04 00             	ret    $0x4
4cfe9c:	cc                   	int3
4cfe9d:	cc                   	int3
4cfe9e:	cc                   	int3
4cfe9f:	cc                   	int3
4cfea0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4cfea4:	e8 bb ca f3 ff       	call   0x40c964
4cfea9:	c2 04 00             	ret    $0x4
4cfeac:	cc                   	int3
4cfead:	cc                   	int3
4cfeae:	cc                   	int3
4cfeaf:	cc                   	int3
4cfeb0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4cfeb4:	e9 ab ca f3 ff       	jmp    0x40c964
4cfeb9:	cc                   	int3
4cfeba:	cc                   	int3
4cfebb:	cc                   	int3
4cfebc:	cc                   	int3
4cfebd:	cc                   	int3
4cfebe:	cc                   	int3
4cfebf:	cc                   	int3
4cfec0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4cfec4:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4cfec9:	2b 4c 24 04          	sub    0x4(%esp),%ecx
4cfecd:	f7 e9                	imul   %ecx
4cfecf:	c1 fa 02             	sar    $0x2,%edx
4cfed2:	8b c2                	mov    %edx,%eax
4cfed4:	c1 e8 1f             	shr    $0x1f,%eax
4cfed7:	03 c2                	add    %edx,%eax
4cfed9:	c3                   	ret
4cfeda:	cc                   	int3
4cfedb:	cc                   	int3
4cfedc:	cc                   	int3
4cfedd:	cc                   	int3
4cfede:	cc                   	int3
4cfedf:	cc                   	int3
4cfee0:	53                   	push   %ebx
4cfee1:	8b d9                	mov    %ecx,%ebx
4cfee3:	56                   	push   %esi
4cfee4:	57                   	push   %edi
4cfee5:	ff 74 24 14          	push   0x14(%esp)
4cfee9:	8b 43 04             	mov    0x4(%ebx),%eax
4cfeec:	8d 4b 04             	lea    0x4(%ebx),%ecx
4cfeef:	8b 38                	mov    (%eax),%edi
4cfef1:	ff 77 04             	push   0x4(%edi)
4cfef4:	57                   	push   %edi
4cfef5:	e8 8a 90 f4 ff       	call   0x418f84
4cfefa:	8b d0                	mov    %eax,%edx
4cfefc:	b9 65 66 66 06       	mov    $0x6666665,%ecx
4cff01:	8b 43 08             	mov    0x8(%ebx),%eax
4cff04:	2b c8                	sub    %eax,%ecx
4cff06:	83 f9 01             	cmp    $0x1,%ecx
4cff09:	72 2a                	jb     0x4cff35
4cff0b:	8b 74 24 10          	mov    0x10(%esp),%esi
4cff0f:	40                   	inc    %eax
4cff10:	89 43 08             	mov    %eax,0x8(%ebx)
4cff13:	8b cb                	mov    %ebx,%ecx
4cff15:	89 57 04             	mov    %edx,0x4(%edi)
4cff18:	8b 42 04             	mov    0x4(%edx),%eax
4cff1b:	89 10                	mov    %edx,(%eax)
4cff1d:	8b 43 04             	mov    0x4(%ebx),%eax
4cff20:	8b 00                	mov    (%eax),%eax
4cff22:	50                   	push   %eax
4cff23:	83 c0 08             	add    $0x8,%eax
4cff26:	50                   	push   %eax
4cff27:	56                   	push   %esi
4cff28:	e8 9e 13 f3 ff       	call   0x4012cb
4cff2d:	5f                   	pop    %edi
4cff2e:	8b c6                	mov    %esi,%eax
4cff30:	5e                   	pop    %esi
4cff31:	5b                   	pop    %ebx
4cff32:	c2 08 00             	ret    $0x8
4cff35:	68 0c 61 bd 00       	push   $0xbd610c
4cff3a:	e8 d7 98 f5 ff       	call   0x429816
4cff3f:	cc                   	int3
4cff40:	cc                   	int3
4cff41:	cc                   	int3
4cff42:	cc                   	int3
4cff43:	cc                   	int3
4cff44:	cc                   	int3
4cff45:	cc                   	int3
4cff46:	cc                   	int3
4cff47:	cc                   	int3
4cff48:	cc                   	int3
4cff49:	cc                   	int3
4cff4a:	cc                   	int3
4cff4b:	cc                   	int3
4cff4c:	cc                   	int3
4cff4d:	cc                   	int3
4cff4e:	cc                   	int3
4cff4f:	cc                   	int3
4cff50:	cc                   	int3
4cff51:	cc                   	int3
4cff52:	cc                   	int3
4cff53:	cc                   	int3
4cff54:	cc                   	int3
4cff55:	cc                   	int3
4cff56:	cc                   	int3
4cff57:	cc                   	int3
4cff58:	cc                   	int3
4cff59:	cc                   	int3
4cff5a:	cc                   	int3
4cff5b:	cc                   	int3
4cff5c:	cc                   	int3
4cff5d:	cc                   	int3
4cff5e:	cc                   	int3
4cff5f:	cc                   	int3
4cff60:	53                   	push   %ebx
4cff61:	8b d9                	mov    %ecx,%ebx
4cff63:	56                   	push   %esi
4cff64:	57                   	push   %edi
4cff65:	ff 74 24 14          	push   0x14(%esp)
4cff69:	8b 43 04             	mov    0x4(%ebx),%eax
4cff6c:	8d 4b 04             	lea    0x4(%ebx),%ecx
4cff6f:	8b 38                	mov    (%eax),%edi
4cff71:	ff 77 04             	push   0x4(%edi)
4cff74:	57                   	push   %edi
4cff75:	e8 18 d2 f4 ff       	call   0x41d192
4cff7a:	8b d0                	mov    %eax,%edx
4cff7c:	b9 65 66 66 06       	mov    $0x6666665,%ecx
4cff81:	8b 43 08             	mov    0x8(%ebx),%eax
4cff84:	2b c8                	sub    %eax,%ecx
4cff86:	83 f9 01             	cmp    $0x1,%ecx
4cff89:	72 2a                	jb     0x4cffb5
4cff8b:	8b 74 24 10          	mov    0x10(%esp),%esi
4cff8f:	40                   	inc    %eax
4cff90:	89 43 08             	mov    %eax,0x8(%ebx)
4cff93:	8b cb                	mov    %ebx,%ecx
4cff95:	89 57 04             	mov    %edx,0x4(%edi)
4cff98:	8b 42 04             	mov    0x4(%edx),%eax
4cff9b:	89 10                	mov    %edx,(%eax)
4cff9d:	8b 43 04             	mov    0x4(%ebx),%eax
4cffa0:	8b 00                	mov    (%eax),%eax
4cffa2:	50                   	push   %eax
4cffa3:	83 c0 08             	add    $0x8,%eax
4cffa6:	50                   	push   %eax
4cffa7:	56                   	push   %esi
4cffa8:	e8 71 27 f5 ff       	call   0x42271e
4cffad:	5f                   	pop    %edi
4cffae:	8b c6                	mov    %esi,%eax
4cffb0:	5e                   	pop    %esi
4cffb1:	5b                   	pop    %ebx
4cffb2:	c2 08 00             	ret    $0x8
4cffb5:	68 0c 61 bd 00       	push   $0xbd610c
4cffba:	e8 57 98 f5 ff       	call   0x429816
4cffbf:	cc                   	int3
4cffc0:	cc                   	int3
4cffc1:	cc                   	int3
4cffc2:	cc                   	int3
4cffc3:	cc                   	int3
4cffc4:	cc                   	int3
4cffc5:	cc                   	int3
4cffc6:	cc                   	int3
4cffc7:	cc                   	int3
4cffc8:	cc                   	int3
4cffc9:	cc                   	int3
4cffca:	cc                   	int3
4cffcb:	cc                   	int3
4cffcc:	cc                   	int3
4cffcd:	cc                   	int3
4cffce:	cc                   	int3
4cffcf:	cc                   	int3
4cffd0:	cc                   	int3
4cffd1:	cc                   	int3
4cffd2:	cc                   	int3
4cffd3:	cc                   	int3
4cffd4:	cc                   	int3
4cffd5:	cc                   	int3
4cffd6:	cc                   	int3
4cffd7:	cc                   	int3
4cffd8:	cc                   	int3
4cffd9:	cc                   	int3
4cffda:	cc                   	int3
4cffdb:	cc                   	int3
4cffdc:	cc                   	int3
4cffdd:	cc                   	int3
4cffde:	cc                   	int3
4cffdf:	cc                   	int3
4cffe0:	53                   	push   %ebx
4cffe1:	8b d9                	mov    %ecx,%ebx
4cffe3:	56                   	push   %esi
4cffe4:	57                   	push   %edi
4cffe5:	ff 74 24 14          	push   0x14(%esp)
4cffe9:	8b 43 04             	mov    0x4(%ebx),%eax
4cffec:	8d 4b 04             	lea    0x4(%ebx),%ecx
4cffef:	8b 38                	mov    (%eax),%edi
4cfff1:	ff 77 04             	push   0x4(%edi)
4cfff4:	57                   	push   %edi
4cfff5:	e8 ca 8e f6 ff       	call   0x438ec4
4cfffa:	8b d0                	mov    %eax,%edx
4cfffc:	b9 65 66 66 06       	mov    $0x6666665,%ecx
4d0001:	8b 43 08             	mov    0x8(%ebx),%eax
4d0004:	2b c8                	sub    %eax,%ecx
4d0006:	83 f9 01             	cmp    $0x1,%ecx
4d0009:	72 2a                	jb     0x4d0035
4d000b:	8b 74 24 10          	mov    0x10(%esp),%esi
4d000f:	40                   	inc    %eax
4d0010:	89 43 08             	mov    %eax,0x8(%ebx)
4d0013:	8b cb                	mov    %ebx,%ecx
4d0015:	89 57 04             	mov    %edx,0x4(%edi)
4d0018:	8b 42 04             	mov    0x4(%edx),%eax
4d001b:	89 10                	mov    %edx,(%eax)
4d001d:	8b 43 04             	mov    0x4(%ebx),%eax
4d0020:	8b 00                	mov    (%eax),%eax
4d0022:	50                   	push   %eax
4d0023:	83 c0 08             	add    $0x8,%eax
4d0026:	50                   	push   %eax
4d0027:	56                   	push   %esi
4d0028:	e8 9e 12 f3 ff       	call   0x4012cb