47a07c:	51                   	push   %ecx
47a07d:	6a 00                	push   $0x0
47a07f:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
47a082:	51                   	push   %ecx
47a083:	e8 e8 8b 15 00       	call   0x5d2c70
47a088:	8b 45 fc             	mov    -0x4(%ebp),%eax
47a08b:	8b 08                	mov    (%eax),%ecx
47a08d:	8b 40 04             	mov    0x4(%eax),%eax
47a090:	2b c1                	sub    %ecx,%eax
47a092:	50                   	push   %eax
47a093:	51                   	push   %ecx
47a094:	56                   	push   %esi
47a095:	e8 36 8d 15 00       	call   0x5d2dd0
47a09a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a09d:	83 c4 18             	add    $0x18,%esp
47a0a0:	53                   	push   %ebx
47a0a1:	57                   	push   %edi
47a0a2:	56                   	push   %esi
47a0a3:	e8 28 ef fe ff       	call   0x468fd0
47a0a8:	5f                   	pop    %edi
47a0a9:	5e                   	pop    %esi
47a0aa:	5b                   	pop    %ebx
47a0ab:	8b e5                	mov    %ebp,%esp
47a0ad:	5d                   	pop    %ebp
47a0ae:	c2 08 00             	ret    $0x8
47a0b1:	e8 ea 26 fe ff       	call   0x45c7a0
47a0b6:	cc                   	int3
47a0b7:	cc                   	int3
47a0b8:	cc                   	int3
47a0b9:	cc                   	int3
47a0ba:	cc                   	int3
47a0bb:	cc                   	int3
47a0bc:	cc                   	int3
47a0bd:	cc                   	int3
47a0be:	cc                   	int3
47a0bf:	cc                   	int3
47a0c0:	55                   	push   %ebp
47a0c1:	8b ec                	mov    %esp,%ebp
47a0c3:	83 ec 08             	sub    $0x8,%esp
47a0c6:	53                   	push   %ebx
47a0c7:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a0ca:	56                   	push   %esi
47a0cb:	57                   	push   %edi
47a0cc:	8b f9                	mov    %ecx,%edi
47a0ce:	81 fb ff ff ff 1f    	cmp    $0x1fffffff,%ebx
47a0d4:	0f 87 95 00 00 00    	ja     0x47a16f
47a0da:	8b 4f 08             	mov    0x8(%edi),%ecx
47a0dd:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47a0e2:	2b 0f                	sub    (%edi),%ecx
47a0e4:	8b 77 04             	mov    0x4(%edi),%esi
47a0e7:	2b 37                	sub    (%edi),%esi
47a0e9:	c1 f9 03             	sar    $0x3,%ecx
47a0ec:	8b d1                	mov    %ecx,%edx
47a0ee:	c1 fe 03             	sar    $0x3,%esi
47a0f1:	d1 ea                	shr    $1,%edx
47a0f3:	2b c2                	sub    %edx,%eax
47a0f5:	3b c8                	cmp    %eax,%ecx
47a0f7:	76 07                	jbe    0x47a100
47a0f9:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47a0fe:	eb 08                	jmp    0x47a108
47a100:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47a103:	3b c3                	cmp    %ebx,%eax
47a105:	0f 42 c3             	cmovb  %ebx,%eax
47a108:	50                   	push   %eax
47a109:	8b cf                	mov    %edi,%ecx
47a10b:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a10e:	e8 4d 34 02 00       	call   0x49d560
47a113:	8b d3                	mov    %ebx,%edx
47a115:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a118:	8d 0c f0             	lea    (%eax,%esi,8),%ecx
47a11b:	2b d6                	sub    %esi,%edx
47a11d:	74 16                	je     0x47a135
47a11f:	90                   	nop
47a120:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
47a126:	8d 49 08             	lea    0x8(%ecx),%ecx
47a129:	c7 41 fc 00 00 00 00 	movl   $0x0,-0x4(%ecx)
47a130:	83 ea 01             	sub    $0x1,%edx
47a133:	75 eb                	jne    0x47a120
47a135:	8b 5f 04             	mov    0x4(%edi),%ebx
47a138:	8b f0                	mov    %eax,%esi
47a13a:	8b 17                	mov    (%edi),%edx
47a13c:	3b d3                	cmp    %ebx,%edx
47a13e:	74 18                	je     0x47a158
47a140:	8b 02                	mov    (%edx),%eax
47a142:	8d 76 08             	lea    0x8(%esi),%esi
47a145:	8b 4a 04             	mov    0x4(%edx),%ecx
47a148:	83 c2 08             	add    $0x8,%edx
47a14b:	89 46 f8             	mov    %eax,-0x8(%esi)
47a14e:	89 4e fc             	mov    %ecx,-0x4(%esi)
47a151:	3b d3                	cmp    %ebx,%edx
47a153:	75 eb                	jne    0x47a140
47a155:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a158:	ff 75 fc             	push   -0x4(%ebp)
47a15b:	8b cf                	mov    %edi,%ecx
47a15d:	ff 75 08             	push   0x8(%ebp)
47a160:	50                   	push   %eax
47a161:	e8 da 1e 02 00       	call   0x49c040
47a166:	5f                   	pop    %edi
47a167:	5e                   	pop    %esi
47a168:	5b                   	pop    %ebx
47a169:	8b e5                	mov    %ebp,%esp
47a16b:	5d                   	pop    %ebp
47a16c:	c2 08 00             	ret    $0x8
47a16f:	e8 2c 26 fe ff       	call   0x45c7a0
47a174:	cc                   	int3
47a175:	cc                   	int3
47a176:	cc                   	int3
47a177:	cc                   	int3
47a178:	cc                   	int3
47a179:	cc                   	int3
47a17a:	cc                   	int3
47a17b:	cc                   	int3
47a17c:	cc                   	int3
47a17d:	cc                   	int3
47a17e:	cc                   	int3
47a17f:	cc                   	int3
47a180:	55                   	push   %ebp
47a181:	8b ec                	mov    %esp,%ebp
47a183:	83 ec 08             	sub    $0x8,%esp
47a186:	53                   	push   %ebx
47a187:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a18a:	56                   	push   %esi
47a18b:	8b f1                	mov    %ecx,%esi
47a18d:	57                   	push   %edi
47a18e:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
47a194:	0f 87 86 00 00 00    	ja     0x47a220
47a19a:	8b 4e 08             	mov    0x8(%esi),%ecx
47a19d:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a1a2:	2b 0e                	sub    (%esi),%ecx
47a1a4:	8b 7e 04             	mov    0x4(%esi),%edi
47a1a7:	2b 3e                	sub    (%esi),%edi
47a1a9:	c1 f9 02             	sar    $0x2,%ecx
47a1ac:	8b d1                	mov    %ecx,%edx
47a1ae:	c1 ff 02             	sar    $0x2,%edi
47a1b1:	d1 ea                	shr    $1,%edx
47a1b3:	2b c2                	sub    %edx,%eax
47a1b5:	3b c8                	cmp    %eax,%ecx
47a1b7:	76 07                	jbe    0x47a1c0
47a1b9:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a1be:	eb 08                	jmp    0x47a1c8
47a1c0:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47a1c3:	3b c3                	cmp    %ebx,%eax
47a1c5:	0f 42 c3             	cmovb  %ebx,%eax
47a1c8:	50                   	push   %eax
47a1c9:	8b ce                	mov    %esi,%ecx
47a1cb:	89 45 08             	mov    %eax,0x8(%ebp)
47a1ce:	e8 fd f0 fe ff       	call   0x4692d0
47a1d3:	8b d0                	mov    %eax,%edx
47a1d5:	8b cb                	mov    %ebx,%ecx
47a1d7:	89 55 f8             	mov    %edx,-0x8(%ebp)
47a1da:	8d 04 ba             	lea    (%edx,%edi,4),%eax
47a1dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a1e0:	2b cf                	sub    %edi,%ecx
47a1e2:	74 07                	je     0x47a1eb
47a1e4:	8b 7d fc             	mov    -0x4(%ebp),%edi
47a1e7:	33 c0                	xor    %eax,%eax
47a1e9:	f3 ab                	rep stos %eax,%es:(%edi)
47a1eb:	8b 7e 04             	mov    0x4(%esi),%edi
47a1ee:	8b 0e                	mov    (%esi),%ecx
47a1f0:	3b cf                	cmp    %edi,%ecx
47a1f2:	74 15                	je     0x47a209
47a1f4:	8b 01                	mov    (%ecx),%eax
47a1f6:	8d 52 04             	lea    0x4(%edx),%edx
47a1f9:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
47a1ff:	83 c1 04             	add    $0x4,%ecx
47a202:	89 42 fc             	mov    %eax,-0x4(%edx)
47a205:	3b cf                	cmp    %edi,%ecx
47a207:	75 eb                	jne    0x47a1f4
47a209:	ff 75 08             	push   0x8(%ebp)
47a20c:	8b ce                	mov    %esi,%ecx
47a20e:	53                   	push   %ebx
47a20f:	ff 75 f8             	push   -0x8(%ebp)
47a212:	e8 19 1f 02 00       	call   0x49c130
47a217:	5f                   	pop    %edi
47a218:	5e                   	pop    %esi
47a219:	5b                   	pop    %ebx
47a21a:	8b e5                	mov    %ebp,%esp
47a21c:	5d                   	pop    %ebp
47a21d:	c2 08 00             	ret    $0x8
47a220:	e8 7b 25 fe ff       	call   0x45c7a0
47a225:	cc                   	int3
47a226:	cc                   	int3
47a227:	cc                   	int3
47a228:	cc                   	int3
47a229:	cc                   	int3
47a22a:	cc                   	int3
47a22b:	cc                   	int3
47a22c:	cc                   	int3
47a22d:	cc                   	int3
47a22e:	cc                   	int3
47a22f:	cc                   	int3
47a230:	55                   	push   %ebp
47a231:	8b ec                	mov    %esp,%ebp
47a233:	83 ec 08             	sub    $0x8,%esp
47a236:	53                   	push   %ebx
47a237:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a23a:	56                   	push   %esi
47a23b:	8b f1                	mov    %ecx,%esi
47a23d:	57                   	push   %edi
47a23e:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
47a244:	0f 87 ac 00 00 00    	ja     0x47a2f6
47a24a:	8b 4e 08             	mov    0x8(%esi),%ecx
47a24d:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a252:	2b 0e                	sub    (%esi),%ecx
47a254:	8b 7e 04             	mov    0x4(%esi),%edi
47a257:	2b 3e                	sub    (%esi),%edi
47a259:	c1 f9 02             	sar    $0x2,%ecx
47a25c:	8b d1                	mov    %ecx,%edx
47a25e:	c1 ff 02             	sar    $0x2,%edi
47a261:	d1 ea                	shr    $1,%edx
47a263:	2b c2                	sub    %edx,%eax
47a265:	3b c8                	cmp    %eax,%ecx
47a267:	76 07                	jbe    0x47a270
47a269:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a26e:	eb 08                	jmp    0x47a278
47a270:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47a273:	3b c3                	cmp    %ebx,%eax
47a275:	0f 42 c3             	cmovb  %ebx,%eax
47a278:	50                   	push   %eax
47a279:	8b ce                	mov    %esi,%ecx
47a27b:	89 45 08             	mov    %eax,0x8(%ebp)
47a27e:	e8 4d f0 fe ff       	call   0x4692d0
47a283:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a286:	8d 14 b8             	lea    (%eax,%edi,4),%edx
47a289:	8b c3                	mov    %ebx,%eax
47a28b:	2b c7                	sub    %edi,%eax
47a28d:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a290:	74 0e                	je     0x47a2a0
47a292:	8b c8                	mov    %eax,%ecx
47a294:	8b fa                	mov    %edx,%edi
47a296:	33 c0                	xor    %eax,%eax
47a298:	f3 ab                	rep stos %eax,%es:(%edi)
47a29a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47a29d:	8d 14 82             	lea    (%edx,%eax,4),%edx
47a2a0:	56                   	push   %esi
47a2a1:	52                   	push   %edx
47a2a2:	52                   	push   %edx
47a2a3:	e8 08 e8 ff ff       	call   0x478ab0
47a2a8:	8b 7e 04             	mov    0x4(%esi),%edi
47a2ab:	83 c4 0c             	add    $0xc,%esp
47a2ae:	8b 0e                	mov    (%esi),%ecx
47a2b0:	8b 55 fc             	mov    -0x4(%ebp),%edx
47a2b3:	3b cf                	cmp    %edi,%ecx
47a2b5:	74 1d                	je     0x47a2d4
47a2b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
47a2be:	00 00
47a2c0:	8b 01                	mov    (%ecx),%eax
47a2c2:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
47a2c8:	83 c1 04             	add    $0x4,%ecx
47a2cb:	89 02                	mov    %eax,(%edx)
47a2cd:	83 c2 04             	add    $0x4,%edx
47a2d0:	3b cf                	cmp    %edi,%ecx
47a2d2:	75 ec                	jne    0x47a2c0
47a2d4:	56                   	push   %esi
47a2d5:	52                   	push   %edx
47a2d6:	52                   	push   %edx
47a2d7:	e8 d4 e7 ff ff       	call   0x478ab0
47a2dc:	83 c4 0c             	add    $0xc,%esp
47a2df:	8b ce                	mov    %esi,%ecx
47a2e1:	ff 75 08             	push   0x8(%ebp)
47a2e4:	53                   	push   %ebx
47a2e5:	ff 75 fc             	push   -0x4(%ebp)
47a2e8:	e8 c3 1e 02 00       	call   0x49c1b0
47a2ed:	5f                   	pop    %edi
47a2ee:	5e                   	pop    %esi
47a2ef:	5b                   	pop    %ebx
47a2f0:	8b e5                	mov    %ebp,%esp
47a2f2:	5d                   	pop    %ebp
47a2f3:	c2 08 00             	ret    $0x8
47a2f6:	e8 a5 24 fe ff       	call   0x45c7a0
47a2fb:	cc                   	int3
47a2fc:	cc                   	int3
47a2fd:	cc                   	int3
47a2fe:	cc                   	int3
47a2ff:	cc                   	int3
47a300:	55                   	push   %ebp
47a301:	8b ec                	mov    %esp,%ebp
47a303:	83 ec 08             	sub    $0x8,%esp
47a306:	53                   	push   %ebx
47a307:	8b 5d 08             	mov    0x8(%ebp),%ebx
47a30a:	56                   	push   %esi
47a30b:	8b f1                	mov    %ecx,%esi
47a30d:	57                   	push   %edi
47a30e:	81 fb ff ff ff 3f    	cmp    $0x3fffffff,%ebx
47a314:	0f 87 86 00 00 00    	ja     0x47a3a0
47a31a:	8b 4e 08             	mov    0x8(%esi),%ecx
47a31d:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a322:	2b 0e                	sub    (%esi),%ecx
47a324:	8b 7e 04             	mov    0x4(%esi),%edi
47a327:	2b 3e                	sub    (%esi),%edi
47a329:	c1 f9 02             	sar    $0x2,%ecx
47a32c:	8b d1                	mov    %ecx,%edx
47a32e:	c1 ff 02             	sar    $0x2,%edi
47a331:	d1 ea                	shr    $1,%edx
47a333:	2b c2                	sub    %edx,%eax
47a335:	3b c8                	cmp    %eax,%ecx
47a337:	76 07                	jbe    0x47a340
47a339:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47a33e:	eb 08                	jmp    0x47a348
47a340:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47a343:	3b c3                	cmp    %ebx,%eax
47a345:	0f 42 c3             	cmovb  %ebx,%eax
47a348:	50                   	push   %eax
47a349:	8b ce                	mov    %esi,%ecx
47a34b:	89 45 08             	mov    %eax,0x8(%ebp)
47a34e:	e8 7d ef fe ff       	call   0x4692d0
47a353:	8b d0                	mov    %eax,%edx
47a355:	8b cb                	mov    %ebx,%ecx
47a357:	89 55 f8             	mov    %edx,-0x8(%ebp)
47a35a:	8d 04 ba             	lea    (%edx,%edi,4),%eax
47a35d:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a360:	2b cf                	sub    %edi,%ecx
47a362:	74 07                	je     0x47a36b
47a364:	8b 7d fc             	mov    -0x4(%ebp),%edi
47a367:	33 c0                	xor    %eax,%eax
47a369:	f3 ab                	rep stos %eax,%es:(%edi)
47a36b:	8b 7e 04             	mov    0x4(%esi),%edi
47a36e:	8b 0e                	mov    (%esi),%ecx
47a370:	3b cf                	cmp    %edi,%ecx
47a372:	74 15                	je     0x47a389
47a374:	8b 01                	mov    (%ecx),%eax
47a376:	8d 52 04             	lea    0x4(%edx),%edx
47a379:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
47a37f:	83 c1 04             	add    $0x4,%ecx
47a382:	89 42 fc             	mov    %eax,-0x4(%edx)
47a385:	3b cf                	cmp    %edi,%ecx
47a387:	75 eb                	jne    0x47a374
47a389:	ff 75 08             	push   0x8(%ebp)
47a38c:	8b ce                	mov    %esi,%ecx
47a38e:	53                   	push   %ebx
47a38f:	ff 75 f8             	push   -0x8(%ebp)
47a392:	e8 89 1e 02 00       	call   0x49c220
47a397:	5f                   	pop    %edi
47a398:	5e                   	pop    %esi
47a399:	5b                   	pop    %ebx
47a39a:	8b e5                	mov    %ebp,%esp
47a39c:	5d                   	pop    %ebp
47a39d:	c2 08 00             	ret    $0x8
47a3a0:	e8 fb 23 fe ff       	call   0x45c7a0
47a3a5:	cc                   	int3
47a3a6:	cc                   	int3
47a3a7:	cc                   	int3
47a3a8:	cc                   	int3
47a3a9:	cc                   	int3
47a3aa:	cc                   	int3
47a3ab:	cc                   	int3
47a3ac:	cc                   	int3
47a3ad:	cc                   	int3
47a3ae:	cc                   	int3
47a3af:	cc                   	int3