5ace79:	8b 44 24 14          	mov    0x14(%esp),%eax
5ace7d:	8a 00                	mov    (%eax),%al
5ace7f:	88 45 00             	mov    %al,0x0(%ebp)
5ace82:	8b c5                	mov    %ebp,%eax
5ace84:	e8 0b 3d 04 00       	call   0x5f0b94
5ace89:	45                   	inc    %ebp
5ace8a:	ff 4c 24 14          	decl   0x14(%esp)
5ace8e:	4e                   	dec    %esi
5ace8f:	75 e8                	jne    0x5ace79
5ace91:	8b 44 24 08          	mov    0x8(%esp),%eax
5ace95:	50                   	push   %eax
5ace96:	8b c3                	mov    %ebx,%eax
5ace98:	8b 10                	mov    (%eax),%edx
5ace9a:	ff 52 0c             	call   *0xc(%edx)
5ace9d:	50                   	push   %eax
5ace9e:	8b 44 24 0c          	mov    0xc(%esp),%eax
5acea2:	50                   	push   %eax
5acea3:	8b d7                	mov    %edi,%edx
5acea5:	8b 44 24 18          	mov    0x18(%esp),%eax
5acea9:	8b 08                	mov    (%eax),%ecx
5aceab:	ff 11                	call   *(%ecx)
5acead:	33 c9                	xor    %ecx,%ecx
5aceaf:	8b 54 24 24          	mov    0x24(%esp),%edx
5aceb3:	e8 2c f4 ff ff       	call   0x5ac2e4
5aceb8:	47                   	inc    %edi
5aceb9:	ff 4c 24 1c          	decl   0x1c(%esp)
5acebd:	75 9a                	jne    0x5ace59
5acebf:	8b 44 24 18          	mov    0x18(%esp),%eax
5acec3:	e8 04 59 e5 ff       	call   0x4027cc
5acec8:	e9 82 00 00 00       	jmp    0x5acf4f
5acecd:	8b c3                	mov    %ebx,%eax
5acecf:	8b 10                	mov    (%eax),%edx
5aced1:	ff 52 10             	call   *0x10(%edx)
5aced4:	3c 05                	cmp    $0x5,%al
5aced6:	75 3d                	jne    0x5acf15
5aced8:	85 f6                	test   %esi,%esi
5aceda:	7c 73                	jl     0x5acf4f
5acedc:	8b c6                	mov    %esi,%eax
5acede:	40                   	inc    %eax
5acedf:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5acee3:	33 ff                	xor    %edi,%edi
5acee5:	8b d6                	mov    %esi,%edx
5acee7:	2b d7                	sub    %edi,%edx
5acee9:	8b c3                	mov    %ebx,%eax
5aceeb:	8b 08                	mov    (%eax),%ecx
5aceed:	ff 11                	call   *(%ecx)
5aceef:	50                   	push   %eax
5acef0:	8b d7                	mov    %edi,%edx
5acef2:	8b 44 24 10          	mov    0x10(%esp),%eax
5acef6:	8b 08                	mov    (%eax),%ecx
5acef8:	ff 11                	call   *(%ecx)
5acefa:	50                   	push   %eax
5acefb:	8b c3                	mov    %ebx,%eax
5acefd:	8b 10                	mov    (%eax),%edx
5aceff:	ff 52 0c             	call   *0xc(%edx)
5acf02:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5acf05:	58                   	pop    %eax
5acf06:	5a                   	pop    %edx
5acf07:	e8 b4 af e5 ff       	call   0x407ec0
5acf0c:	47                   	inc    %edi
5acf0d:	ff 4c 24 1c          	decl   0x1c(%esp)
5acf11:	75 d2                	jne    0x5acee5
5acf13:	eb 3a                	jmp    0x5acf4f
5acf15:	85 f6                	test   %esi,%esi
5acf17:	7c 36                	jl     0x5acf4f
5acf19:	8b c6                	mov    %esi,%eax
5acf1b:	40                   	inc    %eax
5acf1c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5acf20:	33 ff                	xor    %edi,%edi
5acf22:	8b d6                	mov    %esi,%edx
5acf24:	2b d7                	sub    %edi,%edx
5acf26:	8b c3                	mov    %ebx,%eax
5acf28:	8b 08                	mov    (%eax),%ecx
5acf2a:	ff 11                	call   *(%ecx)
5acf2c:	50                   	push   %eax
5acf2d:	8b d7                	mov    %edi,%edx
5acf2f:	8b 44 24 10          	mov    0x10(%esp),%eax
5acf33:	8b 08                	mov    (%eax),%ecx
5acf35:	ff 11                	call   *(%ecx)
5acf37:	50                   	push   %eax
5acf38:	8b c3                	mov    %ebx,%eax
5acf3a:	8b 10                	mov    (%eax),%edx
5acf3c:	ff 52 14             	call   *0x14(%edx)
5acf3f:	8b c8                	mov    %eax,%ecx
5acf41:	58                   	pop    %eax
5acf42:	5a                   	pop    %edx
5acf43:	e8 78 af e5 ff       	call   0x407ec0
5acf48:	47                   	inc    %edi
5acf49:	ff 4c 24 1c          	decl   0x1c(%esp)
5acf4d:	75 d3                	jne    0x5acf22
5acf4f:	8b 54 24 0c          	mov    0xc(%esp),%edx
5acf53:	8b c3                	mov    %ebx,%eax
5acf55:	e8 66 ba 04 00       	call   0x5f89c0
5acf5a:	8b 44 24 0c          	mov    0xc(%esp),%eax
5acf5e:	e8 15 6b e5 ff       	call   0x403a78
5acf63:	8b c3                	mov    %ebx,%eax
5acf65:	e8 9e a9 04 00       	call   0x5f7908
5acf6a:	84 c0                	test   %al,%al
5acf6c:	74 0f                	je     0x5acf7d
5acf6e:	8b c3                	mov    %ebx,%eax
5acf70:	e8 63 a9 04 00       	call   0x5f78d8
5acf75:	8a 14 24             	mov    (%esp),%dl
5acf78:	e8 d7 fc ff ff       	call   0x5acc54
5acf7d:	83 c4 20             	add    $0x20,%esp
5acf80:	5d                   	pop    %ebp
5acf81:	5f                   	pop    %edi
5acf82:	5e                   	pop    %esi
5acf83:	5b                   	pop    %ebx
5acf84:	c3                   	ret
5acf85:	8d 40 00             	lea    0x0(%eax),%eax
5acf88:	56                   	push   %esi
5acf89:	8b f0                	mov    %eax,%esi
5acf8b:	8b 46 44             	mov    0x44(%esi),%eax
5acf8e:	8b 08                	mov    (%eax),%ecx
5acf90:	ff 51 08             	call   *0x8(%ecx)
5acf93:	5e                   	pop    %esi
5acf94:	c3                   	ret
5acf95:	8d 40 00             	lea    0x0(%eax),%eax
5acf98:	53                   	push   %ebx
5acf99:	56                   	push   %esi
5acf9a:	57                   	push   %edi
5acf9b:	55                   	push   %ebp
5acf9c:	8b ea                	mov    %edx,%ebp
5acf9e:	8b f0                	mov    %eax,%esi
5acfa0:	8b c6                	mov    %esi,%eax
5acfa2:	8b 10                	mov    (%eax),%edx
5acfa4:	ff 52 0c             	call   *0xc(%edx)
5acfa7:	8b d8                	mov    %eax,%ebx
5acfa9:	8b c5                	mov    %ebp,%eax
5acfab:	8b 10                	mov    (%eax),%edx
5acfad:	ff 52 0c             	call   *0xc(%edx)
5acfb0:	3b d8                	cmp    %eax,%ebx
5acfb2:	75 14                	jne    0x5acfc8
5acfb4:	8b c6                	mov    %esi,%eax
5acfb6:	8b 10                	mov    (%eax),%edx
5acfb8:	ff 52 08             	call   *0x8(%edx)
5acfbb:	8b d8                	mov    %eax,%ebx
5acfbd:	8b c5                	mov    %ebp,%eax
5acfbf:	8b 10                	mov    (%eax),%edx
5acfc1:	ff 52 08             	call   *0x8(%edx)
5acfc4:	3b d8                	cmp    %eax,%ebx
5acfc6:	74 07                	je     0x5acfcf
5acfc8:	33 c0                	xor    %eax,%eax
5acfca:	e9 b2 00 00 00       	jmp    0x5ad081
5acfcf:	8b c6                	mov    %esi,%eax
5acfd1:	e8 32 a9 04 00       	call   0x5f7908
5acfd6:	8b d8                	mov    %eax,%ebx
5acfd8:	8b c5                	mov    %ebp,%eax
5acfda:	e8 29 a9 04 00       	call   0x5f7908
5acfdf:	3a d8                	cmp    %al,%bl
5acfe1:	74 07                	je     0x5acfea
5acfe3:	33 c0                	xor    %eax,%eax
5acfe5:	e9 97 00 00 00       	jmp    0x5ad081
5acfea:	8b c6                	mov    %esi,%eax
5acfec:	8b 10                	mov    (%eax),%edx
5acfee:	ff 52 08             	call   *0x8(%edx)
5acff1:	8b f8                	mov    %eax,%edi
5acff3:	4f                   	dec    %edi
5acff4:	85 ff                	test   %edi,%edi
5acff6:	7c 2d                	jl     0x5ad025
5acff8:	47                   	inc    %edi
5acff9:	33 db                	xor    %ebx,%ebx
5acffb:	8b d3                	mov    %ebx,%edx
5acffd:	8b c5                	mov    %ebp,%eax
5acfff:	8b 08                	mov    (%eax),%ecx
5ad001:	ff 11                	call   *(%ecx)
5ad003:	50                   	push   %eax
5ad004:	8b d3                	mov    %ebx,%edx
5ad006:	8b c6                	mov    %esi,%eax
5ad008:	8b 08                	mov    (%eax),%ecx
5ad00a:	ff 11                	call   *(%ecx)
5ad00c:	50                   	push   %eax
5ad00d:	8b c6                	mov    %esi,%eax
5ad00f:	8b 10                	mov    (%eax),%edx
5ad011:	ff 52 14             	call   *0x14(%edx)
5ad014:	8b c8                	mov    %eax,%ecx
5ad016:	58                   	pop    %eax
5ad017:	5a                   	pop    %edx
5ad018:	e8 c3 c1 e5 ff       	call   0x4091e0
5ad01d:	84 c0                	test   %al,%al
5ad01f:	74 60                	je     0x5ad081
5ad021:	43                   	inc    %ebx
5ad022:	4f                   	dec    %edi
5ad023:	75 d6                	jne    0x5acffb
5ad025:	8b c6                	mov    %esi,%eax
5ad027:	e8 dc a8 04 00       	call   0x5f7908
5ad02c:	84 c0                	test   %al,%al
5ad02e:	74 4f                	je     0x5ad07f
5ad030:	8b c6                	mov    %esi,%eax
5ad032:	e8 a1 a8 04 00       	call   0x5f78d8
5ad037:	8b 10                	mov    (%eax),%edx
5ad039:	ff 52 08             	call   *0x8(%edx)
5ad03c:	8b f8                	mov    %eax,%edi
5ad03e:	4f                   	dec    %edi
5ad03f:	85 ff                	test   %edi,%edi
5ad041:	7c 3c                	jl     0x5ad07f
5ad043:	47                   	inc    %edi
5ad044:	33 db                	xor    %ebx,%ebx
5ad046:	8b c5                	mov    %ebp,%eax
5ad048:	e8 8b a8 04 00       	call   0x5f78d8
5ad04d:	8b d3                	mov    %ebx,%edx
5ad04f:	8b 08                	mov    (%eax),%ecx
5ad051:	ff 11                	call   *(%ecx)
5ad053:	50                   	push   %eax
5ad054:	8b c6                	mov    %esi,%eax
5ad056:	e8 7d a8 04 00       	call   0x5f78d8
5ad05b:	8b d3                	mov    %ebx,%edx
5ad05d:	8b 08                	mov    (%eax),%ecx
5ad05f:	ff 11                	call   *(%ecx)
5ad061:	50                   	push   %eax
5ad062:	8b c6                	mov    %esi,%eax
5ad064:	e8 6f a8 04 00       	call   0x5f78d8
5ad069:	8b 10                	mov    (%eax),%edx
5ad06b:	ff 52 14             	call   *0x14(%edx)
5ad06e:	8b c8                	mov    %eax,%ecx
5ad070:	58                   	pop    %eax
5ad071:	5a                   	pop    %edx
5ad072:	e8 69 c1 e5 ff       	call   0x4091e0
5ad077:	84 c0                	test   %al,%al
5ad079:	74 06                	je     0x5ad081
5ad07b:	43                   	inc    %ebx
5ad07c:	4f                   	dec    %edi
5ad07d:	75 c7                	jne    0x5ad046
5ad07f:	b0 01                	mov    $0x1,%al
5ad081:	5d                   	pop    %ebp
5ad082:	5f                   	pop    %edi
5ad083:	5e                   	pop    %esi
5ad084:	5b                   	pop    %ebx
5ad085:	c3                   	ret
5ad086:	8b c0                	mov    %eax,%eax
5ad088:	55                   	push   %ebp
5ad089:	8b ec                	mov    %esp,%ebp
5ad08b:	51                   	push   %ecx
5ad08c:	53                   	push   %ebx
5ad08d:	56                   	push   %esi
5ad08e:	57                   	push   %edi
5ad08f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ad092:	8b 75 0c             	mov    0xc(%ebp),%esi
5ad095:	b2 01                	mov    $0x1,%dl
5ad097:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5ad09c:	e8 03 a5 04 00       	call   0x5f75a4
5ad0a1:	8b d8                	mov    %eax,%ebx
5ad0a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5ad0a6:	8b 10                	mov    (%eax),%edx
5ad0a8:	ff 52 10             	call   *0x10(%edx)
5ad0ab:	50                   	push   %eax
5ad0ac:	8b 4e 24             	mov    0x24(%esi),%ecx
5ad0af:	2b 4e 1c             	sub    0x1c(%esi),%ecx
5ad0b2:	41                   	inc    %ecx
5ad0b3:	8b 56 20             	mov    0x20(%esi),%edx
5ad0b6:	2b 56 18             	sub    0x18(%esi),%edx
5ad0b9:	42                   	inc    %edx
5ad0ba:	8b c3                	mov    %ebx,%eax
5ad0bc:	8b 38                	mov    (%eax),%edi
5ad0be:	ff 57 24             	call   *0x24(%edi)
5ad0c1:	db 45 08             	fildl  0x8(%ebp)
5ad0c4:	83 c4 f8             	add    $0xfffffff8,%esp
5ad0c7:	dd 1c 24             	fstpl  (%esp)
5ad0ca:	9b                   	fwait
5ad0cb:	8b c3                	mov    %ebx,%eax
5ad0cd:	e8 f6 ee 04 00       	call   0x5fbfc8
5ad0d2:	6a 01                	push   $0x1
5ad0d4:	6a 00                	push   $0x0
5ad0d6:	6a 00                	push   $0x0
5ad0d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ad0db:	8b d3                	mov    %ebx,%edx
5ad0dd:	8b c6                	mov    %esi,%eax
5ad0df:	e8 8c 6c 04 00       	call   0x5f3d70
5ad0e4:	8b c3                	mov    %ebx,%eax
5ad0e6:	8b 10                	mov    (%eax),%edx
5ad0e8:	ff 52 0c             	call   *0xc(%edx)
5ad0eb:	50                   	push   %eax
5ad0ec:	8b c3                	mov    %ebx,%eax
5ad0ee:	8b 10                	mov    (%eax),%edx
5ad0f0:	ff 52 08             	call   *0x8(%edx)
5ad0f3:	50                   	push   %eax
5ad0f4:	33 c9                	xor    %ecx,%ecx
5ad0f6:	33 d2                	xor    %edx,%edx
5ad0f8:	8b c3                	mov    %ebx,%eax
5ad0fa:	e8 11 ef ff ff       	call   0x5ac010
5ad0ff:	8b f0                	mov    %eax,%esi
5ad101:	8b c3                	mov    %ebx,%eax
5ad103:	e8 70 69 e5 ff       	call   0x403a78
5ad108:	8b c6                	mov    %esi,%eax
5ad10a:	5f                   	pop    %edi
5ad10b:	5e                   	pop    %esi
5ad10c:	5b                   	pop    %ebx
5ad10d:	59                   	pop    %ecx
5ad10e:	5d                   	pop    %ebp
5ad10f:	c2 18 00             	ret    $0x18
5ad112:	8b c0                	mov    %eax,%eax
5ad114:	53                   	push   %ebx
5ad115:	56                   	push   %esi
5ad116:	83 c4 e4             	add    $0xffffffe4,%esp
5ad119:	8b d8                	mov    %eax,%ebx
5ad11b:	66 8b 15 f4 d1 5a 00 	mov    0x5ad1f4,%dx
5ad122:	8b c3                	mov    %ebx,%eax
5ad124:	e8 17 c6 ff ff       	call   0x5a9740
5ad129:	84 c0                	test   %al,%al
5ad12b:	0f 84 bb 00 00 00    	je     0x5ad1ec
5ad131:	8d 44 24 08          	lea    0x8(%esp),%eax
5ad135:	50                   	push   %eax
5ad136:	8d 44 24 10          	lea    0x10(%esp),%eax
5ad13a:	50                   	push   %eax
5ad13b:	8d 44 24 18          	lea    0x18(%esp),%eax
5ad13f:	50                   	push   %eax
5ad140:	8d 44 24 20          	lea    0x20(%esp),%eax
5ad144:	50                   	push   %eax
5ad145:	8d 44 24 28          	lea    0x28(%esp),%eax
5ad149:	50                   	push   %eax
5ad14a:	8d 4c 24 18          	lea    0x18(%esp),%ecx
5ad14e:	8d 54 24 14          	lea    0x14(%esp),%edx
5ad152:	8b c3                	mov    %ebx,%eax
5ad154:	66 be ef ff          	mov    $0xffef,%si
5ad158:	e8 17 6b e5 ff       	call   0x403c74
5ad15d:	84 c0                	test   %al,%al
5ad15f:	0f 84 80 00 00 00    	je     0x5ad1e5
5ad165:	6a 00                	push   $0x0
5ad167:	e8 14 ab e5 ff       	call   0x407c80
5ad16c:	85 c0                	test   %eax,%eax
5ad16e:	74 7c                	je     0x5ad1ec
5ad170:	e8 d3 a7 e5 ff       	call   0x407948
5ad175:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5ad17a:	74 40                	je     0x5ad1bc
5ad17c:	8b 44 24 18          	mov    0x18(%esp),%eax
5ad180:	e8 db 75 04 00       	call   0x5f4760
5ad185:	84 c0                	test   %al,%al
5ad187:	75 33                	jne    0x5ad1bc
5ad189:	8b 44 24 08          	mov    0x8(%esp),%eax
5ad18d:	50                   	push   %eax
5ad18e:	8b 44 24 10          	mov    0x10(%esp),%eax
5ad192:	50                   	push   %eax
5ad193:	8b 44 24 18          	mov    0x18(%esp),%eax
5ad197:	50                   	push   %eax
5ad198:	8b 44 24 20          	mov    0x20(%esp),%eax
5ad19c:	50                   	push   %eax
5ad19d:	8b 44 24 28          	mov    0x28(%esp),%eax
5ad1a1:	50                   	push   %eax
5ad1a2:	8b c3                	mov    %ebx,%eax
5ad1a4:	e8 7f cf ff ff       	call   0x5aa128
5ad1a9:	50                   	push   %eax
5ad1aa:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5ad1ae:	8b 54 24 18          	mov    0x18(%esp),%edx
5ad1b2:	8b 43 58             	mov    0x58(%ebx),%eax
5ad1b5:	e8 ce fe ff ff       	call   0x5ad088
5ad1ba:	eb 1a                	jmp    0x5ad1d6
5ad1bc:	8b 44 24 08          	mov    0x8(%esp),%eax
5ad1c0:	50                   	push   %eax
5ad1c1:	8b 44 24 10          	mov    0x10(%esp),%eax
5ad1c5:	50                   	push   %eax