41de84:	e8 29 19 02 00       	call   0x43f7b2
41de89:	8b f0                	mov    %eax,%esi
41de8b:	85 f6                	test   %esi,%esi
41de8d:	79 0a                	jns    0x41de99
41de8f:	68 c8 7c 45 00       	push   $0x457cc8
41de94:	e9 7c ff ff ff       	jmp    0x41de15
41de99:	ff 75 28             	push   0x28(%ebp)
41de9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41de9f:	ff 75 24             	push   0x24(%ebp)
41dea2:	50                   	push   %eax
41dea3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41dea6:	50                   	push   %eax
41dea7:	e8 d1 18 02 00       	call   0x43f77d
41deac:	8b f0                	mov    %eax,%esi
41deae:	85 f6                	test   %esi,%esi
41deb0:	79 0a                	jns    0x41debc
41deb2:	68 0c 7d 45 00       	push   $0x457d0c
41deb7:	e9 59 ff ff ff       	jmp    0x41de15
41debc:	8d 45 f8             	lea    -0x8(%ebp),%eax
41debf:	50                   	push   %eax
41dec0:	8d 45 fc             	lea    -0x4(%ebp),%eax
41dec3:	50                   	push   %eax
41dec4:	57                   	push   %edi
41dec5:	ff 75 18             	push   0x18(%ebp)
41dec8:	e8 af 9f fe ff       	call   0x407e7c
41decd:	8b f0                	mov    %eax,%esi
41decf:	85 f6                	test   %esi,%esi
41ded1:	79 0a                	jns    0x41dedd
41ded3:	68 ac 7b 45 00       	push   $0x457bac
41ded8:	e9 38 ff ff ff       	jmp    0x41de15
41dedd:	8d 45 f4             	lea    -0xc(%ebp),%eax
41dee0:	50                   	push   %eax
41dee1:	57                   	push   %edi
41dee2:	57                   	push   %edi
41dee3:	ff 75 f8             	push   -0x8(%ebp)
41dee6:	ff 75 fc             	push   -0x4(%ebp)
41dee9:	6a 03                	push   $0x3
41deeb:	ff 75 08             	push   0x8(%ebp)
41deee:	e8 92 72 ff ff       	call   0x415185
41def3:	8b f0                	mov    %eax,%esi
41def5:	85 f6                	test   %esi,%esi
41def7:	79 0a                	jns    0x41df03
41def9:	68 c8 7b 45 00       	push   $0x457bc8
41defe:	e9 12 ff ff ff       	jmp    0x41de15
41df03:	8b 75 f4             	mov    -0xc(%ebp),%esi
41df06:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41df09:	74 08                	je     0x41df13
41df0b:	ff 75 fc             	push   -0x4(%ebp)
41df0e:	e8 86 5a fe ff       	call   0x403999
41df13:	5f                   	pop    %edi
41df14:	8b c6                	mov    %esi,%eax
41df16:	5e                   	pop    %esi
41df17:	8b e5                	mov    %ebp,%esp
41df19:	5d                   	pop    %ebp
41df1a:	c2 24 00             	ret    $0x24
41df1d:	55                   	push   %ebp
41df1e:	8b ec                	mov    %esp,%ebp
41df20:	83 ec 0c             	sub    $0xc,%esp
41df23:	56                   	push   %esi
41df24:	57                   	push   %edi
41df25:	ff 75 0c             	push   0xc(%ebp)
41df28:	8d 45 f8             	lea    -0x8(%ebp),%eax
41df2b:	33 ff                	xor    %edi,%edi
41df2d:	50                   	push   %eax
41df2e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41df31:	89 7d fc             	mov    %edi,-0x4(%ebp)
41df34:	50                   	push   %eax
41df35:	89 7d f8             	mov    %edi,-0x8(%ebp)
41df38:	89 7d f4             	mov    %edi,-0xc(%ebp)
41df3b:	e8 72 18 02 00       	call   0x43f7b2
41df40:	8b f0                	mov    %eax,%esi
41df42:	85 f6                	test   %esi,%esi
41df44:	79 0f                	jns    0x41df55
41df46:	68 40 7d 45 00       	push   $0x457d40
41df4b:	56                   	push   %esi
41df4c:	e8 de 21 02 00       	call   0x44012f
41df51:	59                   	pop    %ecx
41df52:	59                   	pop    %ecx
41df53:	eb 60                	jmp    0x41dfb5
41df55:	ff 75 10             	push   0x10(%ebp)
41df58:	8d 45 f8             	lea    -0x8(%ebp),%eax
41df5b:	50                   	push   %eax
41df5c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41df5f:	50                   	push   %eax
41df60:	e8 4d 18 02 00       	call   0x43f7b2
41df65:	8b f0                	mov    %eax,%esi
41df67:	85 f6                	test   %esi,%esi
41df69:	79 07                	jns    0x41df72
41df6b:	68 70 7d 45 00       	push   $0x457d70
41df70:	eb d9                	jmp    0x41df4b
41df72:	ff 75 14             	push   0x14(%ebp)
41df75:	8d 45 f8             	lea    -0x8(%ebp),%eax
41df78:	50                   	push   %eax
41df79:	8d 45 fc             	lea    -0x4(%ebp),%eax
41df7c:	50                   	push   %eax
41df7d:	e8 30 18 02 00       	call   0x43f7b2
41df82:	8b f0                	mov    %eax,%esi
41df84:	85 f6                	test   %esi,%esi
41df86:	79 07                	jns    0x41df8f
41df88:	68 c8 7c 45 00       	push   $0x457cc8
41df8d:	eb bc                	jmp    0x41df4b
41df8f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41df92:	50                   	push   %eax
41df93:	57                   	push   %edi
41df94:	57                   	push   %edi
41df95:	ff 75 f8             	push   -0x8(%ebp)
41df98:	ff 75 fc             	push   -0x4(%ebp)
41df9b:	6a 05                	push   $0x5
41df9d:	ff 75 08             	push   0x8(%ebp)
41dfa0:	e8 e0 71 ff ff       	call   0x415185
41dfa5:	8b f0                	mov    %eax,%esi
41dfa7:	85 f6                	test   %esi,%esi
41dfa9:	79 07                	jns    0x41dfb2
41dfab:	68 c8 7b 45 00       	push   $0x457bc8
41dfb0:	eb 99                	jmp    0x41df4b
41dfb2:	8b 75 f4             	mov    -0xc(%ebp),%esi
41dfb5:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41dfb8:	74 08                	je     0x41dfc2
41dfba:	ff 75 fc             	push   -0x4(%ebp)
41dfbd:	e8 d7 59 fe ff       	call   0x403999
41dfc2:	5f                   	pop    %edi
41dfc3:	8b c6                	mov    %esi,%eax
41dfc5:	5e                   	pop    %esi
41dfc6:	8b e5                	mov    %ebp,%esp
41dfc8:	5d                   	pop    %ebp
41dfc9:	c2 10 00             	ret    $0x10
41dfcc:	55                   	push   %ebp
41dfcd:	8b ec                	mov    %esp,%ebp
41dfcf:	83 ec 0c             	sub    $0xc,%esp
41dfd2:	56                   	push   %esi
41dfd3:	57                   	push   %edi
41dfd4:	ff 75 0c             	push   0xc(%ebp)
41dfd7:	8d 45 f8             	lea    -0x8(%ebp),%eax
41dfda:	33 ff                	xor    %edi,%edi
41dfdc:	50                   	push   %eax
41dfdd:	8d 45 fc             	lea    -0x4(%ebp),%eax
41dfe0:	89 7d fc             	mov    %edi,-0x4(%ebp)
41dfe3:	50                   	push   %eax
41dfe4:	89 7d f8             	mov    %edi,-0x8(%ebp)
41dfe7:	89 7d f4             	mov    %edi,-0xc(%ebp)
41dfea:	e8 f1 17 02 00       	call   0x43f7e0
41dfef:	8b f0                	mov    %eax,%esi
41dff1:	85 f6                	test   %esi,%esi
41dff3:	79 0f                	jns    0x41e004
41dff5:	68 30 7c 45 00       	push   $0x457c30
41dffa:	56                   	push   %esi
41dffb:	e8 2f 21 02 00       	call   0x44012f
41e000:	59                   	pop    %ecx
41e001:	59                   	pop    %ecx
41e002:	eb 43                	jmp    0x41e047
41e004:	ff 75 10             	push   0x10(%ebp)
41e007:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e00a:	50                   	push   %eax
41e00b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41e00e:	50                   	push   %eax
41e00f:	e8 9e 17 02 00       	call   0x43f7b2
41e014:	8b f0                	mov    %eax,%esi
41e016:	85 f6                	test   %esi,%esi
41e018:	79 07                	jns    0x41e021
41e01a:	68 68 7c 45 00       	push   $0x457c68
41e01f:	eb d9                	jmp    0x41dffa
41e021:	8d 45 f4             	lea    -0xc(%ebp),%eax
41e024:	50                   	push   %eax
41e025:	57                   	push   %edi
41e026:	57                   	push   %edi
41e027:	ff 75 f8             	push   -0x8(%ebp)
41e02a:	ff 75 fc             	push   -0x4(%ebp)
41e02d:	6a 04                	push   $0x4
41e02f:	ff 75 08             	push   0x8(%ebp)
41e032:	e8 4e 71 ff ff       	call   0x415185
41e037:	8b f0                	mov    %eax,%esi
41e039:	85 f6                	test   %esi,%esi
41e03b:	79 07                	jns    0x41e044
41e03d:	68 c8 7b 45 00       	push   $0x457bc8
41e042:	eb b6                	jmp    0x41dffa
41e044:	8b 75 f4             	mov    -0xc(%ebp),%esi
41e047:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41e04a:	74 08                	je     0x41e054
41e04c:	ff 75 fc             	push   -0x4(%ebp)
41e04f:	e8 45 59 fe ff       	call   0x403999
41e054:	5f                   	pop    %edi
41e055:	8b c6                	mov    %esi,%eax
41e057:	5e                   	pop    %esi
41e058:	8b e5                	mov    %ebp,%esp
41e05a:	5d                   	pop    %ebp
41e05b:	c2 0c 00             	ret    $0xc
41e05e:	55                   	push   %ebp
41e05f:	8b ec                	mov    %esp,%ebp
41e061:	83 ec 4c             	sub    $0x4c,%esp
41e064:	a1 08 a0 46 00       	mov    0x46a008,%eax
41e069:	33 c5                	xor    %ebp,%eax
41e06b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e06e:	8b 55 08             	mov    0x8(%ebp),%edx
41e071:	33 c0                	xor    %eax,%eax
41e073:	53                   	push   %ebx
41e074:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41e077:	56                   	push   %esi
41e078:	57                   	push   %edi
41e079:	6a 06                	push   $0x6
41e07b:	59                   	pop    %ecx
41e07c:	6a 0a                	push   $0xa
41e07e:	8d 7d b4             	lea    -0x4c(%ebp),%edi
41e081:	33 f6                	xor    %esi,%esi
41e083:	f3 ab                	rep stos %eax,%es:(%edi)
41e085:	59                   	pop    %ecx
41e086:	6a 01                	push   $0x1
41e088:	8d 7d d4             	lea    -0x2c(%ebp),%edi
41e08b:	89 75 cc             	mov    %esi,-0x34(%ebp)
41e08e:	f3 ab                	rep stos %eax,%es:(%edi)
41e090:	52                   	push   %edx
41e091:	89 75 d0             	mov    %esi,-0x30(%ebp)
41e094:	ff 15 7c b3 44 00    	call   *0x44b37c
41e09a:	89 03                	mov    %eax,(%ebx)
41e09c:	85 c0                	test   %eax,%eax
41e09e:	75 40                	jne    0x41e0e0
41e0a0:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41e0a6:	0f b7 f0             	movzwl %ax,%esi
41e0a9:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41e0af:	85 c0                	test   %eax,%eax
41e0b1:	0f 4e f0             	cmovle %eax,%esi
41e0b4:	b8 05 40 00 80       	mov    $0x80004005,%eax
41e0b9:	85 f6                	test   %esi,%esi
41e0bb:	0f 49 f0             	cmovns %eax,%esi
41e0be:	56                   	push   %esi
41e0bf:	68 e8 00 00 00       	push   $0xe8
41e0c4:	68 40 9b 45 00       	push   $0x459b40
41e0c9:	e8 05 57 fe ff       	call   0x4037d3
41e0ce:	68 44 9c 45 00       	push   $0x459c44
41e0d3:	56                   	push   %esi
41e0d4:	e8 56 20 02 00       	call   0x44012f
41e0d9:	59                   	pop    %ecx
41e0da:	59                   	pop    %ecx
41e0db:	e9 82 00 00 00       	jmp    0x41e162
41e0e0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
41e0e3:	51                   	push   %ecx
41e0e4:	6a 18                	push   $0x18
41e0e6:	50                   	push   %eax
41e0e7:	ff 15 bc b0 44 00    	call   *0x44b0bc
41e0ed:	b8 00 00 00 80       	mov    $0x80000000,%eax
41e0f2:	89 43 04             	mov    %eax,0x4(%ebx)
41e0f5:	89 43 08             	mov    %eax,0x8(%ebx)
41e0f8:	8b 45 b8             	mov    -0x48(%ebp),%eax
41e0fb:	89 43 0c             	mov    %eax,0xc(%ebx)
41e0fe:	8b 45 bc             	mov    -0x44(%ebp),%eax
41e101:	89 43 10             	mov    %eax,0x10(%ebx)
41e104:	8d 45 cc             	lea    -0x34(%ebp),%eax
41e107:	50                   	push   %eax
41e108:	ff 15 88 b3 44 00    	call   *0x44b388
41e10e:	85 c0                	test   %eax,%eax
41e110:	74 50                	je     0x41e162
41e112:	6a 02                	push   $0x2
41e114:	ff 75 d0             	push   -0x30(%ebp)
41e117:	ff 75 cc             	push   -0x34(%ebp)
41e11a:	ff 15 70 b3 44 00    	call   *0x44b370
41e120:	85 c0                	test   %eax,%eax
41e122:	74 3e                	je     0x41e162
41e124:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41e127:	c7 45 d4 28 00 00 00 	movl   $0x28,-0x2c(%ebp)
41e12e:	51                   	push   %ecx
41e12f:	50                   	push   %eax
41e130:	ff 15 6c b3 44 00    	call   *0x44b36c
41e136:	85 c0                	test   %eax,%eax
41e138:	74 28                	je     0x41e162
41e13a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e13d:	2b 43 0c             	sub    0xc(%ebx),%eax
41e140:	2b 45 e8             	sub    -0x18(%ebp),%eax
41e143:	99                   	cltd
41e144:	2b c2                	sub    %edx,%eax
41e146:	d1 f8                	sar    $1,%eax
41e148:	03 45 e8             	add    -0x18(%ebp),%eax
41e14b:	89 43 04             	mov    %eax,0x4(%ebx)
41e14e:	8b 45 f4             	mov    -0xc(%ebp),%eax
41e151:	2b 45 ec             	sub    -0x14(%ebp),%eax
41e154:	2b 43 10             	sub    0x10(%ebx),%eax
41e157:	99                   	cltd
41e158:	2b c2                	sub    %edx,%eax
41e15a:	d1 f8                	sar    $1,%eax
41e15c:	03 45 ec             	add    -0x14(%ebp),%eax
41e15f:	89 43 08             	mov    %eax,0x8(%ebx)
41e162:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41e165:	8b c6                	mov    %esi,%eax
41e167:	5f                   	pop    %edi
41e168:	5e                   	pop    %esi
41e169:	33 cd                	xor    %ebp,%ecx
41e16b:	5b                   	pop    %ebx
41e16c:	e8 c5 fc 00 00       	call   0x42de36
41e171:	8b e5                	mov    %ebp,%esp
41e173:	5d                   	pop    %ebp
41e174:	c2 08 00             	ret    $0x8
41e177:	55                   	push   %ebp
41e178:	8b ec                	mov    %esp,%ebp
41e17a:	83 ec 58             	sub    $0x58,%esp
41e17d:	33 c0                	xor    %eax,%eax
41e17f:	56                   	push   %esi
41e180:	57                   	push   %edi
41e181:	8d 7d ec             	lea    -0x14(%ebp),%edi
41e184:	ab                   	stos   %eax,%es:(%edi)
41e185:	6a 0a                	push   $0xa
41e187:	59                   	pop    %ecx
41e188:	6a 07                	push   $0x7
41e18a:	ab                   	stos   %eax,%es:(%edi)
41e18b:	ab                   	stos   %eax,%es:(%edi)
41e18c:	ab                   	stos   %eax,%es:(%edi)
41e18d:	ab                   	stos   %eax,%es:(%edi)
41e18e:	33 c0                	xor    %eax,%eax
41e190:	8d 7d a8             	lea    -0x58(%ebp),%edi
41e193:	f3 ab                	rep stos %eax,%es:(%edi)
41e195:	59                   	pop    %ecx
41e196:	8d 7d d0             	lea    -0x30(%ebp),%edi
41e199:	f3 ab                	rep stos %eax,%es:(%edi)
41e19b:	8b 7d 08             	mov    0x8(%ebp),%edi
41e19e:	8d 45 ec             	lea    -0x14(%ebp),%eax
41e1a1:	50                   	push   %eax
41e1a2:	ff 77 04             	push   0x4(%edi)
41e1a5:	e8 b4 fe ff ff       	call   0x41e05e
41e1aa:	8b f0                	mov    %eax,%esi
41e1ac:	85 f6                	test   %esi,%esi
41e1ae:	79 12                	jns    0x41e1c2
41e1b0:	68 c4 9b 45 00       	push   $0x459bc4
41e1b5:	56                   	push   %esi
41e1b6:	e8 74 1f 02 00       	call   0x44012f
41e1bb:	59                   	pop    %ecx
41e1bc:	59                   	pop    %ecx
41e1bd:	e9 32 01 00 00       	jmp    0x41e2f4
41e1c2:	8b 47 04             	mov    0x4(%edi),%eax
41e1c5:	53                   	push   %ebx
41e1c6:	68 00 7f 00 00       	push   $0x7f00
41e1cb:	33 db                	xor    %ebx,%ebx
41e1cd:	c7 45 ac 1b e3 41 00 	movl   $0x41e31b,-0x54(%ebp)
41e1d4:	53                   	push   %ebx
41e1d5:	89 45 b8             	mov    %eax,-0x48(%ebp)
41e1d8:	ff 15 78 b3 44 00    	call   *0x44b378
41e1de:	89 45 c0             	mov    %eax,-0x40(%ebp)
41e1e1:	8d 45 a8             	lea    -0x58(%ebp),%eax
41e1e4:	50                   	push   %eax
41e1e5:	c7 45 cc e4 9b 45 00 	movl   $0x459be4,-0x34(%ebp)
41e1ec:	ff 15 98 b3 44 00    	call   *0x44b398
41e1f2:	66 85 c0             	test   %ax,%ax
41e1f5:	75 38                	jne    0x41e22f
41e1f7:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41e1fd:	0f b7 f0             	movzwl %ax,%esi
41e200:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41e206:	85 c0                	test   %eax,%eax
41e208:	0f 4e f0             	cmovle %eax,%esi
41e20b:	b8 05 40 00 80       	mov    $0x80004005,%eax
41e210:	85 f6                	test   %esi,%esi
41e212:	0f 49 f0             	cmovns %eax,%esi
41e215:	56                   	push   %esi
41e216:	68 85 00 00 00       	push   $0x85
41e21b:	68 40 9b 45 00       	push   $0x459b40