56df4c:	ff 74 24 1c          	push   0x1c(%esp)
56df50:	e8 1b b4 f9 ff       	call   0x509370
56df55:	83 c4 08             	add    $0x8,%esp
56df58:	85 c0                	test   %eax,%eax
56df5a:	0f 89 e9 01 00 00    	jns    0x56e149
56df60:	8b 44 24 14          	mov    0x14(%esp),%eax
56df64:	85 c0                	test   %eax,%eax
56df66:	75 11                	jne    0x56df79
56df68:	e8 73 be f6 ff       	call   0x4d9de0
56df6d:	89 44 24 14          	mov    %eax,0x14(%esp)
56df71:	85 c0                	test   %eax,%eax
56df73:	0f 84 c9 01 00 00    	je     0x56e142
56df79:	50                   	push   %eax
56df7a:	ff 74 24 1c          	push   0x1c(%esp)
56df7e:	e8 5d b5 f9 ff       	call   0x5094e0
56df83:	83 c4 08             	add    $0x8,%esp
56df86:	85 c0                	test   %eax,%eax
56df88:	0f 84 b4 01 00 00    	je     0x56e142
56df8e:	6a 01                	push   $0x1
56df90:	ff 74 24 18          	push   0x18(%esp)
56df94:	e8 f7 e5 f8 ff       	call   0x4fc590
56df99:	83 c4 08             	add    $0x8,%esp
56df9c:	85 c0                	test   %eax,%eax
56df9e:	0f 84 9e 01 00 00    	je     0x56e142
56dfa4:	8b 44 24 10          	mov    0x10(%esp),%eax
56dfa8:	50                   	push   %eax
56dfa9:	ff 74 24 18          	push   0x18(%esp)
56dfad:	89 44 24 20          	mov    %eax,0x20(%esp)
56dfb1:	e8 4a b5 f9 ff       	call   0x509500
56dfb6:	83 c4 08             	add    $0x8,%esp
56dfb9:	89 44 24 10          	mov    %eax,0x10(%esp)
56dfbd:	85 c0                	test   %eax,%eax
56dfbf:	0f 84 5c 01 00 00    	je     0x56e121
56dfc5:	53                   	push   %ebx
56dfc6:	50                   	push   %eax
56dfc7:	e8 a4 b3 f9 ff       	call   0x509370
56dfcc:	83 c4 08             	add    $0x8,%esp
56dfcf:	85 c0                	test   %eax,%eax
56dfd1:	0f 85 9a 00 00 00    	jne    0x56e071
56dfd7:	8b 06                	mov    (%esi),%eax
56dfd9:	83 e8 00             	sub    $0x0,%eax
56dfdc:	74 1f                	je     0x56dffd
56dfde:	83 e8 01             	sub    $0x1,%eax
56dfe1:	75 4c                	jne    0x56e02f
56dfe3:	8b 46 04             	mov    0x4(%esi),%eax
56dfe6:	ff 70 04             	push   0x4(%eax)
56dfe9:	e8 92 d7 f7 ff       	call   0x4eb780
56dfee:	8b 46 04             	mov    0x4(%esi),%eax
56dff1:	83 c4 04             	add    $0x4,%esp
56dff4:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56dff8:	89 48 04             	mov    %ecx,0x4(%eax)
56dffb:	eb 32                	jmp    0x56e02f
56dffd:	68 c0 01 00 00       	push   $0x1c0
56e002:	68 04 97 65 00       	push   $0x659704
56e007:	6a 08                	push   $0x8
56e009:	e8 42 27 f7 ff       	call   0x4e0750
56e00e:	83 c4 0c             	add    $0xc,%esp
56e011:	85 c0                	test   %eax,%eax
56e013:	0f 84 cb 00 00 00    	je     0x56e0e4
56e019:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56e01d:	89 08                	mov    %ecx,(%eax)
56e01f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56e023:	89 48 04             	mov    %ecx,0x4(%eax)
56e026:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
56e02c:	89 46 04             	mov    %eax,0x4(%esi)
56e02f:	8b 07                	mov    (%edi),%eax
56e031:	83 e8 00             	sub    $0x0,%eax
56e034:	74 11                	je     0x56e047
56e036:	83 e8 01             	sub    $0x1,%eax
56e039:	75 13                	jne    0x56e04e
56e03b:	8b 47 04             	mov    0x4(%edi),%eax
56e03e:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
56e045:	eb 07                	jmp    0x56e04e
56e047:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
56e04e:	68 dc 95 65 00       	push   $0x6595dc
56e053:	57                   	push   %edi
56e054:	e8 67 e2 f7 ff       	call   0x4ec2c0
56e059:	8b 7c 24 38          	mov    0x38(%esp),%edi
56e05d:	55                   	push   %ebp
56e05e:	ff 77 04             	push   0x4(%edi)
56e061:	e8 da 6c f7 ff       	call   0x4e4d40
56e066:	8b 5c 24 34          	mov    0x34(%esp),%ebx
56e06a:	83 c4 10             	add    $0x10,%esp
56e06d:	4b                   	dec    %ebx
56e06e:	4d                   	dec    %ebp
56e06f:	eb 08                	jmp    0x56e079
56e071:	8b 5c 24 24          	mov    0x24(%esp),%ebx
56e075:	8b 7c 24 30          	mov    0x30(%esp),%edi
56e079:	ff 77 04             	push   0x4(%edi)
56e07c:	43                   	inc    %ebx
56e07d:	45                   	inc    %ebp
56e07e:	89 5c 24 28          	mov    %ebx,0x28(%esp)
56e082:	e8 39 70 f7 ff       	call   0x4e50c0
56e087:	48                   	dec    %eax
56e088:	83 c4 04             	add    $0x4,%esp
56e08b:	3b d8                	cmp    %eax,%ebx
56e08d:	0f 8c 02 fe ff ff    	jl     0x56de95
56e093:	8b 74 24 10          	mov    0x10(%esp),%esi
56e097:	33 ed                	xor    %ebp,%ebp
56e099:	ff 77 04             	push   0x4(%edi)
56e09c:	e8 1f 70 f7 ff       	call   0x4e50c0
56e0a1:	48                   	dec    %eax
56e0a2:	50                   	push   %eax
56e0a3:	ff 77 04             	push   0x4(%edi)
56e0a6:	e8 d5 71 f7 ff       	call   0x4e5280
56e0ab:	83 c4 0c             	add    $0xc,%esp
56e0ae:	85 c0                	test   %eax,%eax
56e0b0:	74 19                	je     0x56e0cb
56e0b2:	83 38 01             	cmpl   $0x1,(%eax)
56e0b5:	75 14                	jne    0x56e0cb
56e0b7:	8b 40 04             	mov    0x4(%eax),%eax
56e0ba:	ff 70 04             	push   0x4(%eax)
56e0bd:	ff 30                	push   (%eax)
56e0bf:	e8 ac b2 f9 ff       	call   0x509370
56e0c4:	83 c4 08             	add    $0x8,%esp
56e0c7:	85 c0                	test   %eax,%eax
56e0c9:	7f 38                	jg     0x56e103
56e0cb:	57                   	push   %edi
56e0cc:	e8 bf 00 00 00       	call   0x56e190
56e0d1:	83 c4 04             	add    $0x4,%esp
56e0d4:	b9 01 00 00 00       	mov    $0x1,%ecx
56e0d9:	85 c0                	test   %eax,%eax
56e0db:	0f 45 e9             	cmovne %ecx,%ebp
56e0de:	89 6c 24 28          	mov    %ebp,0x28(%esp)
56e0e2:	eb 1f                	jmp    0x56e103
56e0e4:	68 c2 01 00 00       	push   $0x1c2
56e0e9:	68 04 97 65 00       	push   $0x659704
56e0ee:	6a 41                	push   $0x41
56e0f0:	68 a1 00 00 00       	push   $0xa1
56e0f5:	6a 22                	push   $0x22
56e0f7:	e8 84 ae f6 ff       	call   0x4d8f80
56e0fc:	83 c4 14             	add    $0x14,%esp
56e0ff:	8b 74 24 10          	mov    0x10(%esp),%esi
56e103:	56                   	push   %esi
56e104:	e8 77 d6 f7 ff       	call   0x4eb780
56e109:	ff 74 24 18          	push   0x18(%esp)
56e10d:	e8 0e bb f6 ff       	call   0x4d9c20
56e112:	8b 44 24 30          	mov    0x30(%esp),%eax
56e116:	83 c4 08             	add    $0x8,%esp
56e119:	5b                   	pop    %ebx
56e11a:	5f                   	pop    %edi
56e11b:	5e                   	pop    %esi
56e11c:	5d                   	pop    %ebp
56e11d:	83 c4 1c             	add    $0x1c,%esp
56e120:	c3                   	ret
56e121:	8b 74 24 18          	mov    0x18(%esp),%esi
56e125:	68 b5 01 00 00       	push   $0x1b5
56e12a:	68 04 97 65 00       	push   $0x659704
56e12f:	6a 41                	push   $0x41
56e131:	68 a1 00 00 00       	push   $0xa1
56e136:	6a 22                	push   $0x22
56e138:	e8 43 ae f6 ff       	call   0x4d8f80
56e13d:	83 c4 14             	add    $0x14,%esp
56e140:	eb c1                	jmp    0x56e103
56e142:	68 ad 01 00 00       	push   $0x1ad
56e147:	eb a0                	jmp    0x56e0e9
56e149:	68 a2 01 00 00       	push   $0x1a2
56e14e:	68 04 97 65 00       	push   $0x659704
56e153:	6a 74                	push   $0x74
56e155:	eb 99                	jmp    0x56e0f0
56e157:	68 79 01 00 00       	push   $0x179
56e15c:	68 04 97 65 00       	push   $0x659704
56e161:	6a 74                	push   $0x74
56e163:	68 a1 00 00 00       	push   $0xa1
56e168:	6a 22                	push   $0x22
56e16a:	e8 11 ae f6 ff       	call   0x4d8f80
56e16f:	83 c4 14             	add    $0x14,%esp
56e172:	33 c0                	xor    %eax,%eax
56e174:	5f                   	pop    %edi
56e175:	5e                   	pop    %esi
56e176:	5d                   	pop    %ebp
56e177:	83 c4 1c             	add    $0x1c,%esp
56e17a:	c3                   	ret
56e17b:	5f                   	pop    %edi
56e17c:	5e                   	pop    %esi
56e17d:	b8 01 00 00 00       	mov    $0x1,%eax
56e182:	5d                   	pop    %ebp
56e183:	83 c4 1c             	add    $0x1c,%esp
56e186:	c3                   	ret
56e187:	cc                   	int3
56e188:	cc                   	int3
56e189:	cc                   	int3
56e18a:	cc                   	int3
56e18b:	cc                   	int3
56e18c:	cc                   	int3
56e18d:	cc                   	int3
56e18e:	cc                   	int3
56e18f:	cc                   	int3
56e190:	b8 10 00 00 00       	mov    $0x10,%eax
56e195:	e8 16 36 06 00       	call   0x5d17b0
56e19a:	53                   	push   %ebx
56e19b:	8b 5c 24 18          	mov    0x18(%esp),%ebx
56e19f:	55                   	push   %ebp
56e1a0:	56                   	push   %esi
56e1a1:	33 f6                	xor    %esi,%esi
56e1a3:	33 ed                	xor    %ebp,%ebp
56e1a5:	89 74 24 18          	mov    %esi,0x18(%esp)
56e1a9:	85 db                	test   %ebx,%ebx
56e1ab:	0f 84 f4 01 00 00    	je     0x56e3a5
56e1b1:	8b 03                	mov    (%ebx),%eax
56e1b3:	85 c0                	test   %eax,%eax
56e1b5:	0f 84 ea 01 00 00    	je     0x56e3a5
56e1bb:	83 f8 01             	cmp    $0x1,%eax
56e1be:	0f 85 d8 01 00 00    	jne    0x56e39c
56e1c4:	ff 73 04             	push   0x4(%ebx)
56e1c7:	e8 f4 6e f7 ff       	call   0x4e50c0
56e1cc:	83 c4 04             	add    $0x4,%esp
56e1cf:	85 c0                	test   %eax,%eax
56e1d1:	0f 84 c5 01 00 00    	je     0x56e39c
56e1d7:	57                   	push   %edi
56e1d8:	ff 73 04             	push   0x4(%ebx)
56e1db:	33 ff                	xor    %edi,%edi
56e1dd:	89 7c 24 18          	mov    %edi,0x18(%esp)
56e1e1:	e8 da 6e f7 ff       	call   0x4e50c0
56e1e6:	48                   	dec    %eax
56e1e7:	83 c4 04             	add    $0x4,%esp
56e1ea:	85 c0                	test   %eax,%eax
56e1ec:	0f 8e 2f 01 00 00    	jle    0x56e321
56e1f2:	57                   	push   %edi
56e1f3:	ff 73 04             	push   0x4(%ebx)
56e1f6:	e8 85 70 f7 ff       	call   0x4e5280
56e1fb:	8b f8                	mov    %eax,%edi
56e1fd:	8b 44 24 1c          	mov    0x1c(%esp),%eax
56e201:	40                   	inc    %eax
56e202:	50                   	push   %eax
56e203:	ff 73 04             	push   0x4(%ebx)
56e206:	89 44 24 24          	mov    %eax,0x24(%esp)
56e20a:	e8 71 70 f7 ff       	call   0x4e5280
56e20f:	83 c4 10             	add    $0x10,%esp
56e212:	8b c8                	mov    %eax,%ecx
56e214:	85 ff                	test   %edi,%edi
56e216:	0f 84 3f 01 00 00    	je     0x56e35b
56e21c:	8b 07                	mov    (%edi),%eax
56e21e:	83 e8 00             	sub    $0x0,%eax
56e221:	74 17                	je     0x56e23a
56e223:	83 e8 01             	sub    $0x1,%eax
56e226:	0f 85 2f 01 00 00    	jne    0x56e35b
56e22c:	8b 47 04             	mov    0x4(%edi),%eax
56e22f:	8b 18                	mov    (%eax),%ebx
56e231:	8b 40 04             	mov    0x4(%eax),%eax
56e234:	89 44 24 10          	mov    %eax,0x10(%esp)
56e238:	eb 07                	jmp    0x56e241
56e23a:	8b 5f 04             	mov    0x4(%edi),%ebx
56e23d:	89 5c 24 10          	mov    %ebx,0x10(%esp)
56e241:	85 c9                	test   %ecx,%ecx
56e243:	0f 84 12 01 00 00    	je     0x56e35b
56e249:	8b 01                	mov    (%ecx),%eax
56e24b:	83 e8 00             	sub    $0x0,%eax
56e24e:	74 17                	je     0x56e267
56e250:	83 e8 01             	sub    $0x1,%eax
56e253:	0f 85 02 01 00 00    	jne    0x56e35b
56e259:	8b 41 04             	mov    0x4(%ecx),%eax
56e25c:	8b 38                	mov    (%eax),%edi
56e25e:	8b 40 04             	mov    0x4(%eax),%eax
56e261:	89 44 24 18          	mov    %eax,0x18(%esp)
56e265:	eb 07                	jmp    0x56e26e
56e267:	8b 79 04             	mov    0x4(%ecx),%edi
56e26a:	89 7c 24 18          	mov    %edi,0x18(%esp)
56e26e:	57                   	push   %edi
56e26f:	53                   	push   %ebx
56e270:	e8 fb b0 f9 ff       	call   0x509370
56e275:	83 c4 08             	add    $0x8,%esp
56e278:	85 c0                	test   %eax,%eax
56e27a:	0f 89 db 00 00 00    	jns    0x56e35b
56e280:	ff 74 24 10          	push   0x10(%esp)
56e284:	53                   	push   %ebx
56e285:	e8 e6 b0 f9 ff       	call   0x509370
56e28a:	83 c4 08             	add    $0x8,%esp
56e28d:	85 c0                	test   %eax,%eax
56e28f:	0f 8f c6 00 00 00    	jg     0x56e35b
56e295:	ff 74 24 18          	push   0x18(%esp)
56e299:	57                   	push   %edi
56e29a:	e8 d1 b0 f9 ff       	call   0x509370
56e29f:	83 c4 08             	add    $0x8,%esp
56e2a2:	85 c0                	test   %eax,%eax
56e2a4:	0f 8f b1 00 00 00    	jg     0x56e35b
56e2aa:	85 f6                	test   %esi,%esi
56e2ac:	75 0f                	jne    0x56e2bd
56e2ae:	e8 2d bb f6 ff       	call   0x4d9de0
56e2b3:	8b f0                	mov    %eax,%esi
56e2b5:	85 f6                	test   %esi,%esi
56e2b7:	0f 84 c2 00 00 00    	je     0x56e37f
56e2bd:	56                   	push   %esi
56e2be:	ff 74 24 14          	push   0x14(%esp)
56e2c2:	e8 19 b2 f9 ff       	call   0x5094e0
56e2c7:	83 c4 08             	add    $0x8,%esp
56e2ca:	85 c0                	test   %eax,%eax
56e2cc:	0f 84 ad 00 00 00    	je     0x56e37f
56e2d2:	6a 01                	push   $0x1
56e2d4:	56                   	push   %esi
56e2d5:	e8 b6 e2 f8 ff       	call   0x4fc590
56e2da:	83 c4 08             	add    $0x8,%esp
56e2dd:	85 c0                	test   %eax,%eax
56e2df:	0f 84 9a 00 00 00    	je     0x56e37f
56e2e5:	55                   	push   %ebp
56e2e6:	56                   	push   %esi
56e2e7:	8b dd                	mov    %ebp,%ebx
56e2e9:	e8 12 b2 f9 ff       	call   0x509500
56e2ee:	8b e8                	mov    %eax,%ebp
56e2f0:	83 c4 08             	add    $0x8,%esp
56e2f3:	85 ed                	test   %ebp,%ebp
56e2f5:	74 7f                	je     0x56e376
56e2f7:	57                   	push   %edi
56e2f8:	55                   	push   %ebp
56e2f9:	e8 72 b0 f9 ff       	call   0x509370
56e2fe:	83 c4 08             	add    $0x8,%esp
56e301:	85 c0                	test   %eax,%eax
56e303:	79 56                	jns    0x56e35b
56e305:	8b 5c 24 24          	mov    0x24(%esp),%ebx
56e309:	ff 73 04             	push   0x4(%ebx)
56e30c:	e8 af 6d f7 ff       	call   0x4e50c0
56e311:	8b 7c 24 18          	mov    0x18(%esp),%edi
56e315:	48                   	dec    %eax
56e316:	83 c4 04             	add    $0x4,%esp
56e319:	3b f8                	cmp    %eax,%edi
56e31b:	0f 8c d1 fe ff ff    	jl     0x56e1f2
56e321:	ff 73 04             	push   0x4(%ebx)
56e324:	e8 97 6d f7 ff       	call   0x4e50c0
56e329:	48                   	dec    %eax
56e32a:	50                   	push   %eax
56e32b:	ff 73 04             	push   0x4(%ebx)
56e32e:	e8 4d 6f f7 ff       	call   0x4e5280
56e333:	83 c4 0c             	add    $0xc,%esp
56e336:	85 c0                	test   %eax,%eax
56e338:	74 19                	je     0x56e353
56e33a:	83 38 01             	cmpl   $0x1,(%eax)
56e33d:	75 14                	jne    0x56e353
56e33f:	8b 40 04             	mov    0x4(%eax),%eax
56e342:	ff 70 04             	push   0x4(%eax)
56e345:	ff 30                	push   (%eax)
56e347:	e8 24 b0 f9 ff       	call   0x509370
56e34c:	83 c4 08             	add    $0x8,%esp
56e34f:	85 c0                	test   %eax,%eax
56e351:	7f 08                	jg     0x56e35b
56e353:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
56e35a:	00
56e35b:	55                   	push   %ebp
56e35c:	e8 1f d4 f7 ff       	call   0x4eb780
56e361:	56                   	push   %esi
56e362:	e8 b9 b8 f6 ff       	call   0x4d9c20
56e367:	8b 44 24 24          	mov    0x24(%esp),%eax
56e36b:	83 c4 08             	add    $0x8,%esp
56e36e:	5f                   	pop    %edi
56e36f:	5e                   	pop    %esi
56e370:	5d                   	pop    %ebp
56e371:	5b                   	pop    %ebx
56e372:	83 c4 10             	add    $0x10,%esp
56e375:	c3                   	ret
56e376:	8b eb                	mov    %ebx,%ebp
56e378:	68 38 01 00 00       	push   $0x138