41ea3c:	85 c0                	test   %eax,%eax
41ea3e:	75 47                	jne    0x41ea87
41ea40:	ff 15 98 40 42 00    	call   *0x424098
41ea46:	8b f0                	mov    %eax,%esi
41ea48:	56                   	push   %esi
41ea49:	e8 77 03 ff ff       	call   0x40edc5
41ea4e:	59                   	pop    %ecx
41ea4f:	8b 0b                	mov    (%ebx),%ecx
41ea51:	8b c1                	mov    %ecx,%eax
41ea53:	83 e1 3f             	and    $0x3f,%ecx
41ea56:	c1 f8 06             	sar    $0x6,%eax
41ea59:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ea5c:	57                   	push   %edi
41ea5d:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ea64:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
41ea69:	ff 15 f0 40 42 00    	call   *0x4240f0
41ea6f:	85 f6                	test   %esi,%esi
41ea71:	0f 85 d7 fe ff ff    	jne    0x41e94e
41ea77:	e8 7f 03 ff ff       	call   0x40edfb
41ea7c:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
41ea82:	e9 c7 fe ff ff       	jmp    0x41e94e
41ea87:	83 f8 02             	cmp    $0x2,%eax
41ea8a:	75 07                	jne    0x41ea93
41ea8c:	8a 45 d4             	mov    -0x2c(%ebp),%al
41ea8f:	0c 40                	or     $0x40,%al
41ea91:	eb 0a                	jmp    0x41ea9d
41ea93:	83 f8 03             	cmp    $0x3,%eax
41ea96:	8a 45 d4             	mov    -0x2c(%ebp),%al
41ea99:	75 02                	jne    0x41ea9d
41ea9b:	0c 08                	or     $0x8,%al
41ea9d:	57                   	push   %edi
41ea9e:	ff 33                	push   (%ebx)
41eaa0:	88 45 ff             	mov    %al,-0x1(%ebp)
41eaa3:	e8 f5 ca ff ff       	call   0x41b59d
41eaa8:	8a 55 ff             	mov    -0x1(%ebp),%dl
41eaab:	59                   	pop    %ecx
41eaac:	59                   	pop    %ecx
41eaad:	8b 0b                	mov    (%ebx),%ecx
41eaaf:	80 ca 01             	or     $0x1,%dl
41eab2:	8b c1                	mov    %ecx,%eax
41eab4:	88 55 ff             	mov    %dl,-0x1(%ebp)
41eab7:	83 e1 3f             	and    $0x3f,%ecx
41eaba:	c1 f8 06             	sar    $0x6,%eax
41eabd:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eac0:	88 55 d4             	mov    %dl,-0x2c(%ebp)
41eac3:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eaca:	88 54 08 28          	mov    %dl,0x28(%eax,%ecx,1)
41eace:	8b 0b                	mov    (%ebx),%ecx
41ead0:	8b c1                	mov    %ecx,%eax
41ead2:	83 e1 3f             	and    $0x3f,%ecx
41ead5:	c1 f8 06             	sar    $0x6,%eax
41ead8:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eadb:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
41eadf:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eae6:	c6 44 08 29 00       	movb   $0x0,0x29(%eax,%ecx,1)
41eaeb:	74 1d                	je     0x41eb0a
41eaed:	ff 33                	push   (%ebx)
41eaef:	e8 e3 fc ff ff       	call   0x41e7d7
41eaf4:	8b f0                	mov    %eax,%esi
41eaf6:	59                   	pop    %ecx
41eaf7:	85 f6                	test   %esi,%esi
41eaf9:	74 0f                	je     0x41eb0a
41eafb:	ff 33                	push   (%ebx)
41eafd:	e8 0a 71 ff ff       	call   0x415c0c
41eb02:	59                   	pop    %ecx
41eb03:	8b c6                	mov    %esi,%eax
41eb05:	e9 2a 01 00 00       	jmp    0x41ec34
41eb0a:	8d 45 fe             	lea    -0x2(%ebp),%eax
41eb0d:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
41eb11:	50                   	push   %eax
41eb12:	ff 75 14             	push   0x14(%ebp)
41eb15:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41eb18:	83 ec 18             	sub    $0x18,%esp
41eb1b:	6a 06                	push   $0x6
41eb1d:	59                   	pop    %ecx
41eb1e:	8b fc                	mov    %esp,%edi
41eb20:	ff 33                	push   (%ebx)
41eb22:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41eb24:	e8 4c f8 ff ff       	call   0x41e375
41eb29:	8b 13                	mov    (%ebx),%edx
41eb2b:	8b f0                	mov    %eax,%esi
41eb2d:	83 c4 24             	add    $0x24,%esp
41eb30:	85 f6                	test   %esi,%esi
41eb32:	74 03                	je     0x41eb37
41eb34:	52                   	push   %edx
41eb35:	eb c6                	jmp    0x41eafd
41eb37:	8a 45 fe             	mov    -0x2(%ebp),%al
41eb3a:	8b ca                	mov    %edx,%ecx
41eb3c:	c1 f9 06             	sar    $0x6,%ecx
41eb3f:	83 e2 3f             	and    $0x3f,%edx
41eb42:	6b d2 38             	imul   $0x38,%edx,%edx
41eb45:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
41eb4c:	88 44 11 29          	mov    %al,0x29(%ecx,%edx,1)
41eb50:	8b 0b                	mov    (%ebx),%ecx
41eb52:	8b c1                	mov    %ecx,%eax
41eb54:	c1 f8 06             	sar    $0x6,%eax
41eb57:	83 e1 3f             	and    $0x3f,%ecx
41eb5a:	6b d1 38             	imul   $0x38,%ecx,%edx
41eb5d:	8b 0c 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%ecx
41eb64:	8b 45 14             	mov    0x14(%ebp),%eax
41eb67:	c1 e8 10             	shr    $0x10,%eax
41eb6a:	32 44 11 2d          	xor    0x2d(%ecx,%edx,1),%al
41eb6e:	24 01                	and    $0x1,%al
41eb70:	30 44 11 2d          	xor    %al,0x2d(%ecx,%edx,1)
41eb74:	f6 45 ff 48          	testb  $0x48,-0x1(%ebp)
41eb78:	75 1f                	jne    0x41eb99
41eb7a:	f6 45 14 08          	testb  $0x8,0x14(%ebp)
41eb7e:	74 19                	je     0x41eb99
41eb80:	8b 0b                	mov    (%ebx),%ecx
41eb82:	8b c1                	mov    %ecx,%eax
41eb84:	83 e1 3f             	and    $0x3f,%ecx
41eb87:	c1 f8 06             	sar    $0x6,%eax
41eb8a:	6b c9 38             	imul   $0x38,%ecx,%ecx
41eb8d:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41eb94:	80 4c 08 28 20       	orb    $0x20,0x28(%eax,%ecx,1)
41eb99:	8b 75 d8             	mov    -0x28(%ebp),%esi
41eb9c:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
41eba1:	8b c6                	mov    %esi,%eax
41eba3:	23 c1                	and    %ecx,%eax
41eba5:	3b c1                	cmp    %ecx,%eax
41eba7:	0f 85 85 00 00 00    	jne    0x41ec32
41ebad:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
41ebb1:	74 7f                	je     0x41ec32
41ebb3:	ff 75 f8             	push   -0x8(%ebp)
41ebb6:	ff 15 f0 40 42 00    	call   *0x4240f0
41ebbc:	83 ec 18             	sub    $0x18,%esp
41ebbf:	8d 45 ec             	lea    -0x14(%ebp),%eax
41ebc2:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
41ebc8:	89 75 d8             	mov    %esi,-0x28(%ebp)
41ebcb:	8d 75 d4             	lea    -0x2c(%ebp),%esi
41ebce:	6a 06                	push   $0x6
41ebd0:	59                   	pop    %ecx
41ebd1:	8b fc                	mov    %esp,%edi
41ebd3:	50                   	push   %eax
41ebd4:	ff 75 10             	push   0x10(%ebp)
41ebd7:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41ebd9:	e8 ea f9 ff ff       	call   0x41e5c8
41ebde:	8b d0                	mov    %eax,%edx
41ebe0:	83 c4 20             	add    $0x20,%esp
41ebe3:	83 fa ff             	cmp    $0xffffffff,%edx
41ebe6:	75 32                	jne    0x41ec1a
41ebe8:	ff 15 98 40 42 00    	call   *0x424098
41ebee:	50                   	push   %eax
41ebef:	e8 d1 01 ff ff       	call   0x40edc5
41ebf4:	8b 0b                	mov    (%ebx),%ecx
41ebf6:	8b c1                	mov    %ecx,%eax
41ebf8:	83 e1 3f             	and    $0x3f,%ecx
41ebfb:	c1 f8 06             	sar    $0x6,%eax
41ebfe:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ec01:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ec08:	80 64 08 28 fe       	andb   $0xfe,0x28(%eax,%ecx,1)
41ec0d:	ff 33                	push   (%ebx)
41ec0f:	e8 51 cb ff ff       	call   0x41b765
41ec14:	59                   	pop    %ecx
41ec15:	e9 15 fe ff ff       	jmp    0x41ea2f
41ec1a:	8b 0b                	mov    (%ebx),%ecx
41ec1c:	8b c1                	mov    %ecx,%eax
41ec1e:	c1 f8 06             	sar    $0x6,%eax
41ec21:	83 e1 3f             	and    $0x3f,%ecx
41ec24:	6b c9 38             	imul   $0x38,%ecx,%ecx
41ec27:	8b 04 85 c0 4a 43 00 	mov    0x434ac0(,%eax,4),%eax
41ec2e:	89 54 08 18          	mov    %edx,0x18(%eax,%ecx,1)
41ec32:	33 c0                	xor    %eax,%eax
41ec34:	5f                   	pop    %edi
41ec35:	5e                   	pop    %esi
41ec36:	5b                   	pop    %ebx
41ec37:	c9                   	leave
41ec38:	c3                   	ret
41ec39:	8b ff                	mov    %edi,%edi
41ec3b:	55                   	push   %ebp
41ec3c:	8b ec                	mov    %esp,%ebp
41ec3e:	53                   	push   %ebx
41ec3f:	56                   	push   %esi
41ec40:	57                   	push   %edi
41ec41:	33 ff                	xor    %edi,%edi
41ec43:	bb e3 00 00 00       	mov    $0xe3,%ebx
41ec48:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
41ec4b:	99                   	cltd
41ec4c:	2b c2                	sub    %edx,%eax
41ec4e:	8b f0                	mov    %eax,%esi
41ec50:	d1 fe                	sar    $1,%esi
41ec52:	6a 55                	push   $0x55
41ec54:	ff 34 f5 00 a5 42 00 	push   0x42a500(,%esi,8)
41ec5b:	ff 75 08             	push   0x8(%ebp)
41ec5e:	e8 c5 e0 fe ff       	call   0x40cd28
41ec63:	83 c4 0c             	add    $0xc,%esp
41ec66:	85 c0                	test   %eax,%eax
41ec68:	74 13                	je     0x41ec7d
41ec6a:	79 05                	jns    0x41ec71
41ec6c:	8d 5e ff             	lea    -0x1(%esi),%ebx
41ec6f:	eb 03                	jmp    0x41ec74
41ec71:	8d 7e 01             	lea    0x1(%esi),%edi
41ec74:	3b fb                	cmp    %ebx,%edi
41ec76:	7e d0                	jle    0x41ec48
41ec78:	83 c8 ff             	or     $0xffffffff,%eax
41ec7b:	eb 07                	jmp    0x41ec84
41ec7d:	8b 04 f5 04 a5 42 00 	mov    0x42a504(,%esi,8),%eax
41ec84:	5f                   	pop    %edi
41ec85:	5e                   	pop    %esi
41ec86:	5b                   	pop    %ebx
41ec87:	5d                   	pop    %ebp
41ec88:	c3                   	ret
41ec89:	8b ff                	mov    %edi,%edi
41ec8b:	55                   	push   %ebp
41ec8c:	8b ec                	mov    %esp,%ebp
41ec8e:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ec91:	53                   	push   %ebx
41ec92:	56                   	push   %esi
41ec93:	57                   	push   %edi
41ec94:	85 c9                	test   %ecx,%ecx
41ec96:	0f 84 83 00 00 00    	je     0x41ed1f
41ec9c:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
41eca2:	74 7b                	je     0x41ed1f
41eca4:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
41ecaa:	74 73                	je     0x41ed1f
41ecac:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41ecb0:	8b 75 10             	mov    0x10(%ebp),%esi
41ecb3:	75 04                	jne    0x41ecb9
41ecb5:	85 f6                	test   %esi,%esi
41ecb7:	7f 66                	jg     0x41ed1f
41ecb9:	85 f6                	test   %esi,%esi
41ecbb:	78 62                	js     0x41ed1f
41ecbd:	33 ff                	xor    %edi,%edi
41ecbf:	bb e3 00 00 00       	mov    $0xe3,%ebx
41ecc4:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
41ecc7:	99                   	cltd
41ecc8:	2b c2                	sub    %edx,%eax
41ecca:	8b d1                	mov    %ecx,%edx
41eccc:	d1 f8                	sar    $1,%eax
41ecce:	2b 14 c5 e0 93 42 00 	sub    0x4293e0(,%eax,8),%edx
41ecd5:	74 13                	je     0x41ecea
41ecd7:	85 d2                	test   %edx,%edx
41ecd9:	79 05                	jns    0x41ece0
41ecdb:	8d 58 ff             	lea    -0x1(%eax),%ebx
41ecde:	eb 03                	jmp    0x41ece3
41ece0:	8d 78 01             	lea    0x1(%eax),%edi
41ece3:	3b fb                	cmp    %ebx,%edi
41ece5:	7e dd                	jle    0x41ecc4
41ece7:	83 c8 ff             	or     $0xffffffff,%eax
41ecea:	85 c0                	test   %eax,%eax
41ecec:	78 31                	js     0x41ed1f
41ecee:	8b 1c c5 e4 93 42 00 	mov    0x4293e4(,%eax,8),%ebx
41ecf5:	6a 55                	push   $0x55
41ecf7:	53                   	push   %ebx
41ecf8:	e8 91 0b ff ff       	call   0x40f88e
41ecfd:	8b f8                	mov    %eax,%edi
41ecff:	59                   	pop    %ecx
41ed00:	59                   	pop    %ecx
41ed01:	85 f6                	test   %esi,%esi
41ed03:	7e 15                	jle    0x41ed1a
41ed05:	3b fe                	cmp    %esi,%edi
41ed07:	7d 16                	jge    0x41ed1f
41ed09:	53                   	push   %ebx
41ed0a:	56                   	push   %esi
41ed0b:	ff 75 0c             	push   0xc(%ebp)
41ed0e:	e8 4a 9d ff ff       	call   0x418a5d
41ed13:	83 c4 0c             	add    $0xc,%esp
41ed16:	85 c0                	test   %eax,%eax
41ed18:	75 0c                	jne    0x41ed26
41ed1a:	8d 47 01             	lea    0x1(%edi),%eax
41ed1d:	eb 02                	jmp    0x41ed21
41ed1f:	33 c0                	xor    %eax,%eax
41ed21:	5f                   	pop    %edi
41ed22:	5e                   	pop    %esi
41ed23:	5b                   	pop    %ebx
41ed24:	5d                   	pop    %ebp
41ed25:	c3                   	ret
41ed26:	33 c0                	xor    %eax,%eax
41ed28:	50                   	push   %eax
41ed29:	50                   	push   %eax
41ed2a:	50                   	push   %eax
41ed2b:	50                   	push   %eax
41ed2c:	50                   	push   %eax
41ed2d:	e8 7c e3 fe ff       	call   0x40d0ae
41ed32:	cc                   	int3
41ed33:	8b ff                	mov    %edi,%edi
41ed35:	55                   	push   %ebp
41ed36:	8b ec                	mov    %esp,%ebp
41ed38:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41ed3c:	74 1d                	je     0x41ed5b
41ed3e:	ff 75 08             	push   0x8(%ebp)
41ed41:	e8 f3 fe ff ff       	call   0x41ec39
41ed46:	59                   	pop    %ecx
41ed47:	85 c0                	test   %eax,%eax
41ed49:	78 10                	js     0x41ed5b
41ed4b:	3d e4 00 00 00       	cmp    $0xe4,%eax
41ed50:	73 09                	jae    0x41ed5b
41ed52:	8b 04 c5 e0 93 42 00 	mov    0x4293e0(,%eax,8),%eax
41ed59:	5d                   	pop    %ebp
41ed5a:	c3                   	ret
41ed5b:	33 c0                	xor    %eax,%eax
41ed5d:	5d                   	pop    %ebp
41ed5e:	c3                   	ret
41ed5f:	8b ff                	mov    %edi,%edi
41ed61:	55                   	push   %ebp
41ed62:	8b ec                	mov    %esp,%ebp
41ed64:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ed67:	80 39 00             	cmpb   $0x0,(%ecx)
41ed6a:	75 05                	jne    0x41ed71
41ed6c:	33 c0                	xor    %eax,%eax
41ed6e:	40                   	inc    %eax
41ed6f:	eb 16                	jmp    0x41ed87
41ed71:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
41ed75:	75 05                	jne    0x41ed7c
41ed77:	6a 02                	push   $0x2
41ed79:	58                   	pop    %eax
41ed7a:	eb 0b                	jmp    0x41ed87
41ed7c:	33 c0                	xor    %eax,%eax
41ed7e:	38 41 02             	cmp    %al,0x2(%ecx)
41ed81:	0f 95 c0             	setne  %al
41ed84:	83 c0 03             	add    $0x3,%eax
41ed87:	5d                   	pop    %ebp
41ed88:	c2 04 00             	ret    $0x4
41ed8b:	8b ff                	mov    %edi,%edi
41ed8d:	55                   	push   %ebp
41ed8e:	8b ec                	mov    %esp,%ebp
41ed90:	51                   	push   %ecx
41ed91:	ff 75 14             	push   0x14(%ebp)
41ed94:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ed97:	ff 75 10             	push   0x10(%ebp)
41ed9a:	ff 75 0c             	push   0xc(%ebp)
41ed9d:	50                   	push   %eax
41ed9e:	e8 cb 2c 00 00       	call   0x421a6e
41eda3:	8b d0                	mov    %eax,%edx
41eda5:	83 c4 10             	add    $0x10,%esp
41eda8:	83 fa 04             	cmp    $0x4,%edx
41edab:	77 1a                	ja     0x41edc7
41edad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41edb0:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
41edb6:	76 05                	jbe    0x41edbd
41edb8:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
41edbd:	8b 45 08             	mov    0x8(%ebp),%eax
41edc0:	85 c0                	test   %eax,%eax
41edc2:	74 03                	je     0x41edc7
41edc4:	66 89 08             	mov    %cx,(%eax)
41edc7:	8b c2                	mov    %edx,%eax
41edc9:	c9                   	leave
41edca:	c3                   	ret
41edcb:	8b ff                	mov    %edi,%edi
41edcd:	55                   	push   %ebp
41edce:	8b ec                	mov    %esp,%ebp
41edd0:	51                   	push   %ecx
41edd1:	51                   	push   %ecx
41edd2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41edd6:	53                   	push   %ebx
41edd7:	56                   	push   %esi
41edd8:	57                   	push   %edi
41edd9:	8b 7d 0c             	mov    0xc(%ebp),%edi
41eddc:	8b 3f                	mov    (%edi),%edi
41edde:	0f 84 9c 00 00 00    	je     0x41ee80