409055:	5e                   	pop    %esi
409056:	e8 d5 73 00 00       	call   0x410430
40905b:	c9                   	leave
40905c:	c2 04 00             	ret    $0x4
40905f:	cc                   	int3
409060:	8b ff                	mov    %edi,%edi
409062:	55                   	push   %ebp
409063:	8b ec                	mov    %esp,%ebp
409065:	83 ec 4c             	sub    $0x4c,%esp
409068:	53                   	push   %ebx
409069:	56                   	push   %esi
40906a:	8b f1                	mov    %ecx,%esi
40906c:	33 db                	xor    %ebx,%ebx
40906e:	57                   	push   %edi
40906f:	8b 7e 18             	mov    0x18(%esi),%edi
409072:	8b 47 3c             	mov    0x3c(%edi),%eax
409075:	85 c0                	test   %eax,%eax
409077:	79 0a                	jns    0x409083
409079:	3b 47 44             	cmp    0x44(%edi),%eax
40907c:	75 05                	jne    0x409083
40907e:	83 c7 40             	add    $0x40,%edi
409081:	eb 02                	jmp    0x409085
409083:	8b fb                	mov    %ebx,%edi
409085:	e8 aa 5d 00 00       	call   0x40ee34
40908a:	e8 c2 fd ff ff       	call   0x408e51
40908f:	85 ff                	test   %edi,%edi
409091:	0f 84 dc 00 00 00    	je     0x409173
409097:	8b c8                	mov    %eax,%ecx
409099:	83 39 05             	cmpl   $0x5,(%ecx)
40909c:	0f 86 1f 01 00 00    	jbe    0x4091c1
4090a2:	68 00 20 00 00       	push   $0x2000
4090a7:	53                   	push   %ebx
4090a8:	e8 fa 94 ff ff       	call   0x4025a7
4090ad:	84 c0                	test   %al,%al
4090af:	0f 84 0c 01 00 00    	je     0x4091c1
4090b5:	8b 47 40             	mov    0x40(%edi),%eax
4090b8:	ba c6 1d 40 00       	mov    $0x401dc6,%edx
4090bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4090c0:	8b 47 3c             	mov    0x3c(%edi),%eax
4090c3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4090c6:	8b 47 38             	mov    0x38(%edi),%eax
4090c9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4090cc:	8b 47 34             	mov    0x34(%edi),%eax
4090cf:	89 45 f0             	mov    %eax,-0x10(%ebp)
4090d2:	8b 47 30             	mov    0x30(%edi),%eax
4090d5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4090d8:	8b 47 2c             	mov    0x2c(%edi),%eax
4090db:	89 45 e8             	mov    %eax,-0x18(%ebp)
4090de:	8b 47 28             	mov    0x28(%edi),%eax
4090e1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4090e4:	8b 47 10             	mov    0x10(%edi),%eax
4090e7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4090ea:	8b 47 0c             	mov    0xc(%edi),%eax
4090ed:	89 45 dc             	mov    %eax,-0x24(%ebp)
4090f0:	8b 07                	mov    (%edi),%eax
4090f2:	89 45 d8             	mov    %eax,-0x28(%ebp)
4090f5:	8b 47 44             	mov    0x44(%edi),%eax
4090f8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4090fb:	8b 47 20             	mov    0x20(%edi),%eax
4090fe:	89 45 d0             	mov    %eax,-0x30(%ebp)
409101:	8b 47 1c             	mov    0x1c(%edi),%eax
409104:	89 45 cc             	mov    %eax,-0x34(%ebp)
409107:	8b 47 04             	mov    0x4(%edi),%eax
40910a:	89 45 c8             	mov    %eax,-0x38(%ebp)
40910d:	8d 45 b8             	lea    -0x48(%ebp),%eax
409110:	89 45 c4             	mov    %eax,-0x3c(%ebp)
409113:	8d 45 fc             	lea    -0x4(%ebp),%eax
409116:	50                   	push   %eax
409117:	8d 45 f8             	lea    -0x8(%ebp),%eax
40911a:	c7 45 b8 00 00 00 01 	movl   $0x1000000,-0x48(%ebp)
409121:	50                   	push   %eax
409122:	8d 45 f4             	lea    -0xc(%ebp),%eax
409125:	89 5d bc             	mov    %ebx,-0x44(%ebp)
409128:	50                   	push   %eax
409129:	8d 45 f0             	lea    -0x10(%ebp),%eax
40912c:	c7 45 c0 a8 19 40 00 	movl   $0x4019a8,-0x40(%ebp)
409133:	50                   	push   %eax
409134:	8d 45 ec             	lea    -0x14(%ebp),%eax
409137:	50                   	push   %eax
409138:	8d 45 e8             	lea    -0x18(%ebp),%eax
40913b:	50                   	push   %eax
40913c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40913f:	50                   	push   %eax
409140:	8d 45 e0             	lea    -0x20(%ebp),%eax
409143:	50                   	push   %eax
409144:	8d 45 dc             	lea    -0x24(%ebp),%eax
409147:	50                   	push   %eax
409148:	8d 45 d8             	lea    -0x28(%ebp),%eax
40914b:	50                   	push   %eax
40914c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40914f:	50                   	push   %eax
409150:	8d 45 d0             	lea    -0x30(%ebp),%eax
409153:	50                   	push   %eax
409154:	8d 45 cc             	lea    -0x34(%ebp),%eax
409157:	50                   	push   %eax
409158:	8d 45 c8             	lea    -0x38(%ebp),%eax
40915b:	50                   	push   %eax
40915c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40915f:	50                   	push   %eax
409160:	8d 45 c0             	lea    -0x40(%ebp),%eax
409163:	50                   	push   %eax
409164:	8b 46 18             	mov    0x18(%esi),%eax
409167:	51                   	push   %ecx
409168:	83 c0 08             	add    $0x8,%eax
40916b:	50                   	push   %eax
40916c:	e8 22 98 ff ff       	call   0x402993
409171:	eb 4e                	jmp    0x4091c1
409173:	8b f8                	mov    %eax,%edi
409175:	83 3f 05             	cmpl   $0x5,(%edi)
409178:	76 47                	jbe    0x4091c1
40917a:	68 00 20 00 00       	push   $0x2000
40917f:	53                   	push   %ebx
409180:	8b cf                	mov    %edi,%ecx
409182:	e8 20 94 ff ff       	call   0x4025a7
409187:	84 c0                	test   %al,%al
409189:	74 36                	je     0x4091c1
40918b:	ff 15 50 31 43 00    	call   *0x433150
409191:	8b 56 18             	mov    0x18(%esi),%edx
409194:	c7 45 c8 a8 19 40 00 	movl   $0x4019a8,-0x38(%ebp)
40919b:	8b 4a 3c             	mov    0x3c(%edx),%ecx
40919e:	89 45 c0             	mov    %eax,-0x40(%ebp)
4091a1:	8d 45 c0             	lea    -0x40(%ebp),%eax
4091a4:	50                   	push   %eax
4091a5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4091a8:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
4091ab:	50                   	push   %eax
4091ac:	8d 45 c8             	lea    -0x38(%ebp),%eax
4091af:	50                   	push   %eax
4091b0:	51                   	push   %ecx
4091b1:	8d 42 08             	lea    0x8(%edx),%eax
4091b4:	8b cf                	mov    %edi,%ecx
4091b6:	50                   	push   %eax
4091b7:	ba 7c 1d 40 00       	mov    $0x401d7c,%edx
4091bc:	e8 a2 99 ff ff       	call   0x402b63
4091c1:	39 5e 10             	cmp    %ebx,0x10(%esi)
4091c4:	74 08                	je     0x4091ce
4091c6:	8d 4e 04             	lea    0x4(%esi),%ecx
4091c9:	e8 a9 f7 ff ff       	call   0x408977
4091ce:	5f                   	pop    %edi
4091cf:	5e                   	pop    %esi
4091d0:	5b                   	pop    %ebx
4091d1:	c9                   	leave
4091d2:	c3                   	ret
4091d3:	cc                   	int3
4091d4:	cc                   	int3
4091d5:	cc                   	int3
4091d6:	cc                   	int3
4091d7:	cc                   	int3
4091d8:	cc                   	int3
4091d9:	cc                   	int3
4091da:	cc                   	int3
4091db:	cc                   	int3
4091dc:	cc                   	int3
4091dd:	cc                   	int3
4091de:	cc                   	int3
4091df:	cc                   	int3
4091e0:	8b ff                	mov    %edi,%edi
4091e2:	55                   	push   %ebp
4091e3:	8b ec                	mov    %esp,%ebp
4091e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4091e8:	39 0d 40 13 41 00    	cmp    %ecx,0x411340
4091ee:	89 0d 40 13 41 00    	mov    %ecx,0x411340
4091f4:	0f 94 c0             	sete   %al
4091f7:	5d                   	pop    %ebp
4091f8:	c2 04 00             	ret    $0x4
4091fb:	8b ff                	mov    %edi,%edi
4091fd:	55                   	push   %ebp
4091fe:	8b ec                	mov    %esp,%ebp
409200:	83 e4 f8             	and    $0xfffffff8,%esp
409203:	51                   	push   %ecx
409204:	53                   	push   %ebx
409205:	56                   	push   %esi
409206:	8b f1                	mov    %ecx,%esi
409208:	33 db                	xor    %ebx,%ebx
40920a:	57                   	push   %edi
40920b:	8d be b8 00 00 00    	lea    0xb8(%esi),%edi
409211:	c7 06 4c 10 40 00    	movl   $0x40104c,(%esi)
409217:	39 1f                	cmp    %ebx,(%edi)
409219:	74 35                	je     0x409250
40921b:	8d 44 24 0c          	lea    0xc(%esp),%eax
40921f:	50                   	push   %eax
409220:	e8 20 61 00 00       	call   0x40f345
409225:	8b 07                	mov    (%edi),%eax
409227:	85 c0                	test   %eax,%eax
409229:	74 09                	je     0x409234
40922b:	83 38 01             	cmpl   $0x1,(%eax)
40922e:	75 04                	jne    0x409234
409230:	b3 01                	mov    $0x1,%bl
409232:	eb 07                	jmp    0x40923b
409234:	8b cf                	mov    %edi,%ecx
409236:	e8 83 60 00 00       	call   0x40f2be
40923b:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
409240:	74 0a                	je     0x40924c
409242:	ff 74 24 0c          	push   0xc(%esp)
409246:	ff 15 f8 30 43 00    	call   *0x4330f8
40924c:	84 db                	test   %bl,%bl
40924e:	74 2a                	je     0x40927a
409250:	8b 4e 18             	mov    0x18(%esi),%ecx
409253:	83 39 01             	cmpl   $0x1,(%ecx)
409256:	75 22                	jne    0x40927a
409258:	8b 41 44             	mov    0x44(%ecx),%eax
40925b:	89 44 24 0c          	mov    %eax,0xc(%esp)
40925f:	85 c0                	test   %eax,%eax
409261:	78 05                	js     0x409268
409263:	b8 3e 02 07 80       	mov    $0x8007023e,%eax
409268:	8d 54 24 0c          	lea    0xc(%esp),%edx
40926c:	52                   	push   %edx
40926d:	50                   	push   %eax
40926e:	e8 7b 60 00 00       	call   0x40f2ee
409273:	8b ce                	mov    %esi,%ecx
409275:	e8 e6 fd ff ff       	call   0x409060
40927a:	8b ce                	mov    %esi,%ecx
40927c:	e8 2f 01 00 00       	call   0x4093b0
409281:	5f                   	pop    %edi
409282:	5e                   	pop    %esi
409283:	5b                   	pop    %ebx
409284:	8b e5                	mov    %ebp,%esp
409286:	5d                   	pop    %ebp
409287:	c3                   	ret
409288:	8b ff                	mov    %edi,%edi
40928a:	55                   	push   %ebp
40928b:	8b ec                	mov    %esp,%ebp
40928d:	83 e4 f8             	and    $0xfffffff8,%esp
409290:	83 ec 4c             	sub    $0x4c,%esp
409293:	a1 64 10 41 00       	mov    0x411064,%eax
409298:	33 c4                	xor    %esp,%eax
40929a:	89 44 24 48          	mov    %eax,0x48(%esp)
40929e:	53                   	push   %ebx
40929f:	56                   	push   %esi
4092a0:	57                   	push   %edi
4092a1:	8d 44 24 0c          	lea    0xc(%esp),%eax
4092a5:	8b f1                	mov    %ecx,%esi
4092a7:	50                   	push   %eax
4092a8:	e8 98 60 00 00       	call   0x40f345
4092ad:	8b 5e 18             	mov    0x18(%esi),%ebx
4092b0:	e8 9c fb ff ff       	call   0x408e51
4092b5:	83 38 05             	cmpl   $0x5,(%eax)
4092b8:	76 20                	jbe    0x4092da
4092ba:	68 00 20 00 00       	push   $0x2000
4092bf:	6a 00                	push   $0x0
4092c1:	8b c8                	mov    %eax,%ecx
4092c3:	e8 df 92 ff ff       	call   0x4025a7
4092c8:	84 c0                	test   %al,%al
4092ca:	74 0e                	je     0x4092da
4092cc:	8d 43 08             	lea    0x8(%ebx),%eax
4092cf:	50                   	push   %eax
4092d0:	6a 03                	push   $0x3
4092d2:	ff 15 1c 30 43 00    	call   *0x43301c
4092d8:	eb 09                	jmp    0x4092e3
4092da:	33 c0                	xor    %eax,%eax
4092dc:	8d 7b 08             	lea    0x8(%ebx),%edi
4092df:	ab                   	stos   %eax,%es:(%edi)
4092e0:	ab                   	stos   %eax,%es:(%edi)
4092e1:	ab                   	stos   %eax,%es:(%edi)
4092e2:	ab                   	stos   %eax,%es:(%edi)
4092e3:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
4092e8:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
4092ee:	74 0a                	je     0x4092fa
4092f0:	ff 74 24 0c          	push   0xc(%esp)
4092f4:	ff 15 f8 30 43 00    	call   *0x4330f8
4092fa:	e8 52 fb ff ff       	call   0x408e51
4092ff:	8b f8                	mov    %eax,%edi
409301:	33 db                	xor    %ebx,%ebx
409303:	83 3f 05             	cmpl   $0x5,(%edi)
409306:	0f 86 85 00 00 00    	jbe    0x409391
40930c:	68 00 20 00 00       	push   $0x2000
409311:	53                   	push   %ebx
409312:	8b cf                	mov    %edi,%ecx
409314:	e8 8e 92 ff ff       	call   0x4025a7
409319:	84 c0                	test   %al,%al
40931b:	74 74                	je     0x409391
40931d:	ff 15 50 31 43 00    	call   *0x433150
409323:	8b 4e 18             	mov    0x18(%esi),%ecx
409326:	89 44 24 0c          	mov    %eax,0xc(%esp)
40932a:	38 59 04             	cmp    %bl,0x4(%ecx)
40932d:	74 16                	je     0x409345
40932f:	8d 41 18             	lea    0x18(%ecx),%eax
409332:	39 18                	cmp    %ebx,(%eax)
409334:	75 11                	jne    0x409347
409336:	39 58 04             	cmp    %ebx,0x4(%eax)
409339:	75 0c                	jne    0x409347
40933b:	39 58 08             	cmp    %ebx,0x8(%eax)
40933e:	75 07                	jne    0x409347
409340:	39 58 0c             	cmp    %ebx,0xc(%eax)
409343:	75 02                	jne    0x409347
409345:	8b c3                	mov    %ebx,%eax
409347:	83 64 24 4c 00       	andl   $0x0,0x4c(%esp)
40934c:	8d 54 24 0c          	lea    0xc(%esp),%edx
409350:	83 64 24 34 00       	andl   $0x0,0x34(%esp)
409355:	83 64 24 3c 00       	andl   $0x0,0x3c(%esp)
40935a:	6a 04                	push   $0x4
40935c:	89 54 24 44          	mov    %edx,0x44(%esp)
409360:	8d 54 24 14          	lea    0x14(%esp),%edx
409364:	89 5c 24 48          	mov    %ebx,0x48(%esp)
409368:	5b                   	pop    %ebx
409369:	52                   	push   %edx
40936a:	53                   	push   %ebx
40936b:	50                   	push   %eax
40936c:	8d 41 08             	lea    0x8(%ecx),%eax
40936f:	89 5c 24 54          	mov    %ebx,0x54(%esp)
409373:	50                   	push   %eax
409374:	68 3b 1d 40 00       	push   $0x401d3b
409379:	57                   	push   %edi
40937a:	c7 44 24 48 a8 19 40 	movl   $0x4019a8,0x48(%esp)
409381:	00
409382:	c7 44 24 50 08 00 00 	movl   $0x8,0x50(%esp)
409389:	00
40938a:	e8 8c 91 ff ff       	call   0x40251b
40938f:	33 db                	xor    %ebx,%ebx
409391:	39 5e 10             	cmp    %ebx,0x10(%esi)
409394:	75 08                	jne    0x40939e
409396:	8d 4e 04             	lea    0x4(%esi),%ecx
409399:	e8 7e f5 ff ff       	call   0x40891c
40939e:	8b 4c 24 54          	mov    0x54(%esp),%ecx
4093a2:	5f                   	pop    %edi
4093a3:	5e                   	pop    %esi
4093a4:	5b                   	pop    %ebx
4093a5:	33 cc                	xor    %esp,%ecx
4093a7:	e8 84 70 00 00       	call   0x410430
4093ac:	8b e5                	mov    %ebp,%esp
4093ae:	5d                   	pop    %ebp
4093af:	c3                   	ret
4093b0:	8b ff                	mov    %edi,%edi
4093b2:	56                   	push   %esi
4093b3:	8b f1                	mov    %ecx,%esi
4093b5:	8d 8e b8 00 00 00    	lea    0xb8(%esi),%ecx
4093bb:	e8 fe 5e 00 00       	call   0x40f2be
4093c0:	8d 4e 1c             	lea    0x1c(%esi),%ecx
4093c3:	e8 0f 00 00 00       	call   0x4093d7
4093c8:	8d 4e 04             	lea    0x4(%esi),%ecx
4093cb:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
4093cf:	5e                   	pop    %esi
4093d0:	0f 85 a1 f5 ff ff    	jne    0x408977
4093d6:	c3                   	ret
4093d7:	8b ff                	mov    %edi,%edi
4093d9:	56                   	push   %esi
4093da:	8b f1                	mov    %ecx,%esi
4093dc:	8d 8e 90 00 00 00    	lea    0x90(%esi),%ecx
4093e2:	e8 cb e7 ff ff       	call   0x407bb2
4093e7:	8d 4e 28             	lea    0x28(%esi),%ecx
4093ea:	e8 90 f7 ff ff       	call   0x408b7f
4093ef:	8b ce                	mov    %esi,%ecx
4093f1:	5e                   	pop    %esi
4093f2:	e9 14 5a 00 00       	jmp    0x40ee0b
4093f7:	8b ff                	mov    %edi,%edi
4093f9:	55                   	push   %ebp
4093fa:	8b ec                	mov    %esp,%ebp
4093fc:	81 ec dc 00 00 00    	sub    $0xdc,%esp
409402:	a1 64 10 41 00       	mov    0x411064,%eax
409407:	33 c5                	xor    %ebp,%eax