41de39:	85 ff                	test   %edi,%edi
41de3b:	0f 88 93 93 00 00    	js     0x4271d4
41de41:	a1 00 f0 44 00       	mov    0x44f000,%eax
41de46:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
41de4b:	74 0a                	je     0x41de57
41de4d:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
41de51:	0f 85 91 93 00 00    	jne    0x4271e8
41de57:	8b c7                	mov    %edi,%eax
41de59:	e8 dd 17 00 00       	call   0x41f63b
41de5e:	c2 20 00             	ret    $0x20
41de61:	6a 04                	push   $0x4
41de63:	b8 f2 30 42 00       	mov    $0x4230f2,%eax
41de68:	e8 00 18 00 00       	call   0x41f66d
41de6d:	8b f9                	mov    %ecx,%edi
41de6f:	89 7d f0             	mov    %edi,-0x10(%ebp)
41de72:	51                   	push   %ecx
41de73:	ff 75 28             	push   0x28(%ebp)
41de76:	ff 75 24             	push   0x24(%ebp)
41de79:	ff 75 20             	push   0x20(%ebp)
41de7c:	51                   	push   %ecx
41de7d:	e8 ae e0 ff ff       	call   0x41bf30
41de82:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41de86:	8b 45 0c             	mov    0xc(%ebp),%eax
41de89:	8b 55 18             	mov    0x18(%ebp),%edx
41de8c:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
41de8f:	89 47 5c             	mov    %eax,0x5c(%edi)
41de92:	8b 45 10             	mov    0x10(%ebp),%eax
41de95:	89 47 60             	mov    %eax,0x60(%edi)
41de98:	8b 45 14             	mov    0x14(%ebp),%eax
41de9b:	c7 07 34 13 40 00    	movl   $0x401334,(%edi)
41dea1:	c7 47 04 20 13 40 00 	movl   $0x401320,0x4(%edi)
41dea8:	c7 47 08 f0 12 40 00 	movl   $0x4012f0,0x8(%edi)
41deaf:	89 47 64             	mov    %eax,0x64(%edi)
41deb2:	89 57 68             	mov    %edx,0x68(%edi)
41deb5:	89 4f 6c             	mov    %ecx,0x6c(%edi)
41deb8:	85 d2                	test   %edx,%edx
41deba:	0f 85 4b 93 00 00    	jne    0x42720b
41dec0:	85 c9                	test   %ecx,%ecx
41dec2:	74 58                	je     0x41df1c
41dec4:	8b 01                	mov    (%ecx),%eax
41dec6:	51                   	push   %ecx
41dec7:	8b 70 04             	mov    0x4(%eax),%esi
41deca:	81 fe 50 51 41 00    	cmp    $0x415150,%esi
41ded0:	0f 85 4d 93 00 00    	jne    0x427223
41ded6:	e8 75 72 ff ff       	call   0x415150
41dedb:	ff 77 68             	push   0x68(%edi)
41dede:	8b 4f 6c             	mov    0x6c(%edi),%ecx
41dee1:	ff 77 64             	push   0x64(%edi)
41dee4:	ff 77 60             	push   0x60(%edi)
41dee7:	8b 81 34 01 00 00    	mov    0x134(%ecx),%eax
41deed:	ff 77 5c             	push   0x5c(%edi)
41def0:	ff b1 44 01 00 00    	push   0x144(%ecx)
41def6:	ff b1 38 01 00 00    	push   0x138(%ecx)
41defc:	ff b1 3c 01 00 00    	push   0x13c(%ecx)
41df02:	ff 70 38             	push   0x38(%eax)
41df05:	ff b1 40 01 00 00    	push   0x140(%ecx)
41df0b:	6a 01                	push   $0x1
41df0d:	ff 35 c0 09 45 00    	push   0x4509c0
41df13:	ff 15 24 10 45 00    	call   *0x451024
41df19:	83 c4 2c             	add    $0x2c,%esp
41df1c:	8b c7                	mov    %edi,%eax
41df1e:	e8 18 17 00 00       	call   0x41f63b
41df23:	c2 28 00             	ret    $0x28
41df26:	8b ff                	mov    %edi,%edi
41df28:	55                   	push   %ebp
41df29:	8b ec                	mov    %esp,%ebp
41df2b:	6a ff                	push   $0xffffffff
41df2d:	68 47 30 42 00       	push   $0x423047
41df32:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41df38:	50                   	push   %eax
41df39:	56                   	push   %esi
41df3a:	a1 54 02 45 00       	mov    0x450254,%eax
41df3f:	33 c5                	xor    %ebp,%eax
41df41:	50                   	push   %eax
41df42:	8d 45 f4             	lea    -0xc(%ebp),%eax
41df45:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41df4b:	8b f1                	mov    %ecx,%esi
41df4d:	e8 2c 00 00 00       	call   0x41df7e
41df52:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
41df56:	74 14                	je     0x41df6c
41df58:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41df5c:	85 f6                	test   %esi,%esi
41df5e:	74 0c                	je     0x41df6c
41df60:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
41df66:	56                   	push   %esi
41df67:	e8 be b8 ff ff       	call   0x41982a
41df6c:	8b c6                	mov    %esi,%eax
41df6e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41df71:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41df78:	59                   	pop    %ecx
41df79:	5e                   	pop    %esi
41df7a:	c9                   	leave
41df7b:	c2 04 00             	ret    $0x4
41df7e:	8b ff                	mov    %edi,%edi
41df80:	55                   	push   %ebp
41df81:	8b ec                	mov    %esp,%ebp
41df83:	6a ff                	push   $0xffffffff
41df85:	68 10 31 42 00       	push   $0x423110
41df8a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41df90:	50                   	push   %eax
41df91:	56                   	push   %esi
41df92:	57                   	push   %edi
41df93:	a1 54 02 45 00       	mov    0x450254,%eax
41df98:	33 c5                	xor    %ebp,%eax
41df9a:	50                   	push   %eax
41df9b:	8d 45 f4             	lea    -0xc(%ebp),%eax
41df9e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41dfa4:	8b f9                	mov    %ecx,%edi
41dfa6:	83 7f 64 00          	cmpl   $0x0,0x64(%edi)
41dfaa:	c7 07 34 13 40 00    	movl   $0x401334,(%edi)
41dfb0:	c7 47 04 20 13 40 00 	movl   $0x401320,0x4(%edi)
41dfb7:	c7 47 08 f0 12 40 00 	movl   $0x4012f0,0x8(%edi)
41dfbe:	74 09                	je     0x41dfc9
41dfc0:	ff 77 64             	push   0x64(%edi)
41dfc3:	ff 15 0c 30 45 00    	call   *0x45300c
41dfc9:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
41dfcd:	74 09                	je     0x41dfd8
41dfcf:	ff 77 60             	push   0x60(%edi)
41dfd2:	ff 15 0c 30 45 00    	call   *0x45300c
41dfd8:	8b 4f 68             	mov    0x68(%edi),%ecx
41dfdb:	85 c9                	test   %ecx,%ecx
41dfdd:	0f 85 4f 92 00 00    	jne    0x427232
41dfe3:	8b 4f 6c             	mov    0x6c(%edi),%ecx
41dfe6:	85 c9                	test   %ecx,%ecx
41dfe8:	74 17                	je     0x41e001
41dfea:	8b 01                	mov    (%ecx),%eax
41dfec:	51                   	push   %ecx
41dfed:	8b 70 08             	mov    0x8(%eax),%esi
41dff0:	81 fe 20 41 41 00    	cmp    $0x414120,%esi
41dff6:	0f 85 4b 92 00 00    	jne    0x427247
41dffc:	e8 1f 61 ff ff       	call   0x414120
41e001:	8b cf                	mov    %edi,%ecx
41e003:	e8 51 e0 ff ff       	call   0x41c059
41e008:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41e00b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41e012:	59                   	pop    %ecx
41e013:	5f                   	pop    %edi
41e014:	5e                   	pop    %esi
41e015:	c9                   	leave
41e016:	c3                   	ret
41e017:	6a 20                	push   $0x20
41e019:	b8 d9 31 42 00       	mov    $0x4231d9,%eax
41e01e:	e8 4a 16 00 00       	call   0x41f66d
41e023:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41e026:	8b 7d 18             	mov    0x18(%ebp),%edi
41e029:	33 d2                	xor    %edx,%edx
41e02b:	8b 75 0c             	mov    0xc(%ebp),%esi
41e02e:	42                   	inc    %edx
41e02f:	89 55 ec             	mov    %edx,-0x14(%ebp)
41e032:	8b 07                	mov    (%edi),%eax
41e034:	8b 0c 86             	mov    (%esi,%eax,4),%ecx
41e037:	48                   	dec    %eax
41e038:	89 07                	mov    %eax,(%edi)
41e03a:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41e03d:	8b 41 04             	mov    0x4(%ecx),%eax
41e040:	2b c2                	sub    %edx,%eax
41e042:	0f 85 0e 92 00 00    	jne    0x427256
41e048:	33 f6                	xor    %esi,%esi
41e04a:	f6 41 08 10          	testb  $0x10,0x8(%ecx)
41e04e:	0f 84 d2 94 00 00    	je     0x427526
41e054:	8b 41 0c             	mov    0xc(%ecx),%eax
41e057:	48                   	dec    %eax
41e058:	83 f8 07             	cmp    $0x7,%eax
41e05b:	0f 87 be 94 00 00    	ja     0x42751f
41e061:	ff 24 85 bb e1 41 00 	jmp    *0x41e1bb(,%eax,4)
41e068:	6a 1c                	push   $0x1c
41e06a:	e8 6c 01 00 00       	call   0x41e1db
41e06f:	8b f0                	mov    %eax,%esi
41e071:	59                   	pop    %ecx
41e072:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41e075:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41e079:	85 f6                	test   %esi,%esi
41e07b:	0f 84 e8 92 00 00    	je     0x427369
41e081:	ff 75 10             	push   0x10(%ebp)
41e084:	8b ce                	mov    %esi,%ecx
41e086:	6a 00                	push   $0x0
41e088:	6a 05                	push   $0x5
41e08a:	e8 17 02 00 00       	call   0x41e2a6
41e08f:	33 d2                	xor    %edx,%edx
41e091:	42                   	inc    %edx
41e092:	88 55 fc             	mov    %dl,-0x4(%ebp)
41e095:	c7 06 64 13 40 00    	movl   $0x401364,(%esi)
41e09b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
41e09f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41e0a3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e0a6:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e0a9:	8b fe                	mov    %esi,%edi
41e0ab:	f7 df                	neg    %edi
41e0ad:	1b ff                	sbb    %edi,%edi
41e0af:	23 f8                	and    %eax,%edi
41e0b1:	85 ff                	test   %edi,%edi
41e0b3:	0f 84 ec 00 00 00    	je     0x41e1a5
41e0b9:	8b 45 14             	mov    0x14(%ebp),%eax
41e0bc:	8b fa                	mov    %edx,%edi
41e0be:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41e0c2:	89 30                	mov    %esi,(%eax)
41e0c4:	f6 41 08 20          	testb  $0x20,0x8(%ecx)
41e0c8:	0f 85 5f 94 00 00    	jne    0x42752d
41e0ce:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
41e0d2:	f6 41 08 40          	testb  $0x40,0x8(%ecx)
41e0d6:	0f 85 98 94 00 00    	jne    0x427574
41e0dc:	85 ff                	test   %edi,%edi
41e0de:	0f 84 c1 00 00 00    	je     0x41e1a5
41e0e4:	8b 41 08             	mov    0x8(%ecx),%eax
41e0e7:	8b c8                	mov    %eax,%ecx
41e0e9:	8b d0                	mov    %eax,%edx
41e0eb:	8b f8                	mov    %eax,%edi
41e0ed:	83 e1 02             	and    $0x2,%ecx
41e0f0:	83 e2 08             	and    $0x8,%edx
41e0f3:	83 e7 04             	and    $0x4,%edi
41e0f6:	a8 01                	test   $0x1,%al
41e0f8:	0f 84 b9 00 00 00    	je     0x41e1b7
41e0fe:	85 c9                	test   %ecx,%ecx
41e100:	0f 85 b1 00 00 00    	jne    0x41e1b7
41e106:	85 d2                	test   %edx,%edx
41e108:	0f 84 a9 00 00 00    	je     0x41e1b7
41e10e:	85 ff                	test   %edi,%edi
41e110:	0f 85 a1 00 00 00    	jne    0x41e1b7
41e116:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41e119:	50                   	push   %eax
41e11a:	ff 15 00 30 45 00    	call   *0x453000
41e120:	8b 7d f0             	mov    -0x10(%ebp),%edi
41e123:	8b 47 18             	mov    0x18(%edi),%eax
41e126:	85 c0                	test   %eax,%eax
41e128:	0f 84 a4 94 00 00    	je     0x4275d2
41e12e:	6a 03                	push   $0x3
41e130:	59                   	pop    %ecx
41e131:	3b c1                	cmp    %ecx,%eax
41e133:	0f 84 8d 94 00 00    	je     0x4275c6
41e139:	83 f8 14             	cmp    $0x14,%eax
41e13c:	0f 84 79 94 00 00    	je     0x4275bb
41e142:	83 f8 1f             	cmp    $0x1f,%eax
41e145:	75 13                	jne    0x41e15a
41e147:	6a 08                	push   $0x8
41e149:	58                   	pop    %eax
41e14a:	ff 77 20             	push   0x20(%edi)
41e14d:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
41e151:	ff 15 10 30 45 00    	call   *0x453010
41e157:	89 45 dc             	mov    %eax,-0x24(%ebp)
41e15a:	8b 47 14             	mov    0x14(%edi),%eax
41e15d:	8b 40 0c             	mov    0xc(%eax),%eax
41e160:	ff 30                	push   (%eax)
41e162:	ff 15 10 30 45 00    	call   *0x453010
41e168:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e16b:	85 c0                	test   %eax,%eax
41e16d:	74 44                	je     0x41e1b3
41e16f:	56                   	push   %esi
41e170:	ff 75 ec             	push   -0x14(%ebp)
41e173:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
41e176:	ff 75 e4             	push   -0x1c(%ebp)
41e179:	51                   	push   %ecx
41e17a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41e17d:	50                   	push   %eax
41e17e:	ff 75 08             	push   0x8(%ebp)
41e181:	e8 1a 02 00 00       	call   0x41e3a0
41e186:	85 c0                	test   %eax,%eax
41e188:	74 25                	je     0x41e1af
41e18a:	89 46 10             	mov    %eax,0x10(%esi)
41e18d:	33 c0                	xor    %eax,%eax
41e18f:	8d 78 01             	lea    0x1(%eax),%edi
41e192:	ff 75 f0             	push   -0x10(%ebp)
41e195:	ff 15 0c 30 45 00    	call   *0x45300c
41e19b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41e19e:	50                   	push   %eax
41e19f:	ff 15 1c 30 45 00    	call   *0x45301c
41e1a5:	8b c7                	mov    %edi,%eax
41e1a7:	e8 8f 14 00 00       	call   0x41f63b
41e1ac:	c2 14 00             	ret    $0x14
41e1af:	33 ff                	xor    %edi,%edi
41e1b1:	eb df                	jmp    0x41e192
41e1b3:	33 ff                	xor    %edi,%edi
41e1b5:	eb e4                	jmp    0x41e19b
41e1b7:	33 ff                	xor    %edi,%edi
41e1b9:	eb ea                	jmp    0x41e1a5
41e1bb:	68 e0 41 00 73       	push   $0x730041e0
41e1c0:	73 42                	jae    0x41e204
41e1c2:	00 db                	add    %bl,%bl
41e1c4:	73 42                	jae    0x41e208
41e1c6:	00 11                	add    %dl,(%ecx)
41e1c8:	74 42                	je     0x41e20c
41e1ca:	00 47 74             	add    %al,0x74(%edi)
41e1cd:	42                   	inc    %edx
41e1ce:	00 84 74 42 00 c1 74 	add    %al,0x74c10042(%esp,%esi,2)
41e1d5:	42                   	inc    %edx
41e1d6:	00 fe                	add    %bh,%dh
41e1d8:	74 42                	je     0x41e21c
41e1da:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
41e1e0:	51                   	push   %ecx
41e1e1:	a1 80 0b 45 00       	mov    0x450b80,%eax
41e1e6:	56                   	push   %esi
41e1e7:	33 f6                	xor    %esi,%esi
41e1e9:	57                   	push   %edi
41e1ea:	8b 48 08             	mov    0x8(%eax),%ecx
41e1ed:	83 e1 05             	and    $0x5,%ecx
41e1f0:	83 c9 08             	or     $0x8,%ecx
41e1f3:	39 70 04             	cmp    %esi,0x4(%eax)
41e1f6:	0f 84 02 94 00 00    	je     0x4275fe
41e1fc:	ff 75 08             	push   0x8(%ebp)
41e1ff:	51                   	push   %ecx
41e200:	ff 70 04             	push   0x4(%eax)
41e203:	ff 15 78 10 45 00    	call   *0x451078
41e209:	8b f8                	mov    %eax,%edi
41e20b:	85 ff                	test   %edi,%edi
41e20d:	0f 84 cb 93 00 00    	je     0x4275de
41e213:	f7 de                	neg    %esi
41e215:	1b f6                	sbb    %esi,%esi
41e217:	f7 d6                	not    %esi
41e219:	23 f7                	and    %edi,%esi
41e21b:	5f                   	pop    %edi
41e21c:	8b c6                	mov    %esi,%eax
41e21e:	5e                   	pop    %esi
41e21f:	c9                   	leave
41e220:	c3                   	ret
41e221:	6a 04                	push   $0x4
41e223:	b8 fc 31 42 00       	mov    $0x4231fc,%eax
41e228:	e8 40 14 00 00       	call   0x41f66d
41e22d:	8b f1                	mov    %ecx,%esi
41e22f:	89 75 f0             	mov    %esi,-0x10(%ebp)
41e232:	ff 75 1c             	push   0x1c(%ebp)
41e235:	ff 75 18             	push   0x18(%ebp)
41e238:	51                   	push   %ecx
41e239:	ff 75 10             	push   0x10(%ebp)
41e23c:	ff 75 08             	push   0x8(%ebp)
41e23f:	51                   	push   %ecx
41e240:	e8 e2 00 00 00       	call   0x41e327
41e245:	33 db                	xor    %ebx,%ebx
41e247:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41e24a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41e24d:	c7 06 7c 13 40 00    	movl   $0x40137c,(%esi)
41e253:	85 c9                	test   %ecx,%ecx
41e255:	74 4a                	je     0x41e2a1
41e257:	8b f9                	mov    %ecx,%edi
41e259:	8d 57 02             	lea    0x2(%edi),%edx
41e25c:	66 8b 07             	mov    (%edi),%ax
41e25f:	83 c7 02             	add    $0x2,%edi
41e262:	66 3b c3             	cmp    %bx,%ax
41e265:	75 f5                	jne    0x41e25c
41e267:	2b fa                	sub    %edx,%edi
41e269:	51                   	push   %ecx
41e26a:	d1 ff                	sar    $1,%edi
41e26c:	ff 15 10 30 45 00    	call   *0x453010
41e272:	89 46 2c             	mov    %eax,0x2c(%esi)
41e275:	85 c0                	test   %eax,%eax
41e277:	74 1a                	je     0x41e293
41e279:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
41e27d:	74 19                	je     0x41e298
41e27f:	83 7d 14 01          	cmpl   $0x1,0x14(%ebp)
41e283:	74 13                	je     0x41e298
41e285:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41e289:	8b c6                	mov    %esi,%eax