407c98:	0f 85 64 dd ff ff    	jne    0x405a02
407c9e:	8b 44 24 20          	mov    0x20(%esp),%eax
407ca2:	8d 53 ec             	lea    -0x14(%ebx),%edx
407ca5:	6a 00                	push   $0x0
407ca7:	40                   	inc    %eax
407ca8:	b9 d4 41 40 00       	mov    $0x4041d4,%ecx
407cad:	50                   	push   %eax
407cae:	e8 60 0d 00 00       	call   0x408a13
407cb3:	e9 4a dd ff ff       	jmp    0x405a02
407cb8:	03 c0                	add    %eax,%eax
407cba:	50                   	push   %eax
407cbb:	6a 00                	push   $0x0
407cbd:	ff 15 64 f0 40 00    	call   *0x40f064
407cc3:	89 44 24 44          	mov    %eax,0x44(%esp)
407cc7:	85 c0                	test   %eax,%eax
407cc9:	75 99                	jne    0x407c64
407ccb:	ff 15 40 f0 40 00    	call   *0x40f040
407cd1:	8b d0                	mov    %eax,%edx
407cd3:	b9 98 41 40 00       	mov    $0x404198,%ecx
407cd8:	e8 a3 0c 00 00       	call   0x408980
407cdd:	8b 74 24 14          	mov    0x14(%esp),%esi
407ce1:	8b d8                	mov    %eax,%ebx
407ce3:	e9 1a dd ff ff       	jmp    0x405a02
407ce8:	8d 54 24 30          	lea    0x30(%esp),%edx
407cec:	c7 44 24 30 d4 41 40 	movl   $0x4041d4,0x30(%esp)
407cf3:	00
407cf4:	b9 64 00 00 00       	mov    $0x64,%ecx
407cf9:	e8 b1 28 00 00       	call   0x40a5af
407cfe:	8d 54 24 44          	lea    0x44(%esp),%edx
407d02:	b9 24 00 00 00       	mov    $0x24,%ecx
407d07:	e8 a3 28 00 00       	call   0x40a5af
407d0c:	e9 f1 dc ff ff       	jmp    0x405a02
407d11:	8b 5c 24 10          	mov    0x10(%esp),%ebx
407d15:	68 f8 41 40 00       	push   $0x4041f8
407d1a:	ff 34 1f             	push   (%edi,%ebx,1)
407d1d:	ff 15 28 f1 40 00    	call   *0x40f128
407d23:	83 c4 08             	add    $0x8,%esp
407d26:	85 c0                	test   %eax,%eax
407d28:	0f 85 84 00 00 00    	jne    0x407db2
407d2e:	83 c6 02             	add    $0x2,%esi
407d31:	39 74 24 18          	cmp    %esi,0x18(%esp)
407d35:	73 14                	jae    0x407d4b
407d37:	33 d2                	xor    %edx,%edx
407d39:	8d 48 15             	lea    0x15(%eax),%ecx
407d3c:	e8 6e 28 00 00       	call   0x40a5af
407d41:	bb 67 06 00 00       	mov    $0x667,%ebx
407d46:	e9 45 06 00 00       	jmp    0x408390
407d4b:	6a 01                	push   $0x1
407d4d:	6a 00                	push   $0x0
407d4f:	ff 74 24 24          	push   0x24(%esp)
407d53:	ff 15 4c 00 41 00    	call   *0x41004c
407d59:	89 44 24 14          	mov    %eax,0x14(%esp)
407d5d:	85 c0                	test   %eax,%eax
407d5f:	75 1d                	jne    0x407d7e
407d61:	ff 15 40 f0 40 00    	call   *0x40f040
407d67:	8b d0                	mov    %eax,%edx
407d69:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
407d6e:	e8 0d 0c 00 00       	call   0x408980
407d73:	8b 74 24 14          	mov    0x14(%esp),%esi
407d77:	8b d8                	mov    %eax,%ebx
407d79:	e9 84 dc ff ff       	jmp    0x405a02
407d7e:	b8 f4 01 00 00       	mov    $0x1f4,%eax
407d83:	89 44 24 20          	mov    %eax,0x20(%esp)
407d87:	39 74 24 18          	cmp    %esi,0x18(%esp)
407d8b:	76 10                	jbe    0x407d9d
407d8d:	ff 34 b3             	push   (%ebx,%esi,4)
407d90:	ff 15 0c f1 40 00    	call   *0x40f10c
407d96:	83 c4 04             	add    $0x4,%esp
407d99:	89 44 24 20          	mov    %eax,0x20(%esp)
407d9d:	8b 74 24 14          	mov    0x14(%esp),%esi
407da1:	8b ce                	mov    %esi,%ecx
407da3:	8b 54 1f 04          	mov    0x4(%edi,%ebx,1),%edx
407da7:	50                   	push   %eax
407da8:	e8 1d 24 00 00       	call   0x40a1ca
407dad:	e9 5d ed ff ff       	jmp    0x406b0f
407db2:	68 10 42 40 00       	push   $0x404210
407db7:	ff 34 1f             	push   (%edi,%ebx,1)
407dba:	ff 15 28 f1 40 00    	call   *0x40f128
407dc0:	83 c4 08             	add    $0x8,%esp
407dc3:	85 c0                	test   %eax,%eax
407dc5:	75 6e                	jne    0x407e35
407dc7:	83 c6 02             	add    $0x2,%esi
407dca:	33 db                	xor    %ebx,%ebx
407dcc:	39 74 24 18          	cmp    %esi,0x18(%esp)
407dd0:	73 14                	jae    0x407de6
407dd2:	33 d2                	xor    %edx,%edx
407dd4:	8d 48 16             	lea    0x16(%eax),%ecx
407dd7:	e8 d3 27 00 00       	call   0x40a5af
407ddc:	bb 67 06 00 00       	mov    $0x667,%ebx
407de1:	e9 aa 05 00 00       	jmp    0x408390
407de6:	76 1c                	jbe    0x407e04
407de8:	8b 44 24 10          	mov    0x10(%esp),%eax
407dec:	68 20 42 40 00       	push   $0x404220
407df1:	ff 34 b0             	push   (%eax,%esi,4)
407df4:	ff 15 28 f1 40 00    	call   *0x40f128
407dfa:	83 c4 08             	add    $0x8,%esp
407dfd:	85 c0                	test   %eax,%eax
407dff:	75 03                	jne    0x407e04
407e01:	8d 58 01             	lea    0x1(%eax),%ebx
407e04:	6a 01                	push   $0x1
407e06:	6a 00                	push   $0x0
407e08:	ff 74 24 24          	push   0x24(%esp)
407e0c:	ff 15 4c 00 41 00    	call   *0x41004c
407e12:	8b f0                	mov    %eax,%esi
407e14:	85 f6                	test   %esi,%esi
407e16:	0f 84 d6 ee ff ff    	je     0x406cf2
407e1c:	8b 44 24 10          	mov    0x10(%esp),%eax
407e20:	8b ce                	mov    %esi,%ecx
407e22:	8b 54 24 1c          	mov    0x1c(%esp),%edx
407e26:	53                   	push   %ebx
407e27:	ff 74 07 04          	push   0x4(%edi,%eax,1)
407e2b:	e8 08 47 00 00       	call   0x40c538
407e30:	e9 da ec ff ff       	jmp    0x406b0f
407e35:	68 38 42 40 00       	push   $0x404238
407e3a:	ff 34 1f             	push   (%edi,%ebx,1)
407e3d:	ff 15 28 f1 40 00    	call   *0x40f128
407e43:	83 c4 08             	add    $0x8,%esp
407e46:	85 c0                	test   %eax,%eax
407e48:	75 57                	jne    0x407ea1
407e4a:	8d 46 03             	lea    0x3(%esi),%eax
407e4d:	39 44 24 18          	cmp    %eax,0x18(%esp)
407e51:	73 14                	jae    0x407e67
407e53:	33 d2                	xor    %edx,%edx
407e55:	8d 4a 17             	lea    0x17(%edx),%ecx
407e58:	e8 52 27 00 00       	call   0x40a5af
407e5d:	bb 67 06 00 00       	mov    $0x667,%ebx
407e62:	e9 29 05 00 00       	jmp    0x408390
407e67:	68 00 00 00 40       	push   $0x40000000
407e6c:	6a 00                	push   $0x0
407e6e:	ff 74 24 24          	push   0x24(%esp)
407e72:	ff 15 4c 00 41 00    	call   *0x41004c
407e78:	89 44 24 14          	mov    %eax,0x14(%esp)
407e7c:	85 c0                	test   %eax,%eax
407e7e:	0f 85 74 ec ff ff    	jne    0x406af8
407e84:	ff 15 40 f0 40 00    	call   *0x40f040
407e8a:	8b d0                	mov    %eax,%edx
407e8c:	b9 68 3c 40 00       	mov    $0x403c68,%ecx
407e91:	e8 ea 0a 00 00       	call   0x408980
407e96:	8b 74 24 14          	mov    0x14(%esp),%esi
407e9a:	8b d8                	mov    %eax,%ebx
407e9c:	e9 61 db ff ff       	jmp    0x405a02
407ea1:	68 44 42 40 00       	push   $0x404244
407ea6:	ff 34 1f             	push   (%edi,%ebx,1)
407ea9:	ff 15 28 f1 40 00    	call   *0x40f128
407eaf:	83 c4 08             	add    $0x8,%esp
407eb2:	85 c0                	test   %eax,%eax
407eb4:	75 4b                	jne    0x407f01
407eb6:	83 7c 24 18 03       	cmpl   $0x3,0x18(%esp)
407ebb:	75 2e                	jne    0x407eeb
407ebd:	83 fe 01             	cmp    $0x1,%esi
407ec0:	75 29                	jne    0x407eeb
407ec2:	56                   	push   %esi
407ec3:	50                   	push   %eax
407ec4:	ff 74 24 24          	push   0x24(%esp)
407ec8:	ff 15 4c 00 41 00    	call   *0x41004c
407ece:	8b f0                	mov    %eax,%esi
407ed0:	85 f6                	test   %esi,%esi
407ed2:	0f 84 1a ee ff ff    	je     0x406cf2
407ed8:	8b 7c 24 10          	mov    0x10(%esp),%edi
407edc:	8b 57 08             	mov    0x8(%edi),%edx
407edf:	e8 84 39 00 00       	call   0x40b868
407ee4:	8b d8                	mov    %eax,%ebx
407ee6:	e9 1b db ff ff       	jmp    0x405a06
407eeb:	33 d2                	xor    %edx,%edx
407eed:	b9 b2 00 00 00       	mov    $0xb2,%ecx
407ef2:	e8 b8 26 00 00       	call   0x40a5af
407ef7:	bb 67 06 00 00       	mov    $0x667,%ebx
407efc:	e9 8f 04 00 00       	jmp    0x408390
407f01:	80 3d c4 eb 40 00 01 	cmpb   $0x1,0x40ebc4
407f08:	0f 85 d3 e9 ff ff    	jne    0x4068e1
407f0e:	b9 6d 00 00 00       	mov    $0x6d,%ecx
407f13:	e9 c2 e9 ff ff       	jmp    0x4068da
407f18:	8b 74 24 18          	mov    0x18(%esp),%esi
407f1c:	47                   	inc    %edi
407f1d:	3b f7                	cmp    %edi,%esi
407f1f:	76 5d                	jbe    0x407f7e
407f21:	ff 34 bb             	push   (%ebx,%edi,4)
407f24:	ff 15 0c f1 40 00    	call   *0x40f10c
407f2a:	83 c4 04             	add    $0x4,%esp
407f2d:	89 44 24 4c          	mov    %eax,0x4c(%esp)
407f31:	eb 4b                	jmp    0x407f7e
407f33:	8b 74 24 18          	mov    0x18(%esp),%esi
407f37:	47                   	inc    %edi
407f38:	3b f7                	cmp    %edi,%esi
407f3a:	76 42                	jbe    0x407f7e
407f3c:	8b 34 bb             	mov    (%ebx,%edi,4),%esi
407f3f:	b9 58 3b 40 00       	mov    $0x403b58,%ecx
407f44:	8b c6                	mov    %esi,%eax
407f46:	66 8b 10             	mov    (%eax),%dx
407f49:	66 3b 11             	cmp    (%ecx),%dx
407f4c:	75 1e                	jne    0x407f6c
407f4e:	66 85 d2             	test   %dx,%dx
407f51:	74 15                	je     0x407f68
407f53:	66 8b 50 02          	mov    0x2(%eax),%dx
407f57:	66 3b 51 02          	cmp    0x2(%ecx),%dx
407f5b:	75 0f                	jne    0x407f6c
407f5d:	83 c0 04             	add    $0x4,%eax
407f60:	83 c1 04             	add    $0x4,%ecx
407f63:	66 85 d2             	test   %dx,%dx
407f66:	75 de                	jne    0x407f46
407f68:	33 c0                	xor    %eax,%eax
407f6a:	eb 05                	jmp    0x407f71
407f6c:	1b c0                	sbb    %eax,%eax
407f6e:	83 c8 01             	or     $0x1,%eax
407f71:	85 c0                	test   %eax,%eax
407f73:	75 12                	jne    0x407f87
407f75:	83 4c 24 28 0b       	orl    $0xb,0x28(%esp)
407f7a:	8b 74 24 18          	mov    0x18(%esp),%esi
407f7e:	8b 54 24 14          	mov    0x14(%esp),%edx
407f82:	e9 7c d8 ff ff       	jmp    0x405803
407f87:	b9 68 3b 40 00       	mov    $0x403b68,%ecx
407f8c:	8b c6                	mov    %esi,%eax
407f8e:	66 8b 10             	mov    (%eax),%dx
407f91:	66 3b 11             	cmp    (%ecx),%dx
407f94:	75 1e                	jne    0x407fb4
407f96:	66 85 d2             	test   %dx,%dx
407f99:	74 15                	je     0x407fb0
407f9b:	66 8b 50 02          	mov    0x2(%eax),%dx
407f9f:	66 3b 51 02          	cmp    0x2(%ecx),%dx
407fa3:	75 0f                	jne    0x407fb4
407fa5:	83 c0 04             	add    $0x4,%eax
407fa8:	83 c1 04             	add    $0x4,%ecx
407fab:	66 85 d2             	test   %dx,%dx
407fae:	75 de                	jne    0x407f8e
407fb0:	33 c0                	xor    %eax,%eax
407fb2:	eb 05                	jmp    0x407fb9
407fb4:	1b c0                	sbb    %eax,%eax
407fb6:	83 c8 01             	or     $0x1,%eax
407fb9:	85 c0                	test   %eax,%eax
407fbb:	75 07                	jne    0x407fc4
407fbd:	83 4c 24 28 30       	orl    $0x30,0x28(%esp)
407fc2:	eb b6                	jmp    0x407f7a
407fc4:	b9 78 3b 40 00       	mov    $0x403b78,%ecx
407fc9:	8b c6                	mov    %esi,%eax
407fcb:	66 8b 10             	mov    (%eax),%dx
407fce:	66 3b 11             	cmp    (%ecx),%dx
407fd1:	75 1e                	jne    0x407ff1
407fd3:	66 85 d2             	test   %dx,%dx
407fd6:	74 15                	je     0x407fed
407fd8:	66 8b 50 02          	mov    0x2(%eax),%dx
407fdc:	66 3b 51 02          	cmp    0x2(%ecx),%dx
407fe0:	75 0f                	jne    0x407ff1
407fe2:	83 c0 04             	add    $0x4,%eax
407fe5:	83 c1 04             	add    $0x4,%ecx
407fe8:	66 85 d2             	test   %dx,%dx
407feb:	75 de                	jne    0x407fcb
407fed:	33 c0                	xor    %eax,%eax
407fef:	eb 05                	jmp    0x407ff6
407ff1:	1b c0                	sbb    %eax,%eax
407ff3:	83 c8 01             	or     $0x1,%eax
407ff6:	85 c0                	test   %eax,%eax
407ff8:	75 0d                	jne    0x408007
407ffa:	81 4c 24 28 ff 03 00 	orl    $0x3ff,0x28(%esp)
408001:	00
408002:	e9 73 ff ff ff       	jmp    0x407f7a
408007:	b9 80 3b 40 00       	mov    $0x403b80,%ecx
40800c:	8b c6                	mov    %esi,%eax
40800e:	66 8b 10             	mov    (%eax),%dx
408011:	66 3b 11             	cmp    (%ecx),%dx
408014:	75 1e                	jne    0x408034
408016:	66 85 d2             	test   %dx,%dx
408019:	74 15                	je     0x408030
40801b:	66 8b 50 02          	mov    0x2(%eax),%dx
40801f:	66 3b 51 02          	cmp    0x2(%ecx),%dx
408023:	75 0f                	jne    0x408034
408025:	83 c0 04             	add    $0x4,%eax
408028:	83 c1 04             	add    $0x4,%ecx
40802b:	66 85 d2             	test   %dx,%dx
40802e:	75 de                	jne    0x40800e
408030:	33 c0                	xor    %eax,%eax
408032:	eb 05                	jmp    0x408039
408034:	1b c0                	sbb    %eax,%eax
408036:	83 c8 01             	or     $0x1,%eax
408039:	85 c0                	test   %eax,%eax
40803b:	75 0d                	jne    0x40804a
40803d:	81 4c 24 28 00 01 00 	orl    $0x100,0x28(%esp)
408044:	00
408045:	e9 30 ff ff ff       	jmp    0x407f7a
40804a:	b9 94 3b 40 00       	mov    $0x403b94,%ecx
40804f:	8b c6                	mov    %esi,%eax
408051:	66 8b 10             	mov    (%eax),%dx
408054:	66 3b 11             	cmp    (%ecx),%dx
408057:	75 1e                	jne    0x408077
408059:	66 85 d2             	test   %dx,%dx
40805c:	74 15                	je     0x408073
40805e:	66 8b 50 02          	mov    0x2(%eax),%dx
408062:	66 3b 51 02          	cmp    0x2(%ecx),%dx
408066:	75 0f                	jne    0x408077
408068:	83 c0 04             	add    $0x4,%eax
40806b:	83 c1 04             	add    $0x4,%ecx
40806e:	66 85 d2             	test   %dx,%dx
408071:	75 de                	jne    0x408051
408073:	33 c0                	xor    %eax,%eax
408075:	eb 05                	jmp    0x40807c
408077:	1b c0                	sbb    %eax,%eax
408079:	83 c8 01             	or     $0x1,%eax
40807c:	85 c0                	test   %eax,%eax
40807e:	75 0c                	jne    0x40808c
408080:	83 c8 ff             	or     $0xffffffff,%eax
408083:	89 44 24 28          	mov    %eax,0x28(%esp)
408087:	e9 ee fe ff ff       	jmp    0x407f7a
40808c:	b9 a0 3b 40 00       	mov    $0x403ba0,%ecx
408091:	8b c6                	mov    %esi,%eax
408093:	66 8b 10             	mov    (%eax),%dx
408096:	66 3b 11             	cmp    (%ecx),%dx
408099:	75 1e                	jne    0x4080b9
40809b:	66 85 d2             	test   %dx,%dx
40809e:	74 15                	je     0x4080b5
4080a0:	66 8b 50 02          	mov    0x2(%eax),%dx
4080a4:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4080a8:	75 0f                	jne    0x4080b9
4080aa:	83 c0 04             	add    $0x4,%eax
4080ad:	83 c1 04             	add    $0x4,%ecx
4080b0:	66 85 d2             	test   %dx,%dx
4080b3:	75 de                	jne    0x408093
4080b5:	33 c0                	xor    %eax,%eax
4080b7:	eb 05                	jmp    0x4080be
4080b9:	1b c0                	sbb    %eax,%eax
4080bb:	83 c8 01             	or     $0x1,%eax
4080be:	85 c0                	test   %eax,%eax
4080c0:	75 11                	jne    0x4080d3
4080c2:	89 44 24 28          	mov    %eax,0x28(%esp)
4080c6:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
4080cd:	00
4080ce:	e9 a7 fe ff ff       	jmp    0x407f7a
4080d3:	b9 ac 3b 40 00       	mov    $0x403bac,%ecx
4080d8:	8b c6                	mov    %esi,%eax
4080da:	66 8b 10             	mov    (%eax),%dx
4080dd:	66 3b 11             	cmp    (%ecx),%dx
4080e0:	75 1e                	jne    0x408100
4080e2:	66 85 d2             	test   %dx,%dx
4080e5:	74 15                	je     0x4080fc
4080e7:	66 8b 50 02          	mov    0x2(%eax),%dx
4080eb:	66 3b 51 02          	cmp    0x2(%ecx),%dx
4080ef:	75 0f                	jne    0x408100
4080f1:	83 c0 04             	add    $0x4,%eax
4080f4:	83 c1 04             	add    $0x4,%ecx
4080f7:	66 85 d2             	test   %dx,%dx
4080fa:	75 de                	jne    0x4080da
4080fc:	33 c0                	xor    %eax,%eax
4080fe:	eb 05                	jmp    0x408105
408100:	1b c0                	sbb    %eax,%eax
408102:	83 c8 01             	or     $0x1,%eax
408105:	85 c0                	test   %eax,%eax
408107:	75 0a                	jne    0x408113
408109:	83 4c 24 28 01       	orl    $0x1,0x28(%esp)
40810e:	e9 67 fe ff ff       	jmp    0x407f7a
408113:	b9 bc 3b 40 00       	mov    $0x403bbc,%ecx
408118:	8b c6                	mov    %esi,%eax
40811a:	66 8b 10             	mov    (%eax),%dx