403e93:	0b d8                	or     %eax,%ebx
403e95:	83 c6 02             	add    $0x2,%esi
403e98:	0f b7 06             	movzwl (%esi),%eax
403e9b:	66 85 c0             	test   %ax,%ax
403e9e:	0f 85 dc fe ff ff    	jne    0x403d80
403ea4:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
403ea8:	0f 84 a0 00 00 00    	je     0x403f4e
403eae:	6a 20                	push   $0x20
403eb0:	5f                   	pop    %edi
403eb1:	eb 03                	jmp    0x403eb6
403eb3:	83 c6 02             	add    $0x2,%esi
403eb6:	66 39 3e             	cmp    %di,(%esi)
403eb9:	74 f8                	je     0x403eb3
403ebb:	6a 03                	push   $0x3
403ebd:	56                   	push   %esi
403ebe:	68 c4 f1 40 00       	push   $0x40f1c4
403ec3:	e8 b7 67 00 00       	call   0x40a67f
403ec8:	83 c4 0c             	add    $0xc,%esp
403ecb:	85 c0                	test   %eax,%eax
403ecd:	0f 85 88 00 00 00    	jne    0x403f5b
403ed3:	83 c6 06             	add    $0x6,%esi
403ed6:	eb 03                	jmp    0x403edb
403ed8:	83 c6 02             	add    $0x2,%esi
403edb:	66 39 3e             	cmp    %di,(%esi)
403ede:	74 f8                	je     0x403ed8
403ee0:	66 83 3e 3d          	cmpw   $0x3d,(%esi)
403ee4:	75 75                	jne    0x403f5b
403ee6:	83 c6 02             	add    $0x2,%esi
403ee9:	66 39 3e             	cmp    %di,(%esi)
403eec:	74 f8                	je     0x403ee6
403eee:	6a 05                	push   $0x5
403ef0:	68 cc f1 40 00       	push   $0x40f1cc
403ef5:	56                   	push   %esi
403ef6:	e8 56 e2 ff ff       	call   0x402151
403efb:	83 c4 0c             	add    $0xc,%esp
403efe:	85 c0                	test   %eax,%eax
403f00:	75 0b                	jne    0x403f0d
403f02:	83 c6 0a             	add    $0xa,%esi
403f05:	81 cb 00 00 04 00    	or     $0x40000,%ebx
403f0b:	eb 41                	jmp    0x403f4e
403f0d:	6a 08                	push   $0x8
403f0f:	68 d8 f1 40 00       	push   $0x40f1d8
403f14:	56                   	push   %esi
403f15:	e8 37 e2 ff ff       	call   0x402151
403f1a:	83 c4 0c             	add    $0xc,%esp
403f1d:	85 c0                	test   %eax,%eax
403f1f:	75 0b                	jne    0x403f2c
403f21:	83 c6 10             	add    $0x10,%esi
403f24:	81 cb 00 00 02 00    	or     $0x20000,%ebx
403f2a:	eb 22                	jmp    0x403f4e
403f2c:	6a 07                	push   $0x7
403f2e:	68 ec f1 40 00       	push   $0x40f1ec
403f33:	56                   	push   %esi
403f34:	e8 18 e2 ff ff       	call   0x402151
403f39:	83 c4 0c             	add    $0xc,%esp
403f3c:	85 c0                	test   %eax,%eax
403f3e:	75 1b                	jne    0x403f5b
403f40:	83 c6 0e             	add    $0xe,%esi
403f43:	81 cb 00 00 01 00    	or     $0x10000,%ebx
403f49:	eb 03                	jmp    0x403f4e
403f4b:	83 c6 02             	add    $0x2,%esi
403f4e:	66 83 3e 20          	cmpw   $0x20,(%esi)
403f52:	74 f7                	je     0x403f4b
403f54:	33 ff                	xor    %edi,%edi
403f56:	66 39 3e             	cmp    %di,(%esi)
403f59:	74 12                	je     0x403f6d
403f5b:	e8 c7 01 00 00       	call   0x404127
403f60:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
403f66:	e8 1c ed ff ff       	call   0x402c87
403f6b:	eb 1c                	jmp    0x403f89
403f6d:	68 80 01 00 00       	push   $0x180
403f72:	ff 75 10             	push   0x10(%ebp)
403f75:	8d 45 0c             	lea    0xc(%ebp),%eax
403f78:	53                   	push   %ebx
403f79:	ff 75 08             	push   0x8(%ebp)
403f7c:	50                   	push   %eax
403f7d:	e8 dd 66 00 00       	call   0x40a65f
403f82:	83 c4 14             	add    $0x14,%esp
403f85:	85 c0                	test   %eax,%eax
403f87:	74 04                	je     0x403f8d
403f89:	33 c0                	xor    %eax,%eax
403f8b:	eb 20                	jmp    0x403fad
403f8d:	8b 45 14             	mov    0x14(%ebp),%eax
403f90:	ff 05 e0 2e 41 00    	incl   0x412ee0
403f96:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403f99:	89 48 0c             	mov    %ecx,0xc(%eax)
403f9c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403f9f:	89 78 04             	mov    %edi,0x4(%eax)
403fa2:	89 38                	mov    %edi,(%eax)
403fa4:	89 78 08             	mov    %edi,0x8(%eax)
403fa7:	89 78 1c             	mov    %edi,0x1c(%eax)
403faa:	89 48 10             	mov    %ecx,0x10(%eax)
403fad:	5f                   	pop    %edi
403fae:	5e                   	pop    %esi
403faf:	5b                   	pop    %ebx
403fb0:	c9                   	leave
403fb1:	c3                   	ret
403fb2:	6a 10                	push   $0x10
403fb4:	68 d8 11 41 00       	push   $0x4111d8
403fb9:	e8 b2 01 00 00       	call   0x404170
403fbe:	33 db                	xor    %ebx,%ebx
403fc0:	33 ff                	xor    %edi,%edi
403fc2:	89 7d e4             	mov    %edi,-0x1c(%ebp)
403fc5:	6a 01                	push   $0x1
403fc7:	e8 cd 2d 00 00       	call   0x406d99
403fcc:	59                   	pop    %ecx
403fcd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403fd0:	33 f6                	xor    %esi,%esi
403fd2:	89 75 e0             	mov    %esi,-0x20(%ebp)
403fd5:	3b 35 60 57 41 00    	cmp    0x415760,%esi
403fdb:	0f 8d ca 00 00 00    	jge    0x4040ab
403fe1:	a1 44 47 41 00       	mov    0x414744,%eax
403fe6:	8d 04 b0             	lea    (%eax,%esi,4),%eax
403fe9:	39 18                	cmp    %ebx,(%eax)
403feb:	74 5b                	je     0x404048
403fed:	8b 00                	mov    (%eax),%eax
403fef:	8b 40 0c             	mov    0xc(%eax),%eax
403ff2:	a8 83                	test   $0x83,%al
403ff4:	75 48                	jne    0x40403e
403ff6:	a9 00 80 00 00       	test   $0x8000,%eax
403ffb:	75 41                	jne    0x40403e
403ffd:	8d 46 fd             	lea    -0x3(%esi),%eax
404000:	83 f8 10             	cmp    $0x10,%eax
404003:	77 12                	ja     0x404017
404005:	8d 46 10             	lea    0x10(%esi),%eax
404008:	50                   	push   %eax
404009:	e8 c9 2c 00 00       	call   0x406cd7
40400e:	59                   	pop    %ecx
40400f:	85 c0                	test   %eax,%eax
404011:	0f 84 94 00 00 00    	je     0x4040ab
404017:	a1 44 47 41 00       	mov    0x414744,%eax
40401c:	ff 34 b0             	push   (%eax,%esi,4)
40401f:	56                   	push   %esi
404020:	e8 76 e3 ff ff       	call   0x40239b
404025:	59                   	pop    %ecx
404026:	59                   	pop    %ecx
404027:	a1 44 47 41 00       	mov    0x414744,%eax
40402c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40402f:	f6 40 0c 83          	testb  $0x83,0xc(%eax)
404033:	74 0c                	je     0x404041
404035:	50                   	push   %eax
404036:	56                   	push   %esi
404037:	e8 cd e3 ff ff       	call   0x402409
40403c:	59                   	pop    %ecx
40403d:	59                   	pop    %ecx
40403e:	46                   	inc    %esi
40403f:	eb 91                	jmp    0x403fd2
404041:	8b f8                	mov    %eax,%edi
404043:	89 7d e4             	mov    %edi,-0x1c(%ebp)
404046:	eb 63                	jmp    0x4040ab
404048:	6a 38                	push   $0x38
40404a:	e8 70 28 00 00       	call   0x4068bf
40404f:	59                   	pop    %ecx
404050:	8b 0d 44 47 41 00    	mov    0x414744,%ecx
404056:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
404059:	3b c3                	cmp    %ebx,%eax
40405b:	74 4e                	je     0x4040ab
40405d:	68 a0 0f 00 00       	push   $0xfa0
404062:	a1 44 47 41 00       	mov    0x414744,%eax
404067:	8b 04 b0             	mov    (%eax,%esi,4),%eax
40406a:	83 c0 20             	add    $0x20,%eax
40406d:	50                   	push   %eax
40406e:	ff 15 9c f0 40 00    	call   *0x40f09c
404074:	85 c0                	test   %eax,%eax
404076:	a1 44 47 41 00       	mov    0x414744,%eax
40407b:	75 13                	jne    0x404090
40407d:	ff 34 b0             	push   (%eax,%esi,4)
404080:	e8 e6 de ff ff       	call   0x401f6b
404085:	59                   	pop    %ecx
404086:	a1 44 47 41 00       	mov    0x414744,%eax
40408b:	89 1c b0             	mov    %ebx,(%eax,%esi,4)
40408e:	eb 1b                	jmp    0x4040ab
404090:	8b 04 b0             	mov    (%eax,%esi,4),%eax
404093:	83 c0 20             	add    $0x20,%eax
404096:	50                   	push   %eax
404097:	ff 15 74 f0 40 00    	call   *0x40f074
40409d:	a1 44 47 41 00       	mov    0x414744,%eax
4040a2:	8b 3c b0             	mov    (%eax,%esi,4),%edi
4040a5:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4040a8:	89 5f 0c             	mov    %ebx,0xc(%edi)
4040ab:	3b fb                	cmp    %ebx,%edi
4040ad:	74 16                	je     0x4040c5
4040af:	81 67 0c 00 80 00 00 	andl   $0x8000,0xc(%edi)
4040b6:	89 5f 04             	mov    %ebx,0x4(%edi)
4040b9:	89 5f 08             	mov    %ebx,0x8(%edi)
4040bc:	89 1f                	mov    %ebx,(%edi)
4040be:	89 5f 1c             	mov    %ebx,0x1c(%edi)
4040c1:	83 4f 10 ff          	orl    $0xffffffff,0x10(%edi)
4040c5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4040cc:	e8 0b 00 00 00       	call   0x4040dc
4040d1:	8b c7                	mov    %edi,%eax
4040d3:	e8 dd 00 00 00       	call   0x4041b5
4040d8:	c3                   	ret
4040d9:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4040dc:	6a 01                	push   $0x1
4040de:	e8 dd 2b 00 00       	call   0x406cc0
4040e3:	59                   	pop    %ecx
4040e4:	c3                   	ret
4040e5:	8b ff                	mov    %edi,%edi
4040e7:	55                   	push   %ebp
4040e8:	8b ec                	mov    %esp,%ebp
4040ea:	8b 45 08             	mov    0x8(%ebp),%eax
4040ed:	33 c9                	xor    %ecx,%ecx
4040ef:	3b 04 cd 90 22 41 00 	cmp    0x412290(,%ecx,8),%eax
4040f6:	74 13                	je     0x40410b
4040f8:	41                   	inc    %ecx
4040f9:	83 f9 2d             	cmp    $0x2d,%ecx
4040fc:	72 f1                	jb     0x4040ef
4040fe:	8d 48 ed             	lea    -0x13(%eax),%ecx
404101:	83 f9 11             	cmp    $0x11,%ecx
404104:	77 0e                	ja     0x404114
404106:	6a 0d                	push   $0xd
404108:	58                   	pop    %eax
404109:	5d                   	pop    %ebp
40410a:	c3                   	ret
40410b:	8b 04 cd 94 22 41 00 	mov    0x412294(,%ecx,8),%eax
404112:	5d                   	pop    %ebp
404113:	c3                   	ret
404114:	05 44 ff ff ff       	add    $0xffffff44,%eax
404119:	6a 0e                	push   $0xe
40411b:	59                   	pop    %ecx
40411c:	3b c8                	cmp    %eax,%ecx
40411e:	1b c0                	sbb    %eax,%eax
404120:	23 c1                	and    %ecx,%eax
404122:	83 c0 08             	add    $0x8,%eax
404125:	5d                   	pop    %ebp
404126:	c3                   	ret
404127:	e8 41 1c 00 00       	call   0x405d6d
40412c:	85 c0                	test   %eax,%eax
40412e:	75 06                	jne    0x404136
404130:	b8 f8 23 41 00       	mov    $0x4123f8,%eax
404135:	c3                   	ret
404136:	83 c0 08             	add    $0x8,%eax
404139:	c3                   	ret
40413a:	e8 2e 1c 00 00       	call   0x405d6d
40413f:	85 c0                	test   %eax,%eax
404141:	75 06                	jne    0x404149
404143:	b8 fc 23 41 00       	mov    $0x4123fc,%eax
404148:	c3                   	ret
404149:	83 c0 0c             	add    $0xc,%eax
40414c:	c3                   	ret
40414d:	8b ff                	mov    %edi,%edi
40414f:	55                   	push   %ebp
404150:	8b ec                	mov    %esp,%ebp
404152:	56                   	push   %esi
404153:	e8 e2 ff ff ff       	call   0x40413a
404158:	8b 4d 08             	mov    0x8(%ebp),%ecx
40415b:	51                   	push   %ecx
40415c:	89 08                	mov    %ecx,(%eax)
40415e:	e8 82 ff ff ff       	call   0x4040e5
404163:	59                   	pop    %ecx
404164:	8b f0                	mov    %eax,%esi
404166:	e8 bc ff ff ff       	call   0x404127
40416b:	89 30                	mov    %esi,(%eax)
40416d:	5e                   	pop    %esi
40416e:	5d                   	pop    %ebp
40416f:	c3                   	ret
404170:	68 d0 41 40 00       	push   $0x4041d0
404175:	64 ff 35 00 00 00 00 	push   %fs:0x0
40417c:	8b 44 24 10          	mov    0x10(%esp),%eax
404180:	89 6c 24 10          	mov    %ebp,0x10(%esp)
404184:	8d 6c 24 10          	lea    0x10(%esp),%ebp
404188:	2b e0                	sub    %eax,%esp
40418a:	53                   	push   %ebx
40418b:	56                   	push   %esi
40418c:	57                   	push   %edi
40418d:	a1 84 22 41 00       	mov    0x412284,%eax
404192:	31 45 fc             	xor    %eax,-0x4(%ebp)
404195:	33 c5                	xor    %ebp,%eax
404197:	50                   	push   %eax
404198:	89 65 e8             	mov    %esp,-0x18(%ebp)
40419b:	ff 75 f8             	push   -0x8(%ebp)
40419e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4041a1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4041a8:	89 45 f8             	mov    %eax,-0x8(%ebp)
4041ab:	8d 45 f0             	lea    -0x10(%ebp),%eax
4041ae:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4041b4:	c3                   	ret
4041b5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4041b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4041bf:	59                   	pop    %ecx
4041c0:	5f                   	pop    %edi
4041c1:	5f                   	pop    %edi
4041c2:	5e                   	pop    %esi
4041c3:	5b                   	pop    %ebx
4041c4:	8b e5                	mov    %ebp,%esp
4041c6:	5d                   	pop    %ebp
4041c7:	51                   	push   %ecx
4041c8:	c3                   	ret
4041c9:	cc                   	int3
4041ca:	cc                   	int3
4041cb:	cc                   	int3
4041cc:	cc                   	int3
4041cd:	cc                   	int3
4041ce:	cc                   	int3
4041cf:	cc                   	int3
4041d0:	8b ff                	mov    %edi,%edi
4041d2:	55                   	push   %ebp
4041d3:	8b ec                	mov    %esp,%ebp
4041d5:	83 ec 18             	sub    $0x18,%esp
4041d8:	53                   	push   %ebx
4041d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4041dc:	56                   	push   %esi
4041dd:	8b 73 08             	mov    0x8(%ebx),%esi
4041e0:	33 35 84 22 41 00    	xor    0x412284,%esi
4041e6:	57                   	push   %edi
4041e7:	8b 06                	mov    (%esi),%eax
4041e9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4041ed:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4041f4:	8d 7b 10             	lea    0x10(%ebx),%edi
4041f7:	83 f8 fe             	cmp    $0xfffffffe,%eax
4041fa:	74 0d                	je     0x404209
4041fc:	8b 4e 04             	mov    0x4(%esi),%ecx
4041ff:	03 cf                	add    %edi,%ecx
404201:	33 0c 38             	xor    (%eax,%edi,1),%ecx
404204:	e8 9b db ff ff       	call   0x401da4
404209:	8b 4e 0c             	mov    0xc(%esi),%ecx
40420c:	8b 46 08             	mov    0x8(%esi),%eax
40420f:	03 cf                	add    %edi,%ecx
404211:	33 0c 38             	xor    (%eax,%edi,1),%ecx
404214:	e8 8b db ff ff       	call   0x401da4
404219:	8b 45 08             	mov    0x8(%ebp),%eax
40421c:	f6 40 04 66          	testb  $0x66,0x4(%eax)
404220:	0f 85 19 01 00 00    	jne    0x40433f
404226:	8b 4d 10             	mov    0x10(%ebp),%ecx
404229:	8d 55 e8             	lea    -0x18(%ebp),%edx
40422c:	89 53 fc             	mov    %edx,-0x4(%ebx)
40422f:	8b 5b 0c             	mov    0xc(%ebx),%ebx
404232:	89 45 e8             	mov    %eax,-0x18(%ebp)
404235:	89 4d ec             	mov    %ecx,-0x14(%ebp)
404238:	83 fb fe             	cmp    $0xfffffffe,%ebx
40423b:	74 5f                	je     0x40429c
40423d:	8d 49 00             	lea    0x0(%ecx),%ecx
404240:	8d 04 5b             	lea    (%ebx,%ebx,2),%eax
404243:	8b 4c 86 14          	mov    0x14(%esi,%eax,4),%ecx
404247:	8d 44 86 10          	lea    0x10(%esi,%eax,4),%eax
40424b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40424e:	8b 00                	mov    (%eax),%eax
404250:	89 45 f8             	mov    %eax,-0x8(%ebp)
404253:	85 c9                	test   %ecx,%ecx
404255:	74 14                	je     0x40426b
404257:	8b d7                	mov    %edi,%edx
404259:	e8 f4 01 00 00       	call   0x404452
40425e:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
404262:	85 c0                	test   %eax,%eax
404264:	78 40                	js     0x4042a6
404266:	7f 47                	jg     0x4042af
404268:	8b 45 f8             	mov    -0x8(%ebp),%eax
40426b:	8b d8                	mov    %eax,%ebx
40426d:	83 f8 fe             	cmp    $0xfffffffe,%eax