40e98d:	eb 3b                	jmp    0x40e9ca
40e98f:	6a 02                	push   $0x2
40e991:	56                   	push   %esi
40e992:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e995:	6a 10                	push   $0x10
40e997:	50                   	push   %eax
40e998:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40e99e:	6a ff                	push   $0xffffffff
40e9a0:	68 58 3e 40 00       	push   $0x403e58
40e9a5:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9a8:	6a 10                	push   $0x10
40e9aa:	50                   	push   %eax
40e9ab:	ff 15 68 b3 41 00    	call   *0x41b368
40e9b1:	6a ff                	push   $0xffffffff
40e9b3:	8d 46 04             	lea    0x4(%esi),%eax
40e9b6:	50                   	push   %eax
40e9b7:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9ba:	6a 10                	push   $0x10
40e9bc:	50                   	push   %eax
40e9bd:	ff 15 68 b3 41 00    	call   *0x41b368
40e9c3:	83 c4 30             	add    $0x30,%esp
40e9c6:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9c9:	50                   	push   %eax
40e9ca:	57                   	push   %edi
40e9cb:	ff 15 50 b2 41 00    	call   *0x41b250
40e9d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e9d4:	5f                   	pop    %edi
40e9d5:	33 cd                	xor    %ebp,%ecx
40e9d7:	5e                   	pop    %esi
40e9d8:	e8 03 4f 00 00       	call   0x4138e0
40e9dd:	c9                   	leave
40e9de:	c3                   	ret
40e9df:	8b ff                	mov    %edi,%edi
40e9e1:	55                   	push   %ebp
40e9e2:	8b ec                	mov    %esp,%ebp
40e9e4:	83 ec 24             	sub    $0x24,%esp
40e9e7:	a1 18 51 41 00       	mov    0x415118,%eax
40e9ec:	33 c5                	xor    %ebp,%eax
40e9ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e9f1:	56                   	push   %esi
40e9f2:	8b f2                	mov    %edx,%esi
40e9f4:	33 c0                	xor    %eax,%eax
40e9f6:	6a 10                	push   $0x10
40e9f8:	66 89 06             	mov    %ax,(%esi)
40e9fb:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9fe:	50                   	push   %eax
40e9ff:	51                   	push   %ecx
40ea00:	ff 15 e4 b1 41 00    	call   *0x41b1e4
40ea06:	b8 ff 00 00 00       	mov    $0xff,%eax
40ea0b:	66 39 45 dc          	cmp    %ax,-0x24(%ebp)
40ea0f:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ea12:	73 11                	jae    0x40ea25
40ea14:	6a ff                	push   $0xffffffff
40ea16:	50                   	push   %eax
40ea17:	6a 10                	push   $0x10
40ea19:	56                   	push   %esi
40ea1a:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40ea20:	83 c4 10             	add    $0x10,%esp
40ea23:	eb 1e                	jmp    0x40ea43
40ea25:	6a 02                	push   $0x2
40ea27:	50                   	push   %eax
40ea28:	6a 10                	push   $0x10
40ea2a:	56                   	push   %esi
40ea2b:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40ea31:	6a ff                	push   $0xffffffff
40ea33:	8d 45 e2             	lea    -0x1e(%ebp),%eax
40ea36:	50                   	push   %eax
40ea37:	6a 10                	push   $0x10
40ea39:	56                   	push   %esi
40ea3a:	ff 15 68 b3 41 00    	call   *0x41b368
40ea40:	83 c4 20             	add    $0x20,%esp
40ea43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ea46:	33 cd                	xor    %ebp,%ecx
40ea48:	5e                   	pop    %esi
40ea49:	e8 92 4e 00 00       	call   0x4138e0
40ea4e:	c9                   	leave
40ea4f:	c3                   	ret
40ea50:	33 c0                	xor    %eax,%eax
40ea52:	83 f9 14             	cmp    $0x14,%ecx
40ea55:	7f 1c                	jg     0x40ea73
40ea57:	74 24                	je     0x40ea7d
40ea59:	83 f9 08             	cmp    $0x8,%ecx
40ea5c:	7c 22                	jl     0x40ea80
40ea5e:	83 f9 09             	cmp    $0x9,%ecx
40ea61:	7e 1a                	jle    0x40ea7d
40ea63:	83 f9 0d             	cmp    $0xd,%ecx
40ea66:	74 15                	je     0x40ea7d
40ea68:	83 f9 0f             	cmp    $0xf,%ecx
40ea6b:	7e 13                	jle    0x40ea80
40ea6d:	83 f9 12             	cmp    $0x12,%ecx
40ea70:	7e 0b                	jle    0x40ea7d
40ea72:	c3                   	ret
40ea73:	83 f9 1b             	cmp    $0x1b,%ecx
40ea76:	74 05                	je     0x40ea7d
40ea78:	83 f9 20             	cmp    $0x20,%ecx
40ea7b:	75 03                	jne    0x40ea80
40ea7d:	33 c0                	xor    %eax,%eax
40ea7f:	40                   	inc    %eax
40ea80:	c3                   	ret
40ea81:	8b ff                	mov    %edi,%edi
40ea83:	56                   	push   %esi
40ea84:	51                   	push   %ecx
40ea85:	33 f6                	xor    %esi,%esi
40ea87:	ff 15 94 b2 41 00    	call   *0x41b294
40ea8d:	0f b6 c8             	movzbl %al,%ecx
40ea90:	39 35 0c 98 41 00    	cmp    %esi,0x41980c
40ea96:	74 2e                	je     0x40eac6
40ea98:	8d 41 d0             	lea    -0x30(%ecx),%eax
40ea9b:	83 f8 09             	cmp    $0x9,%eax
40ea9e:	76 23                	jbe    0x40eac3
40eaa0:	8d 41 bf             	lea    -0x41(%ecx),%eax
40eaa3:	83 f8 19             	cmp    $0x19,%eax
40eaa6:	76 1b                	jbe    0x40eac3
40eaa8:	81 f9 ba 00 00 00    	cmp    $0xba,%ecx
40eaae:	72 16                	jb     0x40eac6
40eab0:	81 f9 bf 00 00 00    	cmp    $0xbf,%ecx
40eab6:	76 0b                	jbe    0x40eac3
40eab8:	8d 81 25 ff ff ff    	lea    -0xdb(%ecx),%eax
40eabe:	83 f8 02             	cmp    $0x2,%eax
40eac1:	77 03                	ja     0x40eac6
40eac3:	33 f6                	xor    %esi,%esi
40eac5:	46                   	inc    %esi
40eac6:	8b c6                	mov    %esi,%eax
40eac8:	5e                   	pop    %esi
40eac9:	c3                   	ret
40eaca:	cc                   	int3
40eacb:	cc                   	int3
40eacc:	cc                   	int3
40eacd:	cc                   	int3
40eace:	cc                   	int3
40eacf:	cc                   	int3
40ead0:	8b ff                	mov    %edi,%edi
40ead2:	55                   	push   %ebp
40ead3:	8b ec                	mov    %esp,%ebp
40ead5:	83 ec 28             	sub    $0x28,%esp
40ead8:	a1 18 51 41 00       	mov    0x415118,%eax
40eadd:	33 c5                	xor    %ebp,%eax
40eadf:	89 45 fc             	mov    %eax,-0x4(%ebp)
40eae2:	53                   	push   %ebx
40eae3:	8b 5d 14             	mov    0x14(%ebp),%ebx
40eae6:	56                   	push   %esi
40eae7:	57                   	push   %edi
40eae8:	8b 7d 08             	mov    0x8(%ebp),%edi
40eaeb:	33 f6                	xor    %esi,%esi
40eaed:	6a eb                	push   $0xffffffeb
40eaef:	57                   	push   %edi
40eaf0:	ff 15 20 b2 41 00    	call   *0x41b220
40eaf6:	8b c8                	mov    %eax,%ecx
40eaf8:	b8 01 02 00 00       	mov    $0x201,%eax
40eafd:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40eb00:	39 45 0c             	cmp    %eax,0xc(%ebp)
40eb03:	0f 87 d2 00 00 00    	ja     0x40ebdb
40eb09:	0f 84 52 01 00 00    	je     0x40ec61
40eb0f:	8b 45 0c             	mov    0xc(%ebp),%eax
40eb12:	83 e8 07             	sub    $0x7,%eax
40eb15:	0f 84 86 01 00 00    	je     0x40eca1
40eb1b:	83 e8 7b             	sub    $0x7b,%eax
40eb1e:	0f 84 a0 00 00 00    	je     0x40ebc4
40eb24:	83 e8 05             	sub    $0x5,%eax
40eb27:	0f 84 8d 00 00 00    	je     0x40ebba
40eb2d:	2d 8a 00 00 00       	sub    $0x8a,%eax
40eb32:	74 10                	je     0x40eb44
40eb34:	2d ef 00 00 00       	sub    $0xef,%eax
40eb39:	0f 84 62 01 00 00    	je     0x40eca1
40eb3f:	e9 35 01 00 00       	jmp    0x40ec79
40eb44:	81 7d 10 ff 00 00 00 	cmpl   $0xff,0x10(%ebp)
40eb4b:	0f 85 28 01 00 00    	jne    0x40ec79
40eb51:	39 35 20 98 41 00    	cmp    %esi,0x419820
40eb57:	0f 84 1c 01 00 00    	je     0x40ec79
40eb5d:	8d 55 dc             	lea    -0x24(%ebp),%edx
40eb60:	8b cf                	mov    %edi,%ecx
40eb62:	e8 78 fe ff ff       	call   0x40e9df
40eb67:	8d 45 dc             	lea    -0x24(%ebp),%eax
40eb6a:	6a 10                	push   $0x10
40eb6c:	50                   	push   %eax
40eb6d:	ff 15 6c b3 41 00    	call   *0x41b36c
40eb73:	59                   	pop    %ecx
40eb74:	59                   	pop    %ecx
40eb75:	83 f8 10             	cmp    $0x10,%eax
40eb78:	74 21                	je     0x40eb9b
40eb7a:	50                   	push   %eax
40eb7b:	8d 45 dc             	lea    -0x24(%ebp),%eax
40eb7e:	50                   	push   %eax
40eb7f:	57                   	push   %edi
40eb80:	ff 15 94 b2 41 00    	call   *0x41b294
40eb86:	8b 35 20 98 41 00    	mov    0x419820,%esi
40eb8c:	8b ce                	mov    %esi,%ecx
40eb8e:	0f b6 c0             	movzbl %al,%eax
40eb91:	50                   	push   %eax
40eb92:	57                   	push   %edi
40eb93:	ff 15 90 b3 41 00    	call   *0x41b390
40eb99:	ff d6                	call   *%esi
40eb9b:	b8 00 30 00 00       	mov    $0x3000,%eax
40eba0:	c7 45 dc 00 30 00 30 	movl   $0x30003000,-0x24(%ebp)
40eba7:	8d 55 dc             	lea    -0x24(%ebp),%edx
40ebaa:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
40ebae:	8b cf                	mov    %edi,%ecx
40ebb0:	e8 b5 fd ff ff       	call   0x40e96a
40ebb5:	e9 bf 00 00 00       	jmp    0x40ec79
40ebba:	be 00 01 00 00       	mov    $0x100,%esi
40ebbf:	e9 dd 00 00 00       	jmp    0x40eca1
40ebc4:	85 c9                	test   %ecx,%ecx
40ebc6:	0f 84 c5 00 00 00    	je     0x40ec91
40ebcc:	51                   	push   %ecx
40ebcd:	6a fc                	push   $0xfffffffc
40ebcf:	57                   	push   %edi
40ebd0:	ff 15 24 b2 41 00    	call   *0x41b224
40ebd6:	e9 9e 00 00 00       	jmp    0x40ec79
40ebdb:	8b 45 0c             	mov    0xc(%ebp),%eax
40ebde:	2d 02 02 00 00       	sub    $0x202,%eax
40ebe3:	0f 84 85 00 00 00    	je     0x40ec6e
40ebe9:	83 e8 01             	sub    $0x1,%eax
40ebec:	74 73                	je     0x40ec61
40ebee:	48                   	dec    %eax
40ebef:	83 e8 01             	sub    $0x1,%eax
40ebf2:	74 38                	je     0x40ec2c
40ebf4:	2d fb 7d 00 00       	sub    $0x7dfb,%eax
40ebf9:	74 13                	je     0x40ec0e
40ebfb:	83 e8 01             	sub    $0x1,%eax
40ebfe:	75 79                	jne    0x40ec79
40ec00:	8b cf                	mov    %edi,%ecx
40ec02:	e8 7a fe ff ff       	call   0x40ea81
40ec07:	89 03                	mov    %eax,(%ebx)
40ec09:	e9 93 00 00 00       	jmp    0x40eca1
40ec0e:	8b cf                	mov    %edi,%ecx
40ec10:	e8 6c fe ff ff       	call   0x40ea81
40ec15:	85 c0                	test   %eax,%eax
40ec17:	74 60                	je     0x40ec79
40ec19:	85 db                	test   %ebx,%ebx
40ec1b:	0f 84 80 00 00 00    	je     0x40eca1
40ec21:	8b d3                	mov    %ebx,%edx
40ec23:	8b cf                	mov    %edi,%ecx
40ec25:	e8 40 fd ff ff       	call   0x40e96a
40ec2a:	eb 75                	jmp    0x40eca1
40ec2c:	39 35 24 98 41 00    	cmp    %esi,0x419824
40ec32:	74 45                	je     0x40ec79
40ec34:	8b cf                	mov    %edi,%ecx
40ec36:	e8 46 fe ff ff       	call   0x40ea81
40ec3b:	85 c0                	test   %eax,%eax
40ec3d:	74 3a                	je     0x40ec79
40ec3f:	53                   	push   %ebx
40ec40:	ff 75 10             	push   0x10(%ebp)
40ec43:	57                   	push   %edi
40ec44:	ff 15 94 b2 41 00    	call   *0x41b294
40ec4a:	8b 35 24 98 41 00    	mov    0x419824,%esi
40ec50:	8b ce                	mov    %esi,%ecx
40ec52:	0f b6 c0             	movzbl %al,%eax
40ec55:	50                   	push   %eax
40ec56:	57                   	push   %edi
40ec57:	ff 15 90 b3 41 00    	call   *0x41b390
40ec5d:	ff d6                	call   *%esi
40ec5f:	eb 18                	jmp    0x40ec79
40ec61:	57                   	push   %edi
40ec62:	ff 15 94 b2 41 00    	call   *0x41b294
40ec68:	3c 14                	cmp    $0x14,%al
40ec6a:	74 0d                	je     0x40ec79
40ec6c:	eb 33                	jmp    0x40eca1
40ec6e:	56                   	push   %esi
40ec6f:	57                   	push   %edi
40ec70:	6a 08                	push   $0x8
40ec72:	57                   	push   %edi
40ec73:	ff 15 98 b2 41 00    	call   *0x41b298
40ec79:	8b 45 d8             	mov    -0x28(%ebp),%eax
40ec7c:	85 c0                	test   %eax,%eax
40ec7e:	74 11                	je     0x40ec91
40ec80:	53                   	push   %ebx
40ec81:	ff 75 10             	push   0x10(%ebp)
40ec84:	ff 75 0c             	push   0xc(%ebp)
40ec87:	57                   	push   %edi
40ec88:	50                   	push   %eax
40ec89:	ff 15 9c b2 41 00    	call   *0x41b29c
40ec8f:	eb 0e                	jmp    0x40ec9f
40ec91:	53                   	push   %ebx
40ec92:	ff 75 10             	push   0x10(%ebp)
40ec95:	ff 75 0c             	push   0xc(%ebp)
40ec98:	57                   	push   %edi
40ec99:	ff 15 b4 b2 41 00    	call   *0x41b2b4
40ec9f:	8b f0                	mov    %eax,%esi
40eca1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40eca4:	8b c6                	mov    %esi,%eax
40eca6:	5f                   	pop    %edi
40eca7:	5e                   	pop    %esi
40eca8:	33 cd                	xor    %ebp,%ecx
40ecaa:	5b                   	pop    %ebx
40ecab:	e8 30 4c 00 00       	call   0x4138e0
40ecb0:	c9                   	leave
40ecb1:	c2 10 00             	ret    $0x10
40ecb4:	8b ff                	mov    %edi,%edi
40ecb6:	55                   	push   %ebp
40ecb7:	8b ec                	mov    %esp,%ebp
40ecb9:	81 ec f0 02 00 00    	sub    $0x2f0,%esp
40ecbf:	a1 18 51 41 00       	mov    0x415118,%eax
40ecc4:	33 c5                	xor    %ebp,%eax
40ecc6:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ecc9:	8b 55 08             	mov    0x8(%ebp),%edx
40eccc:	83 a5 34 fd ff ff 00 	andl   $0x0,-0x2cc(%ebp)
40ecd3:	53                   	push   %ebx
40ecd4:	8b 5d 10             	mov    0x10(%ebp),%ebx
40ecd7:	56                   	push   %esi
40ecd8:	57                   	push   %edi
40ecd9:	8b f9                	mov    %ecx,%edi
40ecdb:	89 95 14 fd ff ff    	mov    %edx,-0x2ec(%ebp)
40ece1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ece4:	33 f6                	xor    %esi,%esi
40ece6:	89 8d 2c fd ff ff    	mov    %ecx,-0x2d4(%ebp)
40ecec:	89 9d 10 fd ff ff    	mov    %ebx,-0x2f0(%ebp)
40ecf2:	8b 01                	mov    (%ecx),%eax
40ecf4:	83 c0 03             	add    $0x3,%eax
40ecf7:	89 85 18 fd ff ff    	mov    %eax,-0x2e8(%ebp)
40ecfd:	8b 41 04             	mov    0x4(%ecx),%eax
40ed00:	83 c0 03             	add    $0x3,%eax
40ed03:	89 85 1c fd ff ff    	mov    %eax,-0x2e4(%ebp)
40ed09:	8d 85 18 fd ff ff    	lea    -0x2e8(%ebp),%eax
40ed0f:	50                   	push   %eax
40ed10:	52                   	push   %edx
40ed11:	ff 15 b0 b2 41 00    	call   *0x41b2b0
40ed17:	8b 85 18 fd ff ff    	mov    -0x2e8(%ebp),%eax
40ed1d:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
40ed23:	89 85 30 fd ff ff    	mov    %eax,-0x2d0(%ebp)
40ed29:	8b 85 1c fd ff ff    	mov    -0x2e4(%ebp),%eax
40ed2f:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
40ed35:	e8 92 94 ff ff       	call   0x4081cc
40ed3a:	e8 36 10 00 00       	call   0x40fd75
40ed3f:	6b c0 f7             	imul   $0xfffffff7,%eax,%eax
40ed42:	6a 48                	push   $0x48
40ed44:	59                   	pop    %ecx
40ed45:	99                   	cltd
40ed46:	f7 f9                	idiv   %ecx
40ed48:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
40ed4e:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40ed54:	50                   	push   %eax
40ed55:	ff 15 84 b0 41 00    	call   *0x41b084
40ed5b:	6a 5c                	push   $0x5c
40ed5d:	89 87 44 01 00 00    	mov    %eax,0x144(%edi)
40ed63:	8d 45 94             	lea    -0x6c(%ebp),%eax
40ed66:	56                   	push   %esi
40ed67:	50                   	push   %eax
40ed68:	e8 f4 53 00 00       	call   0x414161
40ed6d:	83 c4 0c             	add    $0xc,%esp
40ed70:	e8 00 10 00 00       	call   0x40fd75
40ed75:	6b c0 f6             	imul   $0xfffffff6,%eax,%eax
40ed78:	6a 48                	push   $0x48
40ed7a:	59                   	pop    %ecx
40ed7b:	68 f4 01 00 00       	push   $0x1f4
40ed80:	56                   	push   %esi
40ed81:	99                   	cltd
40ed82:	f7 f9                	idiv   %ecx
40ed84:	c6 45 ab 00          	movb   $0x0,-0x55(%ebp)
40ed88:	89 45 94             	mov    %eax,-0x6c(%ebp)
40ed8b:	8d 85 40 fd ff ff    	lea    -0x2c0(%ebp),%eax