55ec25:	2b d0                	sub    %eax,%edx
55ec27:	2b e9                	sub    %ecx,%ebp
55ec29:	56                   	push   %esi
55ec2a:	8b 74 24 1c          	mov    0x1c(%esp),%esi
55ec2e:	57                   	push   %edi
55ec2f:	89 54 24 18          	mov    %edx,0x18(%esp)
55ec33:	8d 78 04             	lea    0x4(%eax),%edi
55ec36:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55ec3a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55ec40:	8b 04 2b             	mov    (%ebx,%ebp,1),%eax
55ec43:	8d 7f 08             	lea    0x8(%edi),%edi
55ec46:	33 c9                	xor    %ecx,%ecx
55ec48:	8d 5b 08             	lea    0x8(%ebx),%ebx
55ec4b:	2b 47 f4             	sub    -0xc(%edi),%eax
55ec4e:	1b c9                	sbb    %ecx,%ecx
55ec50:	03 d0                	add    %eax,%edx
55ec52:	8b 44 24 14          	mov    0x14(%esp),%eax
55ec56:	13 f1                	adc    %ecx,%esi
55ec58:	89 53 f8             	mov    %edx,-0x8(%ebx)
55ec5b:	33 d2                	xor    %edx,%edx
55ec5d:	8b 4c 38 f8          	mov    -0x8(%eax,%edi,1),%ecx
55ec61:	8b c6                	mov    %esi,%eax
55ec63:	c1 f8 1f             	sar    $0x1f,%eax
55ec66:	03 ce                	add    %esi,%ecx
55ec68:	13 d0                	adc    %eax,%edx
55ec6a:	2b 4f f8             	sub    -0x8(%edi),%ecx
55ec6d:	8b 44 24 18          	mov    0x18(%esp),%eax
55ec71:	83 da 00             	sbb    $0x0,%edx
55ec74:	8b f2                	mov    %edx,%esi
55ec76:	c1 fe 1f             	sar    $0x1f,%esi
55ec79:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
55ec7e:	89 4c 38 f8          	mov    %ecx,-0x8(%eax,%edi,1)
55ec82:	75 bc                	jne    0x55ec40
55ec84:	8b 44 24 28          	mov    0x28(%esp),%eax
55ec88:	0f 57 c0             	xorps  %xmm0,%xmm0
55ec8b:	8b 4c 24 34          	mov    0x34(%esp),%ecx
55ec8f:	33 db                	xor    %ebx,%ebx
55ec91:	01 54 24 38          	add    %edx,0x38(%esp)
55ec95:	8b e9                	mov    %ecx,%ebp
55ec97:	66 0f 13 44 24 1c    	movlpd %xmm0,0x1c(%esp)
55ec9d:	2b e8                	sub    %eax,%ebp
55ec9f:	8b 7c 24 20          	mov    0x20(%esp),%edi
55eca3:	8d 70 04             	lea    0x4(%eax),%esi
55eca6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55ecaa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55ecb0:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
55ecb3:	8d 76 08             	lea    0x8(%esi),%esi
55ecb6:	23 4c 24 38          	and    0x38(%esp),%ecx
55ecba:	33 c0                	xor    %eax,%eax
55ecbc:	03 4e f4             	add    -0xc(%esi),%ecx
55ecbf:	13 c0                	adc    %eax,%eax
55ecc1:	03 d1                	add    %ecx,%edx
55ecc3:	89 56 f4             	mov    %edx,-0xc(%esi)
55ecc6:	8b 4c 2e f8          	mov    -0x8(%esi,%ebp,1),%ecx
55ecca:	13 f8                	adc    %eax,%edi
55eccc:	23 4c 24 38          	and    0x38(%esp),%ecx
55ecd0:	33 d2                	xor    %edx,%edx
55ecd2:	8b c7                	mov    %edi,%eax
55ecd4:	c1 f8 1f             	sar    $0x1f,%eax
55ecd7:	03 cf                	add    %edi,%ecx
55ecd9:	13 d0                	adc    %eax,%edx
55ecdb:	01 4e f8             	add    %ecx,-0x8(%esi)
55ecde:	8b 4c 24 34          	mov    0x34(%esp),%ecx
55ece2:	83 d2 00             	adc    $0x0,%edx
55ece5:	83 c3 02             	add    $0x2,%ebx
55ece8:	8b fa                	mov    %edx,%edi
55ecea:	c1 ff 1f             	sar    $0x1f,%edi
55eced:	83 fb 0e             	cmp    $0xe,%ebx
55ecf0:	72 be                	jb     0x55ecb0
55ecf2:	5f                   	pop    %edi
55ecf3:	5e                   	pop    %esi
55ecf4:	5d                   	pop    %ebp
55ecf5:	5b                   	pop    %ebx
55ecf6:	83 c4 14             	add    $0x14,%esp
55ecf9:	c3                   	ret
55ecfa:	cc                   	int3
55ecfb:	cc                   	int3
55ecfc:	cc                   	int3
55ecfd:	cc                   	int3
55ecfe:	cc                   	int3
55ecff:	cc                   	int3
55ed00:	53                   	push   %ebx
55ed01:	8b 5c 24 10          	mov    0x10(%esp),%ebx
55ed05:	33 c0                	xor    %eax,%eax
55ed07:	55                   	push   %ebp
55ed08:	8b 6c 24 10          	mov    0x10(%esp),%ebp
55ed0c:	56                   	push   %esi
55ed0d:	57                   	push   %edi
55ed0e:	33 ff                	xor    %edi,%edi
55ed10:	33 f6                	xor    %esi,%esi
55ed12:	33 c9                	xor    %ecx,%ecx
55ed14:	3b c3                	cmp    %ebx,%eax
55ed16:	73 11                	jae    0x55ed29
55ed18:	0f b6 14 28          	movzbl (%eax,%ebp,1),%edx
55ed1c:	40                   	inc    %eax
55ed1d:	d3 e2                	shl    %cl,%edx
55ed1f:	83 c1 08             	add    $0x8,%ecx
55ed22:	0b f2                	or     %edx,%esi
55ed24:	83 f9 20             	cmp    $0x20,%ecx
55ed27:	72 eb                	jb     0x55ed14
55ed29:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55ed2d:	89 34 b9             	mov    %esi,(%ecx,%edi,4)
55ed30:	47                   	inc    %edi
55ed31:	83 ff 0e             	cmp    $0xe,%edi
55ed34:	72 da                	jb     0x55ed10
55ed36:	5f                   	pop    %edi
55ed37:	5e                   	pop    %esi
55ed38:	5d                   	pop    %ebp
55ed39:	5b                   	pop    %ebx
55ed3a:	c3                   	ret
55ed3b:	cc                   	int3
55ed3c:	cc                   	int3
55ed3d:	cc                   	int3
55ed3e:	cc                   	int3
55ed3f:	cc                   	int3
55ed40:	53                   	push   %ebx
55ed41:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
55ed45:	57                   	push   %edi
55ed46:	33 ff                	xor    %edi,%edi
55ed48:	85 db                	test   %ebx,%ebx
55ed4a:	75 05                	jne    0x55ed51
55ed4c:	5f                   	pop    %edi
55ed4d:	33 c0                	xor    %eax,%eax
55ed4f:	5b                   	pop    %ebx
55ed50:	c3                   	ret
55ed51:	f7 43 04 00 01 00 00 	testl  $0x100,0x4(%ebx)
55ed58:	55                   	push   %ebp
55ed59:	8b 6c 24 10          	mov    0x10(%esp),%ebp
55ed5d:	56                   	push   %esi
55ed5e:	74 1b                	je     0x55ed7b
55ed60:	6a 01                	push   $0x1
55ed62:	68 10 ae 62 00       	push   $0x62ae10
55ed67:	55                   	push   %ebp
55ed68:	e8 53 a7 f9 ff       	call   0x4f94c0
55ed6d:	83 c4 0c             	add    $0xc,%esp
55ed70:	83 f8 01             	cmp    $0x1,%eax
55ed73:	0f 85 b8 00 00 00    	jne    0x55ee31
55ed79:	8b f8                	mov    %eax,%edi
55ed7b:	8b 03                	mov    (%ebx),%eax
55ed7d:	85 c0                	test   %eax,%eax
55ed7f:	75 22                	jne    0x55eda3
55ed81:	6a 02                	push   $0x2
55ed83:	68 08 79 65 00       	push   $0x657908
55ed88:	55                   	push   %ebp
55ed89:	e8 32 a7 f9 ff       	call   0x4f94c0
55ed8e:	83 c4 0c             	add    $0xc,%esp
55ed91:	83 f8 02             	cmp    $0x2,%eax
55ed94:	0f 85 97 00 00 00    	jne    0x55ee31
55ed9a:	03 f8                	add    %eax,%edi
55ed9c:	5e                   	pop    %esi
55ed9d:	5d                   	pop    %ebp
55ed9e:	8b c7                	mov    %edi,%eax
55eda0:	5f                   	pop    %edi
55eda1:	5b                   	pop    %ebx
55eda2:	c3                   	ret
55eda3:	33 f6                	xor    %esi,%esi
55eda5:	85 c0                	test   %eax,%eax
55eda7:	7e f3                	jle    0x55ed9c
55eda9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
55edb0:	85 f6                	test   %esi,%esi
55edb2:	74 33                	je     0x55ede7
55edb4:	b8 eb a0 0e ea       	mov    $0xea0ea0eb,%eax
55edb9:	8b ce                	mov    %esi,%ecx
55edbb:	f7 ee                	imul   %esi
55edbd:	03 d6                	add    %esi,%edx
55edbf:	c1 fa 05             	sar    $0x5,%edx
55edc2:	8b c2                	mov    %edx,%eax
55edc4:	c1 e8 1f             	shr    $0x1f,%eax
55edc7:	03 c2                	add    %edx,%eax
55edc9:	6b c0 23             	imul   $0x23,%eax,%eax
55edcc:	2b c8                	sub    %eax,%ecx
55edce:	75 17                	jne    0x55ede7
55edd0:	6a 02                	push   $0x2
55edd2:	68 0c 79 65 00       	push   $0x65790c
55edd7:	55                   	push   %ebp
55edd8:	e8 e3 a6 f9 ff       	call   0x4f94c0
55eddd:	83 c4 0c             	add    $0xc,%esp
55ede0:	83 f8 02             	cmp    $0x2,%eax
55ede3:	75 4c                	jne    0x55ee31
55ede5:	03 f8                	add    %eax,%edi
55ede7:	8b 53 08             	mov    0x8(%ebx),%edx
55edea:	8b 0d ac e4 68 00    	mov    0x68e4ac,%ecx
55edf0:	6a 02                	push   $0x2
55edf2:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
55edf6:	c1 e8 04             	shr    $0x4,%eax
55edf9:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
55edfd:	88 44 24 1c          	mov    %al,0x1c(%esp)
55ee01:	0f b6 04 32          	movzbl (%edx,%esi,1),%eax
55ee05:	83 e0 0f             	and    $0xf,%eax
55ee08:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
55ee0c:	88 44 24 1d          	mov    %al,0x1d(%esp)
55ee10:	8d 44 24 1c          	lea    0x1c(%esp),%eax
55ee14:	50                   	push   %eax
55ee15:	55                   	push   %ebp
55ee16:	e8 a5 a6 f9 ff       	call   0x4f94c0
55ee1b:	83 c4 0c             	add    $0xc,%esp
55ee1e:	83 f8 02             	cmp    $0x2,%eax
55ee21:	75 0e                	jne    0x55ee31
55ee23:	46                   	inc    %esi
55ee24:	03 f8                	add    %eax,%edi
55ee26:	3b 33                	cmp    (%ebx),%esi
55ee28:	7c 86                	jl     0x55edb0
55ee2a:	5e                   	pop    %esi
55ee2b:	5d                   	pop    %ebp
55ee2c:	8b c7                	mov    %edi,%eax
55ee2e:	5f                   	pop    %edi
55ee2f:	5b                   	pop    %ebx
55ee30:	c3                   	ret
55ee31:	5e                   	pop    %esi
55ee32:	5d                   	pop    %ebp
55ee33:	5f                   	pop    %edi
55ee34:	83 c8 ff             	or     $0xffffffff,%eax
55ee37:	5b                   	pop    %ebx
55ee38:	c3                   	ret
55ee39:	cc                   	int3
55ee3a:	cc                   	int3
55ee3b:	cc                   	int3
55ee3c:	cc                   	int3
55ee3d:	cc                   	int3
55ee3e:	cc                   	int3
55ee3f:	cc                   	int3
55ee40:	b8 18 00 00 00       	mov    $0x18,%eax
55ee45:	e8 66 29 07 00       	call   0x5d17b0
55ee4a:	53                   	push   %ebx
55ee4b:	8b 5c 24 20          	mov    0x20(%esp),%ebx
55ee4f:	57                   	push   %edi
55ee50:	bf 01 00 00 00       	mov    $0x1,%edi
55ee55:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
55ee5c:	00
55ee5d:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
55ee61:	0f 84 4a 06 00 00    	je     0x55f4b1
55ee67:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
55ee6b:	0f 84 40 06 00 00    	je     0x55f4b1
55ee71:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
55ee75:	0f 84 36 06 00 00    	je     0x55f4b1
55ee7b:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
55ee7f:	0f 84 2c 06 00 00    	je     0x55f4b1
55ee85:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
55ee89:	0f 84 22 06 00 00    	je     0x55f4b1
55ee8f:	56                   	push   %esi
55ee90:	39 7b 04             	cmp    %edi,0x4(%ebx)
55ee93:	75 51                	jne    0x55eee6
55ee95:	ff 73 30             	push   0x30(%ebx)
55ee98:	e8 23 62 f8 ff       	call   0x4e50c0
55ee9d:	8b f0                	mov    %eax,%esi
55ee9f:	83 c4 04             	add    $0x4,%esp
55eea2:	89 74 24 0c          	mov    %esi,0xc(%esp)
55eea6:	85 f6                	test   %esi,%esi
55eea8:	7e 18                	jle    0x55eec2
55eeaa:	ff 73 10             	push   0x10(%ebx)
55eead:	e8 6e af f7 ff       	call   0x4d9e20
55eeb2:	50                   	push   %eax
55eeb3:	e8 f8 8a f8 ff       	call   0x4e79b0
55eeb8:	8d 4e 02             	lea    0x2(%esi),%ecx
55eebb:	83 c4 08             	add    $0x8,%esp
55eebe:	3b c8                	cmp    %eax,%ecx
55eec0:	7e 24                	jle    0x55eee6
55eec2:	6a 25                	push   $0x25
55eec4:	68 10 79 65 00       	push   $0x657910
55eec9:	68 a7 00 00 00       	push   $0xa7
55eece:	68 a0 00 00 00       	push   $0xa0
55eed3:	6a 04                	push   $0x4
55eed5:	e8 a6 a0 f7 ff       	call   0x4d8f80
55eeda:	83 c4 14             	add    $0x14,%esp
55eedd:	33 c0                	xor    %eax,%eax
55eedf:	5e                   	pop    %esi
55eee0:	5f                   	pop    %edi
55eee1:	5b                   	pop    %ebx
55eee2:	83 c4 18             	add    $0x18,%esp
55eee5:	c3                   	ret
55eee6:	55                   	push   %ebp
55eee7:	e8 f4 ae f7 ff       	call   0x4d9de0
55eeec:	8b e8                	mov    %eax,%ebp
55eeee:	89 6c 24 24          	mov    %ebp,0x24(%esp)
55eef2:	e8 e9 ae f7 ff       	call   0x4d9de0
55eef7:	89 44 24 2c          	mov    %eax,0x2c(%esp)
55eefb:	e8 e0 ae f7 ff       	call   0x4d9de0
55ef00:	89 44 24 14          	mov    %eax,0x14(%esp)
55ef04:	e8 d7 ae f7 ff       	call   0x4d9de0
55ef09:	89 44 24 1c          	mov    %eax,0x1c(%esp)
55ef0d:	e8 ce ae f7 ff       	call   0x4d9de0
55ef12:	89 44 24 20          	mov    %eax,0x20(%esp)
55ef16:	e8 05 8e f8 ff       	call   0x4e7d20
55ef1b:	89 44 24 18          	mov    %eax,0x18(%esp)
55ef1f:	85 ed                	test   %ebp,%ebp
55ef21:	0f 84 2f 05 00 00    	je     0x55f456
55ef27:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
55ef2c:	0f 84 24 05 00 00    	je     0x55f456
55ef32:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
55ef37:	0f 84 19 05 00 00    	je     0x55f456
55ef3d:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
55ef42:	0f 84 0e 05 00 00    	je     0x55f456
55ef48:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
55ef4d:	0f 84 03 05 00 00    	je     0x55f456
55ef53:	85 c0                	test   %eax,%eax
55ef55:	0f 84 fb 04 00 00    	je     0x55f456
55ef5b:	ff 73 14             	push   0x14(%ebx)
55ef5e:	e8 ad ad f7 ff       	call   0x4d9d10
55ef63:	83 c4 04             	add    $0x4,%esp
55ef66:	85 c0                	test   %eax,%eax
55ef68:	74 1a                	je     0x55ef84
55ef6a:	6a 39                	push   $0x39
55ef6c:	68 10 79 65 00       	push   $0x657910
55ef71:	6a 65                	push   $0x65
55ef73:	68 a0 00 00 00       	push   $0xa0
55ef78:	6a 04                	push   $0x4
55ef7a:	33 ff                	xor    %edi,%edi
55ef7c:	e8 ff 9f f7 ff       	call   0x4d8f80
55ef81:	83 c4 14             	add    $0x14,%esp
55ef84:	ff 73 14             	push   0x14(%ebx)
55ef87:	e8 64 ad f7 ff       	call   0x4d9cf0
55ef8c:	83 c4 04             	add    $0x4,%esp
55ef8f:	85 c0                	test   %eax,%eax
55ef91:	75 1a                	jne    0x55efad
55ef93:	6a 3d                	push   $0x3d
55ef95:	68 10 79 65 00       	push   $0x657910
55ef9a:	6a 65                	push   $0x65
55ef9c:	68 a0 00 00 00       	push   $0xa0
55efa1:	6a 04                	push   $0x4
55efa3:	33 ff                	xor    %edi,%edi
55efa5:	e8 d6 9f f7 ff       	call   0x4d8f80
55efaa:	83 c4 14             	add    $0x14,%esp
55efad:	8b 74 24 30          	mov    0x30(%esp),%esi
55efb1:	56                   	push   %esi
55efb2:	6a 00                	push   $0x0
55efb4:	6a 00                	push   $0x0
55efb6:	ff 73 1c             	push   0x1c(%ebx)
55efb9:	e8 62 ae f8 ff       	call   0x4e9e20
55efbe:	83 c4 10             	add    $0x10,%esp
55efc1:	83 f8 01             	cmp    $0x1,%eax
55efc4:	74 1d                	je     0x55efe3
55efc6:	6a 43                	push   $0x43
55efc8:	68 10 79 65 00       	push   $0x657910
55efcd:	68 80 00 00 00       	push   $0x80
55efd2:	68 a0 00 00 00       	push   $0xa0
55efd7:	6a 04                	push   $0x4
55efd9:	33 ff                	xor    %edi,%edi
55efdb:	e8 a0 9f f7 ff       	call   0x4d8f80
55efe0:	83 c4 14             	add    $0x14,%esp
55efe3:	56                   	push   %esi
55efe4:	6a 00                	push   $0x0
55efe6:	6a 00                	push   $0x0
55efe8:	ff 73 20             	push   0x20(%ebx)
55efeb:	e8 30 ae f8 ff       	call   0x4e9e20
55eff0:	83 c4 10             	add    $0x10,%esp
55eff3:	83 f8 01             	cmp    $0x1,%eax
55eff6:	74 1d                	je     0x55f015
55eff8:	6a 49                	push   $0x49
55effa:	68 10 79 65 00       	push   $0x657910
55efff:	68 81 00 00 00       	push   $0x81