53de9c:	0f b7 f1             	movzwl %cx,%esi
53de9f:	83 ef 01             	sub    $0x1,%edi
53dea2:	75 dc                	jne    0x53de80
53dea4:	8b 55 08             	mov    0x8(%ebp),%edx
53dea7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
53deaa:	8b 42 04             	mov    0x4(%edx),%eax
53dead:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
53deb0:	f6 44 88 10 20       	testb  $0x20,0x10(%eax,%ecx,4)
53deb5:	74 0f                	je     0x53dec6
53deb7:	0f bf 42 2c          	movswl 0x2c(%edx),%eax
53debb:	5f                   	pop    %edi
53debc:	2b c6                	sub    %esi,%eax
53debe:	5e                   	pop    %esi
53debf:	03 c3                	add    %ebx,%eax
53dec1:	5b                   	pop    %ebx
53dec2:	8b e5                	mov    %ebp,%esp
53dec4:	5d                   	pop    %ebp
53dec5:	c3                   	ret
53dec6:	5f                   	pop    %edi
53dec7:	66 8b c6             	mov    %si,%ax
53deca:	5e                   	pop    %esi
53decb:	5b                   	pop    %ebx
53decc:	8b e5                	mov    %ebp,%esp
53dece:	5d                   	pop    %ebp
53decf:	c3                   	ret
53ded0:	55                   	push   %ebp
53ded1:	8b ec                	mov    %esp,%ebp
53ded3:	51                   	push   %ecx
53ded4:	8b 4d 08             	mov    0x8(%ebp),%ecx
53ded7:	56                   	push   %esi
53ded8:	8b f1                	mov    %ecx,%esi
53deda:	57                   	push   %edi
53dedb:	8b 41 74             	mov    0x74(%ecx),%eax
53dede:	85 c0                	test   %eax,%eax
53dee0:	8b 7d 0c             	mov    0xc(%ebp),%edi
53dee3:	0f 45 f0             	cmovne %eax,%esi
53dee6:	83 ff 01             	cmp    $0x1,%edi
53dee9:	0f 84 18 01 00 00    	je     0x53e007
53deef:	8b 01                	mov    (%ecx),%eax
53def1:	8b cf                	mov    %edi,%ecx
53def3:	03 c9                	add    %ecx,%ecx
53def5:	8b 40 10             	mov    0x10(%eax),%eax
53def8:	8b 44 c8 04          	mov    0x4(%eax,%ecx,8),%eax
53defc:	80 78 09 00          	cmpb   $0x0,0x9(%eax)
53df00:	0f 84 01 01 00 00    	je     0x53e007
53df06:	8b 56 68             	mov    0x68(%esi),%edx
53df09:	33 c9                	xor    %ecx,%ecx
53df0b:	53                   	push   %ebx
53df0c:	8b 5d 10             	mov    0x10(%ebp),%ebx
53df0f:	85 d2                	test   %edx,%edx
53df11:	7e 14                	jle    0x53df27
53df13:	8b 46 6c             	mov    0x6c(%esi),%eax
53df16:	39 38                	cmp    %edi,(%eax)
53df18:	75 05                	jne    0x53df1f
53df1a:	39 58 04             	cmp    %ebx,0x4(%eax)
53df1d:	74 74                	je     0x53df93
53df1f:	41                   	inc    %ecx
53df20:	83 c0 10             	add    $0x10,%eax
53df23:	3b ca                	cmp    %edx,%ecx
53df25:	7c ef                	jl     0x53df16
53df27:	8b 4e 6c             	mov    0x6c(%esi),%ecx
53df2a:	8d 42 01             	lea    0x1(%edx),%eax
53df2d:	8b 16                	mov    (%esi),%edx
53df2f:	c1 e0 04             	shl    $0x4,%eax
53df32:	89 55 08             	mov    %edx,0x8(%ebp)
53df35:	99                   	cltd
53df36:	52                   	push   %edx
53df37:	50                   	push   %eax
53df38:	51                   	push   %ecx
53df39:	ff 75 08             	push   0x8(%ebp)
53df3c:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53df3f:	e8 1c 36 fe ff       	call   0x521560
53df44:	8b d0                	mov    %eax,%edx
53df46:	83 c4 10             	add    $0x10,%esp
53df49:	89 55 fc             	mov    %edx,-0x4(%ebp)
53df4c:	85 d2                	test   %edx,%edx
53df4e:	75 16                	jne    0x53df66
53df50:	8b 45 0c             	mov    0xc(%ebp),%eax
53df53:	85 c0                	test   %eax,%eax
53df55:	74 0f                	je     0x53df66
53df57:	50                   	push   %eax
53df58:	ff 75 08             	push   0x8(%ebp)
53df5b:	e8 10 34 fe ff       	call   0x521370
53df60:	8b 55 fc             	mov    -0x4(%ebp),%edx
53df63:	83 c4 08             	add    $0x8,%esp
53df66:	89 56 6c             	mov    %edx,0x6c(%esi)
53df69:	85 d2                	test   %edx,%edx
53df6b:	74 4d                	je     0x53dfba
53df6d:	8b 46 68             	mov    0x68(%esi),%eax
53df70:	8b c8                	mov    %eax,%ecx
53df72:	c1 e1 04             	shl    $0x4,%ecx
53df75:	03 ca                	add    %edx,%ecx
53df77:	40                   	inc    %eax
53df78:	89 46 68             	mov    %eax,0x68(%esi)
53df7b:	8a 45 14             	mov    0x14(%ebp),%al
53df7e:	89 59 04             	mov    %ebx,0x4(%ecx)
53df81:	5b                   	pop    %ebx
53df82:	89 39                	mov    %edi,(%ecx)
53df84:	88 41 08             	mov    %al,0x8(%ecx)
53df87:	8b 45 18             	mov    0x18(%ebp),%eax
53df8a:	5f                   	pop    %edi
53df8b:	89 41 0c             	mov    %eax,0xc(%ecx)
53df8e:	5e                   	pop    %esi
53df8f:	8b e5                	mov    %ebp,%esp
53df91:	5d                   	pop    %ebp
53df92:	c3                   	ret
53df93:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
53df97:	75 12                	jne    0x53dfab
53df99:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
53df9d:	75 0c                	jne    0x53dfab
53df9f:	5b                   	pop    %ebx
53dfa0:	33 c9                	xor    %ecx,%ecx
53dfa2:	5f                   	pop    %edi
53dfa3:	88 48 08             	mov    %cl,0x8(%eax)
53dfa6:	5e                   	pop    %esi
53dfa7:	8b e5                	mov    %ebp,%esp
53dfa9:	5d                   	pop    %ebp
53dfaa:	c3                   	ret
53dfab:	5b                   	pop    %ebx
53dfac:	b9 01 00 00 00       	mov    $0x1,%ecx
53dfb1:	5f                   	pop    %edi
53dfb2:	88 48 08             	mov    %cl,0x8(%eax)
53dfb5:	5e                   	pop    %esi
53dfb6:	8b e5                	mov    %ebp,%esp
53dfb8:	5d                   	pop    %ebp
53dfb9:	c3                   	ret
53dfba:	8b 06                	mov    (%esi),%eax
53dfbc:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
53dfc3:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53dfc7:	75 3d                	jne    0x53e006
53dfc9:	80 78 52 00          	cmpb   $0x0,0x52(%eax)
53dfcd:	75 37                	jne    0x53e006
53dfcf:	83 b8 bc 00 00 00 00 	cmpl   $0x0,0xbc(%eax)
53dfd6:	c6 40 51 01          	movb   $0x1,0x51(%eax)
53dfda:	7e 0a                	jle    0x53dfe6
53dfdc:	c7 80 10 01 00 00 01 	movl   $0x1,0x110(%eax)
53dfe3:	00 00 00
53dfe6:	ff 80 18 01 00 00    	incl   0x118(%eax)
53dfec:	33 c9                	xor    %ecx,%ecx
53dfee:	66 89 88 1c 01 00 00 	mov    %cx,0x11c(%eax)
53dff5:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
53dffb:	85 c0                	test   %eax,%eax
53dffd:	74 07                	je     0x53e006
53dfff:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
53e006:	5b                   	pop    %ebx
53e007:	5f                   	pop    %edi
53e008:	5e                   	pop    %esi
53e009:	8b e5                	mov    %ebp,%esp
53e00b:	5d                   	pop    %ebp
53e00c:	c3                   	ret
53e00d:	cc                   	int3
53e00e:	cc                   	int3
53e00f:	cc                   	int3
53e010:	55                   	push   %ebp
53e011:	8b ec                	mov    %esp,%ebp
53e013:	56                   	push   %esi
53e014:	57                   	push   %edi
53e015:	8b 7d 08             	mov    0x8(%ebp),%edi
53e018:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
53e01e:	83 3d 10 18 72 00 00 	cmpl   $0x0,0x721810
53e025:	74 3b                	je     0x53e062
53e027:	a1 90 ff 72 00       	mov    0x72ff90,%eax
53e02c:	85 c0                	test   %eax,%eax
53e02e:	74 0a                	je     0x53e03a
53e030:	50                   	push   %eax
53e031:	ff 15 60 18 72 00    	call   *0x721860
53e037:	83 c4 04             	add    $0x4,%esp
53e03a:	8d 45 08             	lea    0x8(%ebp),%eax
53e03d:	50                   	push   %eax
53e03e:	6a 14                	push   $0x14
53e040:	e8 bb b2 fc ff       	call   0x509300
53e045:	a1 90 ff 72 00       	mov    0x72ff90,%eax
53e04a:	83 c4 08             	add    $0x8,%esp
53e04d:	85 c0                	test   %eax,%eax
53e04f:	74 0c                	je     0x53e05d
53e051:	50                   	push   %eax
53e052:	ff 15 68 18 72 00    	call   *0x721868
53e058:	8b 75 08             	mov    0x8(%ebp),%esi
53e05b:	eb 0f                	jmp    0x53e06c
53e05d:	8b 75 08             	mov    0x8(%ebp),%esi
53e060:	eb 0d                	jmp    0x53e06f
53e062:	6a 14                	push   $0x14
53e064:	ff 15 30 18 72 00    	call   *0x721830
53e06a:	8b f0                	mov    %eax,%esi
53e06c:	83 c4 04             	add    $0x4,%esp
53e06f:	85 f6                	test   %esi,%esi
53e071:	75 07                	jne    0x53e07a
53e073:	5f                   	pop    %edi
53e074:	8d 46 07             	lea    0x7(%esi),%eax
53e077:	5e                   	pop    %esi
53e078:	5d                   	pop    %ebp
53e079:	c3                   	ret
53e07a:	80 3d 14 18 72 00 00 	cmpb   $0x0,0x721814
53e081:	53                   	push   %ebx
53e082:	8b 5d 10             	mov    0x10(%ebp),%ebx
53e085:	74 3e                	je     0x53e0c5
53e087:	a1 04 19 72 00       	mov    0x721904,%eax
53e08c:	85 c0                	test   %eax,%eax
53e08e:	74 0e                	je     0x53e09e
53e090:	68 c8 00 00 00       	push   $0xc8
53e095:	ff d0                	call   *%eax
53e097:	83 c4 04             	add    $0x4,%esp
53e09a:	85 c0                	test   %eax,%eax
53e09c:	75 27                	jne    0x53e0c5
53e09e:	8b 45 0c             	mov    0xc(%ebp),%eax
53e0a1:	89 46 08             	mov    %eax,0x8(%esi)
53e0a4:	8d 46 04             	lea    0x4(%esi),%eax
53e0a7:	50                   	push   %eax
53e0a8:	6a 00                	push   $0x0
53e0aa:	56                   	push   %esi
53e0ab:	68 60 e1 53 00       	push   $0x53e160
53e0b0:	6a 00                	push   $0x0
53e0b2:	6a 00                	push   $0x0
53e0b4:	89 5e 0c             	mov    %ebx,0xc(%esi)
53e0b7:	e8 30 1c 0c 00       	call   0x5ffcec
53e0bc:	83 c4 18             	add    $0x18,%esp
53e0bf:	89 06                	mov    %eax,(%esi)
53e0c1:	85 c0                	test   %eax,%eax
53e0c3:	75 0d                	jne    0x53e0d2
53e0c5:	0f 57 c0             	xorps  %xmm0,%xmm0
53e0c8:	0f 11 06             	movups %xmm0,(%esi)
53e0cb:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
53e0d2:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
53e0d6:	75 13                	jne    0x53e0eb
53e0d8:	ff 15 2c 21 68 00    	call   *0x68212c
53e0de:	53                   	push   %ebx
53e0df:	89 46 04             	mov    %eax,0x4(%esi)
53e0e2:	ff 55 0c             	call   *0xc(%ebp)
53e0e5:	83 c4 04             	add    $0x4,%esp
53e0e8:	89 46 10             	mov    %eax,0x10(%esi)
53e0eb:	5b                   	pop    %ebx
53e0ec:	89 37                	mov    %esi,(%edi)
53e0ee:	33 c0                	xor    %eax,%eax
53e0f0:	5f                   	pop    %edi
53e0f1:	5e                   	pop    %esi
53e0f2:	5d                   	pop    %ebp
53e0f3:	c3                   	ret
53e0f4:	cc                   	int3
53e0f5:	cc                   	int3
53e0f6:	cc                   	int3
53e0f7:	cc                   	int3
53e0f8:	cc                   	int3
53e0f9:	cc                   	int3
53e0fa:	cc                   	int3
53e0fb:	cc                   	int3
53e0fc:	cc                   	int3
53e0fd:	cc                   	int3
53e0fe:	cc                   	int3
53e0ff:	cc                   	int3
53e100:	55                   	push   %ebp
53e101:	8b ec                	mov    %esp,%ebp
53e103:	57                   	push   %edi
53e104:	8b 7d 08             	mov    0x8(%ebp),%edi
53e107:	85 ff                	test   %edi,%edi
53e109:	75 06                	jne    0x53e111
53e10b:	8d 47 07             	lea    0x7(%edi),%eax
53e10e:	5f                   	pop    %edi
53e10f:	5d                   	pop    %ebp
53e110:	c3                   	ret
53e111:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
53e115:	56                   	push   %esi
53e116:	75 04                	jne    0x53e11c
53e118:	33 f6                	xor    %esi,%esi
53e11a:	eb 26                	jmp    0x53e142
53e11c:	53                   	push   %ebx
53e11d:	8b 1f                	mov    (%edi),%ebx
53e11f:	90                   	nop
53e120:	6a 01                	push   $0x1
53e122:	6a ff                	push   $0xffffffff
53e124:	53                   	push   %ebx
53e125:	ff 15 8c 28 72 00    	call   *0x72288c
53e12b:	8b f0                	mov    %eax,%esi
53e12d:	81 fe c0 00 00 00    	cmp    $0xc0,%esi
53e133:	74 eb                	je     0x53e120
53e135:	ff 37                	push   (%edi)
53e137:	ff 15 e4 21 68 00    	call   *0x6821e4
53e13d:	5b                   	pop    %ebx
53e13e:	85 f6                	test   %esi,%esi
53e140:	75 08                	jne    0x53e14a
53e142:	8b 45 0c             	mov    0xc(%ebp),%eax
53e145:	8b 4f 10             	mov    0x10(%edi),%ecx
53e148:	89 08                	mov    %ecx,(%eax)
53e14a:	57                   	push   %edi
53e14b:	e8 40 cc fa ff       	call   0x4ead90
53e150:	83 c4 04             	add    $0x4,%esp
53e153:	33 c0                	xor    %eax,%eax
53e155:	85 f6                	test   %esi,%esi
53e157:	0f 95 c0             	setne  %al
53e15a:	5e                   	pop    %esi
53e15b:	5f                   	pop    %edi
53e15c:	5d                   	pop    %ebp
53e15d:	c3                   	ret
53e15e:	cc                   	int3
53e15f:	cc                   	int3
53e160:	55                   	push   %ebp
53e161:	8b ec                	mov    %esp,%ebp
53e163:	56                   	push   %esi
53e164:	8b 75 08             	mov    0x8(%ebp),%esi
53e167:	ff 76 0c             	push   0xc(%esi)
53e16a:	8b 46 08             	mov    0x8(%esi),%eax
53e16d:	ff d0                	call   *%eax
53e16f:	6a 00                	push   $0x0
53e171:	89 46 10             	mov    %eax,0x10(%esi)
53e174:	e8 f6 1b 0c 00       	call   0x5ffd6f
53e179:	83 c4 08             	add    $0x8,%esp
53e17c:	33 c0                	xor    %eax,%eax
53e17e:	5e                   	pop    %esi
53e17f:	5d                   	pop    %ebp
53e180:	c2 04 00             	ret    $0x4
53e183:	cc                   	int3
53e184:	cc                   	int3
53e185:	cc                   	int3
53e186:	cc                   	int3
53e187:	cc                   	int3
53e188:	cc                   	int3
53e189:	cc                   	int3
53e18a:	cc                   	int3
53e18b:	cc                   	int3
53e18c:	cc                   	int3
53e18d:	cc                   	int3
53e18e:	cc                   	int3
53e18f:	cc                   	int3
53e190:	55                   	push   %ebp
53e191:	8b ec                	mov    %esp,%ebp
53e193:	8b 55 08             	mov    0x8(%ebp),%edx
53e196:	8b 45 0c             	mov    0xc(%ebp),%eax
53e199:	89 02                	mov    %eax,(%edx)
53e19b:	85 c0                	test   %eax,%eax
53e19d:	75 05                	jne    0x53e1a4
53e19f:	89 42 04             	mov    %eax,0x4(%edx)
53e1a2:	5d                   	pop    %ebp
53e1a3:	c3                   	ret
53e1a4:	56                   	push   %esi
53e1a5:	8d 70 01             	lea    0x1(%eax),%esi
53e1a8:	8a 08                	mov    (%eax),%cl
53e1aa:	40                   	inc    %eax
53e1ab:	84 c9                	test   %cl,%cl
53e1ad:	75 f9                	jne    0x53e1a8
53e1af:	2b c6                	sub    %esi,%eax
53e1b1:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
53e1b6:	89 42 04             	mov    %eax,0x4(%edx)
53e1b9:	5e                   	pop    %esi
53e1ba:	5d                   	pop    %ebp
53e1bb:	c3                   	ret
53e1bc:	cc                   	int3
53e1bd:	cc                   	int3
53e1be:	cc                   	int3
53e1bf:	cc                   	int3
53e1c0:	55                   	push   %ebp
53e1c1:	8b ec                	mov    %esp,%ebp