4341fc:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
434200:	8b 53 0c             	mov    0xc(%ebx),%edx
434203:	2b 53 04             	sub    0x4(%ebx),%edx
434206:	8b 43 08             	mov    0x8(%ebx),%eax
434209:	2b 03                	sub    (%ebx),%eax
43420b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43420e:	e8 d9 2e fe ff       	call   0x4170ec
434213:	8b 45 fc             	mov    -0x4(%ebp),%eax
434216:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
43421a:	74 2e                	je     0x43424a
43421c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43421f:	8b 40 04             	mov    0x4(%eax),%eax
434222:	8b 10                	mov    (%eax),%edx
434224:	ff 52 20             	call   *0x20(%edx)
434227:	50                   	push   %eax
434228:	8b 45 fc             	mov    -0x4(%ebp),%eax
43422b:	8b 40 04             	mov    0x4(%eax),%eax
43422e:	8b 10                	mov    (%eax),%edx
434230:	ff 52 2c             	call   *0x2c(%edx)
434233:	8b 55 fc             	mov    -0x4(%ebp),%edx
434236:	0f b6 52 20          	movzbl 0x20(%edx),%edx
43423a:	8b ca                	mov    %edx,%ecx
43423c:	99                   	cltd
43423d:	f7 f9                	idiv   %ecx
43423f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
434242:	5a                   	pop    %edx
434243:	e8 a4 2e fe ff       	call   0x4170ec
434248:	eb 0c                	jmp    0x434256
43424a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
43424d:	33 d2                	xor    %edx,%edx
43424f:	33 c0                	xor    %eax,%eax
434251:	e8 96 2e fe ff       	call   0x4170ec
434256:	8b 45 20             	mov    0x20(%ebp),%eax
434259:	e8 b2 00 fd ff       	call   0x404310
43425e:	85 c0                	test   %eax,%eax
434260:	7e 5e                	jle    0x4342c0
434262:	6a 00                	push   $0x0
434264:	8d 45 c0             	lea    -0x40(%ebp),%eax
434267:	50                   	push   %eax
434268:	8b 4b 08             	mov    0x8(%ebx),%ecx
43426b:	2b 0b                	sub    (%ebx),%ecx
43426d:	33 d2                	xor    %edx,%edx
43426f:	33 c0                	xor    %eax,%eax
434271:	e8 9e 2e fe ff       	call   0x417114
434276:	56                   	push   %esi
434277:	57                   	push   %edi
434278:	8d 75 c0             	lea    -0x40(%ebp),%esi
43427b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43427f:	5f                   	pop    %edi
434280:	5e                   	pop    %esi
434281:	8b 45 08             	mov    0x8(%ebp),%eax
434284:	0d 00 04 00 00       	or     $0x400,%eax
434289:	50                   	push   %eax
43428a:	57                   	push   %edi
43428b:	8b 45 20             	mov    0x20(%ebp),%eax
43428e:	e8 7d 00 fd ff       	call   0x404310
434293:	50                   	push   %eax
434294:	8b 45 20             	mov    0x20(%ebp),%eax
434297:	e8 74 02 fd ff       	call   0x404510
43429c:	50                   	push   %eax
43429d:	8b 45 f8             	mov    -0x8(%ebp),%eax
4342a0:	e8 77 0a ff ff       	call   0x424d1c
4342a5:	50                   	push   %eax
4342a6:	e8 09 25 fd ff       	call   0x4067b4
4342ab:	8b 57 0c             	mov    0xc(%edi),%edx
4342ae:	2b 57 04             	sub    0x4(%edi),%edx
4342b1:	8b 47 08             	mov    0x8(%edi),%eax
4342b4:	2b 07                	sub    (%edi),%eax
4342b6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4342b9:	e8 2e 2e fe ff       	call   0x4170ec
4342be:	eb 28                	jmp    0x4342e8
4342c0:	6a 00                	push   $0x0
4342c2:	8d 45 c0             	lea    -0x40(%ebp),%eax
4342c5:	50                   	push   %eax
4342c6:	33 c9                	xor    %ecx,%ecx
4342c8:	33 d2                	xor    %edx,%edx
4342ca:	33 c0                	xor    %eax,%eax
4342cc:	e8 43 2e fe ff       	call   0x417114
4342d1:	56                   	push   %esi
4342d2:	57                   	push   %edi
4342d3:	8d 75 c0             	lea    -0x40(%ebp),%esi
4342d6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4342da:	5f                   	pop    %edi
4342db:	5e                   	pop    %esi
4342dc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4342df:	33 d2                	xor    %edx,%edx
4342e1:	33 c0                	xor    %eax,%eax
4342e3:	e8 04 2e fe ff       	call   0x4170ec
4342e8:	8a 45 1c             	mov    0x1c(%ebp),%al
4342eb:	2c 02                	sub    $0x2,%al
4342ed:	73 23                	jae    0x434312
4342ef:	8b 45 ec             	mov    -0x14(%ebp),%eax
4342f2:	8b d0                	mov    %eax,%edx
4342f4:	2b 55 e4             	sub    -0x1c(%ebp),%edx
4342f7:	42                   	inc    %edx
4342f8:	d1 fa                	sar    $1,%edx
4342fa:	79 03                	jns    0x4342ff
4342fc:	83 d2 00             	adc    $0x0,%edx
4342ff:	89 56 04             	mov    %edx,0x4(%esi)
434302:	2b 45 dc             	sub    -0x24(%ebp),%eax
434305:	40                   	inc    %eax
434306:	d1 f8                	sar    $1,%eax
434308:	79 03                	jns    0x43430d
43430a:	83 d0 00             	adc    $0x0,%eax
43430d:	89 45 f4             	mov    %eax,-0xc(%ebp)
434310:	eb 20                	jmp    0x434332
434312:	8b 45 e8             	mov    -0x18(%ebp),%eax
434315:	8b d0                	mov    %eax,%edx
434317:	2b 55 e0             	sub    -0x20(%ebp),%edx
43431a:	42                   	inc    %edx
43431b:	d1 fa                	sar    $1,%edx
43431d:	79 03                	jns    0x434322
43431f:	83 d2 00             	adc    $0x0,%edx
434322:	89 16                	mov    %edx,(%esi)
434324:	2b 45 d8             	sub    -0x28(%ebp),%eax
434327:	40                   	inc    %eax
434328:	d1 f8                	sar    $1,%eax
43432a:	79 03                	jns    0x43432f
43432c:	83 d0 00             	adc    $0x0,%eax
43432f:	89 45 f0             	mov    %eax,-0x10(%ebp)
434332:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
434336:	74 06                	je     0x43433e
434338:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
43433c:	75 05                	jne    0x434343
43433e:	33 c0                	xor    %eax,%eax
434340:	89 45 14             	mov    %eax,0x14(%ebp)
434343:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
434347:	0f 85 97 00 00 00    	jne    0x4343e4
43434d:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
434351:	75 4a                	jne    0x43439d
434353:	8d 4d d0             	lea    -0x30(%ebp),%ecx
434356:	8b 55 e4             	mov    -0x1c(%ebp),%edx
434359:	03 55 dc             	add    -0x24(%ebp),%edx
43435c:	8b 45 e0             	mov    -0x20(%ebp),%eax
43435f:	03 45 d8             	add    -0x28(%ebp),%eax
434362:	e8 85 2d fe ff       	call   0x4170ec
434367:	8a 45 1c             	mov    0x1c(%ebp),%al
43436a:	2c 02                	sub    $0x2,%al
43436c:	73 13                	jae    0x434381
43436e:	8b 45 e8             	mov    -0x18(%ebp),%eax
434371:	2b 45 d0             	sub    -0x30(%ebp),%eax
434374:	b9 03 00 00 00       	mov    $0x3,%ecx
434379:	99                   	cltd
43437a:	f7 f9                	idiv   %ecx
43437c:	89 45 18             	mov    %eax,0x18(%ebp)
43437f:	eb 11                	jmp    0x434392
434381:	8b 45 ec             	mov    -0x14(%ebp),%eax
434384:	2b 45 d4             	sub    -0x2c(%ebp),%eax
434387:	b9 03 00 00 00       	mov    $0x3,%ecx
43438c:	99                   	cltd
43438d:	f7 f9                	idiv   %ecx
43438f:	89 45 18             	mov    %eax,0x18(%ebp)
434392:	8b 45 18             	mov    0x18(%ebp),%eax
434395:	89 45 14             	mov    %eax,0x14(%ebp)
434398:	e9 96 00 00 00       	jmp    0x434433
43439d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4343a0:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4343a3:	03 55 14             	add    0x14(%ebp),%edx
4343a6:	03 55 dc             	add    -0x24(%ebp),%edx
4343a9:	8b 45 e0             	mov    -0x20(%ebp),%eax
4343ac:	03 45 14             	add    0x14(%ebp),%eax
4343af:	03 45 d8             	add    -0x28(%ebp),%eax
4343b2:	e8 35 2d fe ff       	call   0x4170ec
4343b7:	8a 45 1c             	mov    0x1c(%ebp),%al
4343ba:	2c 02                	sub    $0x2,%al
4343bc:	73 13                	jae    0x4343d1
4343be:	8b 45 e8             	mov    -0x18(%ebp),%eax
4343c1:	2b 45 d0             	sub    -0x30(%ebp),%eax
4343c4:	40                   	inc    %eax
4343c5:	d1 f8                	sar    $1,%eax
4343c7:	79 03                	jns    0x4343cc
4343c9:	83 d0 00             	adc    $0x0,%eax
4343cc:	89 45 18             	mov    %eax,0x18(%ebp)
4343cf:	eb 62                	jmp    0x434433
4343d1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4343d4:	2b 45 d4             	sub    -0x2c(%ebp),%eax
4343d7:	40                   	inc    %eax
4343d8:	d1 f8                	sar    $1,%eax
4343da:	79 03                	jns    0x4343df
4343dc:	83 d0 00             	adc    $0x0,%eax
4343df:	89 45 18             	mov    %eax,0x18(%ebp)
4343e2:	eb 4f                	jmp    0x434433
4343e4:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
4343e8:	75 49                	jne    0x434433
4343ea:	8b 45 18             	mov    0x18(%ebp),%eax
4343ed:	03 45 e4             	add    -0x1c(%ebp),%eax
4343f0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4343f3:	2b d0                	sub    %eax,%edx
4343f5:	8b 45 18             	mov    0x18(%ebp),%eax
4343f8:	03 45 e0             	add    -0x20(%ebp),%eax
4343fb:	50                   	push   %eax
4343fc:	8b 45 e8             	mov    -0x18(%ebp),%eax
4343ff:	59                   	pop    %ecx
434400:	2b c1                	sub    %ecx,%eax
434402:	8d 4d d0             	lea    -0x30(%ebp),%ecx
434405:	e8 e2 2c fe ff       	call   0x4170ec
43440a:	8a 45 1c             	mov    0x1c(%ebp),%al
43440d:	2c 02                	sub    $0x2,%al
43440f:	73 12                	jae    0x434423
434411:	8b 45 d0             	mov    -0x30(%ebp),%eax
434414:	2b 45 d8             	sub    -0x28(%ebp),%eax
434417:	d1 f8                	sar    $1,%eax
434419:	79 03                	jns    0x43441e
43441b:	83 d0 00             	adc    $0x0,%eax
43441e:	89 45 14             	mov    %eax,0x14(%ebp)
434421:	eb 10                	jmp    0x434433
434423:	8b 45 d4             	mov    -0x2c(%ebp),%eax
434426:	2b 45 dc             	sub    -0x24(%ebp),%eax
434429:	d1 f8                	sar    $1,%eax
43442b:	79 03                	jns    0x434430
43442d:	83 d0 00             	adc    $0x0,%eax
434430:	89 45 14             	mov    %eax,0x14(%ebp)
434433:	8a 45 1c             	mov    0x1c(%ebp),%al
434436:	2c 01                	sub    $0x1,%al
434438:	72 0c                	jb     0x434446
43443a:	74 1a                	je     0x434456
43443c:	fe c8                	dec    %al
43443e:	74 2c                	je     0x43446c
434440:	fe c8                	dec    %al
434442:	74 39                	je     0x43447d
434444:	eb 4c                	jmp    0x434492
434446:	8b 45 18             	mov    0x18(%ebp),%eax
434449:	89 06                	mov    %eax,(%esi)
43444b:	03 45 e0             	add    -0x20(%ebp),%eax
43444e:	03 45 14             	add    0x14(%ebp),%eax
434451:	89 45 f0             	mov    %eax,-0x10(%ebp)
434454:	eb 3c                	jmp    0x434492
434456:	8b 45 e8             	mov    -0x18(%ebp),%eax
434459:	2b 45 18             	sub    0x18(%ebp),%eax
43445c:	2b 45 e0             	sub    -0x20(%ebp),%eax
43445f:	89 06                	mov    %eax,(%esi)
434461:	2b 45 14             	sub    0x14(%ebp),%eax
434464:	2b 45 d8             	sub    -0x28(%ebp),%eax
434467:	89 45 f0             	mov    %eax,-0x10(%ebp)
43446a:	eb 26                	jmp    0x434492
43446c:	8b 45 18             	mov    0x18(%ebp),%eax
43446f:	89 46 04             	mov    %eax,0x4(%esi)
434472:	03 45 e4             	add    -0x1c(%ebp),%eax
434475:	03 45 14             	add    0x14(%ebp),%eax
434478:	89 45 f4             	mov    %eax,-0xc(%ebp)
43447b:	eb 15                	jmp    0x434492
43447d:	8b 45 ec             	mov    -0x14(%ebp),%eax
434480:	2b 45 18             	sub    0x18(%ebp),%eax
434483:	2b 45 e4             	sub    -0x1c(%ebp),%eax
434486:	89 46 04             	mov    %eax,0x4(%esi)
434489:	2b 45 14             	sub    0x14(%ebp),%eax
43448c:	2b 45 dc             	sub    -0x24(%ebp),%eax
43448f:	89 45 f4             	mov    %eax,-0xc(%ebp)
434492:	8b 03                	mov    (%ebx),%eax
434494:	8b 55 24             	mov    0x24(%ebp),%edx
434497:	03 02                	add    (%edx),%eax
434499:	01 06                	add    %eax,(%esi)
43449b:	8b 43 04             	mov    0x4(%ebx),%eax
43449e:	8b 55 24             	mov    0x24(%ebp),%edx
4344a1:	03 42 04             	add    0x4(%edx),%eax
4344a4:	01 46 04             	add    %eax,0x4(%esi)
4344a7:	e8 20 9b 00 00       	call   0x43dfcc
4344ac:	e8 fb 9b 00 00       	call   0x43e0ac
4344b1:	84 c0                	test   %al,%al
4344b3:	74 15                	je     0x4344ca
4344b5:	8b 43 04             	mov    0x4(%ebx),%eax
4344b8:	03 45 f4             	add    -0xc(%ebp),%eax
4344bb:	50                   	push   %eax
4344bc:	8b 03                	mov    (%ebx),%eax
4344be:	03 45 f0             	add    -0x10(%ebp),%eax
4344c1:	50                   	push   %eax
4344c2:	57                   	push   %edi
4344c3:	e8 7c 25 fd ff       	call   0x406a44
4344c8:	eb 1e                	jmp    0x4344e8
4344ca:	8b 43 04             	mov    0x4(%ebx),%eax
4344cd:	03 45 f4             	add    -0xc(%ebp),%eax
4344d0:	8b 55 24             	mov    0x24(%ebp),%edx
4344d3:	03 42 04             	add    0x4(%edx),%eax
4344d6:	50                   	push   %eax
4344d7:	8b 03                	mov    (%ebx),%eax
4344d9:	03 45 f0             	add    -0x10(%ebp),%eax
4344dc:	8b 55 24             	mov    0x24(%ebp),%edx
4344df:	03 02                	add    (%edx),%eax
4344e1:	50                   	push   %eax
4344e2:	57                   	push   %edi
4344e3:	e8 5c 25 fd ff       	call   0x406a44
4344e8:	5f                   	pop    %edi
4344e9:	5e                   	pop    %esi
4344ea:	5b                   	pop    %ebx
4344eb:	8b e5                	mov    %ebp,%esp
4344ed:	5d                   	pop    %ebp
4344ee:	c2 20 00             	ret    $0x20
4344f1:	8d 40 00             	lea    0x0(%eax),%eax
4344f4:	55                   	push   %ebp
4344f5:	8b ec                	mov    %esp,%ebp
4344f7:	83 c4 f4             	add    $0xfffffff4,%esp
4344fa:	53                   	push   %ebx
4344fb:	56                   	push   %esi
4344fc:	57                   	push   %edi
4344fd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
434500:	8b f2                	mov    %edx,%esi
434502:	8b d8                	mov    %eax,%ebx
434504:	8b 7d 24             	mov    0x24(%ebp),%edi
434507:	8b 45 28             	mov    0x28(%ebp),%eax
43450a:	50                   	push   %eax
43450b:	57                   	push   %edi
43450c:	8a 45 20             	mov    0x20(%ebp),%al
43450f:	50                   	push   %eax
434510:	8b 45 1c             	mov    0x1c(%ebp),%eax
434513:	50                   	push   %eax
434514:	8b 45 18             	mov    0x18(%ebp),%eax
434517:	50                   	push   %eax
434518:	8d 45 f4             	lea    -0xc(%ebp),%eax
43451b:	50                   	push   %eax
43451c:	8b 45 08             	mov    0x8(%ebp),%eax
43451f:	50                   	push   %eax
434520:	8b 45 0c             	mov    0xc(%ebp),%eax
434523:	50                   	push   %eax
434524:	8b 4d fc             	mov    -0x4(%ebp),%ecx
434527:	8b d6                	mov    %esi,%edx
434529:	8b c3                	mov    %ebx,%eax
43452b:	e8 98 fc ff ff       	call   0x4341c8
434530:	8a 45 14             	mov    0x14(%ebp),%al
434533:	50                   	push   %eax
434534:	8a 45 10             	mov    0x10(%ebp),%al
434537:	50                   	push   %eax
434538:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43453b:	8b d6                	mov    %esi,%edx
43453d:	8b c3                	mov    %ebx,%eax
43453f:	e8 40 fa ff ff       	call   0x433f84
434544:	8b 45 08             	mov    0x8(%ebp),%eax
434547:	50                   	push   %eax
434548:	8a 45 14             	mov    0x14(%ebp),%al
43454b:	50                   	push   %eax
43454c:	8b 45 0c             	mov    0xc(%ebp),%eax
43454f:	50                   	push   %eax
434550:	8b cf                	mov    %edi,%ecx
434552:	8b d6                	mov    %esi,%edx
434554:	8b c3                	mov    %ebx,%eax
434556:	e8 8d fb ff ff       	call   0x4340e8
43455b:	5f                   	pop    %edi
43455c:	5e                   	pop    %esi
43455d:	5b                   	pop    %ebx
43455e:	8b e5                	mov    %ebp,%esp
434560:	5d                   	pop    %ebp
434561:	c2 24 00             	ret    $0x24
434564:	53                   	push   %ebx
434565:	56                   	push   %esi
434566:	8b f2                	mov    %edx,%esi