4501a7:	64 89 22             	mov    %esp,%fs:(%edx)
4501aa:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4501ad:	83 e9 04             	sub    $0x4,%ecx
4501b0:	8b 55 e8             	mov    -0x18(%ebp),%edx
4501b3:	83 c2 04             	add    $0x4,%edx
4501b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4501b9:	8b 18                	mov    (%eax),%ebx
4501bb:	ff 53 04             	call   *0x4(%ebx)
4501be:	2b 75 e0             	sub    -0x20(%ebp),%esi
4501c1:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4501c4:	90                   	nop
4501c5:	8b 45 e0             	mov    -0x20(%ebp),%eax
4501c8:	89 03                	mov    %eax,(%ebx)
4501ca:	8b 45 e8             	mov    -0x18(%ebp),%eax
4501cd:	03 45 e0             	add    -0x20(%ebp),%eax
4501d0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4501d3:	83 7d e0 28          	cmpl   $0x28,-0x20(%ebp)
4501d7:	75 3c                	jne    0x450215
4501d9:	66 8b 43 0e          	mov    0xe(%ebx),%ax
4501dd:	66 83 f8 10          	cmp    $0x10,%ax
4501e1:	74 06                	je     0x4501e9
4501e3:	66 83 f8 20          	cmp    $0x20,%ax
4501e7:	75 2c                	jne    0x450215
4501e9:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
4501ed:	75 26                	jne    0x450215
4501ef:	90                   	nop
4501f0:	90                   	nop
4501f1:	90                   	nop
4501f2:	90                   	nop
4501f3:	90                   	nop
4501f4:	90                   	nop
4501f5:	90                   	nop
4501f6:	90                   	nop
4501f7:	90                   	nop
4501f8:	90                   	nop
4501f9:	90                   	nop
4501fa:	90                   	nop
4501fb:	90                   	nop
4501fc:	90                   	nop
4501fd:	90                   	nop
4501fe:	8b 55 e4             	mov    -0x1c(%ebp),%edx
450201:	b9 0c 00 00 00       	mov    $0xc,%ecx
450206:	8b 45 fc             	mov    -0x4(%ebp),%eax
450209:	e8 ee e2 ff ff       	call   0x44e4fc
45020e:	83 45 e4 0c          	addl   $0xc,-0x1c(%ebp)
450212:	83 ee 0c             	sub    $0xc,%esi
450215:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
450219:	75 0c                	jne    0x450227
45021b:	66 8b 43 0e          	mov    0xe(%ebx),%ax
45021f:	e8 20 fe ff ff       	call   0x450044
450224:	89 43 20             	mov    %eax,0x20(%ebx)
450227:	8b 4b 20             	mov    0x20(%ebx),%ecx
45022a:	33 c0                	xor    %eax,%eax
45022c:	a0 70 09 46 00       	mov    0x460970,%al
450231:	0f af c8             	imul   %eax,%ecx
450234:	8b 55 e4             	mov    -0x1c(%ebp),%edx
450237:	8b 45 fc             	mov    -0x4(%ebp),%eax
45023a:	e8 bd e2 ff ff       	call   0x44e4fc
45023f:	8b 43 20             	mov    0x20(%ebx),%eax
450242:	33 d2                	xor    %edx,%edx
450244:	8a 15 70 09 46 00    	mov    0x460970,%dl
45024a:	f7 ea                	imul   %edx
45024c:	2b f0                	sub    %eax,%esi
45024e:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
450252:	75 21                	jne    0x450275
450254:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
450258:	8b 43 04             	mov    0x4(%ebx),%eax
45025b:	b9 20 00 00 00       	mov    $0x20,%ecx
450260:	e8 07 fe ff ff       	call   0x45006c
450265:	8b c8                	mov    %eax,%ecx
450267:	8b 43 08             	mov    0x8(%ebx),%eax
45026a:	99                   	cltd
45026b:	33 c2                	xor    %edx,%eax
45026d:	2b c2                	sub    %edx,%eax
45026f:	0f af c8             	imul   %eax,%ecx
450272:	89 4b 14             	mov    %ecx,0x14(%ebx)
450275:	8b 43 14             	mov    0x14(%ebx),%eax
450278:	3b c6                	cmp    %esi,%eax
45027a:	73 02                	jae    0x45027e
45027c:	8b f0                	mov    %eax,%esi
45027e:	33 db                	xor    %ebx,%ebx
450280:	33 ff                	xor    %edi,%edi
450282:	6a 00                	push   $0x0
450284:	e8 c3 68 fb ff       	call   0x406b4c
450289:	89 45 f4             	mov    %eax,-0xc(%ebp)
45028c:	33 d2                	xor    %edx,%edx
45028e:	55                   	push   %ebp
45028f:	68 01 04 45 00       	push   $0x450401
450294:	64 ff 32             	push   %fs:(%edx)
450297:	64 89 22             	mov    %esp,%fs:(%edx)
45029a:	8b 45 d8             	mov    -0x28(%ebp),%eax
45029d:	8b 40 10             	mov    0x10(%eax),%eax
4502a0:	83 f8 01             	cmp    $0x1,%eax
4502a3:	74 09                	je     0x4502ae
4502a5:	83 f8 02             	cmp    $0x2,%eax
4502a8:	0f 85 99 00 00 00    	jne    0x450347
4502ae:	90                   	nop
4502af:	33 c0                	xor    %eax,%eax
4502b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4502b4:	8b c6                	mov    %esi,%eax
4502b6:	e8 7d 27 fb ff       	call   0x402a38
4502bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4502be:	33 d2                	xor    %edx,%edx
4502c0:	55                   	push   %ebp
4502c1:	68 40 03 45 00       	push   $0x450340
4502c6:	64 ff 32             	push   %fs:(%edx)
4502c9:	64 89 22             	mov    %esp,%fs:(%edx)
4502cc:	8b 55 ec             	mov    -0x14(%ebp),%edx
4502cf:	8b ce                	mov    %esi,%ecx
4502d1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4502d4:	e8 23 e2 ff ff       	call   0x44e4fc
4502d9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4502dc:	50                   	push   %eax
4502dd:	e8 4a 65 fb ff       	call   0x40682c
4502e2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4502e5:	6a 01                	push   $0x1
4502e7:	6a 01                	push   $0x1
4502e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4502ec:	50                   	push   %eax
4502ed:	e8 32 65 fb ff       	call   0x406824
4502f2:	50                   	push   %eax
4502f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4502f6:	50                   	push   %eax
4502f7:	e8 60 66 fb ff       	call   0x40695c
4502fc:	50                   	push   %eax
4502fd:	e8 7a 65 fb ff       	call   0x40687c
450302:	6a 00                	push   $0x0
450304:	8b 45 e8             	mov    -0x18(%ebp),%eax
450307:	50                   	push   %eax
450308:	8b 55 ec             	mov    -0x14(%ebp),%edx
45030b:	52                   	push   %edx
45030c:	6a 04                	push   $0x4
45030e:	50                   	push   %eax
45030f:	8b 45 f0             	mov    -0x10(%ebp),%eax
450312:	50                   	push   %eax
450313:	e8 24 65 fb ff       	call   0x40683c
450318:	89 45 dc             	mov    %eax,-0x24(%ebp)
45031b:	33 c0                	xor    %eax,%eax
45031d:	5a                   	pop    %edx
45031e:	59                   	pop    %ecx
45031f:	59                   	pop    %ecx
450320:	64 89 10             	mov    %edx,%fs:(%eax)
450323:	68 9f 03 45 00       	push   $0x45039f
450328:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45032c:	74 09                	je     0x450337
45032e:	8b 45 f0             	mov    -0x10(%ebp),%eax
450331:	50                   	push   %eax
450332:	e8 3d 65 fb ff       	call   0x406874
450337:	8b 45 ec             	mov    -0x14(%ebp),%eax
45033a:	e8 29 27 fb ff       	call   0x402a68
45033f:	c3                   	ret
450340:	e9 07 3c fb ff       	jmp    0x403f4c
450345:	eb e1                	jmp    0x450328
450347:	90                   	nop
450348:	90                   	nop
450349:	90                   	nop
45034a:	90                   	nop
45034b:	57                   	push   %edi
45034c:	53                   	push   %ebx
45034d:	8d 45 ec             	lea    -0x14(%ebp),%eax
450350:	50                   	push   %eax
450351:	6a 00                	push   $0x0
450353:	8b 45 e8             	mov    -0x18(%ebp),%eax
450356:	50                   	push   %eax
450357:	8b 45 f4             	mov    -0xc(%ebp),%eax
45035a:	50                   	push   %eax
45035b:	e8 d4 64 fb ff       	call   0x406834
450360:	89 45 dc             	mov    %eax,-0x24(%ebp)
450363:	33 c0                	xor    %eax,%eax
450365:	55                   	push   %ebp
450366:	68 8c 03 45 00       	push   $0x45038c
45036b:	64 ff 30             	push   %fs:(%eax)
45036e:	64 89 20             	mov    %esp,%fs:(%eax)
450371:	85 db                	test   %ebx,%ebx
450373:	75 0d                	jne    0x450382
450375:	8b 55 ec             	mov    -0x14(%ebp),%edx
450378:	8b ce                	mov    %esi,%ecx
45037a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45037d:	e8 7a e1 ff ff       	call   0x44e4fc
450382:	33 c0                	xor    %eax,%eax
450384:	5a                   	pop    %edx
450385:	59                   	pop    %ecx
450386:	59                   	pop    %ecx
450387:	64 89 10             	mov    %edx,%fs:(%eax)
45038a:	eb 13                	jmp    0x45039f
45038c:	e9 07 39 fb ff       	jmp    0x403c98
450391:	8b 45 dc             	mov    -0x24(%ebp),%eax
450394:	50                   	push   %eax
450395:	e8 e2 64 fb ff       	call   0x40687c
45039a:	e8 61 3c fb ff       	call   0x404000
45039f:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4503a3:	74 43                	je     0x4503e8
4503a5:	90                   	nop
4503a6:	90                   	nop
4503a7:	90                   	nop
4503a8:	90                   	nop
4503a9:	90                   	nop
4503aa:	90                   	nop
4503ab:	90                   	nop
4503ac:	90                   	nop
4503ad:	90                   	nop
4503ae:	8d 45 84             	lea    -0x7c(%ebp),%eax
4503b1:	33 c9                	xor    %ecx,%ecx
4503b3:	ba 54 00 00 00       	mov    $0x54,%edx
4503b8:	e8 5f 2b fb ff       	call   0x402f1c
4503bd:	8d 45 84             	lea    -0x7c(%ebp),%eax
4503c0:	50                   	push   %eax
4503c1:	6a 54                	push   $0x54
4503c3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4503c6:	50                   	push   %eax
4503c7:	e8 08 65 fb ff       	call   0x4068d4
4503cc:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4503cf:	8b 55 88             	mov    -0x78(%ebp),%edx
4503d2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4503d5:	e8 4a f5 ff ff       	call   0x44f924
4503da:	89 45 f8             	mov    %eax,-0x8(%ebp)
4503dd:	8d 55 f8             	lea    -0x8(%ebp),%edx
4503e0:	8b 45 dc             	mov    -0x24(%ebp),%eax
4503e3:	e8 94 fc ff ff       	call   0x45007c
4503e8:	33 c0                	xor    %eax,%eax
4503ea:	5a                   	pop    %edx
4503eb:	59                   	pop    %ecx
4503ec:	59                   	pop    %ecx
4503ed:	64 89 10             	mov    %edx,%fs:(%eax)
4503f0:	68 08 04 45 00       	push   $0x450408
4503f5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4503f8:	50                   	push   %eax
4503f9:	6a 00                	push   $0x0
4503fb:	e8 94 69 fb ff       	call   0x406d94
450400:	c3                   	ret
450401:	e9 46 3b fb ff       	jmp    0x403f4c
450406:	eb ed                	jmp    0x4503f5
450408:	33 c0                	xor    %eax,%eax
45040a:	5a                   	pop    %edx
45040b:	59                   	pop    %ecx
45040c:	59                   	pop    %ecx
45040d:	64 89 10             	mov    %edx,%fs:(%eax)
450410:	68 25 04 45 00       	push   $0x450425
450415:	8b 45 e8             	mov    -0x18(%ebp),%eax
450418:	e8 4b 26 fb ff       	call   0x402a68
45041d:	c3                   	ret
45041e:	e9 29 3b fb ff       	jmp    0x403f4c
450423:	eb f0                	jmp    0x450415
450425:	8b 45 f8             	mov    -0x8(%ebp),%eax
450428:	5f                   	pop    %edi
450429:	5e                   	pop    %esi
45042a:	5b                   	pop    %ebx
45042b:	8b e5                	mov    %ebp,%esp
45042d:	5d                   	pop    %ebp
45042e:	c3                   	ret
45042f:	90                   	nop
450430:	55                   	push   %ebp
450431:	8b ec                	mov    %esp,%ebp
450433:	83 c4 e4             	add    $0xffffffe4,%esp
450436:	53                   	push   %ebx
450437:	89 45 fc             	mov    %eax,-0x4(%ebp)
45043a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45043d:	e8 de 45 fb ff       	call   0x404a20
450442:	33 c0                	xor    %eax,%eax
450444:	55                   	push   %ebp
450445:	68 ed 04 45 00       	push   $0x4504ed
45044a:	64 ff 30             	push   %fs:(%eax)
45044d:	64 89 20             	mov    %esp,%fs:(%eax)
450450:	90                   	nop
450451:	90                   	nop
450452:	90                   	nop
450453:	90                   	nop
450454:	90                   	nop
450455:	90                   	nop
450456:	b2 01                	mov    $0x1,%dl
450458:	a1 38 e4 44 00       	mov    0x44e438,%eax
45045d:	e8 6a 33 fb ff       	call   0x4037cc
450462:	89 45 f4             	mov    %eax,-0xc(%ebp)
450465:	33 c0                	xor    %eax,%eax
450467:	55                   	push   %ebp
450468:	68 d0 04 45 00       	push   $0x4504d0
45046d:	64 ff 30             	push   %fs:(%eax)
450470:	64 89 20             	mov    %esp,%fs:(%eax)
450473:	8b 45 f4             	mov    -0xc(%ebp),%eax
450476:	e8 75 e1 ff ff       	call   0x44e5f0
45047b:	8d 55 f4             	lea    -0xc(%ebp),%edx
45047e:	8b 45 fc             	mov    -0x4(%ebp),%eax
450481:	e8 6a e9 ff ff       	call   0x44edf0
450486:	33 c9                	xor    %ecx,%ecx
450488:	33 d2                	xor    %edx,%edx
45048a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45048d:	8b 18                	mov    (%eax),%ebx
45048f:	ff 53 0c             	call   *0xc(%ebx)
450492:	8d 55 e6             	lea    -0x1a(%ebp),%edx
450495:	b9 0e 00 00 00       	mov    $0xe,%ecx
45049a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45049d:	e8 5a e0 ff ff       	call   0x44e4fc
4504a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4504a5:	e8 fe df ff ff       	call   0x44e4a8
4504aa:	8b d0                	mov    %eax,%edx
4504ac:	83 ea 0e             	sub    $0xe,%edx
4504af:	8b 45 f4             	mov    -0xc(%ebp),%eax
4504b2:	e8 b1 fc ff ff       	call   0x450168
4504b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4504ba:	33 c0                	xor    %eax,%eax
4504bc:	5a                   	pop    %edx
4504bd:	59                   	pop    %ecx
4504be:	59                   	pop    %ecx
4504bf:	64 89 10             	mov    %edx,%fs:(%eax)
4504c2:	68 d7 04 45 00       	push   $0x4504d7
4504c7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4504ca:	e8 2d 33 fb ff       	call   0x4037fc
4504cf:	c3                   	ret
4504d0:	e9 77 3a fb ff       	jmp    0x403f4c
4504d5:	eb f0                	jmp    0x4504c7
4504d7:	33 c0                	xor    %eax,%eax
4504d9:	5a                   	pop    %edx
4504da:	59                   	pop    %ecx
4504db:	59                   	pop    %ecx
4504dc:	64 89 10             	mov    %edx,%fs:(%eax)
4504df:	68 f4 04 45 00       	push   $0x4504f4
4504e4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4504e7:	e8 84 40 fb ff       	call   0x404570
4504ec:	c3                   	ret
4504ed:	e9 5a 3a fb ff       	jmp    0x403f4c
4504f2:	eb f0                	jmp    0x4504e4
4504f4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4504f7:	5b                   	pop    %ebx
4504f8:	8b e5                	mov    %ebp,%esp
4504fa:	5d                   	pop    %ebp
4504fb:	c3                   	ret
4504fc:	55                   	push   %ebp
4504fd:	8b ec                	mov    %esp,%ebp
4504ff:	53                   	push   %ebx
450500:	56                   	push   %esi
450501:	57                   	push   %edi
450502:	8b 7d 0c             	mov    0xc(%ebp),%edi
450505:	8b 75 08             	mov    0x8(%ebp),%esi
450508:	6a eb                	push   $0xffffffeb
45050a:	56                   	push   %esi
45050b:	e8 3c 67 fb ff       	call   0x406c4c
450510:	8b d8                	mov    %eax,%ebx
450512:	8b c7                	mov    %edi,%eax
450514:	83 e8 0f             	sub    $0xf,%eax
450517:	74 12                	je     0x45052b
450519:	2d f1 01 00 00       	sub    $0x1f1,%eax
45051e:	74 67                	je     0x450587
450520:	48                   	dec    %eax
450521:	74 14                	je     0x450537
450523:	48                   	dec    %eax
450524:	74 25                	je     0x45054b
450526:	e9 97 00 00 00       	jmp    0x4505c2
45052b:	8b c3                	mov    %ebx,%eax
45052d:	e8 a6 03 00 00       	call   0x4508d8
450532:	e9 8b 00 00 00       	jmp    0x4505c2