48215f:	0f b7 07             	movzwl (%edi),%eax
482162:	66 85 c0             	test   %ax,%ax
482165:	74 22                	je     0x482189
482167:	50                   	push   %eax
482168:	ff 15 f0 f4 48 00    	call   *0x48f4f0
48216e:	85 c0                	test   %eax,%eax
482170:	74 17                	je     0x482189
482172:	83 c7 02             	add    $0x2,%edi
482175:	0f b7 07             	movzwl (%edi),%eax
482178:	66 85 c0             	test   %ax,%ax
48217b:	75 ea                	jne    0x482167
48217d:	8b ce                	mov    %esi,%ecx
48217f:	e8 9c 78 f8 ff       	call   0x409a20
482184:	89 5e 0c             	mov    %ebx,0xc(%esi)
482187:	89 1e                	mov    %ebx,(%esi)
482189:	5f                   	pop    %edi
48218a:	5e                   	pop    %esi
48218b:	33 c0                	xor    %eax,%eax
48218d:	5b                   	pop    %ebx
48218e:	5d                   	pop    %ebp
48218f:	c2 08 00             	ret    $0x8
482192:	55                   	push   %ebp
482193:	8b ec                	mov    %esp,%ebp
482195:	8b 45 08             	mov    0x8(%ebp),%eax
482198:	53                   	push   %ebx
482199:	56                   	push   %esi
48219a:	57                   	push   %edi
48219b:	8b 40 04             	mov    0x4(%eax),%eax
48219e:	8b 30                	mov    (%eax),%esi
4821a0:	8b ce                	mov    %esi,%ecx
4821a2:	e8 f0 77 f8 ff       	call   0x409997
4821a7:	8b 46 08             	mov    0x8(%esi),%eax
4821aa:	8b 75 0c             	mov    0xc(%ebp),%esi
4821ad:	8b ce                	mov    %esi,%ecx
4821af:	89 45 08             	mov    %eax,0x8(%ebp)
4821b2:	8b 58 04             	mov    0x4(%eax),%ebx
4821b5:	e8 66 78 f8 ff       	call   0x409a20
4821ba:	33 ff                	xor    %edi,%edi
4821bc:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4821c3:	89 3e                	mov    %edi,(%esi)
4821c5:	85 db                	test   %ebx,%ebx
4821c7:	74 1a                	je     0x4821e3
4821c9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4821cc:	57                   	push   %edi
4821cd:	e8 4e 59 f8 ff       	call   0x407b20
4821d2:	66 8b 08             	mov    (%eax),%cx
4821d5:	e8 0f 2b fe ff       	call   0x464ce9
4821da:	85 c0                	test   %eax,%eax
4821dc:	74 14                	je     0x4821f2
4821de:	47                   	inc    %edi
4821df:	3b fb                	cmp    %ebx,%edi
4821e1:	72 e6                	jb     0x4821c9
4821e3:	8b ce                	mov    %esi,%ecx
4821e5:	e8 36 78 f8 ff       	call   0x409a20
4821ea:	33 c0                	xor    %eax,%eax
4821ec:	40                   	inc    %eax
4821ed:	89 46 0c             	mov    %eax,0xc(%esi)
4821f0:	89 06                	mov    %eax,(%esi)
4821f2:	5f                   	pop    %edi
4821f3:	5e                   	pop    %esi
4821f4:	33 c0                	xor    %eax,%eax
4821f6:	5b                   	pop    %ebx
4821f7:	5d                   	pop    %ebp
4821f8:	c2 08 00             	ret    $0x8
4821fb:	55                   	push   %ebp
4821fc:	8b ec                	mov    %esp,%ebp
4821fe:	8b 45 08             	mov    0x8(%ebp),%eax
482201:	53                   	push   %ebx
482202:	56                   	push   %esi
482203:	57                   	push   %edi
482204:	8b 40 04             	mov    0x4(%eax),%eax
482207:	8b 30                	mov    (%eax),%esi
482209:	8b ce                	mov    %esi,%ecx
48220b:	e8 87 77 f8 ff       	call   0x409997
482210:	8b 46 08             	mov    0x8(%esi),%eax
482213:	8b 75 0c             	mov    0xc(%ebp),%esi
482216:	8b ce                	mov    %esi,%ecx
482218:	8b 38                	mov    (%eax),%edi
48221a:	e8 01 78 f8 ff       	call   0x409a20
48221f:	83 26 00             	andl   $0x0,(%esi)
482222:	33 db                	xor    %ebx,%ebx
482224:	43                   	inc    %ebx
482225:	89 5e 0c             	mov    %ebx,0xc(%esi)
482228:	0f b7 07             	movzwl (%edi),%eax
48222b:	66 85 c0             	test   %ax,%ax
48222e:	74 22                	je     0x482252
482230:	50                   	push   %eax
482231:	ff 15 f4 f4 48 00    	call   *0x48f4f4
482237:	85 c0                	test   %eax,%eax
482239:	74 17                	je     0x482252
48223b:	83 c7 02             	add    $0x2,%edi
48223e:	0f b7 07             	movzwl (%edi),%eax
482241:	66 85 c0             	test   %ax,%ax
482244:	75 ea                	jne    0x482230
482246:	8b ce                	mov    %esi,%ecx
482248:	e8 d3 77 f8 ff       	call   0x409a20
48224d:	89 5e 0c             	mov    %ebx,0xc(%esi)
482250:	89 1e                	mov    %ebx,(%esi)
482252:	5f                   	pop    %edi
482253:	5e                   	pop    %esi
482254:	33 c0                	xor    %eax,%eax
482256:	5b                   	pop    %ebx
482257:	5d                   	pop    %ebp
482258:	c2 08 00             	ret    $0x8
48225b:	55                   	push   %ebp
48225c:	8b ec                	mov    %esp,%ebp
48225e:	8b 45 08             	mov    0x8(%ebp),%eax
482261:	53                   	push   %ebx
482262:	56                   	push   %esi
482263:	57                   	push   %edi
482264:	8b 40 04             	mov    0x4(%eax),%eax
482267:	8b 30                	mov    (%eax),%esi
482269:	8b ce                	mov    %esi,%ecx
48226b:	e8 27 77 f8 ff       	call   0x409997
482270:	8b 46 08             	mov    0x8(%esi),%eax
482273:	8b 75 0c             	mov    0xc(%ebp),%esi
482276:	8b ce                	mov    %esi,%ecx
482278:	8b 38                	mov    (%eax),%edi
48227a:	e8 a1 77 f8 ff       	call   0x409a20
48227f:	83 26 00             	andl   $0x0,(%esi)
482282:	33 db                	xor    %ebx,%ebx
482284:	43                   	inc    %ebx
482285:	89 5e 0c             	mov    %ebx,0xc(%esi)
482288:	0f b7 07             	movzwl (%edi),%eax
48228b:	66 85 c0             	test   %ax,%ax
48228e:	74 22                	je     0x4822b2
482290:	50                   	push   %eax
482291:	e8 f8 15 fa ff       	call   0x42388e
482296:	59                   	pop    %ecx
482297:	85 c0                	test   %eax,%eax
482299:	74 17                	je     0x4822b2
48229b:	83 c7 02             	add    $0x2,%edi
48229e:	0f b7 07             	movzwl (%edi),%eax
4822a1:	66 85 c0             	test   %ax,%ax
4822a4:	75 ea                	jne    0x482290
4822a6:	8b ce                	mov    %esi,%ecx
4822a8:	e8 73 77 f8 ff       	call   0x409a20
4822ad:	89 5e 0c             	mov    %ebx,0xc(%esi)
4822b0:	89 1e                	mov    %ebx,(%esi)
4822b2:	5f                   	pop    %edi
4822b3:	5e                   	pop    %esi
4822b4:	33 c0                	xor    %eax,%eax
4822b6:	5b                   	pop    %ebx
4822b7:	5d                   	pop    %ebp
4822b8:	c2 08 00             	ret    $0x8
4822bb:	55                   	push   %ebp
4822bc:	8b ec                	mov    %esp,%ebp
4822be:	83 ec 10             	sub    $0x10,%esp
4822c1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4822c4:	53                   	push   %ebx
4822c5:	56                   	push   %esi
4822c6:	57                   	push   %edi
4822c7:	e8 fb 54 f8 ff       	call   0x4077c7
4822cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
4822cf:	8b 43 04             	mov    0x4(%ebx),%eax
4822d2:	8b 30                	mov    (%eax),%esi
4822d4:	8b ce                	mov    %esi,%ecx
4822d6:	e8 bc 76 f8 ff       	call   0x409997
4822db:	8b 46 08             	mov    0x8(%esi),%eax
4822de:	8b 70 04             	mov    0x4(%eax),%esi
4822e1:	8b 43 04             	mov    0x4(%ebx),%eax
4822e4:	8b 48 04             	mov    0x4(%eax),%ecx
4822e7:	e8 b0 79 f8 ff       	call   0x409c9c
4822ec:	8b f8                	mov    %eax,%edi
4822ee:	85 ff                	test   %edi,%edi
4822f0:	78 20                	js     0x482312
4822f2:	3b fe                	cmp    %esi,%edi
4822f4:	7e 02                	jle    0x4822f8
4822f6:	8b fe                	mov    %esi,%edi
4822f8:	8b 43 04             	mov    0x4(%ebx),%eax
4822fb:	8b 30                	mov    (%eax),%esi
4822fd:	8b ce                	mov    %esi,%ecx
4822ff:	e8 93 76 f8 ff       	call   0x409997
482304:	57                   	push   %edi
482305:	6a 00                	push   $0x0
482307:	ff 76 08             	push   0x8(%esi)
48230a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
48230d:	e8 99 56 f8 ff       	call   0x4079ab
482312:	8b 4d 0c             	mov    0xc(%ebp),%ecx
482315:	8d 45 f0             	lea    -0x10(%ebp),%eax
482318:	50                   	push   %eax
482319:	e8 7e 78 f8 ff       	call   0x409b9c
48231e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
482321:	e8 3e 37 f8 ff       	call   0x405a64
482326:	5f                   	pop    %edi
482327:	5e                   	pop    %esi
482328:	33 c0                	xor    %eax,%eax
48232a:	5b                   	pop    %ebx
48232b:	8b e5                	mov    %ebp,%esp
48232d:	5d                   	pop    %ebp
48232e:	c2 08 00             	ret    $0x8
482331:	55                   	push   %ebp
482332:	8b ec                	mov    %esp,%ebp
482334:	8b 45 08             	mov    0x8(%ebp),%eax
482337:	56                   	push   %esi
482338:	57                   	push   %edi
482339:	8b 40 04             	mov    0x4(%eax),%eax
48233c:	8b 30                	mov    (%eax),%esi
48233e:	8b ce                	mov    %esi,%ecx
482340:	e8 52 76 f8 ff       	call   0x409997
482345:	8b 46 08             	mov    0x8(%esi),%eax
482348:	8b 75 0c             	mov    0xc(%ebp),%esi
48234b:	8b ce                	mov    %esi,%ecx
48234d:	8b 78 04             	mov    0x4(%eax),%edi
482350:	e8 cb 76 f8 ff       	call   0x409a20
482355:	89 3e                	mov    %edi,(%esi)
482357:	33 c0                	xor    %eax,%eax
482359:	5f                   	pop    %edi
48235a:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
482361:	5e                   	pop    %esi
482362:	5d                   	pop    %ebp
482363:	c2 08 00             	ret    $0x8
482366:	55                   	push   %ebp
482367:	8b ec                	mov    %esp,%ebp
482369:	83 ec 10             	sub    $0x10,%esp
48236c:	8b 45 08             	mov    0x8(%ebp),%eax
48236f:	56                   	push   %esi
482370:	8b 40 04             	mov    0x4(%eax),%eax
482373:	8b 30                	mov    (%eax),%esi
482375:	8b ce                	mov    %esi,%ecx
482377:	e8 1b 76 f8 ff       	call   0x409997
48237c:	8b 4e 08             	mov    0x8(%esi),%ecx
48237f:	8b 01                	mov    (%ecx),%eax
482381:	89 45 f0             	mov    %eax,-0x10(%ebp)
482384:	8b 41 04             	mov    0x4(%ecx),%eax
482387:	89 45 f4             	mov    %eax,-0xc(%ebp)
48238a:	8b 41 08             	mov    0x8(%ecx),%eax
48238d:	89 45 f8             	mov    %eax,-0x8(%ebp)
482390:	8b 41 0c             	mov    0xc(%ecx),%eax
482393:	8d 4d f0             	lea    -0x10(%ebp),%ecx
482396:	89 45 fc             	mov    %eax,-0x4(%ebp)
482399:	ff 00                	incl   (%eax)
48239b:	e8 0f 5c f8 ff       	call   0x407faf
4823a0:	ff 75 f4             	push   -0xc(%ebp)
4823a3:	ff 75 f0             	push   -0x10(%ebp)
4823a6:	ff 15 fc f6 48 00    	call   *0x48f6fc
4823ac:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4823af:	8d 45 f0             	lea    -0x10(%ebp),%eax
4823b2:	50                   	push   %eax
4823b3:	e8 e4 77 f8 ff       	call   0x409b9c
4823b8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4823bb:	e8 a4 36 f8 ff       	call   0x405a64
4823c0:	33 c0                	xor    %eax,%eax
4823c2:	5e                   	pop    %esi
4823c3:	8b e5                	mov    %ebp,%esp
4823c5:	5d                   	pop    %ebp
4823c6:	c2 08 00             	ret    $0x8
4823c9:	55                   	push   %ebp
4823ca:	8b ec                	mov    %esp,%ebp
4823cc:	83 e4 f8             	and    $0xfffffff8,%esp
4823cf:	83 ec 34             	sub    $0x34,%esp
4823d2:	53                   	push   %ebx
4823d3:	56                   	push   %esi
4823d4:	57                   	push   %edi
4823d5:	8b f9                	mov    %ecx,%edi
4823d7:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4823db:	e8 e7 53 f8 ff       	call   0x4077c7
4823e0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4823e3:	8b 43 04             	mov    0x4(%ebx),%eax
4823e6:	8b 30                	mov    (%eax),%esi
4823e8:	8b ce                	mov    %esi,%ecx
4823ea:	e8 a8 75 f8 ff       	call   0x409997
4823ef:	8b 46 08             	mov    0x8(%esi),%eax
4823f2:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4823f6:	89 44 24 14          	mov    %eax,0x14(%esp)
4823fa:	ff 70 04             	push   0x4(%eax)
4823fd:	e8 74 57 f8 ff       	call   0x407b76
482402:	8b 43 04             	mov    0x4(%ebx),%eax
482405:	8b 70 08             	mov    0x8(%eax),%esi
482408:	8b ce                	mov    %esi,%ecx
48240a:	e8 88 75 f8 ff       	call   0x409997
48240f:	8b 46 08             	mov    0x8(%esi),%eax
482412:	89 44 24 10          	mov    %eax,0x10(%esp)
482416:	8b 43 04             	mov    0x4(%ebx),%eax
482419:	8b 70 04             	mov    0x4(%eax),%esi
48241c:	8b ce                	mov    %esi,%ecx
48241e:	e8 d7 41 fd ff       	call   0x4565fa
482423:	8b ce                	mov    %esi,%ecx
482425:	84 c0                	test   %al,%al
482427:	74 74                	je     0x48249d
482429:	e8 6e 78 f8 ff       	call   0x409c9c
48242e:	8b f0                	mov    %eax,%esi
482430:	4e                   	dec    %esi
482431:	78 59                	js     0x48248c
482433:	8b 44 24 10          	mov    0x10(%esp),%eax
482437:	8b 5c 24 14          	mov    0x14(%esp),%ebx
48243b:	8b 48 04             	mov    0x4(%eax),%ecx
48243e:	03 ce                	add    %esi,%ecx
482440:	3b 4b 04             	cmp    0x4(%ebx),%ecx
482443:	77 47                	ja     0x48248c
482445:	56                   	push   %esi
482446:	6a 00                	push   $0x0
482448:	53                   	push   %ebx
482449:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
48244d:	e8 59 55 f8 ff       	call   0x4079ab
482452:	8b 7c 24 10          	mov    0x10(%esp),%edi
482456:	8d 4c 24 20          	lea    0x20(%esp),%ecx
48245a:	57                   	push   %edi
48245b:	e8 2e 58 f8 ff       	call   0x407c8e
482460:	8b 4f 04             	mov    0x4(%edi),%ecx
482463:	8b 43 04             	mov    0x4(%ebx),%eax
482466:	2b c1                	sub    %ecx,%eax
482468:	2b c6                	sub    %esi,%eax
48246a:	50                   	push   %eax
48246b:	8d 04 31             	lea    (%ecx,%esi,1),%eax
48246e:	50                   	push   %eax
48246f:	53                   	push   %ebx
482470:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
482474:	e8 32 55 f8 ff       	call   0x4079ab
482479:	8d 44 24 30          	lea    0x30(%esp),%eax
48247d:	50                   	push   %eax
48247e:	8d 4c 24 24          	lea    0x24(%esp),%ecx
482482:	e8 07 58 f8 ff       	call   0x407c8e
482487:	e9 ac 00 00 00       	jmp    0x482538
48248c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48248f:	68 10 f9 48 00       	push   $0x48f910
482494:	e8 5f 77 f8 ff       	call   0x409bf8
482499:	6a 00                	push   $0x0
48249b:	eb 21                	jmp    0x4824be
48249d:	e8 f5 74 f8 ff       	call   0x409997
4824a2:	8b 46 08             	mov    0x8(%esi),%eax
4824a5:	33 f6                	xor    %esi,%esi
4824a7:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4824ab:	39 70 04             	cmp    %esi,0x4(%eax)
4824ae:	75 1e                	jne    0x4824ce
4824b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4824b3:	68 10 f9 48 00       	push   $0x48f910
4824b8:	e8 3b 77 f8 ff       	call   0x409bf8
4824bd:	56                   	push   %esi
4824be:	8b 07                	mov    (%edi),%eax
4824c0:	6a 01                	push   $0x1
4824c2:	8b 48 04             	mov    0x4(%eax),%ecx
4824c5:	03 cf                	add    %edi,%ecx
4824c7:	e8 d7 45 fd ff       	call   0x456aa3
4824cc:	eb 77                	jmp    0x482545
4824ce:	83 7b 08 04          	cmpl   $0x4,0x8(%ebx)
4824d2:	89 74 24 18          	mov    %esi,0x18(%esp)
4824d6:	72 0f                	jb     0x4824e7
4824d8:	8b 43 04             	mov    0x4(%ebx),%eax
4824db:	8b 48 0c             	mov    0xc(%eax),%ecx
4824de:	e8 b9 77 f8 ff       	call   0x409c9c
4824e3:	89 44 24 18          	mov    %eax,0x18(%esp)
4824e7:	83 7b 08 05          	cmpl   $0x5,0x8(%ebx)
4824eb:	72 18                	jb     0x482505
4824ed:	8b 4b 04             	mov    0x4(%ebx),%ecx
4824f0:	8b 49 10             	mov    0x10(%ecx),%ecx
4824f3:	e8 a4 77 f8 ff       	call   0x409c9c
4824f8:	8b f0                	mov    %eax,%esi
4824fa:	85 f6                	test   %esi,%esi
4824fc:	78 05                	js     0x482503