413266:	8b 5c 24 14          	mov    0x14(%esp),%ebx
41326a:	83 fb ff             	cmp    $0xffffffff,%ebx
41326d:	55                   	push   %ebp
41326e:	0f 94 c0             	sete   %al
413271:	56                   	push   %esi
413272:	57                   	push   %edi
413273:	84 c0                	test   %al,%al
413275:	8b f1                	mov    %ecx,%esi
413277:	74 13                	je     0x41328c
413279:	8b c3                	mov    %ebx,%eax
41327b:	40                   	inc    %eax
41327c:	f7 d8                	neg    %eax
41327e:	1b c0                	sbb    %eax,%eax
413280:	23 c3                	and    %ebx,%eax
413282:	5f                   	pop    %edi
413283:	5e                   	pop    %esi
413284:	5d                   	pop    %ebp
413285:	5b                   	pop    %ebx
413286:	83 c4 0c             	add    $0xc,%esp
413289:	c2 04 00             	ret    $0x4
41328c:	8b 4e 20             	mov    0x20(%esi),%ecx
41328f:	8b 11                	mov    (%ecx),%edx
413291:	85 d2                	test   %edx,%edx
413293:	74 27                	je     0x4132bc
413295:	8b 46 30             	mov    0x30(%esi),%eax
413298:	8b 08                	mov    (%eax),%ecx
41329a:	8d 3c 11             	lea    (%ecx,%edx,1),%edi
41329d:	3b d7                	cmp    %edi,%edx
41329f:	73 1b                	jae    0x4132bc
4132a1:	49                   	dec    %ecx
4132a2:	89 08                	mov    %ecx,(%eax)
4132a4:	8b 76 20             	mov    0x20(%esi),%esi
4132a7:	8b 06                	mov    (%esi),%eax
4132a9:	8d 50 01             	lea    0x1(%eax),%edx
4132ac:	89 16                	mov    %edx,(%esi)
4132ae:	88 18                	mov    %bl,(%eax)
4132b0:	8b c3                	mov    %ebx,%eax
4132b2:	5f                   	pop    %edi
4132b3:	5e                   	pop    %esi
4132b4:	5d                   	pop    %ebp
4132b5:	5b                   	pop    %ebx
4132b6:	83 c4 0c             	add    $0xc,%esp
4132b9:	c2 04 00             	ret    $0x4
4132bc:	8b 46 50             	mov    0x50(%esi),%eax
4132bf:	85 c0                	test   %eax,%eax
4132c1:	0f 84 95 01 00 00    	je     0x41345c
4132c7:	8b 4e 38             	mov    0x38(%esi),%ecx
4132ca:	85 c9                	test   %ecx,%ecx
4132cc:	75 29                	jne    0x4132f7
4132ce:	50                   	push   %eax
4132cf:	0f be c3             	movsbl %bl,%eax
4132d2:	50                   	push   %eax
4132d3:	e8 78 4b 00 00       	call   0x417e50
4132d8:	83 c4 08             	add    $0x8,%esp
4132db:	33 c9                	xor    %ecx,%ecx
4132dd:	83 f8 ff             	cmp    $0xffffffff,%eax
4132e0:	0f 95 c1             	setne  %cl
4132e3:	84 c9                	test   %cl,%cl
4132e5:	0f 84 71 01 00 00    	je     0x41345c
4132eb:	8b c3                	mov    %ebx,%eax
4132ed:	5f                   	pop    %edi
4132ee:	5e                   	pop    %esi
4132ef:	5d                   	pop    %ebp
4132f0:	5b                   	pop    %ebx
4132f1:	83 c4 0c             	add    $0xc,%esp
4132f4:	c2 04 00             	ret    $0x4
4132f7:	8b 7e 44             	mov    0x44(%esi),%edi
4132fa:	8b 2d 90 ca 42 00    	mov    0x42ca90,%ebp
413300:	8b cf                	mov    %edi,%ecx
413302:	88 5c 24 13          	mov    %bl,0x13(%esp)
413306:	e8 05 02 00 00       	call   0x413510
41330b:	8b 47 08             	mov    0x8(%edi),%eax
41330e:	3b c5                	cmp    %ebp,%eax
413310:	73 02                	jae    0x413314
413312:	8b e8                	mov    %eax,%ebp
413314:	85 ed                	test   %ebp,%ebp
413316:	76 35                	jbe    0x41334d
413318:	8b 4f 04             	mov    0x4(%edi),%ecx
41331b:	2b c5                	sub    %ebp,%eax
41331d:	50                   	push   %eax
41331e:	8d 54 0d 00          	lea    0x0(%ebp,%ecx,1),%edx
413322:	52                   	push   %edx
413323:	51                   	push   %ecx
413324:	e8 77 9c ff ff       	call   0x40cfa0
413329:	8b 5f 08             	mov    0x8(%edi),%ebx
41332c:	83 c4 0c             	add    $0xc,%esp
41332f:	2b dd                	sub    %ebp,%ebx
413331:	8b cf                	mov    %edi,%ecx
413333:	6a 00                	push   $0x0
413335:	53                   	push   %ebx
413336:	e8 8b 76 ff ff       	call   0x40a9c6
41333b:	84 c0                	test   %al,%al
41333d:	74 0a                	je     0x413349
41333f:	8b 47 04             	mov    0x4(%edi),%eax
413342:	89 5f 08             	mov    %ebx,0x8(%edi)
413345:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
413349:	8b 5c 24 20          	mov    0x20(%esp),%ebx
41334d:	8b 7e 44             	mov    0x44(%esi),%edi
413350:	8b 0d 90 ca 42 00    	mov    0x42ca90,%ecx
413356:	2b 4f 08             	sub    0x8(%edi),%ecx
413359:	83 f9 08             	cmp    $0x8,%ecx
41335c:	77 05                	ja     0x413363
41335e:	e8 fd 2d 00 00       	call   0x416160
413363:	8b 6f 08             	mov    0x8(%edi),%ebp
413366:	6a 00                	push   $0x0
413368:	83 c5 08             	add    $0x8,%ebp
41336b:	8b cf                	mov    %edi,%ecx
41336d:	55                   	push   %ebp
41336e:	e8 53 76 ff ff       	call   0x40a9c6
413373:	84 c0                	test   %al,%al
413375:	74 19                	je     0x413390
413377:	8b 47 04             	mov    0x4(%edi),%eax
41337a:	8b 4f 08             	mov    0x8(%edi),%ecx
41337d:	33 d2                	xor    %edx,%edx
41337f:	03 c1                	add    %ecx,%eax
413381:	89 10                	mov    %edx,(%eax)
413383:	89 50 04             	mov    %edx,0x4(%eax)
413386:	8b 4f 04             	mov    0x4(%edi),%ecx
413389:	89 6f 08             	mov    %ebp,0x8(%edi)
41338c:	88 54 0d 00          	mov    %dl,0x0(%ebp,%ecx,1)
413390:	8b 7e 44             	mov    0x44(%esi),%edi
413393:	8b cf                	mov    %edi,%ecx
413395:	e8 d6 00 00 00       	call   0x413470
41339a:	8b 47 04             	mov    0x4(%edi),%eax
41339d:	85 c0                	test   %eax,%eax
41339f:	75 04                	jne    0x4133a5
4133a1:	33 ed                	xor    %ebp,%ebp
4133a3:	eb 05                	jmp    0x4133aa
4133a5:	8b 6f 08             	mov    0x8(%edi),%ebp
4133a8:	03 e8                	add    %eax,%ebp
4133aa:	8b 7e 44             	mov    0x44(%esi),%edi
4133ad:	8b cf                	mov    %edi,%ecx
4133af:	e8 bc 00 00 00       	call   0x413470
4133b4:	8d 44 24 18          	lea    0x18(%esp),%eax
4133b8:	8b 4e 38             	mov    0x38(%esi),%ecx
4133bb:	50                   	push   %eax
4133bc:	8b 47 04             	mov    0x4(%edi),%eax
4133bf:	55                   	push   %ebp
4133c0:	50                   	push   %eax
4133c1:	8d 44 24 20          	lea    0x20(%esp),%eax
4133c5:	8b 11                	mov    (%ecx),%edx
4133c7:	50                   	push   %eax
4133c8:	8d 44 24 24          	lea    0x24(%esp),%eax
4133cc:	50                   	push   %eax
4133cd:	8d 44 24 27          	lea    0x27(%esp),%eax
4133d1:	50                   	push   %eax
4133d2:	8d 46 40             	lea    0x40(%esi),%eax
4133d5:	50                   	push   %eax
4133d6:	ff 52 14             	call   *0x14(%edx)
4133d9:	83 e8 00             	sub    $0x0,%eax
4133dc:	74 3e                	je     0x41341c
4133de:	48                   	dec    %eax
4133df:	74 2f                	je     0x413410
4133e1:	83 e8 02             	sub    $0x2,%eax
4133e4:	75 76                	jne    0x41345c
4133e6:	0f be 4c 24 13       	movsbl 0x13(%esp),%ecx
4133eb:	8b 76 50             	mov    0x50(%esi),%esi
4133ee:	56                   	push   %esi
4133ef:	51                   	push   %ecx
4133f0:	e8 5b 4a 00 00       	call   0x417e50
4133f5:	83 c4 08             	add    $0x8,%esp
4133f8:	33 d2                	xor    %edx,%edx
4133fa:	83 f8 ff             	cmp    $0xffffffff,%eax
4133fd:	0f 95 c2             	setne  %dl
413400:	84 d2                	test   %dl,%dl
413402:	74 58                	je     0x41345c
413404:	8b c3                	mov    %ebx,%eax
413406:	5f                   	pop    %edi
413407:	5e                   	pop    %esi
413408:	5d                   	pop    %ebp
413409:	5b                   	pop    %ebx
41340a:	83 c4 0c             	add    $0xc,%esp
41340d:	c2 04 00             	ret    $0x4
413410:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413414:	8d 44 24 13          	lea    0x13(%esp),%eax
413418:	3b c8                	cmp    %eax,%ecx
41341a:	74 40                	je     0x41345c
41341c:	8b 6e 44             	mov    0x44(%esi),%ebp
41341f:	8b cd                	mov    %ebp,%ecx
413421:	e8 4a 00 00 00       	call   0x413470
413426:	8b 45 04             	mov    0x4(%ebp),%eax
413429:	8b 6e 44             	mov    0x44(%esi),%ebp
41342c:	8b 7c 24 18          	mov    0x18(%esp),%edi
413430:	8b cd                	mov    %ebp,%ecx
413432:	2b f8                	sub    %eax,%edi
413434:	e8 37 00 00 00       	call   0x413470
413439:	8b 4e 50             	mov    0x50(%esi),%ecx
41343c:	8b 55 04             	mov    0x4(%ebp),%edx
41343f:	51                   	push   %ecx
413440:	6a 01                	push   $0x1
413442:	57                   	push   %edi
413443:	52                   	push   %edx
413444:	e8 77 48 00 00       	call   0x417cc0
413449:	83 c4 10             	add    $0x10,%esp
41344c:	3b c7                	cmp    %edi,%eax
41344e:	75 0c                	jne    0x41345c
413450:	8b c3                	mov    %ebx,%eax
413452:	5f                   	pop    %edi
413453:	5e                   	pop    %esi
413454:	5d                   	pop    %ebp
413455:	5b                   	pop    %ebx
413456:	83 c4 0c             	add    $0xc,%esp
413459:	c2 04 00             	ret    $0x4
41345c:	5f                   	pop    %edi
41345d:	5e                   	pop    %esi
41345e:	5d                   	pop    %ebp
41345f:	83 c8 ff             	or     $0xffffffff,%eax
413462:	5b                   	pop    %ebx
413463:	83 c4 0c             	add    $0xc,%esp
413466:	c2 04 00             	ret    $0x4
413469:	90                   	nop
41346a:	90                   	nop
41346b:	90                   	nop
41346c:	90                   	nop
41346d:	90                   	nop
41346e:	90                   	nop
41346f:	90                   	nop
413470:	56                   	push   %esi
413471:	8b f1                	mov    %ecx,%esi
413473:	57                   	push   %edi
413474:	8b 46 04             	mov    0x4(%esi),%eax
413477:	85 c0                	test   %eax,%eax
413479:	74 5d                	je     0x4134d8
41347b:	8a 40 ff             	mov    -0x1(%eax),%al
41347e:	84 c0                	test   %al,%al
413480:	74 56                	je     0x4134d8
413482:	3c ff                	cmp    $0xff,%al
413484:	74 52                	je     0x4134d8
413486:	8b 7e 08             	mov    0x8(%esi),%edi
413489:	83 ff fd             	cmp    $0xfffffffd,%edi
41348c:	76 05                	jbe    0x413493
41348e:	e8 cd 2c 00 00       	call   0x416160
413493:	8b 4e 04             	mov    0x4(%esi),%ecx
413496:	85 c9                	test   %ecx,%ecx
413498:	74 1f                	je     0x4134b9
41349a:	8a 41 ff             	mov    -0x1(%ecx),%al
41349d:	84 c0                	test   %al,%al
41349f:	74 18                	je     0x4134b9
4134a1:	3c ff                	cmp    $0xff,%al
4134a3:	74 14                	je     0x4134b9
4134a5:	85 ff                	test   %edi,%edi
4134a7:	75 27                	jne    0x4134d0
4134a9:	fe c8                	dec    %al
4134ab:	88 41 ff             	mov    %al,-0x1(%ecx)
4134ae:	89 7e 04             	mov    %edi,0x4(%esi)
4134b1:	89 7e 08             	mov    %edi,0x8(%esi)
4134b4:	89 7e 0c             	mov    %edi,0xc(%esi)
4134b7:	eb 1f                	jmp    0x4134d8
4134b9:	85 ff                	test   %edi,%edi
4134bb:	75 0e                	jne    0x4134cb
4134bd:	85 c9                	test   %ecx,%ecx
4134bf:	74 17                	je     0x4134d8
4134c1:	57                   	push   %edi
4134c2:	8b ce                	mov    %esi,%ecx
4134c4:	e8 27 00 00 00       	call   0x4134f0
4134c9:	eb 0d                	jmp    0x4134d8
4134cb:	39 7e 0c             	cmp    %edi,0xc(%esi)
4134ce:	73 08                	jae    0x4134d8
4134d0:	57                   	push   %edi
4134d1:	8b ce                	mov    %esi,%ecx
4134d3:	e8 79 75 ff ff       	call   0x40aa51
4134d8:	8b 76 04             	mov    0x4(%esi),%esi
4134db:	85 f6                	test   %esi,%esi
4134dd:	74 04                	je     0x4134e3
4134df:	c6 46 ff ff          	movb   $0xff,-0x1(%esi)
4134e3:	5f                   	pop    %edi
4134e4:	5e                   	pop    %esi
4134e5:	c3                   	ret
4134e6:	90                   	nop
4134e7:	90                   	nop
4134e8:	90                   	nop
4134e9:	90                   	nop
4134ea:	90                   	nop
4134eb:	90                   	nop
4134ec:	90                   	nop
4134ed:	90                   	nop
4134ee:	90                   	nop
4134ef:	90                   	nop
4134f0:	8b 44 24 04          	mov    0x4(%esp),%eax
4134f4:	89 41 08             	mov    %eax,0x8(%ecx)
4134f7:	8b 49 04             	mov    0x4(%ecx),%ecx
4134fa:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
4134fe:	c2 04 00             	ret    $0x4
413501:	90                   	nop
413502:	90                   	nop
413503:	90                   	nop
413504:	90                   	nop
413505:	90                   	nop
413506:	90                   	nop
413507:	90                   	nop
413508:	90                   	nop
413509:	90                   	nop
41350a:	90                   	nop
41350b:	90                   	nop
41350c:	90                   	nop
41350d:	90                   	nop
41350e:	90                   	nop
41350f:	90                   	nop
413510:	53                   	push   %ebx
413511:	55                   	push   %ebp
413512:	8b e9                	mov    %ecx,%ebp
413514:	33 d2                	xor    %edx,%edx
413516:	56                   	push   %esi
413517:	57                   	push   %edi
413518:	8b 4d 04             	mov    0x4(%ebp),%ecx
41351b:	3b ca                	cmp    %edx,%ecx
41351d:	0f 84 b1 00 00 00    	je     0x4135d4
413523:	8a 41 ff             	mov    -0x1(%ecx),%al
413526:	84 c0                	test   %al,%al
413528:	0f 84 a6 00 00 00    	je     0x4135d4
41352e:	3c ff                	cmp    $0xff,%al
413530:	0f 84 9e 00 00 00    	je     0x4135d4
413536:	fe c8                	dec    %al
413538:	8b f1                	mov    %ecx,%esi
41353a:	88 41 ff             	mov    %al,-0x1(%ecx)
41353d:	8b fe                	mov    %esi,%edi
41353f:	83 c9 ff             	or     $0xffffffff,%ecx
413542:	33 c0                	xor    %eax,%eax
413544:	89 55 04             	mov    %edx,0x4(%ebp)
413547:	89 55 08             	mov    %edx,0x8(%ebp)
41354a:	89 55 0c             	mov    %edx,0xc(%ebp)
41354d:	f2 ae                	repnz scas %es:(%edi),%al
41354f:	f7 d1                	not    %ecx
413551:	49                   	dec    %ecx
413552:	8b d9                	mov    %ecx,%ebx
413554:	83 fb fd             	cmp    $0xfffffffd,%ebx
413557:	76 07                	jbe    0x413560
413559:	e8 02 2c 00 00       	call   0x416160
41355e:	33 d2                	xor    %edx,%edx
413560:	8b 4d 04             	mov    0x4(%ebp),%ecx
413563:	3b ca                	cmp    %edx,%ecx
413565:	74 21                	je     0x413588
413567:	8a 41 ff             	mov    -0x1(%ecx),%al
41356a:	84 c0                	test   %al,%al
41356c:	74 1a                	je     0x413588
41356e:	3c ff                	cmp    $0xff,%al
413570:	74 16                	je     0x413588
413572:	3b da                	cmp    %edx,%ebx
413574:	75 39                	jne    0x4135af
413576:	fe c8                	dec    %al
413578:	52                   	push   %edx
413579:	88 41 ff             	mov    %al,-0x1(%ecx)
41357c:	8b cd                	mov    %ebp,%ecx
41357e:	e8 82 75 ff ff       	call   0x40ab05
413583:	5f                   	pop    %edi
413584:	5e                   	pop    %esi
413585:	5d                   	pop    %ebp
413586:	5b                   	pop    %ebx
413587:	c3                   	ret
413588:	3b da                	cmp    %edx,%ebx