41eabe:	2b ca                	sub    %edx,%ecx
41eac0:	83 c8 ff             	or     $0xffffffff,%eax
41eac3:	57                   	push   %edi
41eac4:	8b 7d 10             	mov    0x10(%ebp),%edi
41eac7:	41                   	inc    %ecx
41eac8:	2b c7                	sub    %edi,%eax
41eaca:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41eacd:	3b c8                	cmp    %eax,%ecx
41eacf:	76 05                	jbe    0x41ead6
41ead1:	6a 0c                	push   $0xc
41ead3:	58                   	pop    %eax
41ead4:	eb 59                	jmp    0x41eb2f
41ead6:	53                   	push   %ebx
41ead7:	56                   	push   %esi
41ead8:	8d 5f 01             	lea    0x1(%edi),%ebx
41eadb:	03 d9                	add    %ecx,%ebx
41eadd:	6a 01                	push   $0x1
41eadf:	53                   	push   %ebx
41eae0:	e8 4a 59 ff ff       	call   0x41442f
41eae5:	8b f0                	mov    %eax,%esi
41eae7:	59                   	pop    %ecx
41eae8:	59                   	pop    %ecx
41eae9:	85 ff                	test   %edi,%edi
41eaeb:	74 12                	je     0x41eaff
41eaed:	57                   	push   %edi
41eaee:	ff 75 0c             	push   0xc(%ebp)
41eaf1:	53                   	push   %ebx
41eaf2:	56                   	push   %esi
41eaf3:	e8 04 64 00 00       	call   0x424efc
41eaf8:	83 c4 10             	add    $0x10,%esp
41eafb:	85 c0                	test   %eax,%eax
41eafd:	75 35                	jne    0x41eb34
41eaff:	ff 75 fc             	push   -0x4(%ebp)
41eb02:	2b df                	sub    %edi,%ebx
41eb04:	8d 04 3e             	lea    (%esi,%edi,1),%eax
41eb07:	ff 75 08             	push   0x8(%ebp)
41eb0a:	53                   	push   %ebx
41eb0b:	50                   	push   %eax
41eb0c:	e8 eb 63 00 00       	call   0x424efc
41eb11:	83 c4 10             	add    $0x10,%esp
41eb14:	85 c0                	test   %eax,%eax
41eb16:	75 1c                	jne    0x41eb34
41eb18:	8b 4d 14             	mov    0x14(%ebp),%ecx
41eb1b:	56                   	push   %esi
41eb1c:	e8 c9 01 00 00       	call   0x41ecea
41eb21:	6a 00                	push   $0x0
41eb23:	8b f0                	mov    %eax,%esi
41eb25:	e8 e6 61 ff ff       	call   0x414d10
41eb2a:	59                   	pop    %ecx
41eb2b:	8b c6                	mov    %esi,%eax
41eb2d:	5e                   	pop    %esi
41eb2e:	5b                   	pop    %ebx
41eb2f:	5f                   	pop    %edi
41eb30:	8b e5                	mov    %ebp,%esp
41eb32:	5d                   	pop    %ebp
41eb33:	c3                   	ret
41eb34:	33 c0                	xor    %eax,%eax
41eb36:	50                   	push   %eax
41eb37:	50                   	push   %eax
41eb38:	50                   	push   %eax
41eb39:	50                   	push   %eax
41eb3a:	50                   	push   %eax
41eb3b:	e8 cf d1 fe ff       	call   0x40bd0f
41eb40:	cc                   	int3
41eb41:	8b ff                	mov    %edi,%edi
41eb43:	55                   	push   %ebp
41eb44:	8b ec                	mov    %esp,%ebp
41eb46:	81 ec 50 01 00 00    	sub    $0x150,%esp
41eb4c:	a1 28 ba 43 00       	mov    0x43ba28,%eax
41eb51:	33 c5                	xor    %ebp,%eax
41eb53:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eb56:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41eb59:	53                   	push   %ebx
41eb5a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41eb5d:	56                   	push   %esi
41eb5e:	8b 75 10             	mov    0x10(%ebp),%esi
41eb61:	57                   	push   %edi
41eb62:	89 b5 b8 fe ff ff    	mov    %esi,-0x148(%ebp)
41eb68:	eb 19                	jmp    0x41eb83
41eb6a:	8a 01                	mov    (%ecx),%al
41eb6c:	3c 2f                	cmp    $0x2f,%al
41eb6e:	74 17                	je     0x41eb87
41eb70:	3c 5c                	cmp    $0x5c,%al
41eb72:	74 13                	je     0x41eb87
41eb74:	3c 3a                	cmp    $0x3a,%al
41eb76:	74 0f                	je     0x41eb87
41eb78:	51                   	push   %ecx
41eb79:	53                   	push   %ebx
41eb7a:	e8 11 69 00 00       	call   0x425490
41eb7f:	59                   	pop    %ecx
41eb80:	59                   	pop    %ecx
41eb81:	8b c8                	mov    %eax,%ecx
41eb83:	3b cb                	cmp    %ebx,%ecx
41eb85:	75 e3                	jne    0x41eb6a
41eb87:	8a 11                	mov    (%ecx),%dl
41eb89:	80 fa 3a             	cmp    $0x3a,%dl
41eb8c:	75 17                	jne    0x41eba5
41eb8e:	8d 43 01             	lea    0x1(%ebx),%eax
41eb91:	3b c8                	cmp    %eax,%ecx
41eb93:	74 10                	je     0x41eba5
41eb95:	56                   	push   %esi
41eb96:	33 ff                	xor    %edi,%edi
41eb98:	57                   	push   %edi
41eb99:	57                   	push   %edi
41eb9a:	53                   	push   %ebx
41eb9b:	e8 0b ff ff ff       	call   0x41eaab
41eba0:	83 c4 10             	add    $0x10,%esp
41eba3:	eb 7a                	jmp    0x41ec1f
41eba5:	33 ff                	xor    %edi,%edi
41eba7:	80 fa 2f             	cmp    $0x2f,%dl
41ebaa:	74 0e                	je     0x41ebba
41ebac:	80 fa 5c             	cmp    $0x5c,%dl
41ebaf:	74 09                	je     0x41ebba
41ebb1:	80 fa 3a             	cmp    $0x3a,%dl
41ebb4:	74 04                	je     0x41ebba
41ebb6:	8b c7                	mov    %edi,%eax
41ebb8:	eb 03                	jmp    0x41ebbd
41ebba:	33 c0                	xor    %eax,%eax
41ebbc:	40                   	inc    %eax
41ebbd:	0f b6 c0             	movzbl %al,%eax
41ebc0:	2b cb                	sub    %ebx,%ecx
41ebc2:	41                   	inc    %ecx
41ebc3:	f7 d8                	neg    %eax
41ebc5:	68 40 01 00 00       	push   $0x140
41ebca:	1b c0                	sbb    %eax,%eax
41ebcc:	23 c1                	and    %ecx,%eax
41ebce:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
41ebd4:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
41ebda:	57                   	push   %edi
41ebdb:	50                   	push   %eax
41ebdc:	e8 ff 9d fe ff       	call   0x4089e0
41ebe1:	83 c4 0c             	add    $0xc,%esp
41ebe4:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
41ebea:	57                   	push   %edi
41ebeb:	57                   	push   %edi
41ebec:	57                   	push   %edi
41ebed:	50                   	push   %eax
41ebee:	57                   	push   %edi
41ebef:	53                   	push   %ebx
41ebf0:	ff 15 08 72 42 00    	call   *0x427208
41ebf6:	8b f0                	mov    %eax,%esi
41ebf8:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
41ebfe:	83 fe ff             	cmp    $0xffffffff,%esi
41ec01:	75 2d                	jne    0x41ec30
41ec03:	50                   	push   %eax
41ec04:	57                   	push   %edi
41ec05:	57                   	push   %edi
41ec06:	53                   	push   %ebx
41ec07:	e8 9f fe ff ff       	call   0x41eaab
41ec0c:	83 c4 10             	add    $0x10,%esp
41ec0f:	8b f8                	mov    %eax,%edi
41ec11:	83 fe ff             	cmp    $0xffffffff,%esi
41ec14:	74 07                	je     0x41ec1d
41ec16:	56                   	push   %esi
41ec17:	ff 15 04 72 42 00    	call   *0x427204
41ec1d:	8b c7                	mov    %edi,%eax
41ec1f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ec22:	5f                   	pop    %edi
41ec23:	5e                   	pop    %esi
41ec24:	33 cd                	xor    %ebp,%ecx
41ec26:	5b                   	pop    %ebx
41ec27:	e8 34 84 fe ff       	call   0x407060
41ec2c:	8b e5                	mov    %ebp,%esp
41ec2e:	5d                   	pop    %ebp
41ec2f:	c3                   	ret
41ec30:	8b 48 04             	mov    0x4(%eax),%ecx
41ec33:	2b 08                	sub    (%eax),%ecx
41ec35:	c1 f9 02             	sar    $0x2,%ecx
41ec38:	89 8d b0 fe ff ff    	mov    %ecx,-0x150(%ebp)
41ec3e:	80 bd e8 fe ff ff 2e 	cmpb   $0x2e,-0x118(%ebp)
41ec45:	75 18                	jne    0x41ec5f
41ec47:	8a 8d e9 fe ff ff    	mov    -0x117(%ebp),%cl
41ec4d:	84 c9                	test   %cl,%cl
41ec4f:	74 29                	je     0x41ec7a
41ec51:	80 f9 2e             	cmp    $0x2e,%cl
41ec54:	75 09                	jne    0x41ec5f
41ec56:	80 bd ea fe ff ff 00 	cmpb   $0x0,-0x116(%ebp)
41ec5d:	74 1b                	je     0x41ec7a
41ec5f:	50                   	push   %eax
41ec60:	ff b5 b4 fe ff ff    	push   -0x14c(%ebp)
41ec66:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
41ec6c:	53                   	push   %ebx
41ec6d:	50                   	push   %eax
41ec6e:	e8 38 fe ff ff       	call   0x41eaab
41ec73:	83 c4 10             	add    $0x10,%esp
41ec76:	85 c0                	test   %eax,%eax
41ec78:	75 95                	jne    0x41ec0f
41ec7a:	8d 85 bc fe ff ff    	lea    -0x144(%ebp),%eax
41ec80:	50                   	push   %eax
41ec81:	56                   	push   %esi
41ec82:	ff 15 0c 72 42 00    	call   *0x42720c
41ec88:	85 c0                	test   %eax,%eax
41ec8a:	8b 85 b8 fe ff ff    	mov    -0x148(%ebp),%eax
41ec90:	75 ac                	jne    0x41ec3e
41ec92:	8b 10                	mov    (%eax),%edx
41ec94:	8b 40 04             	mov    0x4(%eax),%eax
41ec97:	8b 8d b0 fe ff ff    	mov    -0x150(%ebp),%ecx
41ec9d:	2b c2                	sub    %edx,%eax
41ec9f:	c1 f8 02             	sar    $0x2,%eax
41eca2:	3b c8                	cmp    %eax,%ecx
41eca4:	0f 84 67 ff ff ff    	je     0x41ec11
41ecaa:	68 03 e9 41 00       	push   $0x41e903
41ecaf:	2b c1                	sub    %ecx,%eax
41ecb1:	6a 04                	push   $0x4
41ecb3:	50                   	push   %eax
41ecb4:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
41ecb7:	50                   	push   %eax
41ecb8:	e8 f3 63 00 00       	call   0x4250b0
41ecbd:	83 c4 10             	add    $0x10,%esp
41ecc0:	e9 4c ff ff ff       	jmp    0x41ec11
41ecc5:	8b ff                	mov    %edi,%edi
41ecc7:	56                   	push   %esi
41ecc8:	57                   	push   %edi
41ecc9:	8b f9                	mov    %ecx,%edi
41eccb:	8b 37                	mov    (%edi),%esi
41eccd:	eb 0b                	jmp    0x41ecda
41eccf:	ff 36                	push   (%esi)
41ecd1:	e8 3a 60 ff ff       	call   0x414d10
41ecd6:	59                   	pop    %ecx
41ecd7:	83 c6 04             	add    $0x4,%esi
41ecda:	3b 77 04             	cmp    0x4(%edi),%esi
41ecdd:	75 f0                	jne    0x41eccf
41ecdf:	ff 37                	push   (%edi)
41ece1:	e8 2a 60 ff ff       	call   0x414d10
41ece6:	59                   	pop    %ecx
41ece7:	5f                   	pop    %edi
41ece8:	5e                   	pop    %esi
41ece9:	c3                   	ret
41ecea:	8b ff                	mov    %edi,%edi
41ecec:	55                   	push   %ebp
41eced:	8b ec                	mov    %esp,%ebp
41ecef:	56                   	push   %esi
41ecf0:	57                   	push   %edi
41ecf1:	8b f1                	mov    %ecx,%esi
41ecf3:	e8 27 00 00 00       	call   0x41ed1f
41ecf8:	8b f8                	mov    %eax,%edi
41ecfa:	85 ff                	test   %edi,%edi
41ecfc:	74 0d                	je     0x41ed0b
41ecfe:	ff 75 08             	push   0x8(%ebp)
41ed01:	e8 0a 60 ff ff       	call   0x414d10
41ed06:	59                   	pop    %ecx
41ed07:	8b c7                	mov    %edi,%eax
41ed09:	eb 0e                	jmp    0x41ed19
41ed0b:	8b 4e 04             	mov    0x4(%esi),%ecx
41ed0e:	8b 45 08             	mov    0x8(%ebp),%eax
41ed11:	89 01                	mov    %eax,(%ecx)
41ed13:	83 46 04 04          	addl   $0x4,0x4(%esi)
41ed17:	33 c0                	xor    %eax,%eax
41ed19:	5f                   	pop    %edi
41ed1a:	5e                   	pop    %esi
41ed1b:	5d                   	pop    %ebp
41ed1c:	c2 04 00             	ret    $0x4
41ed1f:	8b ff                	mov    %edi,%edi
41ed21:	56                   	push   %esi
41ed22:	8b f1                	mov    %ecx,%esi
41ed24:	57                   	push   %edi
41ed25:	8b 7e 08             	mov    0x8(%esi),%edi
41ed28:	39 7e 04             	cmp    %edi,0x4(%esi)
41ed2b:	74 04                	je     0x41ed31
41ed2d:	33 c0                	xor    %eax,%eax
41ed2f:	eb 72                	jmp    0x41eda3
41ed31:	83 3e 00             	cmpl   $0x0,(%esi)
41ed34:	75 2b                	jne    0x41ed61
41ed36:	6a 04                	push   $0x4
41ed38:	6a 04                	push   $0x4
41ed3a:	e8 f0 56 ff ff       	call   0x41442f
41ed3f:	6a 00                	push   $0x0
41ed41:	89 06                	mov    %eax,(%esi)
41ed43:	e8 c8 5f ff ff       	call   0x414d10
41ed48:	8b 06                	mov    (%esi),%eax
41ed4a:	83 c4 0c             	add    $0xc,%esp
41ed4d:	85 c0                	test   %eax,%eax
41ed4f:	75 05                	jne    0x41ed56
41ed51:	6a 0c                	push   $0xc
41ed53:	58                   	pop    %eax
41ed54:	eb 4d                	jmp    0x41eda3
41ed56:	89 46 04             	mov    %eax,0x4(%esi)
41ed59:	83 c0 10             	add    $0x10,%eax
41ed5c:	89 46 08             	mov    %eax,0x8(%esi)
41ed5f:	eb cc                	jmp    0x41ed2d
41ed61:	2b 3e                	sub    (%esi),%edi
41ed63:	c1 ff 02             	sar    $0x2,%edi
41ed66:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
41ed6c:	77 e3                	ja     0x41ed51
41ed6e:	53                   	push   %ebx
41ed6f:	6a 04                	push   $0x4
41ed71:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
41ed74:	53                   	push   %ebx
41ed75:	ff 36                	push   (%esi)
41ed77:	e8 17 09 00 00       	call   0x41f693
41ed7c:	83 c4 0c             	add    $0xc,%esp
41ed7f:	85 c0                	test   %eax,%eax
41ed81:	75 05                	jne    0x41ed88
41ed83:	6a 0c                	push   $0xc
41ed85:	5e                   	pop    %esi
41ed86:	eb 10                	jmp    0x41ed98
41ed88:	89 06                	mov    %eax,(%esi)
41ed8a:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
41ed8d:	8d 04 98             	lea    (%eax,%ebx,4),%eax
41ed90:	89 4e 04             	mov    %ecx,0x4(%esi)
41ed93:	89 46 08             	mov    %eax,0x8(%esi)
41ed96:	33 f6                	xor    %esi,%esi
41ed98:	6a 00                	push   $0x0
41ed9a:	e8 71 5f ff ff       	call   0x414d10
41ed9f:	59                   	pop    %ecx
41eda0:	8b c6                	mov    %esi,%eax
41eda2:	5b                   	pop    %ebx
41eda3:	5f                   	pop    %edi
41eda4:	5e                   	pop    %esi
41eda5:	c3                   	ret
41eda6:	8b ff                	mov    %edi,%edi
41eda8:	55                   	push   %ebp
41eda9:	8b ec                	mov    %esp,%ebp
41edab:	5d                   	pop    %ebp
41edac:	e9 6a fb ff ff       	jmp    0x41e91b
41edb1:	6a 08                	push   $0x8
41edb3:	68 b0 82 43 00       	push   $0x4382b0
41edb8:	e8 63 88 fe ff       	call   0x407620
41edbd:	8b 45 08             	mov    0x8(%ebp),%eax
41edc0:	ff 30                	push   (%eax)
41edc2:	e8 f7 55 ff ff       	call   0x4143be
41edc7:	59                   	pop    %ecx
41edc8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41edcc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41edcf:	e8 48 00 00 00       	call   0x41ee1c
41edd4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41eddb:	e8 08 00 00 00       	call   0x41ede8
41ede0:	e8 81 88 fe ff       	call   0x407666
41ede5:	c2 0c 00             	ret    $0xc
41ede8:	8b 45 10             	mov    0x10(%ebp),%eax
41edeb:	ff 30                	push   (%eax)
41eded:	e8 14 56 ff ff       	call   0x414406
41edf2:	59                   	pop    %ecx
41edf3:	c3                   	ret
41edf4:	8b ff                	mov    %edi,%edi
41edf6:	55                   	push   %ebp
41edf7:	8b ec                	mov    %esp,%ebp
41edf9:	83 ec 0c             	sub    $0xc,%esp
41edfc:	8b 45 08             	mov    0x8(%ebp),%eax
41edff:	8d 4d ff             	lea    -0x1(%ebp),%ecx
41ee02:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ee05:	89 45 f4             	mov    %eax,-0xc(%ebp)
41ee08:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ee0b:	50                   	push   %eax
41ee0c:	ff 75 0c             	push   0xc(%ebp)
41ee0f:	8d 45 f4             	lea    -0xc(%ebp),%eax
41ee12:	50                   	push   %eax
41ee13:	e8 99 ff ff ff       	call   0x41edb1
41ee18:	8b e5                	mov    %ebp,%esp
41ee1a:	5d                   	pop    %ebp