408f48:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408f4c:	74 17                	je     0x408f65
408f4e:	ff 70 14             	push   0x14(%eax)
408f51:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408f56:	ff 70 10             	push   0x10(%eax)
408f59:	6a 15                	push   $0x15
408f5b:	59                   	pop    %ecx
408f5c:	e8 4f e4 ff ff       	call   0x4073b0
408f61:	eb 02                	jmp    0x408f65
408f63:	8b f3                	mov    %ebx,%esi
408f65:	57                   	push   %edi
408f66:	ff 15 30 c2 42 00    	call   *0x42c230
408f6c:	8b c6                	mov    %esi,%eax
408f6e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
408f71:	5f                   	pop    %edi
408f72:	5e                   	pop    %esi
408f73:	33 cd                	xor    %ebp,%ecx
408f75:	5b                   	pop    %ebx
408f76:	e8 65 eb 01 00       	call   0x427ae0
408f7b:	c9                   	leave
408f7c:	c2 04 00             	ret    $0x4
408f7f:	8b ff                	mov    %edi,%edi
408f81:	55                   	push   %ebp
408f82:	8b ec                	mov    %esp,%ebp
408f84:	81 ec 80 05 00 00    	sub    $0x580,%esp
408f8a:	a1 74 b6 42 00       	mov    0x42b674,%eax
408f8f:	33 c5                	xor    %ebp,%eax
408f91:	89 45 f8             	mov    %eax,-0x8(%ebp)
408f94:	53                   	push   %ebx
408f95:	56                   	push   %esi
408f96:	57                   	push   %edi
408f97:	33 ff                	xor    %edi,%edi
408f99:	8b f1                	mov    %ecx,%esi
408f9b:	8b df                	mov    %edi,%ebx
408f9d:	a1 00 b0 42 00       	mov    0x42b000,%eax
408fa2:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408fa7:	74 19                	je     0x408fc2
408fa9:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
408fad:	74 13                	je     0x408fc2
408faf:	ff 70 14             	push   0x14(%eax)
408fb2:	ba e0 21 40 00       	mov    $0x4021e0,%edx
408fb7:	ff 70 10             	push   0x10(%eax)
408fba:	6a 16                	push   $0x16
408fbc:	59                   	pop    %ecx
408fbd:	e8 ee e3 ff ff       	call   0x4073b0
408fc2:	83 7d 08 03          	cmpl   $0x3,0x8(%ebp)
408fc6:	0f 85 c5 00 00 00    	jne    0x409091
408fcc:	8b 86 8c 01 00 00    	mov    0x18c(%esi),%eax
408fd2:	ff 70 0c             	push   0xc(%eax)
408fd5:	57                   	push   %edi
408fd6:	6a 40                	push   $0x40
408fd8:	ff 15 7c c2 42 00    	call   *0x42c27c
408fde:	8b d8                	mov    %eax,%ebx
408fe0:	85 db                	test   %ebx,%ebx
408fe2:	0f 84 97 00 00 00    	je     0x40907f
408fe8:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
408fee:	8d 95 54 fd ff ff    	lea    -0x2ac(%ebp),%edx
408ff4:	8b 49 28             	mov    0x28(%ecx),%ecx
408ff7:	e8 55 cb 00 00       	call   0x415b51
408ffc:	85 c0                	test   %eax,%eax
408ffe:	78 7f                	js     0x40907f
409000:	66 39 bd 58 fd ff ff 	cmp    %di,-0x2a8(%ebp)
409007:	74 76                	je     0x40907f
409009:	57                   	push   %edi
40900a:	ba 48 21 40 00       	mov    $0x402148,%edx
40900f:	8d 8d 58 fd ff ff    	lea    -0x2a8(%ebp),%ecx
409015:	e8 8e 37 00 00       	call   0x40c7a8
40901a:	85 c0                	test   %eax,%eax
40901c:	75 61                	jne    0x40907f
40901e:	57                   	push   %edi
40901f:	ba 5c 21 40 00       	mov    $0x40215c,%edx
409024:	8d 8d 58 fd ff ff    	lea    -0x2a8(%ebp),%ecx
40902a:	e8 79 37 00 00       	call   0x40c7a8
40902f:	85 c0                	test   %eax,%eax
409031:	75 4c                	jne    0x40907f
409033:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
409039:	8b c7                	mov    %edi,%eax
40903b:	8b 51 14             	mov    0x14(%ecx),%edx
40903e:	85 d2                	test   %edx,%edx
409040:	74 24                	je     0x409066
409042:	8b 49 28             	mov    0x28(%ecx),%ecx
409045:	8d 85 84 fa ff ff    	lea    -0x57c(%ebp),%eax
40904b:	50                   	push   %eax
40904c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40904f:	50                   	push   %eax
409050:	e8 88 8a 00 00       	call   0x411add
409055:	85 c0                	test   %eax,%eax
409057:	78 0b                	js     0x409064
409059:	8d 7d a4             	lea    -0x5c(%ebp),%edi
40905c:	8d 85 84 fa ff ff    	lea    -0x57c(%ebp),%eax
409062:	eb 02                	jmp    0x409066
409064:	8b c7                	mov    %edi,%eax
409066:	8d 8d 54 fd ff ff    	lea    -0x2ac(%ebp),%ecx
40906c:	8b d3                	mov    %ebx,%edx
40906e:	51                   	push   %ecx
40906f:	8b 8e 8c 01 00 00    	mov    0x18c(%esi),%ecx
409075:	50                   	push   %eax
409076:	57                   	push   %edi
409077:	8b 49 28             	mov    0x28(%ecx),%ecx
40907a:	e8 e8 cd 00 00       	call   0x415e67
40907f:	6a 10                	push   $0x10
409081:	8b ce                	mov    %esi,%ecx
409083:	e8 64 05 00 00       	call   0x4095ec
409088:	8b ce                	mov    %esi,%ecx
40908a:	e8 0d 05 00 00       	call   0x40959c
40908f:	eb 21                	jmp    0x4090b2
409091:	8b ce                	mov    %esi,%ecx
409093:	e8 3c 08 00 00       	call   0x4098d4
409098:	8b ce                	mov    %esi,%ecx
40909a:	85 c0                	test   %eax,%eax
40909c:	75 08                	jne    0x4090a6
40909e:	57                   	push   %edi
40909f:	e8 f3 06 00 00       	call   0x409797
4090a4:	eb 17                	jmp    0x4090bd
4090a6:	e8 b3 0d 00 00       	call   0x409e5e
4090ab:	8b ce                	mov    %esi,%ecx
4090ad:	e8 26 0d 00 00       	call   0x409dd8
4090b2:	85 db                	test   %ebx,%ebx
4090b4:	74 07                	je     0x4090bd
4090b6:	53                   	push   %ebx
4090b7:	ff 15 30 c2 42 00    	call   *0x42c230
4090bd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4090c0:	5f                   	pop    %edi
4090c1:	5e                   	pop    %esi
4090c2:	33 cd                	xor    %ebp,%ecx
4090c4:	5b                   	pop    %ebx
4090c5:	e8 16 ea 01 00       	call   0x427ae0
4090ca:	c9                   	leave
4090cb:	c2 04 00             	ret    $0x4
4090ce:	68 c0 08 00 00       	push   $0x8c0
4090d3:	b8 de 84 42 00       	mov    $0x4284de,%eax
4090d8:	e8 be ef 01 00       	call   0x42809b
4090dd:	8b f9                	mov    %ecx,%edi
4090df:	8b 75 08             	mov    0x8(%ebp),%esi
4090e2:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
4090e8:	33 db                	xor    %ebx,%ebx
4090ea:	89 b5 4c f7 ff ff    	mov    %esi,-0x8b4(%ebp)
4090f0:	68 94 08 00 00       	push   $0x894
4090f5:	53                   	push   %ebx
4090f6:	50                   	push   %eax
4090f7:	89 9d 48 f7 ff ff    	mov    %ebx,-0x8b8(%ebp)
4090fd:	c7 85 40 f7 ff ff 01 	movl   $0x1,-0x8c0(%ebp)
409104:	00 00 00
409107:	e8 a1 f2 01 00       	call   0x4283ad
40910c:	83 c4 0c             	add    $0xc,%esp
40910f:	89 9d 34 f7 ff ff    	mov    %ebx,-0x8cc(%ebp)
409115:	89 9d 3c f7 ff ff    	mov    %ebx,-0x8c4(%ebp)
40911b:	89 9d 38 f7 ff ff    	mov    %ebx,-0x8c8(%ebp)
409121:	89 5d fc             	mov    %ebx,-0x4(%ebp)
409124:	21 9d 44 f7 ff ff    	and    %ebx,-0x8bc(%ebp)
40912a:	89 9d 50 f7 ff ff    	mov    %ebx,-0x8b0(%ebp)
409130:	85 f6                	test   %esi,%esi
409132:	75 2f                	jne    0x409163
409134:	a1 00 b0 42 00       	mov    0x42b000,%eax
409139:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40913e:	74 19                	je     0x409159
409140:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409144:	74 13                	je     0x409159
409146:	ff 70 14             	push   0x14(%eax)
409149:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40914e:	ff 70 10             	push   0x10(%eax)
409151:	6a 17                	push   $0x17
409153:	59                   	pop    %ecx
409154:	e8 57 e2 ff ff       	call   0x4073b0
409159:	be 57 00 07 80       	mov    $0x80070057,%esi
40915e:	e9 22 04 00 00       	jmp    0x409585
409163:	83 bf 8c 01 00 00 00 	cmpl   $0x0,0x18c(%edi)
40916a:	75 2f                	jne    0x40919b
40916c:	a1 00 b0 42 00       	mov    0x42b000,%eax
409171:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409176:	74 19                	je     0x409191
409178:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40917c:	74 13                	je     0x409191
40917e:	ff 70 14             	push   0x14(%eax)
409181:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409186:	ff 70 10             	push   0x10(%eax)
409189:	6a 18                	push   $0x18
40918b:	59                   	pop    %ecx
40918c:	e8 1f e2 ff ff       	call   0x4073b0
409191:	be 03 80 1b 80       	mov    $0x801b8003,%esi
409196:	e9 ea 03 00 00       	jmp    0x409585
40919b:	8b cf                	mov    %edi,%ecx
40919d:	c7 06 04 00 00 00    	movl   $0x4,(%esi)
4091a3:	e8 4d 15 00 00       	call   0x40a6f5
4091a8:	8b f0                	mov    %eax,%esi
4091aa:	85 f6                	test   %esi,%esi
4091ac:	79 33                	jns    0x4091e1
4091ae:	a1 00 b0 42 00       	mov    0x42b000,%eax
4091b3:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4091b8:	0f 84 89 03 00 00    	je     0x409547
4091be:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4091c2:	0f 84 7f 03 00 00    	je     0x409547
4091c8:	56                   	push   %esi
4091c9:	ff 70 14             	push   0x14(%eax)
4091cc:	ba e0 21 40 00       	mov    $0x4021e0,%edx
4091d1:	ff 70 10             	push   0x10(%eax)
4091d4:	6a 19                	push   $0x19
4091d6:	59                   	pop    %ecx
4091d7:	e8 f2 e1 ff ff       	call   0x4073ce
4091dc:	e9 66 03 00 00       	jmp    0x409547
4091e1:	e8 f4 ac 00 00       	call   0x413eda
4091e6:	89 85 54 f7 ff ff    	mov    %eax,-0x8ac(%ebp)
4091ec:	85 c0                	test   %eax,%eax
4091ee:	74 0f                	je     0x4091ff
4091f0:	8b 8f 8c 01 00 00    	mov    0x18c(%edi),%ecx
4091f6:	ff 71 28             	push   0x28(%ecx)
4091f9:	ff 15 6c c4 42 00    	call   *0x42c46c
4091ff:	8d 85 40 f7 ff ff    	lea    -0x8c0(%ebp),%eax
409205:	8b cf                	mov    %edi,%ecx
409207:	50                   	push   %eax
409208:	8d 85 48 f7 ff ff    	lea    -0x8b8(%ebp),%eax
40920e:	50                   	push   %eax
40920f:	e8 8b 17 00 00       	call   0x40a99f
409214:	8d 8f 74 01 00 00    	lea    0x174(%edi),%ecx
40921a:	e8 6b 37 00 00       	call   0x40c98a
40921f:	85 c0                	test   %eax,%eax
409221:	74 07                	je     0x40922a
409223:	8b cf                	mov    %edi,%ecx
409225:	e8 66 2b 00 00       	call   0x40bd90
40922a:	8b 9d 48 f7 ff ff    	mov    -0x8b8(%ebp),%ebx
409230:	8d 8d 34 f7 ff ff    	lea    -0x8cc(%ebp),%ecx
409236:	68 00 00 40 00       	push   $0x400000
40923b:	68 62 1b 00 00       	push   $0x1b62
409240:	83 cb 10             	or     $0x10,%ebx
409243:	e8 84 34 00 00       	call   0x40c6cc
409248:	be 00 b0 42 00       	mov    $0x42b000,%esi
40924d:	85 c0                	test   %eax,%eax
40924f:	79 24                	jns    0x409275
409251:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
409257:	3b d6                	cmp    %esi,%edx
409259:	74 20                	je     0x40927b
40925b:	f6 42 1c 01          	testb  $0x1,0x1c(%edx)
40925f:	74 1a                	je     0x40927b
409261:	50                   	push   %eax
409262:	ff 72 14             	push   0x14(%edx)
409265:	ff 72 10             	push   0x10(%edx)
409268:	ba e0 21 40 00       	mov    $0x4021e0,%edx
40926d:	6a 1a                	push   $0x1a
40926f:	59                   	pop    %ecx
409270:	e8 59 e1 ff ff       	call   0x4073ce
409275:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
40927b:	8b 87 8c 01 00 00    	mov    0x18c(%edi),%eax
409281:	8b cf                	mov    %edi,%ecx
409283:	c7 85 58 f7 ff ff 94 	movl   $0x894,-0x8a8(%ebp)
40928a:	08 00 00
40928d:	8b 40 28             	mov    0x28(%eax),%eax
409290:	89 85 5c f7 ff ff    	mov    %eax,-0x8a4(%ebp)
409296:	e8 ef 36 00 00       	call   0x40c98a
40929b:	85 c0                	test   %eax,%eax
40929d:	74 18                	je     0x4092b7
40929f:	ff 37                	push   (%edi)
4092a1:	ba 80 00 00 00       	mov    $0x80,%edx
4092a6:	8d 8d e0 f8 ff ff    	lea    -0x720(%ebp),%ecx
4092ac:	e8 84 f7 ff ff       	call   0x408a35
4092b1:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
4092b7:	8d 8f 5c 01 00 00    	lea    0x15c(%edi),%ecx
4092bd:	e8 c8 36 00 00       	call   0x40c98a
4092c2:	85 c0                	test   %eax,%eax
4092c4:	74 18                	je     0x4092de
4092c6:	ff 31                	push   (%ecx)
4092c8:	ba 04 01 00 00       	mov    $0x104,%edx
4092cd:	8d 8d e0 f9 ff ff    	lea    -0x620(%ebp),%ecx
4092d3:	e8 5d f7 ff ff       	call   0x408a35
4092d8:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
4092de:	83 bd 34 f7 ff ff 00 	cmpl   $0x0,-0x8cc(%ebp)
4092e5:	74 25                	je     0x40930c
4092e7:	83 bd 3c f7 ff ff 00 	cmpl   $0x0,-0x8c4(%ebp)
4092ee:	76 1c                	jbe    0x40930c
4092f0:	ff b5 34 f7 ff ff    	push   -0x8cc(%ebp)
4092f6:	ba 80 00 00 00       	mov    $0x80,%edx
4092fb:	8d 8d e0 f7 ff ff    	lea    -0x820(%ebp),%ecx
409301:	e8 2f f7 ff ff       	call   0x408a35
409306:	8b 15 00 b0 42 00    	mov    0x42b000,%edx
40930c:	8b 87 88 01 00 00    	mov    0x188(%edi),%eax
409312:	83 f8 01             	cmp    $0x1,%eax
409315:	0f 85 8a 00 00 00    	jne    0x4093a5
40931b:	8d 85 50 f7 ff ff    	lea    -0x8b0(%ebp),%eax
409321:	50                   	push   %eax
409322:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
409328:	50                   	push   %eax
409329:	6a 01                	push   $0x1
40932b:	ff 77 48             	push   0x48(%edi)
40932e:	ff 15 b0 c4 42 00    	call   *0x42c4b0
409334:	8b f0                	mov    %eax,%esi
409336:	85 f6                	test   %esi,%esi
409338:	79 33                	jns    0x40936d
40933a:	a1 00 b0 42 00       	mov    0x42b000,%eax
40933f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
409344:	0f 84 f7 01 00 00    	je     0x409541
40934a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40934e:	0f 84 ed 01 00 00    	je     0x409541
409354:	56                   	push   %esi
409355:	ff 70 14             	push   0x14(%eax)
409358:	ff 70 10             	push   0x10(%eax)
40935b:	6a 1b                	push   $0x1b
40935d:	ba e0 21 40 00       	mov    $0x4021e0,%edx
409362:	59                   	pop    %ecx
409363:	e8 66 e0 ff ff       	call   0x4073ce
409368:	e9 d4 01 00 00       	jmp    0x409541
40936d:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
409373:	8b cf                	mov    %edi,%ecx
409375:	e8 26 27 00 00       	call   0x40baa0
40937a:	8b f0                	mov    %eax,%esi
40937c:	85 f6                	test   %esi,%esi
40937e:	79 70                	jns    0x4093f0
409380:	a1 00 b0 42 00       	mov    0x42b000,%eax
409385:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40938a:	0f 84 b1 01 00 00    	je     0x409541
409390:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
409394:	0f 84 a7 01 00 00    	je     0x409541
40939a:	56                   	push   %esi
40939b:	ff 70 14             	push   0x14(%eax)
40939e:	ff 70 10             	push   0x10(%eax)
4093a1:	6a 1c                	push   $0x1c
4093a3:	eb b8                	jmp    0x40935d
4093a5:	85 c0                	test   %eax,%eax
4093a7:	0f 85 71 01 00 00    	jne    0x40951e
4093ad:	8d 85 50 f7 ff ff    	lea    -0x8b0(%ebp),%eax
4093b3:	8b cf                	mov    %edi,%ecx
4093b5:	50                   	push   %eax
4093b6:	8d 85 58 f7 ff ff    	lea    -0x8a8(%ebp),%eax
4093bc:	50                   	push   %eax
4093bd:	e8 2d 18 00 00       	call   0x40abef
4093c2:	8b f0                	mov    %eax,%esi
4093c4:	85 f6                	test   %esi,%esi
4093c6:	79 28                	jns    0x4093f0
4093c8:	a1 00 b0 42 00       	mov    0x42b000,%eax
4093cd:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4093d2:	0f 84 69 01 00 00    	je     0x409541
4093d8:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4093dc:	0f 84 5f 01 00 00    	je     0x409541
4093e2:	56                   	push   %esi
4093e3:	ff 70 14             	push   0x14(%eax)
4093e6:	ff 70 10             	push   0x10(%eax)
4093e9:	6a 1d                	push   $0x1d
4093eb:	e9 6d ff ff ff       	jmp    0x40935d
4093f0:	8d 85 44 f7 ff ff    	lea    -0x8bc(%ebp),%eax
4093f6:	50                   	push   %eax
4093f7:	ff b5 50 f7 ff ff    	push   -0x8b0(%ebp)
4093fd:	ff 15 a4 c4 42 00    	call   *0x42c4a4
409403:	85 c0                	test   %eax,%eax
409405:	79 2a                	jns    0x409431
409407:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40940d:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
409413:	74 22                	je     0x409437
409415:	f6 41 1c 01          	testb  $0x1,0x1c(%ecx)
409419:	74 1c                	je     0x409437
40941b:	50                   	push   %eax
40941c:	ff 71 14             	push   0x14(%ecx)
40941f:	ba e0 21 40 00       	mov    $0x4021e0,%edx