45001a:	8b 45 dc             	mov    -0x24(%ebp),%eax
45001d:	50                   	push   %eax
45001e:	e8 51 68 fb ff       	call   0x406874
450023:	8b 45 e0             	mov    -0x20(%ebp),%eax
450026:	50                   	push   %eax
450027:	8b 45 ec             	mov    -0x14(%ebp),%eax
45002a:	50                   	push   %eax
45002b:	e8 64 6d fb ff       	call   0x406d94
450030:	c3                   	ret
450031:	e9 16 3f fb ff       	jmp    0x403f4c
450036:	eb b9                	jmp    0x44fff1
450038:	5f                   	pop    %edi
450039:	5e                   	pop    %esi
45003a:	5b                   	pop    %ebx
45003b:	8b e5                	mov    %ebp,%esp
45003d:	5d                   	pop    %ebp
45003e:	c2 0c 00             	ret    $0xc
450041:	8d 40 00             	lea    0x0(%eax),%eax
450044:	90                   	nop
450045:	90                   	nop
450046:	90                   	nop
450047:	90                   	nop
450048:	90                   	nop
450049:	90                   	nop
45004a:	90                   	nop
45004b:	90                   	nop
45004c:	8b d0                	mov    %eax,%edx
45004e:	66 ff ca             	dec    %dx
450051:	74 0c                	je     0x45005f
450053:	66 83 ea 03          	sub    $0x3,%dx
450057:	74 06                	je     0x45005f
450059:	66 83 ea 04          	sub    $0x4,%dx
45005d:	75 0a                	jne    0x450069
45005f:	8b c8                	mov    %eax,%ecx
450061:	b8 01 00 00 00       	mov    $0x1,%eax
450066:	d3 e0                	shl    %cl,%eax
450068:	c3                   	ret
450069:	33 c0                	xor    %eax,%eax
45006b:	c3                   	ret
45006c:	90                   	nop
45006d:	90                   	nop
45006e:	49                   	dec    %ecx
45006f:	f7 ea                	imul   %edx
450071:	03 c1                	add    %ecx,%eax
450073:	f7 d1                	not    %ecx
450075:	23 c1                	and    %ecx,%eax
450077:	c1 e8 03             	shr    $0x3,%eax
45007a:	c3                   	ret
45007b:	90                   	nop
45007c:	55                   	push   %ebp
45007d:	8b ec                	mov    %esp,%ebp
45007f:	83 c4 d4             	add    $0xffffffd4,%esp
450082:	53                   	push   %ebx
450083:	56                   	push   %esi
450084:	8b f2                	mov    %edx,%esi
450086:	8b d8                	mov    %eax,%ebx
450088:	90                   	nop
450089:	90                   	nop
45008a:	90                   	nop
45008b:	90                   	nop
45008c:	90                   	nop
45008d:	90                   	nop
45008e:	90                   	nop
45008f:	90                   	nop
450090:	90                   	nop
450091:	90                   	nop
450092:	90                   	nop
450093:	90                   	nop
450094:	90                   	nop
450095:	90                   	nop
450096:	6a 00                	push   $0x0
450098:	e8 af 6a fb ff       	call   0x406b4c
45009d:	89 45 fc             	mov    %eax,-0x4(%ebp)
4500a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4500a3:	50                   	push   %eax
4500a4:	e8 83 67 fb ff       	call   0x40682c
4500a9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4500ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
4500af:	50                   	push   %eax
4500b0:	e8 77 67 fb ff       	call   0x40682c
4500b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4500b8:	53                   	push   %ebx
4500b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4500bc:	50                   	push   %eax
4500bd:	e8 9a 68 fb ff       	call   0x40695c
4500c2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4500c5:	8b 06                	mov    (%esi),%eax
4500c7:	50                   	push   %eax
4500c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
4500cb:	50                   	push   %eax
4500cc:	e8 8b 68 fb ff       	call   0x40695c
4500d1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4500d4:	33 c0                	xor    %eax,%eax
4500d6:	55                   	push   %ebp
4500d7:	68 5b 01 45 00       	push   $0x45015b
4500dc:	64 ff 30             	push   %fs:(%eax)
4500df:	64 89 20             	mov    %esp,%fs:(%eax)
4500e2:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4500e5:	50                   	push   %eax
4500e6:	6a 18                	push   $0x18
4500e8:	53                   	push   %ebx
4500e9:	e8 e6 67 fb ff       	call   0x4068d4
4500ee:	68 20 00 cc 00       	push   $0xcc0020
4500f3:	6a 00                	push   $0x0
4500f5:	6a 00                	push   $0x0
4500f7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4500fa:	50                   	push   %eax
4500fb:	8b 45 dc             	mov    -0x24(%ebp),%eax
4500fe:	50                   	push   %eax
4500ff:	8b 45 d8             	mov    -0x28(%ebp),%eax
450102:	50                   	push   %eax
450103:	6a 00                	push   $0x0
450105:	6a 00                	push   $0x0
450107:	8b 45 f4             	mov    -0xc(%ebp),%eax
45010a:	50                   	push   %eax
45010b:	e8 fc 66 fb ff       	call   0x40680c
450110:	33 c0                	xor    %eax,%eax
450112:	5a                   	pop    %edx
450113:	59                   	pop    %ecx
450114:	59                   	pop    %ecx
450115:	64 89 10             	mov    %edx,%fs:(%eax)
450118:	68 62 01 45 00       	push   $0x450162
45011d:	8b 45 f0             	mov    -0x10(%ebp),%eax
450120:	50                   	push   %eax
450121:	8b 45 f8             	mov    -0x8(%ebp),%eax
450124:	50                   	push   %eax
450125:	e8 32 68 fb ff       	call   0x40695c
45012a:	50                   	push   %eax
45012b:	e8 4c 67 fb ff       	call   0x40687c
450130:	8b 45 ec             	mov    -0x14(%ebp),%eax
450133:	50                   	push   %eax
450134:	8b 45 f4             	mov    -0xc(%ebp),%eax
450137:	50                   	push   %eax
450138:	e8 1f 68 fb ff       	call   0x40695c
45013d:	8b 45 f8             	mov    -0x8(%ebp),%eax
450140:	50                   	push   %eax
450141:	e8 2e 67 fb ff       	call   0x406874
450146:	8b 45 f4             	mov    -0xc(%ebp),%eax
450149:	50                   	push   %eax
45014a:	e8 25 67 fb ff       	call   0x406874
45014f:	8b 45 fc             	mov    -0x4(%ebp),%eax
450152:	50                   	push   %eax
450153:	6a 00                	push   $0x0
450155:	e8 3a 6c fb ff       	call   0x406d94
45015a:	c3                   	ret
45015b:	e9 ec 3d fb ff       	jmp    0x403f4c
450160:	eb bb                	jmp    0x45011d
450162:	5e                   	pop    %esi
450163:	5b                   	pop    %ebx
450164:	8b e5                	mov    %ebp,%esp
450166:	5d                   	pop    %ebp
450167:	c3                   	ret
450168:	55                   	push   %ebp
450169:	8b ec                	mov    %esp,%ebp
45016b:	83 c4 84             	add    $0xffffff84,%esp
45016e:	53                   	push   %ebx
45016f:	56                   	push   %esi
450170:	57                   	push   %edi
450171:	8b f2                	mov    %edx,%esi
450173:	89 45 fc             	mov    %eax,-0x4(%ebp)
450176:	8d 55 e0             	lea    -0x20(%ebp),%edx
450179:	b9 04 00 00 00       	mov    $0x4,%ecx
45017e:	8b 45 fc             	mov    -0x4(%ebp),%eax
450181:	8b 18                	mov    (%eax),%ebx
450183:	ff 53 04             	call   *0x4(%ebx)
450186:	8b 45 e0             	mov    -0x20(%ebp),%eax
450189:	05 00 04 00 00       	add    $0x400,%eax
45018e:	e8 a5 28 fb ff       	call   0x402a38
450193:	89 45 e8             	mov    %eax,-0x18(%ebp)
450196:	8b 45 e8             	mov    -0x18(%ebp),%eax
450199:	89 45 d8             	mov    %eax,-0x28(%ebp)
45019c:	33 d2                	xor    %edx,%edx
45019e:	55                   	push   %ebp
45019f:	68 1e 04 45 00       	push   $0x45041e
4501a4:	64 ff 32             	push   %fs:(%edx)
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