55689c:	cc                   	int3
55689d:	cc                   	int3
55689e:	cc                   	int3
55689f:	cc                   	int3
5568a0:	b8 04 00 00 00       	mov    $0x4,%eax
5568a5:	e8 06 af 07 00       	call   0x5d17b0
5568aa:	53                   	push   %ebx
5568ab:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5568af:	33 c0                	xor    %eax,%eax
5568b1:	55                   	push   %ebp
5568b2:	56                   	push   %esi
5568b3:	57                   	push   %edi
5568b4:	89 44 24 10          	mov    %eax,0x10(%esp)
5568b8:	4b                   	dec    %ebx
5568b9:	8b 44 24 18          	mov    0x18(%esp),%eax
5568bd:	6a 0f                	push   $0xf
5568bf:	50                   	push   %eax
5568c0:	8b 78 24             	mov    0x24(%eax),%edi
5568c3:	e8 38 22 fa ff       	call   0x4f8b00
5568c8:	8b 77 0c             	mov    0xc(%edi),%esi
5568cb:	83 c4 08             	add    $0x8,%esp
5568ce:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5568d2:	8b 47 08             	mov    0x8(%edi),%eax
5568d5:	85 f6                	test   %esi,%esi
5568d7:	7e 52                	jle    0x55692b
5568d9:	8b 4f 10             	mov    0x10(%edi),%ecx
5568dc:	03 c8                	add    %eax,%ecx
5568de:	33 d2                	xor    %edx,%edx
5568e0:	89 4c 24 20          	mov    %ecx,0x20(%esp)
5568e4:	3b d3                	cmp    %ebx,%edx
5568e6:	7d 29                	jge    0x556911
5568e8:	8a 04 11             	mov    (%ecx,%edx,1),%al
5568eb:	03 ca                	add    %edx,%ecx
5568ed:	88 45 00             	mov    %al,0x0(%ebp)
5568f0:	42                   	inc    %edx
5568f1:	8b 77 0c             	mov    0xc(%edi),%esi
5568f4:	45                   	inc    %ebp
5568f5:	80 39 0a             	cmpb   $0xa,(%ecx)
5568f8:	74 55                	je     0x55694f
5568fa:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5568fe:	3b d6                	cmp    %esi,%edx
556900:	7c e2                	jl     0x5568e4
556902:	8b 44 24 10          	mov    0x10(%esp),%eax
556906:	2b f2                	sub    %edx,%esi
556908:	01 57 10             	add    %edx,0x10(%edi)
55690b:	03 c2                	add    %edx,%eax
55690d:	2b da                	sub    %edx,%ebx
55690f:	eb 0d                	jmp    0x55691e
556911:	8b 44 24 10          	mov    0x10(%esp),%eax
556915:	2b da                	sub    %edx,%ebx
556917:	03 c2                	add    %edx,%eax
556919:	2b f2                	sub    %edx,%esi
55691b:	01 57 10             	add    %edx,0x10(%edi)
55691e:	89 77 0c             	mov    %esi,0xc(%edi)
556921:	89 44 24 10          	mov    %eax,0x10(%esp)
556925:	85 db                	test   %ebx,%ebx
556927:	74 34                	je     0x55695d
556929:	eb a7                	jmp    0x5568d2
55692b:	ff 37                	push   (%edi)
55692d:	50                   	push   %eax
55692e:	8b 44 24 20          	mov    0x20(%esp),%eax
556932:	ff 70 28             	push   0x28(%eax)
556935:	e8 06 2b fa ff       	call   0x4f9440
55693a:	8b f0                	mov    %eax,%esi
55693c:	83 c4 0c             	add    $0xc,%esp
55693f:	85 f6                	test   %esi,%esi
556941:	7e 24                	jle    0x556967
556943:	89 77 0c             	mov    %esi,0xc(%edi)
556946:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
55694d:	eb 83                	jmp    0x5568d2
55694f:	8b 44 24 10          	mov    0x10(%esp),%eax
556953:	2b f2                	sub    %edx,%esi
556955:	01 57 10             	add    %edx,0x10(%edi)
556958:	03 c2                	add    %edx,%eax
55695a:	89 77 0c             	mov    %esi,0xc(%edi)
55695d:	5f                   	pop    %edi
55695e:	5e                   	pop    %esi
55695f:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
556963:	5d                   	pop    %ebp
556964:	5b                   	pop    %ebx
556965:	59                   	pop    %ecx
556966:	c3                   	ret
556967:	ff 74 24 18          	push   0x18(%esp)
55696b:	e8 a0 21 fa ff       	call   0x4f8b10
556970:	8b 44 24 14          	mov    0x14(%esp),%eax
556974:	83 c4 04             	add    $0x4,%esp
556977:	c6 45 00 00          	movb   $0x0,0x0(%ebp)
55697b:	85 f6                	test   %esi,%esi
55697d:	79 07                	jns    0x556986
55697f:	85 c0                	test   %eax,%eax
556981:	0f 4f f0             	cmovg  %eax,%esi
556984:	8b c6                	mov    %esi,%eax
556986:	5f                   	pop    %edi
556987:	5e                   	pop    %esi
556988:	5d                   	pop    %ebp
556989:	5b                   	pop    %ebx
55698a:	59                   	pop    %ecx
55698b:	c3                   	ret
55698c:	cc                   	int3
55698d:	cc                   	int3
55698e:	cc                   	int3
55698f:	cc                   	int3
556990:	b8 04 00 00 00       	mov    $0x4,%eax
556995:	e8 16 ae 07 00       	call   0x5d17b0
55699a:	53                   	push   %ebx
55699b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
55699f:	55                   	push   %ebp
5569a0:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5569a4:	56                   	push   %esi
5569a5:	8b 73 24             	mov    0x24(%ebx),%esi
5569a8:	57                   	push   %edi
5569a9:	8d 45 ff             	lea    -0x1(%ebp),%eax
5569ac:	bf 01 00 00 00       	mov    $0x1,%edi
5569b1:	83 f8 79             	cmp    $0x79,%eax
5569b4:	0f 87 21 04 00 00    	ja     0x556ddb
5569ba:	0f b6 80 24 6e 55 00 	movzbl 0x556e24(%eax),%eax
5569c1:	ff 24 85 f0 6d 55 00 	jmp    *0x556df0(,%eax,4)
5569c8:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5569cf:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
5569d6:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5569dd:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
5569e4:	8b 43 28             	mov    0x28(%ebx),%eax
5569e7:	85 c0                	test   %eax,%eax
5569e9:	0f 84 f7 03 00 00    	je     0x556de6
5569ef:	ff 74 24 24          	push   0x24(%esp)
5569f3:	ff 74 24 24          	push   0x24(%esp)
5569f7:	55                   	push   %ebp
5569f8:	50                   	push   %eax
5569f9:	e8 32 21 fa ff       	call   0x4f8b30
5569fe:	83 c4 10             	add    $0x10,%esp
556a01:	8b f8                	mov    %eax,%edi
556a03:	8b c7                	mov    %edi,%eax
556a05:	5f                   	pop    %edi
556a06:	5e                   	pop    %esi
556a07:	5d                   	pop    %ebp
556a08:	5b                   	pop    %ebx
556a09:	59                   	pop    %ecx
556a0a:	c3                   	ret
556a0b:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
556a0f:	0f 8f d1 03 00 00    	jg     0x556de6
556a15:	ff 74 24 24          	push   0x24(%esp)
556a19:	ff 74 24 24          	push   0x24(%esp)
556a1d:	55                   	push   %ebp
556a1e:	ff 73 28             	push   0x28(%ebx)
556a21:	e8 0a 21 fa ff       	call   0x4f8b30
556a26:	83 c4 10             	add    $0x10,%esp
556a29:	8b f8                	mov    %eax,%edi
556a2b:	5f                   	pop    %edi
556a2c:	5e                   	pop    %esi
556a2d:	5d                   	pop    %ebp
556a2e:	5b                   	pop    %ebx
556a2f:	59                   	pop    %ecx
556a30:	c3                   	ret
556a31:	8b 7e 18             	mov    0x18(%esi),%edi
556a34:	8b c7                	mov    %edi,%eax
556a36:	5f                   	pop    %edi
556a37:	5e                   	pop    %esi
556a38:	5d                   	pop    %ebp
556a39:	5b                   	pop    %ebx
556a3a:	59                   	pop    %ecx
556a3b:	c3                   	ret
556a3c:	8b 56 0c             	mov    0xc(%esi),%edx
556a3f:	33 ff                	xor    %edi,%edi
556a41:	85 d2                	test   %edx,%edx
556a43:	7e be                	jle    0x556a03
556a45:	8b 4e 10             	mov    0x10(%esi),%ecx
556a48:	03 4e 08             	add    0x8(%esi),%ecx
556a4b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
556a50:	80 39 0a             	cmpb   $0xa,(%ecx)
556a53:	8d 47 01             	lea    0x1(%edi),%eax
556a56:	8d 49 01             	lea    0x1(%ecx),%ecx
556a59:	0f 45 c7             	cmovne %edi,%eax
556a5c:	8b f8                	mov    %eax,%edi
556a5e:	83 ea 01             	sub    $0x1,%edx
556a61:	75 ed                	jne    0x556a50
556a63:	5f                   	pop    %edi
556a64:	5e                   	pop    %esi
556a65:	5d                   	pop    %ebp
556a66:	5b                   	pop    %ebx
556a67:	59                   	pop    %ecx
556a68:	c3                   	ret
556a69:	8b 7e 18             	mov    0x18(%esi),%edi
556a6c:	85 ff                	test   %edi,%edi
556a6e:	75 93                	jne    0x556a03
556a70:	e9 6f ff ff ff       	jmp    0x5569e4
556a75:	8b 7e 0c             	mov    0xc(%esi),%edi
556a78:	eb f2                	jmp    0x556a6c
556a7a:	8b 7c 24 20          	mov    0x20(%esp),%edi
556a7e:	3b 3e                	cmp    (%esi),%edi
556a80:	7e 35                	jle    0x556ab7
556a82:	68 24 01 00 00       	push   $0x124
556a87:	68 70 ec 64 00       	push   $0x64ec70
556a8c:	57                   	push   %edi
556a8d:	e8 be 9c f8 ff       	call   0x4e0750
556a92:	8b d8                	mov    %eax,%ebx
556a94:	83 c4 0c             	add    $0xc,%esp
556a97:	85 db                	test   %ebx,%ebx
556a99:	0f 84 e1 00 00 00    	je     0x556b80
556a9f:	68 27 01 00 00       	push   $0x127
556aa4:	68 70 ec 64 00       	push   $0x64ec70
556aa9:	ff 76 08             	push   0x8(%esi)
556aac:	e8 cf 9c f8 ff       	call   0x4e0780
556ab1:	83 c4 0c             	add    $0xc,%esp
556ab4:	89 5e 08             	mov    %ebx,0x8(%esi)
556ab7:	57                   	push   %edi
556ab8:	ff 74 24 28          	push   0x28(%esp)
556abc:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
556ac3:	ff 76 08             	push   0x8(%esi)
556ac6:	89 7e 0c             	mov    %edi,0xc(%esi)
556ac9:	e8 02 c3 07 00       	call   0x5d2dd0
556ace:	83 c4 0c             	add    $0xc,%esp
556ad1:	bf 01 00 00 00       	mov    $0x1,%edi
556ad6:	8b c7                	mov    %edi,%eax
556ad8:	5f                   	pop    %edi
556ad9:	5e                   	pop    %esi
556ada:	5d                   	pop    %ebp
556adb:	5b                   	pop    %ebx
556adc:	59                   	pop    %ecx
556add:	c3                   	ret
556ade:	8b 44 24 24          	mov    0x24(%esp),%eax
556ae2:	8b 5c 24 20          	mov    0x20(%esp),%ebx
556ae6:	85 c0                	test   %eax,%eax
556ae8:	74 1c                	je     0x556b06
556aea:	83 38 00             	cmpl   $0x0,(%eax)
556aed:	75 0f                	jne    0x556afe
556aef:	8b 46 04             	mov    0x4(%esi),%eax
556af2:	8b cb                	mov    %ebx,%ecx
556af4:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
556af8:	89 44 24 18          	mov    %eax,0x18(%esp)
556afc:	eb 12                	jmp    0x556b10
556afe:	8b 0e                	mov    (%esi),%ecx
556b00:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
556b04:	eb 06                	jmp    0x556b0c
556b06:	8b cb                	mov    %ebx,%ecx
556b08:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
556b0c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
556b10:	8b 46 14             	mov    0x14(%esi),%eax
556b13:	8b 6e 08             	mov    0x8(%esi),%ebp
556b16:	89 44 24 10          	mov    %eax,0x10(%esp)
556b1a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
556b20:	7e 1d                	jle    0x556b3f
556b22:	3b 0e                	cmp    (%esi),%ecx
556b24:	74 19                	je     0x556b3f
556b26:	68 41 01 00 00       	push   $0x141
556b2b:	68 70 ec 64 00       	push   $0x64ec70
556b30:	53                   	push   %ebx
556b31:	e8 1a 9c f8 ff       	call   0x4e0750
556b36:	8b e8                	mov    %eax,%ebp
556b38:	83 c4 0c             	add    $0xc,%esp
556b3b:	85 ed                	test   %ebp,%ebp
556b3d:	74 41                	je     0x556b80
556b3f:	8b 44 24 18          	mov    0x18(%esp),%eax
556b43:	3d 00 10 00 00       	cmp    $0x1000,%eax
556b48:	7e 56                	jle    0x556ba0
556b4a:	3b 46 04             	cmp    0x4(%esi),%eax
556b4d:	74 51                	je     0x556ba0
556b4f:	68 46 01 00 00       	push   $0x146
556b54:	68 70 ec 64 00       	push   $0x64ec70
556b59:	53                   	push   %ebx
556b5a:	e8 f1 9b f8 ff       	call   0x4e0750
556b5f:	8b d8                	mov    %eax,%ebx
556b61:	83 c4 0c             	add    $0xc,%esp
556b64:	85 db                	test   %ebx,%ebx
556b66:	75 3c                	jne    0x556ba4
556b68:	3b 6e 08             	cmp    0x8(%esi),%ebp
556b6b:	74 13                	je     0x556b80
556b6d:	68 49 01 00 00       	push   $0x149
556b72:	68 70 ec 64 00       	push   $0x64ec70
556b77:	55                   	push   %ebp
556b78:	e8 03 9c f8 ff       	call   0x4e0780
556b7d:	83 c4 0c             	add    $0xc,%esp
556b80:	68 97 01 00 00       	push   $0x197
556b85:	68 70 ec 64 00       	push   $0x64ec70
556b8a:	6a 41                	push   $0x41
556b8c:	6a 72                	push   $0x72
556b8e:	6a 20                	push   $0x20
556b90:	e8 eb 23 f8 ff       	call   0x4d8f80
556b95:	83 c4 14             	add    $0x14,%esp
556b98:	33 c0                	xor    %eax,%eax
556b9a:	5f                   	pop    %edi
556b9b:	5e                   	pop    %esi
556b9c:	5d                   	pop    %ebp
556b9d:	5b                   	pop    %ebx
556b9e:	59                   	pop    %ecx
556b9f:	c3                   	ret
556ba0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
556ba4:	8b 46 08             	mov    0x8(%esi),%eax
556ba7:	3b c5                	cmp    %ebp,%eax
556ba9:	74 2a                	je     0x556bd5
556bab:	68 4e 01 00 00       	push   $0x14e
556bb0:	68 70 ec 64 00       	push   $0x64ec70
556bb5:	50                   	push   %eax
556bb6:	e8 c5 9b f8 ff       	call   0x4e0780
556bbb:	8b 44 24 28          	mov    0x28(%esp),%eax
556bbf:	83 c4 0c             	add    $0xc,%esp
556bc2:	89 6e 08             	mov    %ebp,0x8(%esi)
556bc5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
556bcc:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
556bd3:	89 06                	mov    %eax,(%esi)
556bd5:	8b 46 14             	mov    0x14(%esi),%eax
556bd8:	3b c3                	cmp    %ebx,%eax
556bda:	0f 84 23 fe ff ff    	je     0x556a03
556be0:	68 55 01 00 00       	push   $0x155
556be5:	68 70 ec 64 00       	push   $0x64ec70
556bea:	50                   	push   %eax
556beb:	e8 90 9b f8 ff       	call   0x4e0780
556bf0:	8b 44 24 24          	mov    0x24(%esp),%eax
556bf4:	83 c4 0c             	add    $0xc,%esp
556bf7:	89 46 04             	mov    %eax,0x4(%esi)
556bfa:	8b c7                	mov    %edi,%eax
556bfc:	89 5e 14             	mov    %ebx,0x14(%esi)
556bff:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
556c06:	5f                   	pop    %edi
556c07:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
556c0e:	5e                   	pop    %esi
556c0f:	5d                   	pop    %ebp
556c10:	5b                   	pop    %ebx
556c11:	59                   	pop    %ecx
556c12:	c3                   	ret
556c13:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
556c17:	0f 84 c9 01 00 00    	je     0x556de6
556c1d:	6a 0f                	push   $0xf
556c1f:	53                   	push   %ebx
556c20:	e8 db 1e fa ff       	call   0x4f8b00
556c25:	ff 74 24 2c          	push   0x2c(%esp)
556c29:	ff 74 24 2c          	push   0x2c(%esp)
556c2d:	55                   	push   %ebp
556c2e:	ff 73 28             	push   0x28(%ebx)
556c31:	e8 fa 1e fa ff       	call   0x4f8b30
556c36:	53                   	push   %ebx
556c37:	8b f8                	mov    %eax,%edi
556c39:	e8 d2 1e fa ff       	call   0x4f8b10
556c3e:	83 c4 1c             	add    $0x1c,%esp
556c41:	8b c7                	mov    %edi,%eax
556c43:	5f                   	pop    %edi
556c44:	5e                   	pop    %esi
556c45:	5d                   	pop    %ebp
556c46:	5b                   	pop    %ebx
556c47:	59                   	pop    %ecx
556c48:	c3                   	ret
556c49:	8b 43 28             	mov    0x28(%ebx),%eax
556c4c:	85 c0                	test   %eax,%eax
556c4e:	0f 84 92 01 00 00    	je     0x556de6
556c54:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
556c58:	0f 8e 91 fd ff ff    	jle    0x5569ef
556c5e:	6a 0f                	push   $0xf
556c60:	53                   	push   %ebx
556c61:	e8 9a 1e fa ff       	call   0x4f8b00
556c66:	8b 46 18             	mov    0x18(%esi),%eax
556c69:	83 c4 08             	add    $0x8,%esp