408fd6:	6a 02                	push   $0x2
408fd8:	ff d7                	call   *%edi
408fda:	f7 de                	neg    %esi
408fdc:	83 c4 0c             	add    $0xc,%esp
408fdf:	66 85 f6             	test   %si,%si
408fe2:	74 37                	je     0x40901b
408fe4:	8d 55 a0             	lea    -0x60(%ebp),%edx
408fe7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
408fea:	c7 45 a8 78 65 40 00 	movl   $0x406578,-0x58(%ebp)
408ff1:	c7 45 a0 08 00 00 00 	movl   $0x8,-0x60(%ebp)
408ff8:	ff 15 98 11 40 00    	call   *0x401198
408ffe:	8d 45 c0             	lea    -0x40(%ebp),%eax
409001:	50                   	push   %eax
409002:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409005:	51                   	push   %ecx
409006:	ff 15 68 10 40 00    	call   *0x401068
40900c:	8d 55 b0             	lea    -0x50(%ebp),%edx
40900f:	52                   	push   %edx
409010:	8d 45 c0             	lea    -0x40(%ebp),%eax
409013:	50                   	push   %eax
409014:	6a 02                	push   $0x2
409016:	ff d7                	call   *%edi
409018:	83 c4 0c             	add    $0xc,%esp
40901b:	68 6c 60 40 00       	push   $0x40606c
409020:	68 78 60 40 00       	push   $0x406078
409025:	ff 15 4c 10 40 00    	call   *0x40104c
40902b:	8b 35 b0 11 40 00    	mov    0x4011b0,%esi
409031:	8b d0                	mov    %eax,%edx
409033:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409036:	ff d6                	call   *%esi
409038:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40903b:	6a 02                	push   $0x2
40903d:	51                   	push   %ecx
40903e:	ff 15 3c 10 40 00    	call   *0x40103c
409044:	8b d0                	mov    %eax,%edx
409046:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409049:	ff d6                	call   *%esi
40904b:	50                   	push   %eax
40904c:	68 78 60 40 00       	push   $0x406078
409051:	ff 15 d4 10 40 00    	call   *0x4010d4
409057:	8b f0                	mov    %eax,%esi
409059:	f7 de                	neg    %esi
40905b:	1b f6                	sbb    %esi,%esi
40905d:	f7 de                	neg    %esi
40905f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
409062:	f7 de                	neg    %esi
409064:	ff 15 cc 11 40 00    	call   *0x4011cc
40906a:	66 85 f6             	test   %si,%si
40906d:	74 61                	je     0x4090d0
40906f:	83 ec 10             	sub    $0x10,%esp
409072:	8b fc                	mov    %esp,%edi
409074:	b9 08 00 00 00       	mov    $0x8,%ecx
409079:	89 0f                	mov    %ecx,(%edi)
40907b:	89 4d a0             	mov    %ecx,-0x60(%ebp)
40907e:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
409081:	89 4f 04             	mov    %ecx,0x4(%edi)
409084:	b8 90 65 40 00       	mov    $0x406590,%eax
409089:	89 47 08             	mov    %eax,0x8(%edi)
40908c:	83 ec 10             	sub    $0x10,%esp
40908f:	89 45 a8             	mov    %eax,-0x58(%ebp)
409092:	8b 45 ac             	mov    -0x54(%ebp),%eax
409095:	89 47 0c             	mov    %eax,0xc(%edi)
409098:	8b 45 84             	mov    -0x7c(%ebp),%eax
40909b:	8b cc                	mov    %esp,%ecx
40909d:	be 03 00 00 00       	mov    $0x3,%esi
4090a2:	89 31                	mov    %esi,(%ecx)
4090a4:	89 41 04             	mov    %eax,0x4(%ecx)
4090a7:	6a 02                	push   $0x2
4090a9:	ba 59 da 74 00       	mov    $0x74da59,%edx
4090ae:	89 51 08             	mov    %edx,0x8(%ecx)
4090b1:	8b 55 8c             	mov    -0x74(%ebp),%edx
4090b4:	68 a0 65 40 00       	push   $0x4065a0
4090b9:	8d 45 d8             	lea    -0x28(%ebp),%eax
4090bc:	50                   	push   %eax
4090bd:	89 51 0c             	mov    %edx,0xc(%ecx)
4090c0:	ff 15 e4 10 40 00    	call   *0x4010e4
4090c6:	50                   	push   %eax
4090c7:	ff 15 90 11 40 00    	call   *0x401190
4090cd:	83 c4 2c             	add    $0x2c,%esp
4090d0:	ff 15 54 10 40 00    	call   *0x401054
4090d6:	9b                   	fwait
4090d7:	68 17 91 40 00       	push   $0x409117
4090dc:	eb 26                	jmp    0x409104
4090de:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4090e1:	ff 15 cc 11 40 00    	call   *0x4011cc
4090e7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4090ea:	ff 15 d0 11 40 00    	call   *0x4011d0
4090f0:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4090f3:	51                   	push   %ecx
4090f4:	8d 55 c0             	lea    -0x40(%ebp),%edx
4090f7:	52                   	push   %edx
4090f8:	6a 02                	push   $0x2
4090fa:	ff 15 28 10 40 00    	call   *0x401028
409100:	83 c4 0c             	add    $0xc,%esp
409103:	c3                   	ret
409104:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409107:	ff 15 cc 11 40 00    	call   *0x4011cc
40910d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
409110:	ff 15 1c 10 40 00    	call   *0x40101c
409116:	c3                   	ret
409117:	8b 45 08             	mov    0x8(%ebp),%eax
40911a:	8b 08                	mov    (%eax),%ecx
40911c:	50                   	push   %eax
40911d:	ff 51 08             	call   *0x8(%ecx)
409120:	8b 45 fc             	mov    -0x4(%ebp),%eax
409123:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409126:	5f                   	pop    %edi
409127:	5e                   	pop    %esi
409128:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40912f:	5b                   	pop    %ebx
409130:	8b e5                	mov    %ebp,%esp
409132:	5d                   	pop    %ebp
409133:	c2 14 00             	ret    $0x14
409136:	90                   	nop
409137:	90                   	nop
409138:	90                   	nop
409139:	90                   	nop
40913a:	90                   	nop
40913b:	90                   	nop
40913c:	90                   	nop
40913d:	90                   	nop
40913e:	90                   	nop
40913f:	90                   	nop
409140:	55                   	push   %ebp
409141:	8b ec                	mov    %esp,%ebp
409143:	83 ec 0c             	sub    $0xc,%esp
409146:	68 26 13 40 00       	push   $0x401326
40914b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409151:	50                   	push   %eax
409152:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409159:	81 ec c4 00 00 00    	sub    $0xc4,%esp
40915f:	53                   	push   %ebx
409160:	56                   	push   %esi
409161:	57                   	push   %edi
409162:	89 65 f4             	mov    %esp,-0xc(%ebp)
409165:	c7 45 f8 98 12 40 00 	movl   $0x401298,-0x8(%ebp)
40916c:	33 db                	xor    %ebx,%ebx
40916e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409171:	8b 45 08             	mov    0x8(%ebp),%eax
409174:	8b 08                	mov    (%eax),%ecx
409176:	50                   	push   %eax
409177:	ff 51 04             	call   *0x4(%ecx)
40917a:	8b 55 10             	mov    0x10(%ebp),%edx
40917d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
409180:	89 5d dc             	mov    %ebx,-0x24(%ebp)
409183:	89 5d d8             	mov    %ebx,-0x28(%ebp)
409186:	89 5d d0             	mov    %ebx,-0x30(%ebp)
409189:	89 5d cc             	mov    %ebx,-0x34(%ebp)
40918c:	89 5d bc             	mov    %ebx,-0x44(%ebp)
40918f:	89 5d b8             	mov    %ebx,-0x48(%ebp)
409192:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
409195:	89 5d b0             	mov    %ebx,-0x50(%ebp)
409198:	89 5d ac             	mov    %ebx,-0x54(%ebp)
40919b:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
40919e:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4091a1:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
4091a7:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
4091ad:	89 9d 48 ff ff ff    	mov    %ebx,-0xb8(%ebp)
4091b3:	ff 15 6c 11 40 00    	call   *0x40116c
4091b9:	68 c0 65 40 00       	push   $0x4065c0
4091be:	68 dc 65 40 00       	push   $0x4065dc
4091c3:	ff 15 4c 10 40 00    	call   *0x40104c
4091c9:	8d 4d b0             	lea    -0x50(%ebp),%ecx
4091cc:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4091cf:	8b 45 08             	mov    0x8(%ebp),%eax
4091d2:	8b 10                	mov    (%eax),%edx
4091d4:	51                   	push   %ecx
4091d5:	bf 08 00 00 00       	mov    $0x8,%edi
4091da:	50                   	push   %eax
4091db:	89 7d 9c             	mov    %edi,-0x64(%ebp)
4091de:	be ec 65 40 00       	mov    $0x4065ec,%esi
4091e3:	ff 92 18 02 00 00    	call   *0x218(%edx)
4091e9:	db e2                	fnclex
4091eb:	3b c3                	cmp    %ebx,%eax
4091ed:	7d 15                	jge    0x409204
4091ef:	8b 55 08             	mov    0x8(%ebp),%edx
4091f2:	68 18 02 00 00       	push   $0x218
4091f7:	68 ec 5e 40 00       	push   $0x405eec
4091fc:	52                   	push   %edx
4091fd:	50                   	push   %eax
4091fe:	ff 15 58 10 40 00    	call   *0x401058
409204:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
409207:	8b 55 a0             	mov    -0x60(%ebp),%edx
40920a:	83 ec 10             	sub    $0x10,%esp
40920d:	8b c4                	mov    %esp,%eax
40920f:	89 08                	mov    %ecx,(%eax)
409211:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
409214:	89 50 04             	mov    %edx,0x4(%eax)
409217:	8b 55 a8             	mov    -0x58(%ebp),%edx
40921a:	89 48 08             	mov    %ecx,0x8(%eax)
40921d:	8b 8d 70 ff ff ff    	mov    -0x90(%ebp),%ecx
409223:	89 50 0c             	mov    %edx,0xc(%eax)
409226:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx
40922c:	83 ec 10             	sub    $0x10,%esp
40922f:	8b c4                	mov    %esp,%eax
409231:	89 38                	mov    %edi,(%eax)
409233:	8b 3d a8 11 40 00    	mov    0x4011a8,%edi
409239:	89 48 04             	mov    %ecx,0x4(%eax)
40923c:	89 70 08             	mov    %esi,0x8(%eax)
40923f:	6a 02                	push   $0x2
409241:	89 50 0c             	mov    %edx,0xc(%eax)
409244:	8b 45 b0             	mov    -0x50(%ebp),%eax
409247:	68 fc 65 40 00       	push   $0x4065fc
40924c:	50                   	push   %eax
40924d:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
409250:	51                   	push   %ecx
409251:	ff d7                	call   *%edi
409253:	83 c4 30             	add    $0x30,%esp
409256:	50                   	push   %eax
409257:	ff 15 e4 10 40 00    	call   *0x4010e4
40925d:	50                   	push   %eax
40925e:	8d 55 d8             	lea    -0x28(%ebp),%edx
409261:	52                   	push   %edx
409262:	ff 15 90 10 40 00    	call   *0x401090
409268:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40926b:	ff 15 d0 11 40 00    	call   *0x4011d0
409271:	8d 45 8c             	lea    -0x74(%ebp),%eax
409274:	50                   	push   %eax
409275:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
409278:	51                   	push   %ecx
409279:	6a 02                	push   $0x2
40927b:	ff 15 28 10 40 00    	call   *0x401028
409281:	8b 35 7c 10 40 00    	mov    0x40107c,%esi
409287:	b9 08 00 00 00       	mov    $0x8,%ecx
40928c:	51                   	push   %ecx
40928d:	8b d4                	mov    %esp,%edx
40928f:	89 0a                	mov    %ecx,(%edx)
409291:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
409297:	8b 4d 80             	mov    -0x80(%ebp),%ecx
40929a:	89 4a 04             	mov    %ecx,0x4(%edx)
40929d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4092a0:	b8 08 66 40 00       	mov    $0x406608,%eax
4092a5:	89 42 08             	mov    %eax,0x8(%edx)
4092a8:	89 45 84             	mov    %eax,-0x7c(%ebp)
4092ab:	8b 45 88             	mov    -0x78(%ebp),%eax
4092ae:	68 28 66 40 00       	push   $0x406628
4092b3:	51                   	push   %ecx
4092b4:	89 42 0c             	mov    %eax,0xc(%edx)
4092b7:	ff d6                	call   *%esi
4092b9:	83 ec 10             	sub    $0x10,%esp
4092bc:	8b d4                	mov    %esp,%edx
4092be:	b9 02 00 00 00       	mov    $0x2,%ecx
4092c3:	89 0a                	mov    %ecx,(%edx)
4092c5:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
4092cb:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4092ce:	89 4a 04             	mov    %ecx,0x4(%edx)
4092d1:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4092d4:	b8 ba 58 00 00       	mov    $0x58ba,%eax
4092d9:	89 42 08             	mov    %eax,0x8(%edx)
4092dc:	89 45 84             	mov    %eax,-0x7c(%ebp)
4092df:	8b 45 88             	mov    -0x78(%ebp),%eax
4092e2:	68 38 66 40 00       	push   $0x406638
4092e7:	51                   	push   %ecx
4092e8:	89 42 0c             	mov    %eax,0xc(%edx)
4092eb:	ff d6                	call   *%esi
4092ed:	83 ec 10             	sub    $0x10,%esp
4092f0:	b9 02 00 00 00       	mov    $0x2,%ecx
4092f5:	b8 55 0c 00 00       	mov    $0xc55,%eax
4092fa:	8b d4                	mov    %esp,%edx
4092fc:	89 45 84             	mov    %eax,-0x7c(%ebp)
4092ff:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
409305:	89 0a                	mov    %ecx,(%edx)
409307:	8b 4d 80             	mov    -0x80(%ebp),%ecx
40930a:	89 4a 04             	mov    %ecx,0x4(%edx)
40930d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
409310:	89 42 08             	mov    %eax,0x8(%edx)
409313:	8b 45 88             	mov    -0x78(%ebp),%eax
409316:	68 44 66 40 00       	push   $0x406644
40931b:	51                   	push   %ecx
40931c:	89 42 0c             	mov    %eax,0xc(%edx)
40931f:	ff d6                	call   *%esi
409321:	83 ec 10             	sub    $0x10,%esp
409324:	8b d4                	mov    %esp,%edx
409326:	b9 0b 00 00 00       	mov    $0xb,%ecx
40932b:	89 0a                	mov    %ecx,(%edx)
40932d:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
409333:	8b 4d 80             	mov    -0x80(%ebp),%ecx
409336:	83 c8 ff             	or     $0xffffffff,%eax
409339:	89 4a 04             	mov    %ecx,0x4(%edx)
40933c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40933f:	89 42 08             	mov    %eax,0x8(%edx)
409342:	89 45 84             	mov    %eax,-0x7c(%ebp)
409345:	8b 45 88             	mov    -0x78(%ebp),%eax
409348:	68 4c 66 40 00       	push   $0x40664c
40934d:	51                   	push   %ecx
40934e:	89 42 0c             	mov    %eax,0xc(%edx)
409351:	ff d6                	call   *%esi
409353:	8b 55 d8             	mov    -0x28(%ebp),%edx
409356:	53                   	push   %ebx
409357:	68 28 66 40 00       	push   $0x406628
40935c:	52                   	push   %edx
40935d:	8d 45 9c             	lea    -0x64(%ebp),%eax
409360:	50                   	push   %eax
409361:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
409364:	c7 85 7c ff ff ff 08 	movl   $0x8008,-0x84(%ebp)
40936b:	80 00 00
40936e:	ff d7                	call   *%edi
409370:	83 c4 10             	add    $0x10,%esp
409373:	50                   	push   %eax
409374:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
40937a:	51                   	push   %ecx
40937b:	ff 15 dc 10 40 00    	call   *0x4010dc
409381:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
409384:	66 8b d8             	mov    %ax,%bx
409387:	ff 15 1c 10 40 00    	call   *0x40101c
40938d:	66 85 db             	test   %bx,%bx
409390:	74 6a                	je     0x4093fc
409392:	83 ec 10             	sub    $0x10,%esp
409395:	8b dc                	mov    %esp,%ebx
409397:	b9 08 00 00 00       	mov    $0x8,%ecx
40939c:	89 0b                	mov    %ecx,(%ebx)
40939e:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
4093a4:	8b 4d 80             	mov    -0x80(%ebp),%ecx
4093a7:	89 4b 04             	mov    %ecx,0x4(%ebx)
4093aa:	b8 60 66 40 00       	mov    $0x406660,%eax
4093af:	89 43 08             	mov    %eax,0x8(%ebx)
4093b2:	89 45 84             	mov    %eax,-0x7c(%ebp)
4093b5:	8b 45 88             	mov    -0x78(%ebp),%eax
4093b8:	89 43 0c             	mov    %eax,0xc(%ebx)
4093bb:	83 ec 10             	sub    $0x10,%esp
4093be:	8b cc                	mov    %esp,%ecx
4093c0:	b8 03 00 00 00       	mov    $0x3,%eax
4093c5:	89 01                	mov    %eax,(%ecx)
4093c7:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
4093cd:	89 41 04             	mov    %eax,0x4(%ecx)
4093d0:	6a 02                	push   $0x2
4093d2:	ba e5 40 79 00       	mov    $0x7940e5,%edx
4093d7:	89 51 08             	mov    %edx,0x8(%ecx)
4093da:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
4093e0:	68 74 66 40 00       	push   $0x406674
4093e5:	8d 45 bc             	lea    -0x44(%ebp),%eax
4093e8:	50                   	push   %eax
4093e9:	89 51 0c             	mov    %edx,0xc(%ecx)
4093ec:	ff 15 e4 10 40 00    	call   *0x4010e4
4093f2:	50                   	push   %eax
4093f3:	ff 15 90 11 40 00    	call   *0x401190
4093f9:	83 c4 2c             	add    $0x2c,%esp
4093fc:	b9 04 00 02 80       	mov    $0x80020004,%ecx
409401:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
409404:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
409407:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
40940a:	51                   	push   %ecx
40940b:	8d 55 9c             	lea    -0x64(%ebp),%edx
40940e:	52                   	push   %edx
40940f:	68 00 00 f0 3f       	push   $0x3ff00000
409414:	6a 00                	push   $0x0
409416:	68 00 00 f0 3f       	push   $0x3ff00000
40941b:	6a 00                	push   $0x0
40941d:	68 00 00 f0 3f       	push   $0x3ff00000
409422:	6a 00                	push   $0x0