506d5b:	8d 44 24 34          	lea    0x34(%esp),%eax
506d5f:	50                   	push   %eax
506d60:	56                   	push   %esi
506d61:	e8 da 99 01 00       	call   0x520740
506d66:	83 c4 0c             	add    $0xc,%esp
506d69:	85 c0                	test   %eax,%eax
506d6b:	74 1a                	je     0x506d87
506d6d:	57                   	push   %edi
506d6e:	8d 44 24 34          	lea    0x34(%esp),%eax
506d72:	50                   	push   %eax
506d73:	ff 74 24 1c          	push   0x1c(%esp)
506d77:	e8 54 c0 0c 00       	call   0x5d2dd0
506d7c:	83 c4 0c             	add    $0xc,%esp
506d7f:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%esp)
506d86:	00
506d87:	ff 74 24 24          	push   0x24(%esp)
506d8b:	e8 50 9f fe ff       	call   0x4f0ce0
506d90:	56                   	push   %esi
506d91:	e8 5a 43 01 00       	call   0x51b0f0
506d96:	ff 74 24 18          	push   0x18(%esp)
506d9a:	e8 51 43 01 00       	call   0x51b0f0
506d9f:	53                   	push   %ebx
506da0:	e8 4b 43 01 00       	call   0x51b0f0
506da5:	8d 44 24 40          	lea    0x40(%esp),%eax
506da9:	6a 40                	push   $0x40
506dab:	50                   	push   %eax
506dac:	e8 2f ac ef ff       	call   0x4019e0
506db1:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
506db8:	83 c4 18             	add    $0x18,%esp
506dbb:	8b 44 24 28          	mov    0x28(%esp),%eax
506dbf:	5f                   	pop    %edi
506dc0:	5e                   	pop    %esi
506dc1:	5d                   	pop    %ebp
506dc2:	5b                   	pop    %ebx
506dc3:	33 cc                	xor    %esp,%ecx
506dc5:	e8 5c ac 0c 00       	call   0x5d1a26
506dca:	83 c4 64             	add    $0x64,%esp
506dcd:	c3                   	ret
506dce:	cc                   	int3
506dcf:	cc                   	int3
506dd0:	b8 04 00 00 00       	mov    $0x4,%eax
506dd5:	e8 d6 a9 0c 00       	call   0x5d17b0
506dda:	53                   	push   %ebx
506ddb:	55                   	push   %ebp
506ddc:	56                   	push   %esi
506ddd:	8b 74 24 14          	mov    0x14(%esp),%esi
506de1:	56                   	push   %esi
506de2:	e8 d9 92 fe ff       	call   0x4f00c0
506de7:	83 c4 04             	add    $0x4,%esp
506dea:	83 f8 72             	cmp    $0x72,%eax
506ded:	0f 85 91 01 00 00    	jne    0x506f84
506df3:	8b 74 24 2c          	mov    0x2c(%esp),%esi
506df7:	8b 6c 24 28          	mov    0x28(%esp),%ebp
506dfb:	8b 44 24 1c          	mov    0x1c(%esp),%eax
506dff:	8b d8                	mov    %eax,%ebx
506e01:	56                   	push   %esi
506e02:	55                   	push   %ebp
506e03:	ff 74 24 2c          	push   0x2c(%esp)
506e07:	83 e0 01             	and    $0x1,%eax
506e0a:	d1 eb                	shr    $1,%ebx
506e0c:	ff 74 24 2c          	push   0x2c(%esp)
506e10:	03 c3                	add    %ebx,%eax
506e12:	50                   	push   %eax
506e13:	ff 74 24 2c          	push   0x2c(%esp)
506e17:	89 44 24 24          	mov    %eax,0x24(%esp)
506e1b:	e8 60 f0 00 00       	call   0x515e80
506e20:	50                   	push   %eax
506e21:	e8 4a fd ff ff       	call   0x506b70
506e26:	83 c4 1c             	add    $0x1c,%esp
506e29:	85 c0                	test   %eax,%eax
506e2b:	0f 84 78 01 00 00    	je     0x506fa9
506e31:	57                   	push   %edi
506e32:	68 04 01 00 00       	push   $0x104
506e37:	68 d4 aa 62 00       	push   $0x62aad4
506e3c:	56                   	push   %esi
506e3d:	e8 0e 99 fd ff       	call   0x4e0750
506e42:	8b f8                	mov    %eax,%edi
506e44:	83 c4 0c             	add    $0xc,%esp
506e47:	85 ff                	test   %edi,%edi
506e49:	75 20                	jne    0x506e6b
506e4b:	68 05 01 00 00       	push   $0x105
506e50:	68 d4 aa 62 00       	push   $0x62aad4
506e55:	6a 41                	push   $0x41
506e57:	6a 6f                	push   $0x6f
506e59:	6a 34                	push   $0x34
506e5b:	e8 20 21 fd ff       	call   0x4d8f80
506e60:	83 c4 14             	add    $0x14,%esp
506e63:	33 c0                	xor    %eax,%eax
506e65:	5f                   	pop    %edi
506e66:	5e                   	pop    %esi
506e67:	5d                   	pop    %ebp
506e68:	5b                   	pop    %ebx
506e69:	59                   	pop    %ecx
506e6a:	c3                   	ret
506e6b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
506e6f:	56                   	push   %esi
506e70:	57                   	push   %edi
506e71:	ff 74 24 30          	push   0x30(%esp)
506e75:	03 c3                	add    %ebx,%eax
506e77:	ff 74 24 30          	push   0x30(%esp)
506e7b:	ff 74 24 20          	push   0x20(%esp)
506e7f:	50                   	push   %eax
506e80:	e8 8b f6 00 00       	call   0x516510
506e85:	50                   	push   %eax
506e86:	e8 e5 fc ff ff       	call   0x506b70
506e8b:	83 c4 1c             	add    $0x1c,%esp
506e8e:	85 c0                	test   %eax,%eax
506e90:	75 1c                	jne    0x506eae
506e92:	68 0a 01 00 00       	push   $0x10a
506e97:	68 d4 aa 62 00       	push   $0x62aad4
506e9c:	56                   	push   %esi
506e9d:	57                   	push   %edi
506e9e:	e8 9d 99 fd ff       	call   0x4e0840
506ea3:	83 c4 10             	add    $0x10,%esp
506ea6:	33 c0                	xor    %eax,%eax
506ea8:	5f                   	pop    %edi
506ea9:	5e                   	pop    %esi
506eaa:	5d                   	pop    %ebp
506eab:	5b                   	pop    %ebx
506eac:	59                   	pop    %ecx
506ead:	c3                   	ret
506eae:	33 db                	xor    %ebx,%ebx
506eb0:	85 f6                	test   %esi,%esi
506eb2:	0f 84 ad 00 00 00    	je     0x506f65
506eb8:	83 fe 40             	cmp    $0x40,%esi
506ebb:	0f 82 89 00 00 00    	jb     0x506f4a
506ec1:	8d 46 ff             	lea    -0x1(%esi),%eax
506ec4:	8d 4d ff             	lea    -0x1(%ebp),%ecx
506ec7:	03 c7                	add    %edi,%eax
506ec9:	03 ce                	add    %esi,%ecx
506ecb:	3b e8                	cmp    %eax,%ebp
506ecd:	77 04                	ja     0x506ed3
506ecf:	3b cf                	cmp    %edi,%ecx
506ed1:	73 77                	jae    0x506f4a
506ed3:	8b d6                	mov    %esi,%edx
506ed5:	8d 45 10             	lea    0x10(%ebp),%eax
506ed8:	8b f7                	mov    %edi,%esi
506eda:	8d 4f 30             	lea    0x30(%edi),%ecx
506edd:	83 e2 c0             	and    $0xffffffc0,%edx
506ee0:	2b f5                	sub    %ebp,%esi
506ee2:	89 74 24 10          	mov    %esi,0x10(%esp)
506ee6:	8b 74 24 30          	mov    0x30(%esp),%esi
506eea:	8b 6c 24 10          	mov    0x10(%esp),%ebp
506eee:	66 90                	xchg   %ax,%ax
506ef0:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
506ef4:	83 c3 40             	add    $0x40,%ebx
506ef7:	8d 49 40             	lea    0x40(%ecx),%ecx
506efa:	8d 40 40             	lea    0x40(%eax),%eax
506efd:	0f 10 49 90          	movups -0x70(%ecx),%xmm1
506f01:	66 0f ef c8          	pxor   %xmm0,%xmm1
506f05:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
506f09:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
506f0d:	0f 10 4c 28 c0       	movups -0x40(%eax,%ebp,1),%xmm1
506f12:	66 0f ef c8          	pxor   %xmm0,%xmm1
506f16:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
506f1a:	0f 10 40 d0          	movups -0x30(%eax),%xmm0
506f1e:	0f 10 49 b0          	movups -0x50(%ecx),%xmm1
506f22:	66 0f ef c8          	pxor   %xmm0,%xmm1
506f26:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
506f2a:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
506f2e:	0f 10 49 c0          	movups -0x40(%ecx),%xmm1
506f32:	66 0f ef c8          	pxor   %xmm0,%xmm1
506f36:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
506f3a:	3b da                	cmp    %edx,%ebx
506f3c:	72 b2                	jb     0x506ef0
506f3e:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
506f42:	89 5c 24 10          	mov    %ebx,0x10(%esp)
506f46:	3b de                	cmp    %esi,%ebx
506f48:	73 1b                	jae    0x506f65
506f4a:	8d 0c 2b             	lea    (%ebx,%ebp,1),%ecx
506f4d:	8b d6                	mov    %esi,%edx
506f4f:	8b ef                	mov    %edi,%ebp
506f51:	2b 6c 24 2c          	sub    0x2c(%esp),%ebp
506f55:	2b d3                	sub    %ebx,%edx
506f57:	8a 04 29             	mov    (%ecx,%ebp,1),%al
506f5a:	8d 49 01             	lea    0x1(%ecx),%ecx
506f5d:	30 41 ff             	xor    %al,-0x1(%ecx)
506f60:	83 ea 01             	sub    $0x1,%edx
506f63:	75 f2                	jne    0x506f57
506f65:	68 0f 01 00 00       	push   $0x10f
506f6a:	68 d4 aa 62 00       	push   $0x62aad4
506f6f:	56                   	push   %esi
506f70:	57                   	push   %edi
506f71:	e8 ca 98 fd ff       	call   0x4e0840
506f76:	83 c4 10             	add    $0x10,%esp
506f79:	b8 01 00 00 00       	mov    $0x1,%eax
506f7e:	5f                   	pop    %edi
506f7f:	5e                   	pop    %esi
506f80:	5d                   	pop    %ebp
506f81:	5b                   	pop    %ebx
506f82:	59                   	pop    %ecx
506f83:	c3                   	ret
506f84:	ff 74 24 2c          	push   0x2c(%esp)
506f88:	ff 74 24 2c          	push   0x2c(%esp)
506f8c:	ff 74 24 2c          	push   0x2c(%esp)
506f90:	ff 74 24 2c          	push   0x2c(%esp)
506f94:	ff 74 24 2c          	push   0x2c(%esp)
506f98:	ff 74 24 2c          	push   0x2c(%esp)
506f9c:	56                   	push   %esi
506f9d:	e8 ce fb ff ff       	call   0x506b70
506fa2:	83 c4 1c             	add    $0x1c,%esp
506fa5:	85 c0                	test   %eax,%eax
506fa7:	75 07                	jne    0x506fb0
506fa9:	5e                   	pop    %esi
506faa:	5d                   	pop    %ebp
506fab:	33 c0                	xor    %eax,%eax
506fad:	5b                   	pop    %ebx
506fae:	59                   	pop    %ecx
506faf:	c3                   	ret
506fb0:	5e                   	pop    %esi
506fb1:	5d                   	pop    %ebp
506fb2:	b8 01 00 00 00       	mov    $0x1,%eax
506fb7:	5b                   	pop    %ebx
506fb8:	59                   	pop    %ecx
506fb9:	c3                   	ret
506fba:	cc                   	int3
506fbb:	cc                   	int3
506fbc:	cc                   	int3
506fbd:	cc                   	int3
506fbe:	cc                   	int3
506fbf:	cc                   	int3
506fc0:	6a 33                	push   $0x33
506fc2:	68 94 ab 62 00       	push   $0x62ab94
506fc7:	68 1c 04 00 00       	push   $0x41c
506fcc:	e8 6f 9a fd ff       	call   0x4e0a40
506fd1:	8b c8                	mov    %eax,%ecx
506fd3:	83 c4 0c             	add    $0xc,%esp
506fd6:	85 c9                	test   %ecx,%ecx
506fd8:	75 18                	jne    0x506ff2
506fda:	6a 34                	push   $0x34
506fdc:	68 94 ab 62 00       	push   $0x62ab94
506fe1:	6a 41                	push   $0x41
506fe3:	6a 6c                	push   $0x6c
506fe5:	6a 34                	push   $0x34
506fe7:	e8 94 1f fd ff       	call   0x4d8f80
506fec:	83 c4 14             	add    $0x14,%esp
506fef:	33 c0                	xor    %eax,%eax
506ff1:	c3                   	ret
506ff2:	8b 44 24 04          	mov    0x4(%esp),%eax
506ff6:	89 48 14             	mov    %ecx,0x14(%eax)
506ff9:	b8 01 00 00 00       	mov    $0x1,%eax
506ffe:	c3                   	ret
506fff:	cc                   	int3
507000:	8b 44 24 04          	mov    0x4(%esp),%eax
507004:	56                   	push   %esi
507005:	6a 40                	push   $0x40
507007:	68 94 ab 62 00       	push   $0x62ab94
50700c:	8b 70 14             	mov    0x14(%eax),%esi
50700f:	ff 76 0c             	push   0xc(%esi)
507012:	ff 76 08             	push   0x8(%esi)
507015:	e8 26 98 fd ff       	call   0x4e0840
50701a:	6a 41                	push   $0x41
50701c:	68 94 ab 62 00       	push   $0x62ab94
507021:	ff 76 14             	push   0x14(%esi)
507024:	ff 76 10             	push   0x10(%esi)
507027:	e8 14 98 fd ff       	call   0x4e0840
50702c:	ff b6 18 04 00 00    	push   0x418(%esi)
507032:	8d 46 18             	lea    0x18(%esi),%eax
507035:	50                   	push   %eax
507036:	e8 a5 a9 ef ff       	call   0x4019e0
50703b:	6a 43                	push   $0x43
50703d:	68 94 ab 62 00       	push   $0x62ab94
507042:	56                   	push   %esi
507043:	e8 38 97 fd ff       	call   0x4e0780
507048:	83 c4 34             	add    $0x34,%esp
50704b:	5e                   	pop    %esi
50704c:	c3                   	ret
50704d:	cc                   	int3
50704e:	cc                   	int3
50704f:	cc                   	int3
507050:	8b 44 24 04          	mov    0x4(%esp),%eax
507054:	56                   	push   %esi
507055:	57                   	push   %edi
507056:	8b 70 14             	mov    0x14(%eax),%esi
507059:	8b 44 24 10          	mov    0x10(%esp),%eax
50705d:	05 fd ef ff ff       	add    $0xffffeffd,%eax
507062:	83 f8 04             	cmp    $0x4,%eax
507065:	0f 87 23 01 00 00    	ja     0x50718e
50706b:	ff 24 85 98 71 50 00 	jmp    *0x507198(,%eax,4)
507072:	8b 44 24 18          	mov    0x18(%esp),%eax
507076:	85 c0                	test   %eax,%eax
507078:	0f 84 0b 01 00 00    	je     0x507189
50707e:	89 46 04             	mov    %eax,0x4(%esi)
507081:	5f                   	pop    %edi
507082:	b8 01 00 00 00       	mov    $0x1,%eax
507087:	5e                   	pop    %esi
507088:	c3                   	ret
507089:	8b 44 24 14          	mov    0x14(%esp),%eax
50708d:	89 06                	mov    %eax,(%esi)
50708f:	b8 01 00 00 00       	mov    $0x1,%eax
507094:	5f                   	pop    %edi
507095:	5e                   	pop    %esi
507096:	c3                   	ret
507097:	8b 7c 24 14          	mov    0x14(%esp),%edi
50709b:	85 ff                	test   %edi,%edi
50709d:	74 e2                	je     0x507081
50709f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5070a4:	74 db                	je     0x507081
5070a6:	85 ff                	test   %edi,%edi
5070a8:	0f 88 db 00 00 00    	js     0x507189
5070ae:	8b 46 08             	mov    0x8(%esi),%eax
5070b1:	85 c0                	test   %eax,%eax
5070b3:	74 13                	je     0x5070c8
5070b5:	6a 5e                	push   $0x5e
5070b7:	68 94 ab 62 00       	push   $0x62ab94
5070bc:	ff 76 0c             	push   0xc(%esi)
5070bf:	50                   	push   %eax
5070c0:	e8 7b 97 fd ff       	call   0x4e0840
5070c5:	83 c4 10             	add    $0x10,%esp
5070c8:	6a 60                	push   $0x60
5070ca:	68 94 ab 62 00       	push   $0x62ab94
5070cf:	57                   	push   %edi
5070d0:	ff 74 24 24          	push   0x24(%esp)
5070d4:	e8 97 af fd ff       	call   0x4e2070
5070d9:	83 c4 10             	add    $0x10,%esp
5070dc:	89 46 08             	mov    %eax,0x8(%esi)
5070df:	85 c0                	test   %eax,%eax
5070e1:	0f 84 a2 00 00 00    	je     0x507189
5070e7:	89 7e 0c             	mov    %edi,0xc(%esi)
5070ea:	b8 01 00 00 00       	mov    $0x1,%eax
5070ef:	5f                   	pop    %edi
5070f0:	5e                   	pop    %esi
5070f1:	c3                   	ret
5070f2:	8b 7c 24 14          	mov    0x14(%esp),%edi
5070f6:	85 ff                	test   %edi,%edi
5070f8:	0f 88 8b 00 00 00    	js     0x507189
5070fe:	8b 46 10             	mov    0x10(%esi),%eax
507101:	85 c0                	test   %eax,%eax
507103:	74 13                	je     0x507118
507105:	6a 6c                	push   $0x6c
507107:	68 94 ab 62 00       	push   $0x62ab94
50710c:	ff 76 14             	push   0x14(%esi)
50710f:	50                   	push   %eax
507110:	e8 2b 97 fd ff       	call   0x4e0840
507115:	83 c4 10             	add    $0x10,%esp
507118:	6a 6e                	push   $0x6e
50711a:	68 94 ab 62 00       	push   $0x62ab94
50711f:	57                   	push   %edi
507120:	ff 74 24 24          	push   0x24(%esp)
507124:	e8 47 af fd ff       	call   0x4e2070
507129:	83 c4 10             	add    $0x10,%esp
50712c:	89 46 10             	mov    %eax,0x10(%esi)
50712f:	85 c0                	test   %eax,%eax
507131:	74 56                	je     0x507189
507133:	89 7e 14             	mov    %edi,0x14(%esi)
507136:	b8 01 00 00 00       	mov    $0x1,%eax
50713b:	5f                   	pop    %edi
50713c:	5e                   	pop    %esi
50713d:	c3                   	ret
50713e:	8b 7c 24 14          	mov    0x14(%esp),%edi