55fd4f:	89 5d 14             	mov    %ebx,0x14(%ebp)
55fd52:	33 f6                	xor    %esi,%esi
55fd54:	8d 43 01             	lea    0x1(%ebx),%eax
55fd57:	8b 0a                	mov    (%edx),%ecx
55fd59:	3b f1                	cmp    %ecx,%esi
55fd5b:	77 09                	ja     0x55fd66
55fd5d:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
55fd60:	77 04                	ja     0x55fd66
55fd62:	8b f1                	mov    %ecx,%esi
55fd64:	8b d8                	mov    %eax,%ebx
55fd66:	40                   	inc    %eax
55fd67:	83 c2 04             	add    $0x4,%edx
55fd6a:	83 f8 05             	cmp    $0x5,%eax
55fd6d:	7c e8                	jl     0x55fd57
55fd6f:	89 75 fc             	mov    %esi,-0x4(%ebp)
55fd72:	8b 75 08             	mov    0x8(%ebp),%esi
55fd75:	89 5d 14             	mov    %ebx,0x14(%ebp)
55fd78:	f6 46 2e 02          	testb  $0x2,0x2e(%esi)
55fd7c:	75 78                	jne    0x55fdf6
55fd7e:	8b 45 f8             	mov    -0x8(%ebp),%eax
55fd81:	39 45 fc             	cmp    %eax,-0x4(%ebp)
55fd84:	72 08                	jb     0x55fd8e
55fd86:	85 db                	test   %ebx,%ebx
55fd88:	0f 85 81 00 00 00    	jne    0x55fe0f
55fd8e:	bb 01 00 00 00       	mov    $0x1,%ebx
55fd93:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55fd97:	75 2c                	jne    0x55fdc5
55fd99:	8b 4e 04             	mov    0x4(%esi),%ecx
55fd9c:	8d 43 03             	lea    0x3(%ebx),%eax
55fd9f:	6a 0a                	push   $0xa
55fda1:	6a 01                	push   $0x1
55fda3:	50                   	push   %eax
55fda4:	8b 11                	mov    (%ecx),%edx
55fda6:	51                   	push   %ecx
55fda7:	8b 42 38             	mov    0x38(%edx),%eax
55fdaa:	ff d0                	call   *%eax
55fdac:	8b f8                	mov    %eax,%edi
55fdae:	83 c4 10             	add    $0x10,%esp
55fdb1:	85 ff                	test   %edi,%edi
55fdb3:	74 12                	je     0x55fdc7
55fdb5:	83 ff 05             	cmp    $0x5,%edi
55fdb8:	0f 85 a7 fe ff ff    	jne    0x55fc65
55fdbe:	43                   	inc    %ebx
55fdbf:	3b d8                	cmp    %eax,%ebx
55fdc1:	7c d0                	jl     0x55fd93
55fdc3:	eb 2e                	jmp    0x55fdf3
55fdc5:	33 ff                	xor    %edi,%edi
55fdc7:	8b 45 f4             	mov    -0xc(%ebp),%eax
55fdca:	8b 4d f8             	mov    -0x8(%ebp),%ecx
55fdcd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
55fdd0:	89 5d 14             	mov    %ebx,0x14(%ebp)
55fdd3:	89 4c 98 04          	mov    %ecx,0x4(%eax,%ebx,4)
55fdd7:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55fddb:	75 16                	jne    0x55fdf3
55fddd:	8b 4e 04             	mov    0x4(%esi),%ecx
55fde0:	8d 43 03             	lea    0x3(%ebx),%eax
55fde3:	6a 09                	push   $0x9
55fde5:	6a 01                	push   $0x1
55fde7:	50                   	push   %eax
55fde8:	8b 11                	mov    (%ecx),%edx
55fdea:	51                   	push   %ecx
55fdeb:	8b 42 38             	mov    0x38(%edx),%eax
55fdee:	ff d0                	call   *%eax
55fdf0:	83 c4 10             	add    $0x10,%esp
55fdf3:	8b 5d 14             	mov    0x14(%ebp),%ebx
55fdf6:	85 db                	test   %ebx,%ebx
55fdf8:	75 15                	jne    0x55fe0f
55fdfa:	83 c9 ff             	or     $0xffffffff,%ecx
55fdfd:	b8 08 05 00 00       	mov    $0x508,%eax
55fe02:	5b                   	pop    %ebx
55fe03:	83 ff 05             	cmp    $0x5,%edi
55fe06:	5f                   	pop    %edi
55fe07:	0f 44 c1             	cmove  %ecx,%eax
55fe0a:	5e                   	pop    %esi
55fe0b:	8b e5                	mov    %ebp,%esp
55fe0d:	5d                   	pop    %ebp
55fe0e:	c3                   	ret
55fe0f:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55fe13:	75 2a                	jne    0x55fe3f
55fe15:	8b 4e 04             	mov    0x4(%esi),%ecx
55fe18:	8d 43 03             	lea    0x3(%ebx),%eax
55fe1b:	6a 06                	push   $0x6
55fe1d:	6a 01                	push   $0x1
55fe1f:	50                   	push   %eax
55fe20:	8b 11                	mov    (%ecx),%edx
55fe22:	51                   	push   %ecx
55fe23:	8b 42 38             	mov    0x38(%edx),%eax
55fe26:	ff d0                	call   *%eax
55fe28:	83 c4 10             	add    $0x10,%esp
55fe2b:	85 c0                	test   %eax,%eax
55fe2d:	74 10                	je     0x55fe3f
55fe2f:	83 c9 ff             	or     $0xffffffff,%ecx
55fe32:	83 f8 05             	cmp    $0x5,%eax
55fe35:	5b                   	pop    %ebx
55fe36:	5f                   	pop    %edi
55fe37:	0f 44 c1             	cmove  %ecx,%eax
55fe3a:	5e                   	pop    %esi
55fe3b:	8b e5                	mov    %ebp,%esp
55fe3d:	5d                   	pop    %ebp
55fe3e:	c3                   	ret
55fe3f:	8b 7d f4             	mov    -0xc(%ebp),%edi
55fe42:	8b 07                	mov    (%edi),%eax
55fe44:	40                   	inc    %eax
55fe45:	80 7e 2b 02          	cmpb   $0x2,0x2b(%esi)
55fe49:	89 46 64             	mov    %eax,0x64(%esi)
55fe4c:	74 0e                	je     0x55fe5c
55fe4e:	8b 46 04             	mov    0x4(%esi),%eax
55fe51:	50                   	push   %eax
55fe52:	8b 08                	mov    (%eax),%ecx
55fe54:	8b 41 3c             	mov    0x3c(%ecx),%eax
55fe57:	ff d0                	call   *%eax
55fe59:	83 c4 04             	add    $0x4,%esp
55fe5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
55fe5f:	39 44 9f 04          	cmp    %eax,0x4(%edi,%ebx,4)
55fe63:	75 2b                	jne    0x55fe90
55fe65:	8b 46 20             	mov    0x20(%esi),%eax
55fe68:	8d 56 34             	lea    0x34(%esi),%edx
55fe6b:	bf 2c 00 00 00       	mov    $0x2c,%edi
55fe70:	8b 08                	mov    (%eax),%ecx
55fe72:	8b 01                	mov    (%ecx),%eax
55fe74:	3b 02                	cmp    (%edx),%eax
55fe76:	75 18                	jne    0x55fe90
55fe78:	83 c1 04             	add    $0x4,%ecx
55fe7b:	83 c2 04             	add    $0x4,%edx
55fe7e:	83 ef 04             	sub    $0x4,%edi
55fe81:	73 ef                	jae    0x55fe72
55fe83:	66 89 5e 28          	mov    %bx,0x28(%esi)
55fe87:	33 c0                	xor    %eax,%eax
55fe89:	5b                   	pop    %ebx
55fe8a:	5f                   	pop    %edi
55fe8b:	5e                   	pop    %esi
55fe8c:	8b e5                	mov    %ebp,%esp
55fe8e:	5d                   	pop    %ebp
55fe8f:	c3                   	ret
55fe90:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
55fe94:	75 16                	jne    0x55feac
55fe96:	8b 4e 04             	mov    0x4(%esi),%ecx
55fe99:	8d 43 03             	lea    0x3(%ebx),%eax
55fe9c:	6a 05                	push   $0x5
55fe9e:	6a 01                	push   $0x1
55fea0:	50                   	push   %eax
55fea1:	8b 11                	mov    (%ecx),%edx
55fea3:	51                   	push   %ecx
55fea4:	8b 42 38             	mov    0x38(%edx),%eax
55fea7:	ff d0                	call   *%eax
55fea9:	83 c4 10             	add    $0x10,%esp
55feac:	5b                   	pop    %ebx
55fead:	5f                   	pop    %edi
55feae:	83 c8 ff             	or     $0xffffffff,%eax
55feb1:	5e                   	pop    %esi
55feb2:	8b e5                	mov    %ebp,%esp
55feb4:	5d                   	pop    %ebp
55feb5:	c3                   	ret
55feb6:	cc                   	int3
55feb7:	cc                   	int3
55feb8:	cc                   	int3
55feb9:	cc                   	int3
55feba:	cc                   	int3
55febb:	cc                   	int3
55febc:	cc                   	int3
55febd:	cc                   	int3
55febe:	cc                   	int3
55febf:	cc                   	int3
55fec0:	55                   	push   %ebp
55fec1:	8b ec                	mov    %esp,%ebp
55fec3:	8b 45 08             	mov    0x8(%ebp),%eax
55fec6:	80 78 2b 00          	cmpb   $0x0,0x2b(%eax)
55feca:	75 15                	jne    0x55fee1
55fecc:	8b 40 04             	mov    0x4(%eax),%eax
55fecf:	6a 05                	push   $0x5
55fed1:	6a 01                	push   $0x1
55fed3:	ff 75 0c             	push   0xc(%ebp)
55fed6:	8b 08                	mov    (%eax),%ecx
55fed8:	50                   	push   %eax
55fed9:	8b 41 38             	mov    0x38(%ecx),%eax
55fedc:	ff d0                	call   *%eax
55fede:	83 c4 10             	add    $0x10,%esp
55fee1:	5d                   	pop    %ebp
55fee2:	c3                   	ret
55fee3:	cc                   	int3
55fee4:	cc                   	int3
55fee5:	cc                   	int3
55fee6:	cc                   	int3
55fee7:	cc                   	int3
55fee8:	cc                   	int3
55fee9:	cc                   	int3
55feea:	cc                   	int3
55feeb:	cc                   	int3
55feec:	cc                   	int3
55feed:	cc                   	int3
55feee:	cc                   	int3
55feef:	cc                   	int3
55fef0:	55                   	push   %ebp
55fef1:	8b ec                	mov    %esp,%ebp
55fef3:	8b 4d 18             	mov    0x18(%ebp),%ecx
55fef6:	53                   	push   %ebx
55fef7:	8b 5d 08             	mov    0x8(%ebp),%ebx
55fefa:	56                   	push   %esi
55fefb:	57                   	push   %edi
55fefc:	8b 7d 14             	mov    0x14(%ebp),%edi
55feff:	89 4d 08             	mov    %ecx,0x8(%ebp)
55ff02:	3b 4b 0c             	cmp    0xc(%ebx),%ecx
55ff05:	7f 7f                	jg     0x55ff86
55ff07:	7c 05                	jl     0x55ff0e
55ff09:	3b 7b 08             	cmp    0x8(%ebx),%edi
55ff0c:	73 78                	jae    0x55ff86
55ff0e:	8b 75 10             	mov    0x10(%ebp),%esi
55ff11:	8b c6                	mov    %esi,%eax
55ff13:	99                   	cltd
55ff14:	03 c7                	add    %edi,%eax
55ff16:	13 d1                	adc    %ecx,%edx
55ff18:	3b 53 0c             	cmp    0xc(%ebx),%edx
55ff1b:	7c 6c                	jl     0x55ff89
55ff1d:	7f 05                	jg     0x55ff24
55ff1f:	3b 43 08             	cmp    0x8(%ebx),%eax
55ff22:	72 65                	jb     0x55ff89
55ff24:	8b 43 08             	mov    0x8(%ebx),%eax
55ff27:	8b 55 18             	mov    0x18(%ebp),%edx
55ff2a:	2b c7                	sub    %edi,%eax
55ff2c:	52                   	push   %edx
55ff2d:	89 45 08             	mov    %eax,0x8(%ebp)
55ff30:	8b 43 04             	mov    0x4(%ebx),%eax
55ff33:	57                   	push   %edi
55ff34:	ff 75 08             	push   0x8(%ebp)
55ff37:	8b 08                	mov    (%eax),%ecx
55ff39:	ff 75 0c             	push   0xc(%ebp)
55ff3c:	50                   	push   %eax
55ff3d:	8b 41 0c             	mov    0xc(%ecx),%eax
55ff40:	ff d0                	call   *%eax
55ff42:	83 c4 14             	add    $0x14,%esp
55ff45:	85 c0                	test   %eax,%eax
55ff47:	75 57                	jne    0x55ffa0
55ff49:	8b 4d 08             	mov    0x8(%ebp),%ecx
55ff4c:	8b c1                	mov    %ecx,%eax
55ff4e:	99                   	cltd
55ff4f:	03 f8                	add    %eax,%edi
55ff51:	8b 45 18             	mov    0x18(%ebp),%eax
55ff54:	13 c2                	adc    %edx,%eax
55ff56:	01 4d 0c             	add    %ecx,0xc(%ebp)
55ff59:	8b 53 04             	mov    0x4(%ebx),%edx
55ff5c:	2b f1                	sub    %ecx,%esi
55ff5e:	8b 4b 10             	mov    0x10(%ebx),%ecx
55ff61:	89 45 08             	mov    %eax,0x8(%ebp)
55ff64:	83 e1 03             	and    $0x3,%ecx
55ff67:	74 0e                	je     0x55ff77
55ff69:	8b 02                	mov    (%edx),%eax
55ff6b:	51                   	push   %ecx
55ff6c:	52                   	push   %edx
55ff6d:	8b 40 14             	mov    0x14(%eax),%eax
55ff70:	ff d0                	call   *%eax
55ff72:	83 c4 08             	add    $0x8,%esp
55ff75:	eb 02                	jmp    0x55ff79
55ff77:	33 c0                	xor    %eax,%eax
55ff79:	85 f6                	test   %esi,%esi
55ff7b:	74 23                	je     0x55ffa0
55ff7d:	85 c0                	test   %eax,%eax
55ff7f:	74 08                	je     0x55ff89
55ff81:	5f                   	pop    %edi
55ff82:	5e                   	pop    %esi
55ff83:	5b                   	pop    %ebx
55ff84:	5d                   	pop    %ebp
55ff85:	c3                   	ret
55ff86:	8b 75 10             	mov    0x10(%ebp),%esi
55ff89:	8b 43 04             	mov    0x4(%ebx),%eax
55ff8c:	8b 55 08             	mov    0x8(%ebp),%edx
55ff8f:	52                   	push   %edx
55ff90:	57                   	push   %edi
55ff91:	8b 08                	mov    (%eax),%ecx
55ff93:	56                   	push   %esi
55ff94:	ff 75 0c             	push   0xc(%ebp)
55ff97:	50                   	push   %eax
55ff98:	8b 41 0c             	mov    0xc(%ecx),%eax
55ff9b:	ff d0                	call   *%eax
55ff9d:	83 c4 14             	add    $0x14,%esp
55ffa0:	5f                   	pop    %edi
55ffa1:	5e                   	pop    %esi
55ffa2:	5b                   	pop    %ebx
55ffa3:	5d                   	pop    %ebp
55ffa4:	c3                   	ret
55ffa5:	cc                   	int3
55ffa6:	cc                   	int3
55ffa7:	cc                   	int3
55ffa8:	cc                   	int3
55ffa9:	cc                   	int3
55ffaa:	cc                   	int3
55ffab:	cc                   	int3
55ffac:	cc                   	int3
55ffad:	cc                   	int3
55ffae:	cc                   	int3
55ffaf:	cc                   	int3
55ffb0:	55                   	push   %ebp
55ffb1:	8b ec                	mov    %esp,%ebp
55ffb3:	56                   	push   %esi
55ffb4:	8b 75 0c             	mov    0xc(%ebp),%esi
55ffb7:	57                   	push   %edi
55ffb8:	8b 7d 08             	mov    0x8(%ebp),%edi
55ffbb:	56                   	push   %esi
55ffbc:	57                   	push   %edi
55ffbd:	8b 47 04             	mov    0x4(%edi),%eax
55ffc0:	ff d0                	call   *%eax
55ffc2:	83 c4 08             	add    $0x8,%esp
55ffc5:	85 c0                	test   %eax,%eax
55ffc7:	75 3c                	jne    0x560005
55ffc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
55ffd0:	f7 46 04 00 40 80 00 	testl  $0x804000,0x4(%esi)
55ffd7:	75 7e                	jne    0x560057
55ffd9:	8b 46 0c             	mov    0xc(%esi),%eax
55ffdc:	85 c0                	test   %eax,%eax
55ffde:	74 0e                	je     0x55ffee
55ffe0:	50                   	push   %eax
55ffe1:	57                   	push   %edi
55ffe2:	e8 c9 ff ff ff       	call   0x55ffb0
55ffe7:	83 c4 08             	add    $0x8,%esp
55ffea:	85 c0                	test   %eax,%eax
55ffec:	75 37                	jne    0x560025
55ffee:	8b 46 10             	mov    0x10(%esi),%eax
55fff1:	85 c0                	test   %eax,%eax
55fff3:	74 17                	je     0x56000c
55fff5:	8b f0                	mov    %eax,%esi
55fff7:	8b 47 04             	mov    0x4(%edi),%eax
55fffa:	56                   	push   %esi
55fffb:	57                   	push   %edi
55fffc:	ff d0                	call   *%eax
55fffe:	83 c4 08             	add    $0x8,%esp
560001:	85 c0                	test   %eax,%eax
560003:	74 cb                	je     0x55ffd0
560005:	5f                   	pop    %edi
560006:	83 e0 02             	and    $0x2,%eax
560009:	5e                   	pop    %esi
56000a:	5d                   	pop    %ebp
56000b:	c3                   	ret
56000c:	f7 46 04 00 08 00 00 	testl  $0x800,0x4(%esi)
560013:	74 19                	je     0x56002e
560015:	ff 76 14             	push   0x14(%esi)
560018:	57                   	push   %edi
560019:	e8 d2 fd fe ff       	call   0x54fdf0
56001e:	83 c4 08             	add    $0x8,%esp
560021:	85 c0                	test   %eax,%eax
560023:	74 32                	je     0x560057
560025:	5f                   	pop    %edi
560026:	b8 02 00 00 00       	mov    $0x2,%eax
56002b:	5e                   	pop    %esi
56002c:	5d                   	pop    %ebp
56002d:	c3                   	ret
56002e:	8b 46 14             	mov    0x14(%esi),%eax
560031:	85 c0                	test   %eax,%eax
560033:	74 0e                	je     0x560043
560035:	50                   	push   %eax
560036:	57                   	push   %edi
560037:	e8 64 fd fe ff       	call   0x54fda0