40eaae:	56                   	push   %esi
40eaaf:	e8 aa 0a 01 00       	call   0x41f55e
40eab4:	83 c4 04             	add    $0x4,%esp
40eab7:	8b cb                	mov    %ebx,%ecx
40eab9:	e8 12 04 00 00       	call   0x40eed0
40eabe:	3c 01                	cmp    $0x1,%al
40eac0:	0f 84 ee 00 00 00    	je     0x40ebb4
40eac6:	80 3d a8 17 4c 00 00 	cmpb   $0x0,0x4c17a8
40eacd:	0f 85 7f 69 06 00    	jne    0x475452
40ead3:	8b 83 fc 00 00 00    	mov    0xfc(%ebx),%eax
40ead9:	83 f8 07             	cmp    $0x7,%eax
40eadc:	0f 84 75 6a 06 00    	je     0x475557
40eae2:	83 f8 08             	cmp    $0x8,%eax
40eae5:	0f 84 a4 6d 06 00    	je     0x47588f
40eaeb:	83 f8 09             	cmp    $0x9,%eax
40eaee:	0f 84 9b 6d 06 00    	je     0x47588f
40eaf4:	83 f8 02             	cmp    $0x2,%eax
40eaf7:	0f 84 36 6c 06 00    	je     0x475733
40eafd:	83 f8 03             	cmp    $0x3,%eax
40eb00:	0f 84 2d 6c 06 00    	je     0x475733
40eb06:	83 f8 04             	cmp    $0x4,%eax
40eb09:	0f 84 24 6c 06 00    	je     0x475733
40eb0f:	83 f8 05             	cmp    $0x5,%eax
40eb12:	0f 84 1b 6c 06 00    	je     0x475733
40eb18:	83 f8 06             	cmp    $0x6,%eax
40eb1b:	0f 84 12 6c 06 00    	je     0x475733
40eb21:	8b 45 08             	mov    0x8(%ebp),%eax
40eb24:	89 83 f4 00 00 00    	mov    %eax,0xf4(%ebx)
40eb2a:	8b f0                	mov    %eax,%esi
40eb2c:	40                   	inc    %eax
40eb2d:	89 45 08             	mov    %eax,0x8(%ebp)
40eb30:	3b 35 10 21 4c 00    	cmp    0x4c2110,%esi
40eb36:	0f 8f e8 6b 06 00    	jg     0x475724
40eb3c:	85 f6                	test   %esi,%esi
40eb3e:	0f 8e e0 6b 06 00    	jle    0x475724
40eb44:	c1 e6 04             	shl    $0x4,%esi
40eb47:	03 35 4c 21 4c 00    	add    0x4c214c,%esi
40eb4d:	0f 84 d1 6b 06 00    	je     0x475724
40eb53:	8b 46 04             	mov    0x4(%esi),%eax
40eb56:	33 d2                	xor    %edx,%edx
40eb58:	b9 01 00 00 00       	mov    $0x1,%ecx
40eb5d:	89 54 24 20          	mov    %edx,0x20(%esp)
40eb61:	89 54 24 28          	mov    %edx,0x28(%esp)
40eb65:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
40eb69:	8b 38                	mov    (%eax),%edi
40eb6b:	89 54 24 1c          	mov    %edx,0x1c(%esp)
40eb6f:	0f bf 47 08          	movswl 0x8(%edi),%eax
40eb73:	85 c0                	test   %eax,%eax
40eb75:	0f 85 d1 00 00 00    	jne    0x40ec4c
40eb7b:	8d 45 08             	lea    0x8(%ebp),%eax
40eb7e:	50                   	push   %eax
40eb7f:	56                   	push   %esi
40eb80:	8b cb                	mov    %ebx,%ecx
40eb82:	e8 79 03 00 00       	call   0x40ef00
40eb87:	8b 74 24 28          	mov    0x28(%esp),%esi
40eb8b:	85 f6                	test   %esi,%esi
40eb8d:	0f 85 34 01 00 00    	jne    0x40ecc7
40eb93:	8b 54 24 20          	mov    0x20(%esp),%edx
40eb97:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40eb9b:	83 f9 05             	cmp    $0x5,%ecx
40eb9e:	0f 8d 44 02 00 00    	jge    0x40ede8
40eba4:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
40ebab:	00
40ebac:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
40ebb3:	00
40ebb4:	8b 35 dc d6 48 00    	mov    0x48d6dc,%esi
40ebba:	80 bb 00 01 00 00 00 	cmpb   $0x0,0x100(%ebx)
40ebc1:	0f 84 59 fd ff ff    	je     0x40e920
40ebc7:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
40ebcd:	c6 83 48 01 00 00 00 	movb   $0x0,0x148(%ebx)
40ebd4:	83 f8 01             	cmp    $0x1,%eax
40ebd7:	0f 84 7f 01 00 00    	je     0x40ed5c
40ebdd:	48                   	dec    %eax
40ebde:	89 83 ec 00 00 00    	mov    %eax,0xec(%ebx)
40ebe4:	33 c0                	xor    %eax,%eax
40ebe6:	5f                   	pop    %edi
40ebe7:	5e                   	pop    %esi
40ebe8:	5b                   	pop    %ebx
40ebe9:	8b e5                	mov    %ebp,%esp
40ebeb:	5d                   	pop    %ebp
40ebec:	c2 04 00             	ret    $0x4
40ebef:	8b 3e                	mov    (%esi),%edi
40ebf1:	80 7f 11 00          	cmpb   $0x0,0x11(%edi)
40ebf5:	75 39                	jne    0x40ec30
40ebf7:	8b 7f 14             	mov    0x14(%edi),%edi
40ebfa:	ff 15 a0 d7 48 00    	call   *0x48d7a0
40ec00:	8b c8                	mov    %eax,%ecx
40ec02:	2b c7                	sub    %edi,%eax
40ec04:	33 d2                	xor    %edx,%edx
40ec06:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
40ec0c:	0f 87 69 66 06 00    	ja     0x47527b
40ec12:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
40ec18:	77 01                	ja     0x40ec1b
40ec1a:	99                   	cltd
40ec1b:	8b 3e                	mov    (%esi),%edi
40ec1d:	85 d2                	test   %edx,%edx
40ec1f:	7c 0f                	jl     0x40ec30
40ec21:	0f 8f 87 01 00 00    	jg     0x40edae
40ec27:	3b 47 18             	cmp    0x18(%edi),%eax
40ec2a:	0f 83 7e 01 00 00    	jae    0x40edae
40ec30:	8b 76 04             	mov    0x4(%esi),%esi
40ec33:	e9 98 fd ff ff       	jmp    0x40e9d0
40ec38:	8b 08                	mov    (%eax),%ecx
40ec3a:	80 79 11 00          	cmpb   $0x0,0x11(%ecx)
40ec3e:	0f 85 48 66 06 00    	jne    0x47528c
40ec44:	8b 40 04             	mov    0x4(%eax),%eax
40ec47:	e9 96 fd ff ff       	jmp    0x40e9e2
40ec4c:	83 f8 33             	cmp    $0x33,%eax
40ec4f:	75 0d                	jne    0x40ec5e
40ec51:	56                   	push   %esi
40ec52:	8b cb                	mov    %ebx,%ecx
40ec54:	e8 b7 04 00 00       	call   0x40f110
40ec59:	e9 29 ff ff ff       	jmp    0x40eb87
40ec5e:	48                   	dec    %eax
40ec5f:	83 f8 7e             	cmp    $0x7e,%eax
40ec62:	0f 87 cf 69 06 00    	ja     0x475637
40ec68:	0f b6 80 18 ee 40 00 	movzbl 0x40ee18(%eax),%eax
40ec6f:	ff 24 85 04 ee 40 00 	jmp    *0x40ee04(,%eax,4)
40ec76:	8d 44 24 20          	lea    0x20(%esp),%eax
40ec7a:	50                   	push   %eax
40ec7b:	8d 44 24 20          	lea    0x20(%esp),%eax
40ec7f:	50                   	push   %eax
40ec80:	56                   	push   %esi
40ec81:	6a 00                	push   $0x0
40ec83:	8b cb                	mov    %ebx,%ecx
40ec85:	e8 56 59 00 00       	call   0x4145e0
40ec8a:	85 c0                	test   %eax,%eax
40ec8c:	0f 88 f5 fe ff ff    	js     0x40eb87
40ec92:	8b 4e 04             	mov    0x4(%esi),%ecx
40ec95:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40ec99:	8b 04 81             	mov    (%ecx,%eax,4),%eax
40ec9c:	66 83 78 08 7f       	cmpw   $0x7f,0x8(%eax)
40eca1:	0f 84 e0 fe ff ff    	je     0x40eb87
40eca7:	e9 a4 69 06 00       	jmp    0x475650
40ecac:	8d 44 24 4b          	lea    0x4b(%esp),%eax
40ecb0:	50                   	push   %eax
40ecb1:	8d 44 24 24          	lea    0x24(%esp),%eax
40ecb5:	50                   	push   %eax
40ecb6:	8d 44 24 24          	lea    0x24(%esp),%eax
40ecba:	50                   	push   %eax
40ecbb:	56                   	push   %esi
40ecbc:	6a 00                	push   $0x0
40ecbe:	8b cb                	mov    %ebx,%ecx
40ecc0:	e8 3b 45 00 00       	call   0x413200
40ecc5:	eb c3                	jmp    0x40ec8a
40ecc7:	8b 46 0c             	mov    0xc(%esi),%eax
40ecca:	ff 08                	decl   (%eax)
40eccc:	8b 46 0c             	mov    0xc(%esi),%eax
40eccf:	83 38 00             	cmpl   $0x0,(%eax)
40ecd2:	0f 84 94 69 06 00    	je     0x47566c
40ecd8:	56                   	push   %esi
40ecd9:	e8 80 08 01 00       	call   0x41f55e
40ecde:	83 c4 04             	add    $0x4,%esp
40ece1:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
40ece8:	00
40ece9:	e9 a5 fe ff ff       	jmp    0x40eb93
40ecee:	8b ff                	mov    %edi,%edi
40ecf0:	83 7c 24 54 12       	cmpl   $0x12,0x54(%esp)
40ecf5:	0f 84 a6 64 06 00    	je     0x4751a1
40ecfb:	8d 44 24 50          	lea    0x50(%esp),%eax
40ecff:	50                   	push   %eax
40ed00:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
40ed05:	e8 3a f5 00 00       	call   0x41e244
40ed0a:	85 c0                	test   %eax,%eax
40ed0c:	75 13                	jne    0x40ed21
40ed0e:	8d 44 24 50          	lea    0x50(%esp),%eax
40ed12:	50                   	push   %eax
40ed13:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
40ed18:	e8 42 ef 00 00       	call   0x41dc5f
40ed1d:	85 c0                	test   %eax,%eax
40ed1f:	74 19                	je     0x40ed3a
40ed21:	6a 01                	push   $0x1
40ed23:	6a 00                	push   $0x0
40ed25:	6a 00                	push   $0x0
40ed27:	6a 00                	push   $0x0
40ed29:	8d 44 24 60          	lea    0x60(%esp),%eax
40ed2d:	50                   	push   %eax
40ed2e:	ff d6                	call   *%esi
40ed30:	85 c0                	test   %eax,%eax
40ed32:	0f 84 2b fc ff ff    	je     0x40e963
40ed38:	eb b6                	jmp    0x40ecf0
40ed3a:	8d 44 24 50          	lea    0x50(%esp),%eax
40ed3e:	50                   	push   %eax
40ed3f:	ff 15 d4 d6 48 00    	call   *0x48d6d4
40ed45:	8d 44 24 50          	lea    0x50(%esp),%eax
40ed49:	50                   	push   %eax
40ed4a:	ff 15 d0 d6 48 00    	call   *0x48d6d0
40ed50:	eb cf                	jmp    0x40ed21
40ed52:	e8 76 f6 00 00       	call   0x41e3cd
40ed57:	e9 aa fb ff ff       	jmp    0x40e906
40ed5c:	8b cb                	mov    %ebx,%ecx
40ed5e:	e8 93 42 ff ff       	call   0x402ff6
40ed63:	80 bb 00 01 00 00 01 	cmpb   $0x1,0x100(%ebx)
40ed6a:	0f 84 74 fe ff ff    	je     0x40ebe4
40ed70:	8b cb                	mov    %ebx,%ecx
40ed72:	e8 9b f5 00 00       	call   0x41e312
40ed77:	6a 00                	push   $0x0
40ed79:	ff 15 cc d6 48 00    	call   *0x48d6cc
40ed7f:	ff 35 e8 10 4c 00    	push   0x4c10e8
40ed85:	ff 15 24 d6 48 00    	call   *0x48d624
40ed8b:	8b 35 c8 d6 48 00    	mov    0x48d6c8,%esi
40ed91:	6a 00                	push   $0x0
40ed93:	6a 00                	push   $0x0
40ed95:	6a 00                	push   $0x0
40ed97:	8d 84 24 e8 00 00 00 	lea    0xe8(%esp),%eax
40ed9e:	50                   	push   %eax
40ed9f:	ff d6                	call   *%esi
40eda1:	85 c0                	test   %eax,%eax
40eda3:	0f 8e 3b fe ff ff    	jle    0x40ebe4
40eda9:	e9 41 6c 06 00       	jmp    0x4759ef
40edae:	ff 44 24 1c          	incl   0x1c(%esp)
40edb2:	ff 15 a0 d7 48 00    	call   *0x48d7a0
40edb8:	89 47 14             	mov    %eax,0x14(%edi)
40edbb:	ff 36                	push   (%esi)
40edbd:	8b cb                	mov    %ebx,%ecx
40edbf:	e8 e6 2e ff ff       	call   0x401caa
40edc4:	8b 0e                	mov    (%esi),%ecx
40edc6:	6a 00                	push   $0x0
40edc8:	c6 41 10 01          	movb   $0x1,0x10(%ecx)
40edcc:	8b 40 10             	mov    0x10(%eax),%eax
40edcf:	6a 01                	push   $0x1
40edd1:	40                   	inc    %eax
40edd2:	50                   	push   %eax
40edd3:	8b cb                	mov    %ebx,%ecx
40edd5:	e8 d4 3c ff ff       	call   0x402aae
40edda:	8b 06                	mov    (%esi),%eax
40eddc:	c6 40 10 00          	movb   $0x0,0x10(%eax)
40ede0:	8b 76 04             	mov    0x4(%esi),%esi
40ede3:	e9 e8 fb ff ff       	jmp    0x40e9d0
40ede8:	83 c1 fb             	add    $0xfffffffb,%ecx
40edeb:	83 f9 0a             	cmp    $0xa,%ecx
40edee:	0f 87 b0 fd ff ff    	ja     0x40eba4
40edf4:	ff 24 8d 98 ee 40 00 	jmp    *0x40ee98(,%ecx,4)
40edfb:	33 c0                	xor    %eax,%eax
40edfd:	e9 73 fc ff ff       	jmp    0x40ea75
40ee02:	8b ff                	mov    %edi,%edi
40ee04:	76 ec                	jbe    0x40edf2
40ee06:	40                   	inc    %eax
40ee07:	00 ac ec 40 00 dc 55 	add    %ch,0x55dc0040(%esp,%ebp,8)
40ee0e:	47                   	inc    %edi
40ee0f:	00 9b eb 40 00 37    	add    %bl,0x370040eb(%ebx)
40ee15:	56                   	push   %esi
40ee16:	47                   	inc    %edi
40ee17:	00 00                	add    %al,(%eax)
40ee19:	04 04                	add    $0x4,%al
40ee1b:	04 04                	add    $0x4,%al
40ee1d:	04 04                	add    $0x4,%al
40ee1f:	04 04                	add    $0x4,%al
40ee21:	04 04                	add    $0x4,%al
40ee23:	04 04                	add    $0x4,%al
40ee25:	04 04                	add    $0x4,%al
40ee27:	04 04                	add    $0x4,%al
40ee29:	04 04                	add    $0x4,%al
40ee2b:	04 04                	add    $0x4,%al
40ee2d:	04 04                	add    $0x4,%al
40ee2f:	04 04                	add    $0x4,%al
40ee31:	04 04                	add    $0x4,%al
40ee33:	04 04                	add    $0x4,%al
40ee35:	04 04                	add    $0x4,%al
40ee37:	04 04                	add    $0x4,%al
40ee39:	04 04                	add    $0x4,%al
40ee3b:	04 04                	add    $0x4,%al
40ee3d:	04 04                	add    $0x4,%al
40ee3f:	04 04                	add    $0x4,%al
40ee41:	04 04                	add    $0x4,%al
40ee43:	04 04                	add    $0x4,%al
40ee45:	04 04                	add    $0x4,%al
40ee47:	04 04                	add    $0x4,%al
40ee49:	04 04                	add    $0x4,%al
40ee4b:	01 02                	add    %eax,(%edx)
40ee4d:	04 04                	add    $0x4,%al
40ee4f:	04 04                	add    $0x4,%al
40ee51:	04 04                	add    $0x4,%al
40ee53:	04 04                	add    $0x4,%al
40ee55:	04 04                	add    $0x4,%al
40ee57:	04 04                	add    $0x4,%al
40ee59:	04 04                	add    $0x4,%al
40ee5b:	04 04                	add    $0x4,%al
40ee5d:	04 04                	add    $0x4,%al
40ee5f:	04 04                	add    $0x4,%al
40ee61:	04 04                	add    $0x4,%al
40ee63:	04 04                	add    $0x4,%al
40ee65:	04 04                	add    $0x4,%al
40ee67:	04 04                	add    $0x4,%al
40ee69:	04 04                	add    $0x4,%al
40ee6b:	04 04                	add    $0x4,%al
40ee6d:	04 04                	add    $0x4,%al
40ee6f:	04 04                	add    $0x4,%al
40ee71:	04 04                	add    $0x4,%al
40ee73:	04 04                	add    $0x4,%al
40ee75:	04 04                	add    $0x4,%al
40ee77:	04 04                	add    $0x4,%al
40ee79:	04 04                	add    $0x4,%al
40ee7b:	04 04                	add    $0x4,%al
40ee7d:	04 04                	add    $0x4,%al
40ee7f:	04 04                	add    $0x4,%al
40ee81:	04 04                	add    $0x4,%al
40ee83:	04 04                	add    $0x4,%al
40ee85:	04 04                	add    $0x4,%al
40ee87:	04 04                	add    $0x4,%al
40ee89:	04 04                	add    $0x4,%al
40ee8b:	04 04                	add    $0x4,%al
40ee8d:	04 04                	add    $0x4,%al
40ee8f:	04 04                	add    $0x4,%al
40ee91:	04 04                	add    $0x4,%al
40ee93:	04 04                	add    $0x4,%al
40ee95:	04 03                	add    $0x3,%al
40ee97:	90                   	nop
40ee98:	bb 56 47 00 a4       	mov    $0xa4004756,%ebx
40ee9d:	eb 40                	jmp    0x40eedf
40ee9f:	00 a4 eb 40 00 86 56 	add    %ah,0x56860040(%ebx,%ebp,8)
40eea6:	47                   	inc    %edi
40eea7:	00 a4 eb 40 00 a6 56 	add    %ah,0x56a60040(%ebx,%ebp,8)
40eeae:	47                   	inc    %edi
40eeaf:	00 c9                	add    %cl,%cl
40eeb1:	56                   	push   %esi
40eeb2:	47                   	inc    %edi
40eeb3:	00 e5                	add    %ah,%ch
40eeb5:	56                   	push   %esi
40eeb6:	47                   	inc    %edi
40eeb7:	00 0f                	add    %cl,(%edi)
40eeb9:	57                   	push   %edi
40eeba:	47                   	inc    %edi
40eebb:	00 0f                	add    %cl,(%edi)
40eebd:	57                   	push   %edi
40eebe:	47                   	inc    %edi
40eebf:	00 fa                	add    %bh,%dl
40eec1:	56                   	push   %esi
40eec2:	47                   	inc    %edi
40eec3:	00 cc                	add    %cl,%ah
40eec5:	cc                   	int3
40eec6:	cc                   	int3
40eec7:	cc                   	int3
40eec8:	cc                   	int3
40eec9:	cc                   	int3
40eeca:	cc                   	int3
40eecb:	cc                   	int3
40eecc:	cc                   	int3
40eecd:	cc                   	int3
40eece:	cc                   	int3
40eecf:	cc                   	int3
40eed0:	55                   	push   %ebp
40eed1:	8b ec                	mov    %esp,%ebp
40eed3:	83 ec 64             	sub    $0x64,%esp
40eed6:	53                   	push   %ebx
40eed7:	56                   	push   %esi
40eed8:	8b f1                	mov    %ecx,%esi
40eeda:	57                   	push   %edi
40eedb:	83 be 88 01 00 00 00 	cmpl   $0x0,0x188(%esi)
40eee2:	0f 85 ab 6b 06 00    	jne    0x475a93