420f31:	89 45 d8             	mov    %eax,-0x28(%ebp)
420f34:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
420f38:	74 06                	je     0x420f40
420f3a:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
420f3e:	75 15                	jne    0x420f55
420f40:	e8 57 57 fe ff       	call   0x40669c
420f45:	85 c0                	test   %eax,%eax
420f47:	75 07                	jne    0x420f50
420f49:	e8 9a cc ff ff       	call   0x41dbe8
420f4e:	eb 05                	jmp    0x420f55
420f50:	e8 ab be fe ff       	call   0x40ce00
420f55:	33 c0                	xor    %eax,%eax
420f57:	55                   	push   %ebp
420f58:	68 7a 0f 42 00       	push   $0x420f7a
420f5d:	64 ff 30             	push   %fs:(%eax)
420f60:	64 89 20             	mov    %esp,%fs:(%eax)
420f63:	8b 55 ec             	mov    -0x14(%ebp),%edx
420f66:	8b ce                	mov    %esi,%ecx
420f68:	8b 45 f8             	mov    -0x8(%ebp),%eax
420f6b:	e8 64 4f ff ff       	call   0x415ed4
420f70:	33 c0                	xor    %eax,%eax
420f72:	5a                   	pop    %edx
420f73:	59                   	pop    %ecx
420f74:	59                   	pop    %ecx
420f75:	64 89 10             	mov    %edx,%fs:(%eax)
420f78:	eb 18                	jmp    0x420f92
420f7a:	e9 19 2d fe ff       	jmp    0x403c98
420f7f:	8b 45 d8             	mov    -0x28(%ebp),%eax
420f82:	50                   	push   %eax
420f83:	e8 f4 58 fe ff       	call   0x40687c
420f88:	e8 1f 30 fe ff       	call   0x403fac
420f8d:	e8 6e 30 fe ff       	call   0x404000
420f92:	33 c0                	xor    %eax,%eax
420f94:	5a                   	pop    %edx
420f95:	59                   	pop    %ecx
420f96:	59                   	pop    %ecx
420f97:	64 89 10             	mov    %edx,%fs:(%eax)
420f9a:	68 b2 0f 42 00       	push   $0x420fb2
420f9f:	8b 45 f4             	mov    -0xc(%ebp),%eax
420fa2:	50                   	push   %eax
420fa3:	6a 00                	push   $0x0
420fa5:	e8 ea 5d fe ff       	call   0x406d94
420faa:	c3                   	ret
420fab:	e9 9c 2f fe ff       	jmp    0x403f4c
420fb0:	eb ed                	jmp    0x420f9f
420fb2:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420fb5:	66 83 78 0e 08       	cmpw   $0x8,0xe(%eax)
420fba:	76 22                	jbe    0x420fde
420fbc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420fbf:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
420fc3:	76 19                	jbe    0x420fde
420fc5:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
420fc9:	75 13                	jne    0x420fde
420fcb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
420fce:	8b 48 20             	mov    0x20(%eax),%ecx
420fd1:	8b 55 e4             	mov    -0x1c(%ebp),%edx
420fd4:	33 c0                	xor    %eax,%eax
420fd6:	e8 1d d4 ff ff       	call   0x41e3f8
420fdb:	89 45 d0             	mov    %eax,-0x30(%ebp)
420fde:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
420fe4:	33 c9                	xor    %ecx,%ecx
420fe6:	ba 54 00 00 00       	mov    $0x54,%edx
420feb:	e8 2c 1f fe ff       	call   0x402f1c
420ff0:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
420ff6:	50                   	push   %eax
420ff7:	6a 54                	push   $0x54
420ff9:	8b 45 d8             	mov    -0x28(%ebp),%eax
420ffc:	50                   	push   %eax
420ffd:	e8 d2 58 fe ff       	call   0x4068d4
421002:	8b 45 c4             	mov    -0x3c(%ebp),%eax
421005:	8b 40 18             	mov    0x18(%eax),%eax
421008:	89 45 94             	mov    %eax,-0x6c(%ebp)
42100b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
42100e:	8b 40 1c             	mov    0x1c(%eax),%eax
421011:	89 45 98             	mov    %eax,-0x68(%ebp)
421014:	8b 45 c4             	mov    -0x3c(%ebp),%eax
421017:	8b 40 20             	mov    0x20(%eax),%eax
42101a:	89 45 9c             	mov    %eax,-0x64(%ebp)
42101d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
421020:	8b 40 24             	mov    0x24(%eax),%eax
421023:	89 45 a0             	mov    %eax,-0x60(%ebp)
421026:	33 c0                	xor    %eax,%eax
421028:	5a                   	pop    %edx
421029:	59                   	pop    %ecx
42102a:	59                   	pop    %ecx
42102b:	64 89 10             	mov    %edx,%fs:(%eax)
42102e:	eb 17                	jmp    0x421047
421030:	e9 63 2c fe ff       	jmp    0x403c98
421035:	8b 45 c8             	mov    -0x38(%ebp),%eax
421038:	e8 bf 27 fe ff       	call   0x4037fc
42103d:	e8 6a 2f fe ff       	call   0x403fac
421042:	e8 b9 2f fe ff       	call   0x404000
421047:	33 c0                	xor    %eax,%eax
421049:	5a                   	pop    %edx
42104a:	59                   	pop    %ecx
42104b:	59                   	pop    %ecx
42104c:	64 89 10             	mov    %edx,%fs:(%eax)
42104f:	68 64 10 42 00       	push   $0x421064
421054:	8b 45 e8             	mov    -0x18(%ebp),%eax
421057:	e8 0c 1a fe ff       	call   0x402a68
42105c:	c3                   	ret
42105d:	e9 ea 2e fe ff       	jmp    0x403f4c
421062:	eb f0                	jmp    0x421054
421064:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42106a:	50                   	push   %eax
42106b:	8a 45 df             	mov    -0x21(%ebp),%al
42106e:	50                   	push   %eax
42106f:	8b 45 c8             	mov    -0x38(%ebp),%eax
421072:	50                   	push   %eax
421073:	8b 4d d0             	mov    -0x30(%ebp),%ecx
421076:	8b 55 d8             	mov    -0x28(%ebp),%edx
421079:	8b 45 fc             	mov    -0x4(%ebp),%eax
42107c:	e8 97 f9 ff ff       	call   0x420a18
421081:	8b 45 fc             	mov    -0x4(%ebp),%eax
421084:	8b 10                	mov    (%eax),%edx
421086:	ff 52 24             	call   *0x24(%edx)
421089:	85 c0                	test   %eax,%eax
42108b:	0f 95 c0             	setne  %al
42108e:	8b 55 fc             	mov    -0x4(%ebp),%edx
421091:	88 42 22             	mov    %al,0x22(%edx)
421094:	8b 55 fc             	mov    -0x4(%ebp),%edx
421097:	8b 45 fc             	mov    -0x4(%ebp),%eax
42109a:	8b 08                	mov    (%eax),%ecx
42109c:	ff 51 10             	call   *0x10(%ecx)
42109f:	5f                   	pop    %edi
4210a0:	5e                   	pop    %esi
4210a1:	5b                   	pop    %ebx
4210a2:	8b e5                	mov    %ebp,%esp
4210a4:	5d                   	pop    %ebp
4210a5:	c2 04 00             	ret    $0x4
4210a8:	53                   	push   %ebx
4210a9:	56                   	push   %esi
4210aa:	57                   	push   %edi
4210ab:	83 c4 9c             	add    $0xffffff9c,%esp
4210ae:	8b f1                	mov    %ecx,%esi
4210b0:	8b fa                	mov    %edx,%edi
4210b2:	8b d8                	mov    %eax,%ebx
4210b4:	8b c3                	mov    %ebx,%eax
4210b6:	e8 ed f6 ff ff       	call   0x4207a8
4210bb:	85 f6                	test   %esi,%esi
4210bd:	75 26                	jne    0x4210e5
4210bf:	8d 44 24 0e          	lea    0xe(%esp),%eax
4210c3:	33 c9                	xor    %ecx,%ecx
4210c5:	ba 54 00 00 00       	mov    $0x54,%edx
4210ca:	e8 4d 1e fe ff       	call   0x402f1c
4210cf:	8d 44 24 0e          	lea    0xe(%esp),%eax
4210d3:	50                   	push   %eax
4210d4:	6a 00                	push   $0x0
4210d6:	6a 00                	push   $0x0
4210d8:	33 c9                	xor    %ecx,%ecx
4210da:	33 d2                	xor    %edx,%edx
4210dc:	8b c3                	mov    %ebx,%eax
4210de:	e8 35 f9 ff ff       	call   0x420a18
4210e3:	eb 2a                	jmp    0x42110f
4210e5:	8b d4                	mov    %esp,%edx
4210e7:	b9 0e 00 00 00       	mov    $0xe,%ecx
4210ec:	8b c7                	mov    %edi,%eax
4210ee:	e8 e1 4d ff ff       	call   0x415ed4
4210f3:	66 81 3c 24 42 4d    	cmpw   $0x4d42,(%esp)
4210f9:	74 05                	je     0x421100
4210fb:	e8 e8 ca ff ff       	call   0x41dbe8
421100:	54                   	push   %esp
421101:	8b ce                	mov    %esi,%ecx
421103:	83 e9 0e             	sub    $0xe,%ecx
421106:	8b d7                	mov    %edi,%edx
421108:	8b c3                	mov    %ebx,%eax
42110a:	e8 31 fa ff ff       	call   0x420b40
42110f:	83 c4 64             	add    $0x64,%esp
421112:	5f                   	pop    %edi
421113:	5e                   	pop    %esi
421114:	5b                   	pop    %ebx
421115:	c3                   	ret
421116:	8b c0                	mov    %eax,%eax
421118:	55                   	push   %ebp
421119:	8b ec                	mov    %esp,%ebp
42111b:	83 c4 a8             	add    $0xffffffa8,%esp
42111e:	53                   	push   %ebx
42111f:	56                   	push   %esi
421120:	57                   	push   %edi
421121:	8b fa                	mov    %edx,%edi
421123:	8b d8                	mov    %eax,%ebx
421125:	8b 73 28             	mov    0x28(%ebx),%esi
421128:	3b 7e 08             	cmp    0x8(%esi),%edi
42112b:	0f 84 a2 00 00 00    	je     0x4211d3
421131:	8b c3                	mov    %ebx,%eax
421133:	e8 70 f6 ff ff       	call   0x4207a8
421138:	8d 45 a8             	lea    -0x58(%ebp),%eax
42113b:	33 c9                	xor    %ecx,%ecx
42113d:	ba 54 00 00 00       	mov    $0x54,%edx
421142:	e8 d5 1d fe ff       	call   0x402f1c
421147:	85 ff                	test   %edi,%edi
421149:	74 0c                	je     0x421157
42114b:	8d 45 a8             	lea    -0x58(%ebp),%eax
42114e:	50                   	push   %eax
42114f:	6a 54                	push   $0x54
421151:	57                   	push   %edi
421152:	e8 7d 57 fe ff       	call   0x4068d4
421157:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
42115b:	75 0d                	jne    0x42116a
42115d:	8b 46 10             	mov    0x10(%esi),%eax
421160:	89 45 fc             	mov    %eax,-0x4(%ebp)
421163:	33 c0                	xor    %eax,%eax
421165:	89 46 10             	mov    %eax,0x10(%esi)
421168:	eb 1d                	jmp    0x421187
42116a:	8b 46 10             	mov    0x10(%esi),%eax
42116d:	3b 05 90 18 46 00    	cmp    0x461890,%eax
421173:	75 0a                	jne    0x42117f
421175:	a1 90 18 46 00       	mov    0x461890,%eax
42117a:	89 45 fc             	mov    %eax,-0x4(%ebp)
42117d:	eb 08                	jmp    0x421187
42117f:	e8 34 ec ff ff       	call   0x41fdb8
421184:	89 45 fc             	mov    %eax,-0x4(%ebp)
421187:	33 c0                	xor    %eax,%eax
421189:	55                   	push   %ebp
42118a:	68 b3 11 42 00       	push   $0x4211b3
42118f:	64 ff 30             	push   %fs:(%eax)
421192:	64 89 20             	mov    %esp,%fs:(%eax)
421195:	8d 45 a8             	lea    -0x58(%ebp),%eax
421198:	50                   	push   %eax
421199:	6a 00                	push   $0x0
42119b:	6a 00                	push   $0x0
42119d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4211a0:	8b d7                	mov    %edi,%edx
4211a2:	8b c3                	mov    %ebx,%eax
4211a4:	e8 6f f8 ff ff       	call   0x420a18
4211a9:	33 c0                	xor    %eax,%eax
4211ab:	5a                   	pop    %edx
4211ac:	59                   	pop    %ecx
4211ad:	59                   	pop    %ecx
4211ae:	64 89 10             	mov    %edx,%fs:(%eax)
4211b1:	eb 17                	jmp    0x4211ca
4211b3:	e9 e0 2a fe ff       	jmp    0x403c98
4211b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4211bb:	e8 44 ab ff ff       	call   0x41bd04
4211c0:	e8 e7 2d fe ff       	call   0x403fac
4211c5:	e8 36 2e fe ff       	call   0x404000
4211ca:	8b d3                	mov    %ebx,%edx
4211cc:	8b c3                	mov    %ebx,%eax
4211ce:	8b 08                	mov    (%eax),%ecx
4211d0:	ff 51 10             	call   *0x10(%ecx)
4211d3:	5f                   	pop    %edi
4211d4:	5e                   	pop    %esi
4211d5:	5b                   	pop    %ebx
4211d6:	8b e5                	mov    %ebp,%esp
4211d8:	5d                   	pop    %ebp
4211d9:	c3                   	ret
4211da:	8b c0                	mov    %eax,%eax
4211dc:	53                   	push   %ebx
4211dd:	56                   	push   %esi
4211de:	57                   	push   %edi
4211df:	55                   	push   %ebp
4211e0:	83 c4 ac             	add    $0xffffffac,%esp
4211e3:	8b da                	mov    %edx,%ebx
4211e5:	8b f0                	mov    %eax,%esi
4211e7:	8b c6                	mov    %esi,%eax
4211e9:	e8 76 f4 ff ff       	call   0x420664
4211ee:	3a d8                	cmp    %al,%bl
4211f0:	0f 84 16 01 00 00    	je     0x42130c
4211f6:	8b 7e 28             	mov    0x28(%esi),%edi
4211f9:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
4211fd:	75 21                	jne    0x421220
4211ff:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
421203:	75 1b                	jne    0x421220
421205:	80 fb 01             	cmp    $0x1,%bl
421208:	75 0a                	jne    0x421214
42120a:	33 c0                	xor    %eax,%eax
42120c:	89 47 30             	mov    %eax,0x30(%edi)
42120f:	e9 f8 00 00 00       	jmp    0x42130c
421214:	c7 47 30 28 00 00 00 	movl   $0x28,0x30(%edi)
42121b:	e9 ec 00 00 00       	jmp    0x42130c
421220:	84 db                	test   %bl,%bl
421222:	75 68                	jne    0x42128c
421224:	8b 47 14             	mov    0x14(%edi),%eax
421227:	85 c0                	test   %eax,%eax
421229:	74 09                	je     0x421234
42122b:	3b 47 08             	cmp    0x8(%edi),%eax
42122e:	0f 84 d8 00 00 00    	je     0x42130c
421234:	8b c6                	mov    %esi,%eax
421236:	e8 6d f5 ff ff       	call   0x4207a8
42123b:	8b c6                	mov    %esi,%eax
42123d:	e8 76 f6 ff ff       	call   0x4208b8
421242:	8b c6                	mov    %esi,%eax
421244:	e8 eb f4 ff ff       	call   0x420734
421249:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
42124d:	75 2a                	jne    0x421279
42124f:	8b 47 14             	mov    0x14(%edi),%eax
421252:	33 d2                	xor    %edx,%edx
421254:	89 57 14             	mov    %edx,0x14(%edi)
421257:	8b 6f 10             	mov    0x10(%edi),%ebp
42125a:	33 d2                	xor    %edx,%edx
42125c:	89 57 10             	mov    %edx,0x10(%edi)
42125f:	8d 57 18             	lea    0x18(%edi),%edx
421262:	52                   	push   %edx
421263:	8a 57 70             	mov    0x70(%edi),%dl
421266:	52                   	push   %edx
421267:	6a 00                	push   $0x0
421269:	8b cd                	mov    %ebp,%ecx
42126b:	8b d0                	mov    %eax,%edx
42126d:	8b c6                	mov    %esi,%eax
42126f:	e8 a4 f7 ff ff       	call   0x420a18
421274:	e9 8a 00 00 00       	jmp    0x421303
421279:	8d 47 18             	lea    0x18(%edi),%eax
42127c:	50                   	push   %eax
42127d:	8b 4f 10             	mov    0x10(%edi),%ecx
421280:	8b 57 14             	mov    0x14(%edi),%edx
421283:	8b c6                	mov    %esi,%eax
421285:	e8 3a ef ff ff       	call   0x4201c4
42128a:	eb 77                	jmp    0x421303
42128c:	8b 47 08             	mov    0x8(%edi),%eax
42128f:	85 c0                	test   %eax,%eax
421291:	74 05                	je     0x421298
421293:	3b 47 14             	cmp    0x14(%edi),%eax
421296:	75 74                	jne    0x42130c
421298:	8b c6                	mov    %esi,%eax
42129a:	e8 09 f5 ff ff       	call   0x4207a8
42129f:	8b c6                	mov    %esi,%eax
4212a1:	e8 12 f6 ff ff       	call   0x4208b8
4212a6:	56                   	push   %esi
4212a7:	57                   	push   %edi
4212a8:	8d 77 18             	lea    0x18(%edi),%esi
4212ab:	8d 7c 24 08          	lea    0x8(%esp),%edi
4212af:	b9 15 00 00 00       	mov    $0x15,%ecx
4212b4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4212b6:	5f                   	pop    %edi
4212b7:	5e                   	pop    %esi
4212b8:	33 c0                	xor    %eax,%eax
4212ba:	89 44 24 18          	mov    %eax,0x18(%esp)
4212be:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
4212c2:	0f 94 c3             	sete   %bl
4212c5:	84 db                	test   %bl,%bl
4212c7:	74 05                	je     0x4212ce
4212c9:	8b 6f 10             	mov    0x10(%edi),%ebp
4212cc:	eb 0a                	jmp    0x4212d8
4212ce:	8b 47 10             	mov    0x10(%edi),%eax
4212d1:	e8 e2 ea ff ff       	call   0x41fdb8
4212d6:	8b e8                	mov    %eax,%ebp
4212d8:	54                   	push   %esp
4212d9:	6a 00                	push   $0x0
4212db:	8b cd                	mov    %ebp,%ecx
4212dd:	8b 57 10             	mov    0x10(%edi),%edx
4212e0:	8b 47 14             	mov    0x14(%edi),%eax
4212e3:	e8 6c e4 ff ff       	call   0x41f754
4212e8:	84 db                	test   %bl,%bl
4212ea:	74 05                	je     0x4212f1
4212ec:	89 47 08             	mov    %eax,0x8(%edi)
4212ef:	eb 12                	jmp    0x421303
4212f1:	54                   	push   %esp
4212f2:	8a 57 70             	mov    0x70(%edi),%dl
4212f5:	52                   	push   %edx
4212f6:	6a 00                	push   $0x0